UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

6,767 lines • 405 kB
function __vite_inject_css__(css, id, forceLightDom){  if (typeof document==='undefined') return;  var shadow=!forceLightDom&&typeof window!=='undefined'&&window.__efpShadowDOMStyleParent;  var parent=shadow||document.head;  var s=document.createElement('style');  s.setAttribute('data-chunk-style', id);  s.appendChild(document.createTextNode(css));  parent.appendChild(s);  if (shadow) (window.__efpStyleElements||(window.__efpStyleElements=[])).push(s);}
(function() {
	try {
		var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
		e.SENTRY_RELEASE = { id: "3.39.1" };
		var t = new e.Error().stack;
		t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "7eb497c4-d86e-4e8b-b125-df866bed2c86", e._sentryDebugIdIdentifier = "sentry-dbid-7eb497c4-d86e-4e8b-b125-df866bed2c86");
	} catch {}
})();
import { r as e, t } from "./rolldown-runtime-BOCG9HEF.js";
import { A as n, E as r, F as i, T as a, _ as o, f as s, j as c, n as l, o as u, s as d, t as f, v as p } from "./i18n-BVE2kS7w.js";
import { t as m } from "./react-CM7l092i.js";
import { t as h } from "./jsx-runtime-BGutO_I9.js";
import { n as g, r as _ } from "./loadImage-B-6VhOfG.js";
import { n as v } from "./exports-gWa75nmY.js";
import { t as y } from "./fuse-Didw830W.js";
import { t as b } from "./react-dom-DV2t60Bu.js";
import { t as x } from "./classnames-4Iik8FC_.js";
import { An as S, B as C, Bt as w, C as T, D as E, Dn as D, Dt as O, En as k, Et as A, Ht as j, I as ee, J as M, Jt as N, K as te, L as ne, Ln as re, Lt as ie, M as P, Mt as F, Nt as ae, Q as I, R as oe, Rn as se, Sn as ce, St as le, Tn as ue, Tt as de, U as L, Ut as fe, V as pe, Vt as me, W as he, X as ge, Y as _e, _ as ve, _n as ye, a as R, b as be, bn as xe, c as z, cn as Se, dn as Ce, fn as we, g as Te, gn as Ee, i as De, l as B, ln as Oe, mn as ke, n as Ae, nn as je, o as Me, ot as Ne, pn as Pe, q as V, r as Fe, rn as Ie, s as H, sn as Le, st as Re, t as ze, tn as Be, un as Ve, v as He, vn as U, vt as Ue, wn as W, yn as We, yt as Ge, zt as Ke } from "./store-CARxK2Ft.js";
import { t as qe } from "./Button-DDJ9HcfI.js";
import { n as Je } from "./GalleryContainer-CIasK5mL.js";
import { t as Ye } from "./useRenderTarget-Z7iVu1Bc.js";
import { t as Xe } from "./ModalContainer-BuH30fJN.js";
import { n as G, r as K, t as q } from "./index.module-CVo9wrU4.js";
import "./CookieConsent-CJSQYYJ0.js";
import "./Demo-ClW-lszE.js";
import { i as J, n as Ze, r as Qe, t as $e } from "./mobx-B9XSgx3-.js";
import { t as et } from "./camera-events-CQZgwih3.js";
import { t as tt } from "./viewport-CN0fRYhD.js";
import { a as nt, c as rt, i as it, l as at, n as ot, o as st, r as ct, s as lt } from "./dimming-3R7UOgr9.js";
//#region ../ui/src/components/Alert/Alert.tsx
var Y = /* @__PURE__ */ e(x(), 1), X = /* @__PURE__ */ e(m(), 1), Z = h(), ut = ({ children: e, position: t, variant: n = "info", inline: r = !1, showIcon: i = !0, size: a = "md", closable: o = !1, title: s, closeLabel: c, onClose: l }) => {
	let u = () => {
		switch (n) {
			case "error": return "icon-close-solid";
			case "success": return "icon-checkmark-solid";
			case "warning": return "icon-warning-solid";
			default: return "icon-info-solid";
		}
	};
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: (0, Y.default)("efp-alert", `efp-alert--${n} efp-alert--${a}`, {
			"efp-alert--inline": r,
			[`efp-alert--${t}`]: t
		}),
		role: n === "error" || n === "warning" ? "alert" : "status",
		"aria-live": n === "error" || n === "warning" ? "assertive" : "polite",
		children: [
			i && /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-alert__icon",
				children: /* @__PURE__ */ (0, Z.jsx)("i", {
					className: (0, Y.default)(u()),
					"aria-hidden": "true"
				})
			}),
			/* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "efp-alert__content",
				children: [s && /* @__PURE__ */ (0, Z.jsx)("div", {
					className: "efp-alert__title",
					children: s
				}), e]
			}),
			o && /* @__PURE__ */ (0, Z.jsx)("button", {
				type: "button",
				className: "efp-alert__close",
				onClick: l,
				"aria-label": c,
				title: c
			})
		]
	});
}, dt = /* @__PURE__ */ e(b(), 1), ft = se();
function pt(e, t, n = !0) {
	let r = (0, X.useRef)(e), i = (0, X.useRef)(t);
	(0, X.useEffect)(() => {
		r.current = e, i.current = t;
	}), (0, X.useEffect)(() => {
		if (!n) return;
		let e = (e) => {
			(Array.isArray(r.current) ? r.current : [r.current]).some((t) => {
				if (!(t != null && t.current)) return !1;
				let n = e.target;
				return t.current.contains(n) || e.composed && t.current.contains(e.composedPath()[0]);
			}) || i.current(e);
		};
		return document.addEventListener("click", e), document.addEventListener("touchstart", e), () => {
			document.removeEventListener("click", e), document.removeEventListener("touchstart", e);
		};
	}, [n]);
}
//#endregion
//#region ../ui/src/components/Overlay/OverlayScrollContext.ts
var mt = (0, X.createContext)(null), ht = 4, gt = 96, _t = .45, vt = ({ placeholder: e, options: t, value: n, showClear: r = !1, onChange: i, renderTarget: a = document.body, inline: o = !1, noOptionsLabel: s, ariaLabel: c, clearLabel: l, getOptionKey: u = (e) => e.value }) => {
	let d = a, f = (0, X.useContext)(mt), p = (0, X.useRef)(null), m = (0, X.useRef)(null), h = (0, X.useRef)(null), g = (0, X.useRef)(null), [_, v] = (0, X.useState)(null), y = (0, X.useRef)(null), b = (0, X.useId)(), x = (e) => `${b}-option-${e}`, S = (e) => e.label, C = (e, t) => u(e) === u(t), w = (e) => t.findIndex((t) => C(t, e)), T = (e) => t.find((t) => C(t, e)), [E, D] = (0, X.useState)(null), [O, k] = (0, X.useState)(null), [A, j] = (0, X.useState)(!1), [ee, M] = (0, X.useState)(null), [N, te] = (0, X.useState)({
		top: 0,
		left: 0,
		width: 0,
		maxHeight: 0
	}), ne = n ? T(n) : void 0, re = ne ? w(ne) : null, ie = E == null ? ne ? S(ne) : "" : E, P = (0, X.useMemo)(() => {
		if (!E) return [];
		let e = E.toLowerCase();
		return t.filter((t) => S(t).toLowerCase().includes(e));
	}, [E, t]), F = () => {
		var e, t, n;
		if (o || !p.current || !A) return;
		let r = p.current.getBoundingClientRect(), i = window.visualViewport === void 0 ? null : window.visualViewport, a = i ? i.offsetTop : 0, s = i ? i.offsetTop + i.height : window.innerHeight, c = s - r.bottom - ht, l = r.top - a - ht, u = (s - a) * _t, f = c < u && l > c, m = Math.min(u, Math.max(f ? l : c, gt)), h = d == null ? void 0 : d.getBoundingClientRect(), g = (e = h == null ? void 0 : h.top) == null ? 0 : e;
		te({
			...f ? { bottom: ((t = h == null ? void 0 : h.bottom) == null ? window.innerHeight : t) - r.top + ht } : { top: r.bottom - g + ht },
			left: r.left - ((n = h == null ? void 0 : h.left) == null ? 0 : n),
			width: r.width,
			maxHeight: m
		});
	};
	(0, X.useEffect)(() => {
		if (o || !A) return;
		F(), window.addEventListener("scroll", F, !0), window.addEventListener("resize", F);
		let e = window.visualViewport === void 0 ? null : window.visualViewport;
		return e == null || e.addEventListener("resize", F), e == null || e.addEventListener("scroll", F), () => {
			window.removeEventListener("scroll", F, !0), window.removeEventListener("resize", F), e == null || e.removeEventListener("resize", F), e == null || e.removeEventListener("scroll", F);
		};
	}, [A, o]), (0, X.useEffect)(() => {
		if (!o || !A || !f) {
			M(null);
			return;
		}
		let e = () => {
			let e = p.current;
			if (!e) return;
			let t = f.getBoundingClientRect().bottom - e.getBoundingClientRect().bottom - ht;
			M(Math.max(t, gt));
		};
		e();
		let t = new ft.ResizeObserver(e);
		return t.observe(f), () => t.disconnect();
	}, [
		o,
		A,
		f
	]), (0, X.useEffect)(() => {
		var e;
		O !== null && ((e = g.current) == null || e.scrollIntoView({ index: O }));
	}, [O]), pt([p, h], () => j(!1), A), (0, X.useEffect)(() => () => {
		y.current && clearTimeout(y.current);
	}, []);
	let ae = (e) => {
		D(null), i == null || i(e);
	}, I = (e) => {
		var t;
		ae(e), k(null), j(!1), (t = m.current) == null || t.blur();
	}, oe = (e = !1) => {
		var t;
		ae(void 0), k(null), e && ((t = m.current) == null || t.focus());
	}, se = () => {
		j(!0);
	}, ce = () => {
		y.current && clearTimeout(y.current), y.current = setTimeout(() => {
			D(null);
		}, 200);
	}, le = () => {
		var e;
		if (!ie && O === null || E && O === null) return;
		let n = P.length > 0 ? P : t;
		if (O !== null && n[O]) {
			let e = n[O];
			ae(e);
		}
		k(null), j(!1), (e = m.current) == null || e.blur();
	}, ue = () => {
		!A || O === 0 || O === null || k(O - 1);
	}, de = () => {
		if (!A) {
			k(re == null ? 0 : re), j(!0);
			return;
		}
		let e = P.length > 0 ? P : t, n = O === null ? 0 : O + 1;
		n < e.length && k(n);
	}, L = (e) => {
		switch (e.key) {
			case "Enter":
				le();
				break;
			case "ArrowUp":
				ue();
				break;
			case "ArrowDown":
				de();
				break;
			case "Delete":
				oe(!0);
				break;
			case "Escape":
				if (E) D(null), k(re);
				else {
					var t;
					e.preventDefault(), j(!1), (t = m.current) == null || t.blur();
				}
				break;
		}
	}, fe = (e) => {
		D(e.target.value), j(!0), k(null);
	}, pe = () => {
		let e = P.length > 0 ? P : t;
		if (E && P.length === 0) return /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-autocomplete__empty",
			children: s
		});
		if (!_) return null;
		let n = {
			listboxId: b,
			focusIndex: O,
			activeIndex: P.length === 0 ? re : null,
			onSelect: (t) => I(e[t])
		};
		return /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
			fallback: null,
			children: /* @__PURE__ */ (0, Z.jsx)(St, {
				ref: g,
				customScrollParent: _,
				data: e,
				context: n,
				computeItemKey: (e, t) => u(t),
				itemContent: (e, t) => S(t),
				components: {
					List: yt,
					Item: bt
				},
				increaseViewportBy: 200
			})
		});
	};
	return /* @__PURE__ */ (0, Z.jsxs)(Z.Fragment, { children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
		ref: p,
		"data-no-drag": !0,
		className: (0, Y.default)("efp-autocomplete", {
			"is-open": A,
			"with-clear": A && r
		}),
		children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
			className: "efp-autocomplete__inner",
			children: [/* @__PURE__ */ (0, Z.jsx)("input", {
				type: "search",
				className: "efp-autocomplete__input",
				role: "combobox",
				"aria-label": c,
				"aria-autocomplete": "list",
				"aria-expanded": A,
				"aria-controls": A ? b : void 0,
				"aria-activedescendant": A && O !== null ? x(O) : void 0,
				onChange: fe,
				onFocus: se,
				onBlur: ce,
				onKeyDown: L,
				value: ie,
				placeholder: e,
				ref: m
			}), r && A && ie && /* @__PURE__ */ (0, Z.jsx)("button", {
				type: "button",
				className: "efp-autocomplete__clear",
				"aria-label": l,
				onMouseDown: (e) => {
					e.preventDefault(), oe(!0);
				}
			})]
		}), A && o && /* @__PURE__ */ (0, Z.jsx)("div", {
			ref: h,
			"data-no-drag": !0,
			className: "efp-autocomplete-options efp-autocomplete-options--inline",
			style: ee === null ? void 0 : { maxHeight: `${ee}px` },
			children: /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-autocomplete-options__scroll",
				ref: v,
				children: pe()
			})
		})]
	}), A && !o && d && (0, dt.createPortal)(/* @__PURE__ */ (0, Z.jsx)("div", {
		ref: h,
		className: "efp-autocomplete-options",
		style: {
			...N.top === void 0 ? {} : { top: `${N.top}px` },
			...N.bottom === void 0 ? {} : { bottom: `${N.bottom}px` },
			left: `${N.left}px`,
			width: `${N.width}px`,
			maxHeight: `${N.maxHeight}px`
		},
		children: /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-autocomplete-options__scroll",
			ref: v,
			children: pe()
		})
	}), d)] });
};
function yt({ context: e, ref: t, ...n }) {
	return /* @__PURE__ */ (0, Z.jsx)("ul", {
		...n,
		ref: t,
		role: "listbox",
		id: e.listboxId
	});
}
function bt({ context: e, item: t, ...n }) {
	let r = n["data-index"], i = r === e.focusIndex, a = !i && r === e.activeIndex;
	return /* @__PURE__ */ (0, Z.jsx)("li", {
		...n,
		id: `${e.listboxId}-option-${r}`,
		role: "option",
		"aria-selected": r === e.activeIndex,
		className: i ? "is-focus" : a ? "is-active" : void 0,
		onMouseDown: (e) => e.preventDefault(),
		onClick: () => e.onSelect(r)
	});
}
function xt() {
	return import("./dist--cp6ZHYH.js").then((e) => ({ default: e.Virtuoso })).catch(() => new Promise((e) => {
		setTimeout(() => e(xt()), 3e3);
	}));
}
var St = (0, X.lazy)(xt), Ct = ({ children: e, variant: t = "ghost", size: n = "lg", noMargins: r, rounded: i, inline: a }) => /* @__PURE__ */ (0, Z.jsx)("div", {
	className: (0, Y.default)({
		"efp-badge": !0,
		[`efp-badge--${t}`]: !0,
		[`efp-badge--${n}`]: !0,
		"is-no-margin": r,
		"is-rounded": i,
		"is-inline": a
	}),
	children: e
}), wt = ({ checked: e, label: t, ariaLabel: n, className: r, onClick: i }) => {
	let [a, o] = (0, X.useState)(!1);
	return /* @__PURE__ */ (0, Z.jsxs)("button", {
		type: "button",
		role: "checkbox",
		"aria-checked": e,
		"aria-label": n == null ? t ? void 0 : "Toggle" : n,
		className: (0, Y.default)("efp-checkbox-button", r, { "efp-checkbox-button--checked": e }),
		onClick: () => {
			o(!0), i(), setTimeout(() => {
				o(!1);
			}, 320);
		},
		children: [/* @__PURE__ */ (0, Z.jsx)("div", { className: (0, Y.default)("efp-checkbox-button__inner", { "efp-checkbox-button__inner--animate": a }) }), t && /* @__PURE__ */ (0, Z.jsx)("span", {
			className: "efp-checkbox-button__label",
			children: t
		})]
	});
};
//#endregion
//#region ../ui/src/components/DownloadList/DownloadList.tsx
function Tt({ fileName: e, path: t, downloadLabel: n }) {
	return /* @__PURE__ */ (0, Z.jsxs)("a", {
		className: "efp-download-list__item",
		href: t,
		download: !0,
		target: "_blank",
		rel: "noopener noreferrer",
		"aria-label": n(e),
		children: [
			/* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-download-list__item-icon",
				children: /* @__PURE__ */ (0, Z.jsx)("i", {
					className: "icon-file-solid",
					"aria-hidden": "true"
				})
			}),
			/* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-download-list__item-name",
				children: /* @__PURE__ */ (0, Z.jsx)("span", { children: e })
			}),
			/* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-download-list__item-download",
				children: /* @__PURE__ */ (0, Z.jsx)("i", {
					className: "icon-download",
					"aria-hidden": "true"
				})
			})
		]
	});
}
function Et({ list: e, title: t, downloadLabel: n }) {
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: "efp-download-list",
		children: [/* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-download-list__title font-medium",
			children: t
		}), /* @__PURE__ */ (0, Z.jsx)("ul", {
			className: "efp-download-list__list",
			children: e.map((e) => /* @__PURE__ */ (0, Z.jsx)("li", { children: /* @__PURE__ */ (0, Z.jsx)(Tt, {
				fileName: e.fileName,
				path: e.path,
				downloadLabel: n
			}) }, e.path))
		})]
	});
}
//#endregion
//#region ../ui/src/components/HighlightText/HighlightText.tsx
var Dt = "#FFFF99", Ot = ({ text: e, highlight: t }) => {
	if (!t || !e) return /* @__PURE__ */ (0, Z.jsx)(Z.Fragment, { children: e });
	let n = e.toLowerCase().indexOf(t.toLowerCase());
	if (n === -1) return /* @__PURE__ */ (0, Z.jsx)(Z.Fragment, { children: e });
	let r = n + t.length;
	return /* @__PURE__ */ (0, Z.jsxs)(Z.Fragment, { children: [
		e.slice(0, n),
		/* @__PURE__ */ (0, Z.jsx)("mark", {
			style: { background: `linear-gradient(to top, ${Dt}, transparent)` },
			children: e.slice(n, r)
		}),
		e.slice(r)
	] });
}, kt = ({ id: e, title: t, subtitle: n, image: r, icon: i, typeColor: a, iconClassName: o, variant: s = "default", titleBadge: c, datetime: l, subtitleLabel: u, additionalInfo: d = [], bookmarked: f = !1, featured: p = !1, visited: m, current: h = !1, heatmapColor: g, accentBorderColor: _, hideUserState: v = !1, compactDetails: y, secondaryText: b, highlight: x, featuredLabel: S, hallLabel: C, levelLabel: w, onClick: T }) => {
	let E = !!(l != null && l.date || l != null && l.time), D = E || !!u || !!n;
	return /* @__PURE__ */ (0, Z.jsx)("div", {
		role: "button",
		className: (0, Y.default)("efp-entity-item", {
			"is-featured": p,
			"is-visited": m,
			"is-current": h,
			"has-heatmap": !!g,
			"has-accent": !!_,
			"is-person": s === "person"
		}),
		"aria-label": t,
		tabIndex: 0,
		"aria-current": h ? "true" : void 0,
		onClick: () => T == null ? void 0 : T(e),
		onKeyDown: (t) => {
			(t.key === "Enter" || t.key === " ") && (t.preventDefault(), T == null || T(e));
		},
		style: {
			...a ? { "--item-type-color": a } : {},
			...g && { "--heatmap-color": g },
			..._ && { "--accent-border-color": _ }
		},
		children: /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: "efp-entity-item__body",
			children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "efp-entity-item__left",
				children: [/* @__PURE__ */ (0, Z.jsx)("div", {
					className: "efp-entity-item__icon",
					children: i ? /* @__PURE__ */ (0, Z.jsx)("img", {
						src: i,
						alt: t
					}) : o ? /* @__PURE__ */ (0, Z.jsx)("i", {
						className: o,
						"aria-hidden": "true"
					}) : null
				}), !v && /* @__PURE__ */ (0, Z.jsxs)(Z.Fragment, { children: [m && /* @__PURE__ */ (0, Z.jsx)("div", {
					className: "efp-entity-item__visited",
					children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-checkmark" })
				}), f && /* @__PURE__ */ (0, Z.jsx)("i", { className: (0, Y.default)("efp-entity-item__bookmarked", "icon-bookmark-solid") })] })]
			}), /* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "efp-entity-item__right",
				children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
					className: (0, Y.default)("efp-entity-item__content", { "with-image": r }),
					children: [
						/* @__PURE__ */ (0, Z.jsxs)("div", {
							className: "efp-entity-item__header",
							children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
								className: "efp-entity-item__title",
								children: [
									/* @__PURE__ */ (0, Z.jsx)(Ot, {
										text: t,
										highlight: x
									}),
									b && /* @__PURE__ */ (0, Z.jsx)("div", {
										className: "efp-entity-item__description",
										children: /* @__PURE__ */ (0, Z.jsx)(Ot, {
											text: b,
											highlight: x
										})
									}),
									c !== void 0 && /* @__PURE__ */ (0, Z.jsx)("span", { children: c })
								]
							}), p && /* @__PURE__ */ (0, Z.jsx)("div", {
								className: "efp-entity-item__featured",
								children: S
							})]
						}),
						D && /* @__PURE__ */ (0, Z.jsxs)("div", {
							className: "efp-entity-item__subtitle",
							children: [
								E && /* @__PURE__ */ (0, Z.jsxs)("div", {
									className: "efp-entity-item__datetime",
									children: [(l == null ? void 0 : l.date) && /* @__PURE__ */ (0, Z.jsx)("strong", { children: l.date }), (l == null ? void 0 : l.time) && /* @__PURE__ */ (0, Z.jsx)("span", { children: l.time })]
								}),
								u && /* @__PURE__ */ (0, Z.jsx)("span", { children: u }),
								n && /* @__PURE__ */ (0, Z.jsx)("div", { children: n })
							]
						}),
						!!d.length && /* @__PURE__ */ (0, Z.jsx)("ul", {
							className: (0, Y.default)("efp-entity-item__details", { "compact-details": y }),
							children: d.map((e, t) => /* @__PURE__ */ (0, Z.jsxs)("li", {
								className: "efp-entity-item__details-item",
								children: [e.type === "location" && /* @__PURE__ */ (0, Z.jsxs)(Z.Fragment, { children: [
									e.locationName && /* @__PURE__ */ (0, Z.jsx)("div", {
										className: "efp-entity-item__details-item-booth",
										children: /* @__PURE__ */ (0, Z.jsx)(Ot, {
											text: e.locationName,
											highlight: x
										})
									}),
									e.hall && /* @__PURE__ */ (0, Z.jsxs)("div", { children: [
										C,
										"\xA0",
										/* @__PURE__ */ (0, Z.jsx)("span", { children: e.hall })
									] }),
									e.level && /* @__PURE__ */ (0, Z.jsxs)("div", { children: [e.showLevelLabel && /* @__PURE__ */ (0, Z.jsxs)("span", { children: [w, "\xA0"] }), /* @__PURE__ */ (0, Z.jsx)("span", { children: e.level })] })
								] }), e.type === "text" && /* @__PURE__ */ (0, Z.jsx)("span", { children: e.text })]
							}, t))
						})
					]
				}), r && /* @__PURE__ */ (0, Z.jsx)("div", {
					className: "efp-entity-item__image",
					children: /* @__PURE__ */ (0, Z.jsx)("img", {
						src: r,
						alt: t
					})
				})]
			})]
		})
	});
}, At = ({ status: e, statusLabel: t, showFullBadge: n = !1, fullLabel: r, isUrgent: i = !1, className: a = "" }) => {
	let o = e === "none" ? null : /* @__PURE__ */ (0, Z.jsx)("div", {
		className: (0, Y.default)("efp-event-badge", `efp-event-badge--${e}`, { "is-urgent": i }, a),
		children: t
	});
	return !o && !n ? null : /* @__PURE__ */ (0, Z.jsxs)(Z.Fragment, { children: [o, n && /* @__PURE__ */ (0, Z.jsx)("div", {
		className: (0, Y.default)("efp-event-badge", "efp-event-badge--full", a),
		children: r
	})] });
}, jt = ({ ticks: e, ariaLabel: t, className: n, style: r }) => {
	if (e.length === 0) return null;
	let i = e.map((e) => e.color), a = i.length === 1 ? i[0] : `linear-gradient(to right, ${i.join(", ")})`;
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: (0, Y.default)("efp-heatmap-legend", n),
		style: r,
		role: "img",
		"aria-label": t,
		children: [/* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-heatmap-legend__colors",
			style: { background: a },
			"aria-hidden": "true"
		}), /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-heatmap-legend__values",
			children: e.map(({ value: e }, t) => /* @__PURE__ */ (0, Z.jsx)("span", {
				"aria-hidden": "true",
				children: e
			}, t))
		})]
	});
}, Mt = (e) => /^\d+$/.test(e), Nt = ({ level: e, levelLabel: t }) => e ? /* @__PURE__ */ (0, Z.jsx)("div", {
	className: "efp-level-badge",
	children: /* @__PURE__ */ (0, Z.jsx)("span", { children: Mt(e) ? `${t} ${e}` : e })
}) : null;
//#endregion
//#region ../ui/src/components/LevelSelector/LevelSelector.tsx
function Pt({ floors: e, layout: t, onSelect: n, floorSelectionLabel: r, currentFloorLabel: i, floorLabel: a }) {
	var o, s;
	let c = (0, X.useRef)(null), l = (0, X.useRef)(null), u = (0, X.useRef)(/* @__PURE__ */ new Map()), [d, f] = (0, X.useState)(!1), [p, m] = (0, X.useState)("down"), h = (0, X.useCallback)(() => {
		var e;
		f(!1), (e = l.current) == null || e.focus();
	}, []);
	pt([c, l], () => f(!1), d), Je(h, d), (0, X.useLayoutEffect)(() => {
		if (d && l.current) {
			let e = l.current.getBoundingClientRect(), t = window.innerHeight - e.bottom;
			m(t < 200 ? "up" : "down");
		}
	}, [d]);
	let g = (0, X.useCallback)((e) => {
		var t;
		e.disabled || (n(e.id), f(!1), (t = l.current) == null || t.focus());
	}, [n]), _ = (0, X.useCallback)((t, n) => {
		if (t.key !== "ArrowDown" && t.key !== "ArrowUp") return;
		t.preventDefault();
		let r = e.findIndex((e) => e.id === n.id), i = t.key === "ArrowDown" ? 1 : -1, a = r + i;
		for (; a >= 0 && a < e.length;) {
			if (!e[a].disabled) {
				var o;
				(o = u.current.get(e[a].id)) == null || o.focus();
				return;
			}
			a += i;
		}
	}, [e]), v = (0, X.useCallback)((e, t) => {
		if (e.key === "Enter" || e.key === " ") {
			if (t.disabled) return;
			e.preventDefault(), g(t);
			return;
		}
		_(e, t);
	}, [_, g]);
	if (e.length === 0) return null;
	let y = e.find((e) => e.active);
	if (t === "compact-list") {
		let t = y && !y.disabled ? y : e.find((e) => !e.disabled);
		return /* @__PURE__ */ (0, Z.jsx)("div", {
			className: (0, Y.default)("efp-level-selector", "efp-level-selector--compact-list"),
			role: "radiogroup",
			"aria-label": r,
			children: e.map((e) => /* @__PURE__ */ (0, Z.jsx)("button", {
				ref: (t) => {
					t ? u.current.set(e.id, t) : u.current.delete(e.id);
				},
				type: "button",
				className: (0, Y.default)("efp-level-selector__item", {
					"efp-level-selector__item--active": e.active,
					"efp-level-selector__item--disabled": e.disabled
				}),
				role: "radio",
				title: `${e.active ? i : a} ${e.label}`,
				"aria-label": `${e.active ? i : a} ${e.label}`,
				"aria-checked": e.active,
				"aria-disabled": e.disabled,
				tabIndex: e.id === (t == null ? void 0 : t.id) ? 0 : -1,
				onClick: () => g(e),
				onKeyDown: (t) => _(t, e),
				children: /* @__PURE__ */ (0, Z.jsx)("span", {
					dir: "auto",
					children: e.label
				})
			}, e.id))
		});
	}
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: (0, Y.default)("efp-level-selector", "efp-level-selector--dropdown"),
		children: [/* @__PURE__ */ (0, Z.jsxs)("button", {
			ref: l,
			type: "button",
			className: (0, Y.default)("efp-level-selector__trigger", { "efp-level-selector__trigger--open": d }),
			onClick: () => f(!d),
			"aria-haspopup": "listbox",
			"aria-expanded": d,
			"aria-label": `${i}: ${(o = y == null ? void 0 : y.label) == null ? "" : o}`,
			children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "efp-level-selector__trigger-text",
				children: [/* @__PURE__ */ (0, Z.jsx)("i", {
					className: "icon-layers",
					"aria-hidden": "true"
				}), /* @__PURE__ */ (0, Z.jsx)("span", {
					dir: "auto",
					children: (s = y == null ? void 0 : y.label) == null ? "" : s
				})]
			}), /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-level-selector__trigger-chevron",
				children: /* @__PURE__ */ (0, Z.jsx)("i", {
					className: "icon-chevron-down",
					"aria-hidden": "true"
				})
			})]
		}), d && /* @__PURE__ */ (0, Z.jsx)("div", {
			ref: c,
			className: (0, Y.default)("efp-level-selector__dropdown", "efp-level-selector__dropdown--full", {
				"efp-level-selector__dropdown--opens-up": p === "up",
				"efp-level-selector__dropdown--opens-down": p === "down"
			}),
			role: "listbox",
			"aria-label": r,
			children: e.map((e) => /* @__PURE__ */ (0, Z.jsxs)("div", {
				ref: (t) => {
					t ? u.current.set(e.id, t) : u.current.delete(e.id);
				},
				className: (0, Y.default)("efp-level-selector__dropdown-item", {
					"efp-level-selector__dropdown-item--active": e.active,
					"efp-level-selector__dropdown-item--disabled": e.disabled
				}),
				role: "option",
				"aria-selected": e.active,
				"aria-disabled": e.disabled,
				tabIndex: e.disabled ? -1 : 0,
				onClick: () => g(e),
				onKeyDown: (t) => v(t, e),
				children: [/* @__PURE__ */ (0, Z.jsx)("span", {
					className: "efp-level-selector__dropdown-item-icon",
					children: e.active && /* @__PURE__ */ (0, Z.jsx)("i", {
						className: "icon-checkmark-solid",
						"aria-hidden": "true"
					})
				}), /* @__PURE__ */ (0, Z.jsx)("span", {
					className: "efp-level-selector__dropdown-item-name",
					dir: "auto",
					children: e.label
				})]
			}, e.id))
		})]
	});
}
//#endregion
//#region ../ui/src/components/MapControls/MapControls.tsx
var Ft = ({ className: e, style: t, title: n, findLocationLabel: r, zoomInLabel: i, zoomOutLabel: a, viewModeLabel: o, fitToScreenLabel: s, layersLabel: c, isMap3d: l, showModeSwitch: u, showFindLocation: d, defaultLayersOpen: f = !1, layersList: p, layersActiveItems: m = [], layersWidth: h, onViewModeSwitch: g, onFindLocation: _, onZoomIn: v, onZoomOut: y, onFitToScreen: b, onChangeLayers: x }) => {
	let S = (0, X.useRef)(null), C = (0, X.useRef)(null), w = (0, X.useId)(), [T, E] = (0, X.useState)(f), [D, O] = (0, X.useState)("down");
	pt(S, () => E(!1), T), Je(() => {
		var e;
		E(!1), (e = C.current) == null || e.focus();
	}, T), (0, X.useLayoutEffect)(() => {
		if (T && S.current) {
			let e = S.current.getBoundingClientRect();
			window.innerHeight - e.bottom < 250 ? O("up") : O("down");
		}
	}, [T]);
	let k = (e) => x(e);
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: (0, Y.default)("efp-map-controls", e),
		style: t,
		role: "toolbar",
		"aria-label": n,
		children: [
			d && /* @__PURE__ */ (0, Z.jsx)("button", {
				type: "button",
				className: "efp-map-control",
				"aria-label": r,
				title: r,
				onClick: _,
				children: /* @__PURE__ */ (0, Z.jsx)("i", {
					className: "icon-navigation",
					"aria-hidden": "true"
				})
			}),
			p && /* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "efp-layers-button",
				ref: S,
				children: [/* @__PURE__ */ (0, Z.jsx)("button", {
					ref: C,
					type: "button",
					className: (0, Y.default)("efp-map-control", { "efp-map-control--active": T }),
					"aria-label": c,
					title: c,
					"aria-haspopup": "true",
					"aria-expanded": T,
					onClick: () => E(!T),
					children: /* @__PURE__ */ (0, Z.jsx)("i", {
						className: "icon-layers",
						"aria-hidden": "true"
					})
				}), T && /* @__PURE__ */ (0, Z.jsx)("div", {
					className: (0, Y.default)("efp-checked-panel", {
						"efp-checked-panel--opens-up": D === "up",
						"efp-checked-panel--opens-down": D === "down"
					}),
					style: { minWidth: h },
					children: /* @__PURE__ */ (0, Z.jsx)("ul", {
						className: "efp-checked-panel__list",
						children: p.map((e) => /* @__PURE__ */ (0, Z.jsxs)("li", { children: [/* @__PURE__ */ (0, Z.jsx)("input", {
							type: "checkbox",
							className: "efp-checked-panel__checkbox",
							value: e.id,
							id: `${w}-${e.id}`,
							checked: m.includes(e.id),
							onChange: () => k(e.id)
						}), /* @__PURE__ */ (0, Z.jsx)("label", {
							className: "efp-checked-panel__label",
							htmlFor: `${w}-${e.id}`,
							children: /* @__PURE__ */ (0, Z.jsx)("div", {
								className: "efp-checked-panel__item-name",
								children: e.name
							})
						})] }, e.id))
					})
				})]
			}),
			u && /* @__PURE__ */ (0, Z.jsx)("button", {
				type: "button",
				className: "efp-map-control",
				"aria-label": o,
				title: o,
				onClick: g,
				children: /* @__PURE__ */ (0, Z.jsx)("i", {
					className: l ? "icon-two-dim" : "icon-three-dim",
					"aria-hidden": "true"
				})
			}),
			/* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "efp-map-control-group",
				children: [
					/* @__PURE__ */ (0, Z.jsx)("button", {
						type: "button",
						className: "efp-map-control",
						"aria-label": i,
						title: i,
						onClick: v,
						children: /* @__PURE__ */ (0, Z.jsx)("i", {
							className: "icon-plus",
							"aria-hidden": "true"
						})
					}),
					/* @__PURE__ */ (0, Z.jsx)("div", { className: "efp-map-control-divider" }),
					/* @__PURE__ */ (0, Z.jsx)("button", {
						type: "button",
						className: "efp-map-control",
						"aria-label": a,
						title: a,
						onClick: y,
						children: /* @__PURE__ */ (0, Z.jsx)("i", {
							className: "icon-minus",
							"aria-hidden": "true"
						})
					})
				]
			}),
			/* @__PURE__ */ (0, Z.jsx)("button", {
				type: "button",
				className: "efp-map-control",
				"aria-label": s,
				title: s,
				onClick: b,
				children: /* @__PURE__ */ (0, Z.jsx)("i", {
					className: "icon-maximize",
					"aria-hidden": "true"
				})
			})
		]
	});
};
//#endregion
//#region ../ui/src/components/MobileToggleButton/MobileToggleButton.tsx
function It({ mode: e, label: t, ariaLabel: n, withBanner: r, onClick: i }) {
	let a = e === "list";
	return /* @__PURE__ */ (0, Z.jsxs)("button", {
		className: (0, Y.default)("efp-mobile-toggle-button", { "efp-mobile-toggle-button--with-banner": r }, a ? "efp-mobile-toggle-button--list" : "efp-mobile-toggle-button--map"),
		onClick: i,
		type: "button",
		"aria-label": n,
		children: [/* @__PURE__ */ (0, Z.jsx)("i", {
			className: a ? "icon-list" : "icon-map",
			"aria-hidden": "true"
		}), /* @__PURE__ */ (0, Z.jsx)("span", {
			className: "efp-mobile-toggle-button__text",
			children: t
		})]
	});
}
//#endregion
//#region ../ui/src/components/ShowMoreButton/ShowMoreButton.tsx
function Lt({ expanded: e, showMoreLabel: t, showLessLabel: n, className: r, suffix: i, ...a }) {
	return /* @__PURE__ */ (0, Z.jsxs)("button", {
		...a,
		type: "button",
		className: (0, Y.default)("efp-show-more-button", { "efp-show-more-button--expanded": e }, r),
		"aria-expanded": e,
		children: [
			/* @__PURE__ */ (0, Z.jsx)("i", {
				className: "icon-chevron-down",
				"aria-hidden": "true"
			}),
			/* @__PURE__ */ (0, Z.jsx)("span", {
				className: "efp-show-more-button__label",
				children: e ? n : t
			}),
			i
		]
	});
}
//#endregion
//#region ../ui/src/components/MultiSelectGroups/MultiSelectGroups.tsx
var Rt = X.memo(({ item: e, isSelected: t, variant: n, showCount: r, count: i, onClick: a, customRenderer: o }) => o ? /* @__PURE__ */ (0, Z.jsx)(Z.Fragment, { children: o(e, t) }) : /* @__PURE__ */ (0, Z.jsxs)("button", {
	type: "button",
	className: (0, Y.default)("efp-multi-select-groups__item", {
		"efp-multi-select-groups__item--selected": t,
		"efp-multi-select-groups__item--disabled": e.disabled,
		[`efp-multi-select-groups__item--${n}`]: n
	}),
	onClick: () => !e.disabled && a(e.id),
	disabled: e.disabled,
	"aria-pressed": t,
	children: [/* @__PURE__ */ (0, Z.jsx)("div", {
		className: "efp-multi-select-groups__item-name",
		children: e.name
	}), r && i > 0 && /* @__PURE__ */ (0, Z.jsx)("span", {
		className: "efp-multi-select-groups__item-count",
		children: i
	})]
}));
function zt({ groups: e = [], selectedIds: t = [], showItemCounts: n = !0, showGroupActions: r = !0, variant: i = "default", maxItemsVisible: a = 20, selectAllLabel: o, clearAllLabel: s, selectedLabel: c, showMoreLabel: l, showLessLabel: u, itemCountProvider: d, customItemRenderer: f, onChange: p }) {
	let [m, h] = (0, X.useState)(() => /* @__PURE__ */ new Set()), g = (0, X.useCallback)((e) => {
		p(t.includes(e) ? t.filter((t) => t !== e) : [...t, e]);
	}, [t, p]), _ = (0, X.useCallback)((e) => {
		let n = e.items.filter((e) => e.id && !e.disabled).map((e) => e.id).filter((e) => !t.includes(e));
		n.length !== 0 && p([...t, ...n]);
	}, [t, p]), v = (0, X.useCallback)((e) => {
		let n = new Set(e.items.map((e) => e.id));
		p(t.filter((e) => !n.has(e)));
	}, [t, p]), y = (0, X.useCallback)((e) => {
		h((t) => {
			let n = new Set(t);
			return n.has(e) ? n.delete(e) : n.add(e), n;
		});
	}, []), b = (e) => e.count === void 0 ? e.countProvider ? e.countProvider() : d ? d(e) : 0 : e.count, x = (0, X.useMemo)(() => new Set(t), [t]);
	return !Array.isArray(e) || !e.length ? null : /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "efp-multi-select-groups",
		children: /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-multi-select-groups__list",
			children: e.map((e) => {
				if (!(e != null && e.groupName) || !Array.isArray(e.items)) return null;
				let t = e.items.filter((e) => e.id), d = t.filter((e) => x.has(e.id)), p = d.length === t.length && t.length > 0, h = d.length > 0 && !p, S = m.has(e.groupName), C = S || t.length <= a ? t : t.slice(0, a), w = t.length - C.length > 0 ? t.slice(a).filter((e) => x.has(e.id)).length : 0;
				return /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: (0, Y.default)("efp-multi-select-groups__group", { "efp-multi-select-groups__group--full-width": e.fullWidth }, e.customGroupClass),
					children: [
						/* @__PURE__ */ (0, Z.jsxs)("div", {
							className: "efp-multi-select-groups__group-header",
							children: [/* @__PURE__ */ (0, Z.jsx)("div", {
								className: "efp-multi-select-groups__group-title",
								children: e.groupName
							}), r && e.showGroupActions !== !1 && /* @__PURE__ */ (0, Z.jsxs)("div", {
								className: "efp-multi-select-groups__group-actions",
								children: [!p && /* @__PURE__ */ (0, Z.jsx)("button", {
									type: "button",
									className: "efp-multi-select-groups__action-btn",
									onClick: () => _(e),
									children: o
								}), (h || p) && /* @__PURE__ */ (0, Z.jsx)("button", {
									type: "button",
									className: "efp-multi-select-groups__action-btn",
									onClick: () => v(e),
									children: s
								})]
							})]
						}),
						/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "efp-multi-select-groups__group-items",
							children: C.map((e) => /* @__PURE__ */ (0, Z.jsx)(Rt, {
								item: e,
								isSelected: x.has(e.id),
								variant: i,
								showCount: n,
								count: b(e),
								onClick: g,
								customRenderer: f
							}, e.id))
						}),
						t.length > a && /* @__PURE__ */ (0, Z.jsx)(Lt, {
							className: "efp-multi-select-groups__show-more",
							expanded: S,
							showMoreLabel: l,
							showLessLabel: u,
							onClick: () => y(e.groupName),
							suffix: !S && w > 0 && /* @__PURE__ */ (0, Z.jsxs)("span", {
								className: "efp-multi-select-groups__show-more-badge",
								children: [
									w,
									" ",
									c
								]
							})
						})
					]
				}, e.groupName);
			})
		})
	});
}
//#endregion
//#region ../ui/src/shared/debounce.ts
function Bt(e, t) {
	let n;
	return (...r) => {
		clearTimeout(n), n = setTimeout(() => {
			e(...r);
		}, t);
	};
}
//#endregion
//#region ../ui/src/shared/hooks/useKeyboardInset.ts
var Vt = 100, Ht = 2, Ut = .6, Wt = .01, Gt = (e) => {
	let [t, n] = (0, X.useState)(0), r = (0, X.useRef)(0), i = (0, X.useRef)(null);
	return (0, X.useEffect)(() => {
		if (!e) {
			n(0), r.current = 0, i.current = null;
			return;
		}
		let t = window.visualViewport === void 0 ? null : window.visualViewport;
		if (!t) return;
		let a = () => {
			let e = window.innerHeight - t.height;
			return Math.abs(t.scale - 1) >= Wt || e <= Vt ? 0 : Math.round(Math.min(e, window.innerHeight * Ut));
		}, o = () => document.documentElement.scrollHeight <= window.innerHeight + Ht, s = (e) => {
			Math.abs(e - r.current) <= Ht || (r.current === 0 && (i.current = o() ? window.scrollY : null), e === 0 && (i.current = null), r.current = e, n(e));
		}, c = 0, l = () => {
			c || (c = requestAnimationFrame(() => {
				c = 0, s(a());
			}));
		}, u = () => {
			let e = i.current;
			e === null || r.current === 0 || Math.abs(window.scrollY - e) > Ht && window.scrollTo(0, e);
		};
		return s(a()), t.addEventListener("resize", l), t.addEventListener("scroll", u), () => {
			c && cancelAnimationFrame(c), t.removeEventListener("resize", l), t.removeEventListener("scroll", u);
		};
	}, [e]), t;
}, Kt = 2, qt = .4, Jt = .4, Yt = 100, Xt = 500, Zt = 2, Qt = 550, $t = "transform 0.5s cubic-bezier(0.32, 0.72, 0, 1)", en = (e) => Math.max(8 * (Math.log(e + 1) - 2), 0), tn = (e) => {
	if (!e || typeof DOMMatrixReadOnly != "function") return null;
	let { transform: t } = getComputedStyle(e);
	if (!t || t === "none") return null;
	try {
		return new DOMMatrixReadOnly(t).m42;
	} catch {
		return null;
	}
};
function nn({ enabled: e, panelRef: t, scrollRef: n, snapPoints: r, current: i, openedAtRef: a, onDragStart: o, onSnap: s, onSettle: c, onHandleTap: l }) {
	let u = (0, X.useRef)(null), d = (0, X.useRef)(0), f = (0, X.useRef)(null), p = (0, X.useRef)(null), m = (0, X.useRef)({
		enabled: e,
		snapPoints: r,
		current: i
	});
	(0, X.useLayoutEffect)(() => {
		m.current = {
			enabled: e,
			snapPoints: r,
			current: i
		};
	}, [
		e,
		r,
		i
	]);
	let h = (0, X.useRef)({
		onDragStart: o,
		onSnap: s,
		onSettle: c,
		onHandleTap: l
	});
	(0, X.useLayoutEffect)(() => {
		h.current = {
			onDragStart: o,
			onSnap: s,
			onSettle: c,
			onHandleTap: l
		};
	}, [
		o,
		s,
		c,
		l
	]);
	let g = (0, X.useCallback)((e) => {
		var t;
		let { snapPoints: n } = m.current, r = n[n.length - 1].height, i = n.find((t) => t.name === e);
		return r - ((t = i == null ? void 0 : i.height) == null ? r : t);
	}, []), _ = (0, X.useCallback)((e, n) => {
		let r = t.current;
		r && (r.style.transition = n, r.style.transform = `translate3d(0, ${e}px, 0)`);
	}, [t]), v = (0, X.useCallback)((e, n) => {
		var r;
		let i = performance.now(), o = a.current;
		if (o !== void 0 && i - o < Xt || i - d.current < Yt || (r = window.getSelection()) != null && r.toString()) return !1;
		let s = e instanceof Element ? e : null;
		if (s != null && s.closest("[data-no-drag]")) return !1;
		let { snapPoints: c, current: l } = m.current;
		if (!n && l === c[c.length - 1].name) return d.current = i, !1;
		let u = t.current;
		for (; s && u != null && u.contains(s);) {
			if (s.scrollHeight > s.clientHeight && s.scrollTop !== 0) return d.current = i, !1;
			s = s.parentElement;
		}
		return !0;
	}, [a, t]), y = (0, X.useCallback)((e, t, n) => {
		let { snapPoints: r, current: i } = m.current, a = t > 0;
		if (n > Kt) return a ? r[r.length - 1].name : r[0].name;
		if (n > qt && Math.abs(t) < window.innerHeight * Jt) {
			let e = r.findIndex((e) => e.name === i) + (a ? 1 : -1);
			return r[Math.min(Math.max(e, 0), r.length - 1)].name;
		}
		return r.reduce((t, n) => Math.abs(g(n.name) - e) < Math.abs(g(t.name) - e) ? n : t).name;
	}, [g]), b = (0, X.useCallback)(() => {
		var e;
		(e = f.current) == null || e.flush();
	}, []), x = (0, X.useCallback)(() => {
		let e = t.current, n = () => {
			f.current = null, clearTimeout(a), e == null || e.removeEventListener("transitionend", i);
		}, r = () => {
			n(), h.current.onSettle();
		}, i = (t) => {
			t.target === e && t.propertyName === "transform" && r();
		}, a = setTimeout(r, Qt);
		e == null || e.addEventListener("transitionend", i), f.current = {
			flush: r,
			cancel: n
		};
	}, [t]);
	return (0, X.useEffect)(() => () => {
		var e, t;
		(e = f.current) == null || e.cancel(), (t = p.current) == null || t.call(p);
	}, []), { onPointerDown: (0, X.useCallback)((e) => {
		if (!m.current.enabled || u.current || e.pointerType === "mouse" && e.button !== 0) return;
		let r = f.current ? tn(t.current) : null;
		b();
		let i = r == null ? g(m.current.current) : r, a = {
			pointerId: e.pointerId,
			startY: e.clientY,
			startTime: performance.now(),
			startOffset: i,
			offset: i,
			committed: !1
		};
		u.current = a;
		let o = () => {
			window.removeEventListener("pointermove", c), window.removeEventListener("pointerup", s), window.removeEventListener("pointercancel", s), u.current = null, p.current = null;
		}, s = (t) => {
			if (t.pointerId !== a.pointerId) return;
			o();
			let r = n.current;
			if (r && r.style.removeProperty("overflow"), !a.committed) {
				let t = e.target;
				t instanceof Element && t.closest("[data-sheet-handle]") && h.current.onHandleTap();
				return;
			}
			let i = a.startY - t.clientY, s = Math.max(performance.now() - a.startTime, 1), c = Math.abs(i) / s, l = y(a.offset, i, c);
			_(g(l), $t), x(), h.current.onSnap(l);
		}, c = (r) => {
			if (r.pointerId !== a.pointerId) return;
			let i = r.clientY - a.startY;
			if (!a.committed) {
				if (Math.abs(i) < Zt) return;
				if (!v(e.target, i > 0)) {
					o();
					return;
				}
				a.committed = !0;
				try {
					var s;
					(s = t.current) == null || s.setPointerCapture(a.pointerId);
				} catch {}
				let r = n.current;
				r && (r.style.overflow = "hidden"), h.current.onDragStart();
			}
			let c = g(m.current.snapPoints[0].name), l = a.startOffset + i, u = l < 0 ? -en(-l) : l > c ? c + en(l - c) : l;
			a.offset = u, _(u, "none");
		};
		window.addEventListener("pointermove", c), window.addEventListener("pointerup", s), window.addEventListener("pointercancel", s), p.current = o;
	}, [
		b,
		g,
		t,
		y,
		x,
		n,
		v,
		_
	]) };
}
//#endregion
//#region ../ui/src/shared/hooks/useWindowSize.ts
var rn = 200, an = () => window === window.top ? {
	width: window.innerWidth,
	height: window.innerHeight
} : {
	width: document.documentElement.clientWidth || window.innerWidth,
	height: document.documentElement.clientHeight || window.innerHeight
}, on = () => {
	let [e, t] = (0, X.useState)(an);
	return (0, X.useEffect)(() => {
		let e, n = () => {
			clearTimeout(e), e = setTimeout(() => t(an()), rn);
		};
		return window.addEventListener("resize", n), window.addEventListener("orientationchange", n), () => {
			clearTimeout(e), window.removeEventListener("resize", n), window.removeEventListener("orientationchange", n);
		};
	}, []), e;
}, sn = "0.3s", cn = 10, ln = 768, un = () => window === window.top ? window.innerHeight : document.documentElement.clientHeight || document.body.clientHeight || window.innerHeight, dn = (e = un(), t, n, r) => ({
	small: e / t,
	medium: e / n,
	full: e - r
}), fn = ({ children: e, open: t, size: n = "medium", particles: r, className: i, onChangeSize: a, onScrollStateChange: o, onScrollActivity: s, smallSizeMultiplier: c = 12.6, mediumSizeMultiplier: l = 2.6, fullSizeOffset: u = 0, scrollThreshold: d = cn, disableDrag: f = !1, forceFull: p = !1, scrollResetKey: m, mobileBreakpoint: h = ln, noContentLabel: g }) => {
	let { width: _, height: v } = on(), y = _ <= h, b = (0, X.useMemo)(() => dn(v, c, l, u), [
		v,
		c,
		l,
		u
	]), x = Gt(y), S = (0, X.useMemo)(() => {
		if (x <= 0) return b;
		let e = Math.max(b.full - x, b.small);
		return {
			small: Math.min(b.small, e),
			medium: Math.min(b.medium, e),
			full: e
		};
	}, [b, x]), [C, w] = (0, X.useState)(!1), [T, E] = (0, X.useState)(!t), [D, O] = (0, X.useState)(!1), [k, A] = (0, X.useState)(t), [j, ee] = (0, X.useState)(!1), M = (0, X.useRef)(null), N = (0, X.useRef)(null), te = (0, X.useRef)(void 0), [ne, re] = (0, X.useState)(null), ie = (0, X.useCallback)((e) => {
		N.current = e, re(e);
	}, []), [P, F] = (0, X.useState)(n), ae = (0, X.useRef)(P), I = (0, X.useRef)(n), oe = (0, X.useRef)(a);
	(0, X.useLayoutEffect)(() => {
		ae.current = P, I.current = n, oe.current = a;
	});
	let se = (0, X.useCallback)((e) => {
		var t;
		F(e), E(!1), (t = oe.current) == null || t.call(oe, e);
	}, []), ce = (0, X.useMemo)(() => {
		if (y) {
			let e = x > 0 ? { bottom: x } : {}, n = (e) => Math.min(e, S.full);
			return p && t ? {
				...e,
				height: n(un())
			} : C ? {
				...e,
				height: S.full
			} : {
				...e,
				height: (t || D) && !T ? S[P] : 0
			};
		}
		return { height: t ? "auto" : void 0 };
	}, [
		y,
		t,
		T,
		P,
		D,
		p,
		C,
		S,
		x
	]), le = (0, X.useMemo)(() => [
		{
			name: "small",
			height: S.small
		},
		{
			name: "medium",
			height: S.medium
		},
		{
			name: "full",
			height: S.full
		}
	], [S]), ue = (0, X.useCallback)(() => w(!0), []), de = (0, X.useCallback)(() => w(!1), []), L = (0, X.useCallback)(() => {
		let e = ae.current;
		se(e === "small" ? "medium" : e === "medium" ? "full" : "small");
	}, [se]), { onPointerDown: fe } = nn({
		enabled: y && !f && !p,
		panelRef: M,
		scrollRef: N,
		snapPoints: le,
		current: P,
		openedAtRef: te,
		onDragStart: ue,
		onSnap: se,
		onSettle: de,
		onHandleTap: L
	});
	(0, X.useLayoutEffect)(() => {
		if (C) return;
		let e = M.current;
		if (!e) return;
		e.style.transition = "none", e.style.removeProperty("transform");
		let t = requestAnimationFrame(() => e.style.removeProperty("transition"));
		return () => cancelAnimationFrame(t);
	}, [C]);
	let pe = (0, X.useCallback)(() => {
		let e = N.current;
		if (!e) return;
		let t = e.scrollTop >= d;
		j !== t && (ee(t), o == null || o(t));
	}, [
		d,
		j,
		o
	]), me = (0, X.useMemo)(() => Bt(() => {
		s == null || s();
	}, 250), [s]);
	return (0, X.useEffect)(() => {
		if (t) {
			A(!0), O(!0), te.current = performance.now();
			return;
		}
		O(!0), te.current = void 0, y && E(!0);
		let e = setTimeout(() => {
			A(!1), O(!1), ee(!1);
		}, parseFloat(sn) * 1e3);
		return () => clearTimeout(e);
	}, [t, y]), (0, X.useEffect)(() => {
		if (!t || !k) return;
		let e = setTimeout(() => {
			se(I.current), O(!1);
		}, 10);
		return () => clearTimeout(e);
	}, [
		t,
		k,
		se
	]), (0, X.useEffect)(() => {
		F(n);
	}, [n]), (0, X.useEffect)(() => {
		if (t && !D) {
			var e;
			(e = N.current) == null || e.scrollTo({ top: 0 }), ee(!1), o == null || o(!1);
		}
	}, [
		t,
		D,
		o,
		m
	]), k ? /* @__PURE__ */ (0, Z.jsx)(mt, {
		value: ne,
		children: /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: (0, Y.default)("efp-overlay", {
				"efp-overlay--draggable": C,
				"efp-overlay--keyboard": y && x > 0,
				"efp-overlay--full": P === "full",
				"efp-overlay--mobile": y,
				"efp-overlay--desktop": !y,
				"efp-overlay--hidden": !y && !t,
				"efp-overlay--scrolled": j,
				"efp-overlay--forced-full": p && y
			}, i),
			style: ce,
			ref: M,
			onPointerDown: fe,
			children: [!f && /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-overlay__draghandle",
				"data-sheet-handle": !0
			}), /* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "efp-overlay__scroll",
				ref: ie,
				onScroll: () => {
					pe(), me();
				},
				children: [r, /* @__PURE__ */ (0, Z.jsx)("div", {
					className: "efp-overlay__content",
					children: e || g
				})]
			})]
		})
	}) : null;
}, pn = ({ isFull: e, onToggle: t, ariaLabel: n, className: r }) => /* @__PURE__ */ (0, Z.jsx)("button", {
	type: "button",
	className: (0, Y.default)("efp-overlay-grip", { "efp-overlay-grip--full": e }, r),
	onClick: t,
	"aria-label": n,
	"aria-expanded": e,
	children: /* @__PURE__ */ (0, Z.jsxs)("svg", {
		viewBox: "0 0 1200 200",
		preserveAspectRatio: "xMidYMid meet",
		xmlns: "http://www.w3.org/2000/svg",
		"aria-hidden": "true",
		children: [/* @__PURE__ */ (0, Z.jsx)("path", { d: "M100,100 l 500 100 L 1100 100" }), /* @__PURE__ */ (0, Z.jsx)("path", { d: "M100,150 l 500 0 L 1100 150" })]
	})
}), mn = ({ name: e, label: t, value: n, checked: r, disabled: i, className: a, ariaLabel: o, onChange: s }) => {
	let c = (0, X.useId)();
	return /* @__PURE__ */ (0, Z.jsxs)("label", {
		htmlFor: c,
		className: (0, Y.default)("efp-radio", a, {
			"efp-radio--checked": r,
			"efp-radio--disabled": i
		}),
		children: [
			/* @__PURE__ */ (0, Z.jsx)("input", {
				type: "radio",
				className: "efp-radio__input",
				id: c,
				name: e,
				value: n,
				checked: r,
				disabled: i,
				"aria-label": o,
				onChange: s
			}),
			/* @__PURE__ */ (0, Z.jsx)("span", {
				className: "efp-radio__control",
				"aria-hidden": "true"
			}),
			/* @__PURE__ */ (0, Z.jsx)("span", {
				className: "efp-radio__label",
				children: t
			})
		]
	});
}, hn = ({ value: e, noteLabel: t, saveButtonLabel: n, saveButtonAriaLabel: r, onSave: i }) => {
	let a = (0, X.useId)(), o = `${a}-label`, s = `${a}-textarea`, [c, l] = (0, X.useState)(e == null ? "" : e);
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: "rebooking-notes",
		children: [/* @__PURE__ */ (0, Z.jsx)("div", {
			className: "rebooking-notes__view-header",
			children: /* @__PURE__ */ (0, Z.jsx)("strong", {
				id: o,
				children: t
			})
		}), /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: "rebooking-notes__edit",
			children: [/* @__PURE__ */ (0, Z.jsx)("div", {
				className: "rebooking-notes__val",
				children: /* @__PURE__ */ (0, Z.jsx)("textarea", {
					id: s,
					value: c,
					onChange: (e) => l(e.target.value),
					"aria-labelledby": o
				})
			}), /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "rebooking-notes__buttons",
				children: /* @__PURE__ */ (0, Z.jsx)(qe, {
					inline: !0,
					onClick: () => {
						i(c);
					},
					disabled: (e == null ? "" : e) === c,
					"aria-label": r,
					children: n
				})
			})]
		})]
	});
}, gn = ({ options: e, value: t, title: n, onChange: r }) => {
	let i = (0, X.useId)();
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: "rebooking-radio-group",
		children: [n && /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "rebooking-radio-group__title",
			children: n
		}), /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "rebooking-radio-group__options",
			children: e.map((e) => {
				let n = `${i}-${e.value}`;
				return /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "rebooking-radio",
					style: { "--rebooking-color-primary": e.color },
					children: [/* @__PURE__ */ (0, Z.jsx)("input", {
						type: "radio",
						name: i,
						value: e.value,
						id: n,
						checked: e.value === t,
						disabled: e.disabled,
						onChange: () => r(e.value)
					}), /* @__PURE__ */ (0, Z.jsxs)("label", {
						htmlFor: n,
						children: [/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "rebooking-radio__label",
							children: e.label
						}), /* @__PURE__ */ (0, Z.jsx)("div", {
							className: "rebooking-radio__icon",
							children: /* @__PURE__ */ (0, Z.jsx)("i", {
								className: e.iconName,
								"aria-hidden": "true"
							})
						})]
					})]
				}, e.value);
			})
		})]
	});
}, _n = 5, vn = 768, yn = ({ children: e, ariaLabel: t, leftAriaLabel: n, rightAriaLabel: r, className: i, scrollAmount: a = 150, mobileBreakpoint: o = vn, showArrowsOnMobile: s = !1, arrowPosition: c = "inside", scrollBehavior: l = "smooth", isRtl: u = !1, enableDragScroll: d = !0, dragScrollSensitivity: f = 1, onScroll: p }) => {
	let m = (0, X.useRef)(null), h = (0, X.useRef)(null), g = (0, X.useRef)(null), [_, v] = (0, X.useState)(!1), [y, b] = (0, X.useState)(!1), [x, S] = (0, X.useState)(!1), [C, w] = (0, X.useState)(0), [T, E] = (0, X.useState)(0), D = (0, X.useCallback)(() => window.innerWidth > o && !("ontouchstart" in window || navigator.maxTouchPoints > 0), [o]), O = (0, X.useCallback)((e, t, n) => {
		let r = t - n;
		return e < 0 ? Math.abs(e) : e > r / 2 ? r - e : e;
	}, []), k = (0, X.useCallback)(() => {
		let e = h.current;
		if (!e) return;
		if (window.innerWidth <= o && !s) {
			v(!1), b(!1);
			return;
		}
		let { scrollLeft: t, scrollWidth: n, clientWidth: r } = e;
		if (!(n > r)) {
			v(!1), b(!1);
			return;
		}
		if (u) {
			let e = n - r, i = O(t, n, r);
			v(i > _n), b(i < e - _n);
		} else v(t > _n), b(t < n - r - _n);
	}, [
		o,
		s,
		O,
		u
	]), A = (0, X.useCallback)(() => {
		k(), p && h.current && p(h.current.scrollLeft);
	}, [k, p]), j = (0, X.useCallback)((e) => {
		let t = h.current;
		if (!t) return;
		let n = t.scrollLeft, r;
		if (u) {
			let i = -(t.scrollWidth - t.clientWidth);
			r = e === "left" ? Math.min(0, n + a) : Math.max(i, n - a);
		} else r = e === "left" ? Math.max(0, n - a) : n + a;
		t.scrollTo({
			left: r,
			behavior: l
		});
	}, [
		a,
		l,
		u
	]), ee = (0, X.useCallback)((e) => {
		!d || !D() || !h.current || re(e.target) || (S(!0), w(e.pageX - h.current.offsetLeft), E(h.current.scrollLeft), e.preventDefault());
	}, [d, D]), M = (0, X.useCallback)((e) => {
		if (!x || !h.current) return;
		e.preventDefault();
		let t = (e.pageX - h.current.offsetLeft - C) * f;
		h.current.scrollLeft = T - t;
	}, [
		x,
		C,
		T,
		f
	]), N = (0, X.useCallback)(() => {
		S(!1);
	}, []);
	(0, X.useEffect)(() => {
		if (x) return document.addEventListener("mousemove", M), document.addEventListener("mouseup", N), document.addEventListener("mouseleave", N), () => {
			document.removeEventListener("mousemove", M), document.removeEventListener("mouseup", N), document.removeEventListener("mouseleave", N);
		};
	}, [
		x,
		M,
		N
	]), (0, X.useEffect)(() => {
		k();
		let e = () => k();
		return window.addEventListener("resize", e), m.current && !g.current && (g.current = new ft.ResizeObserver(k), g.current.observe(m.current)), () => {
			window.removeEventListener("resize", e), g.current && (g.current.disconnect(), g.current = null);
		};
	}, [k]);
	let te = d && D() ? x ? "grabbing" : "grab" : void 0;
	return /* @__PURE__ */ (0, Z.jsx)("div", {
		ref: m,
		className: (0, Y.default)("efp-scrollable-row", i),
		role: "group",
		"aria-label": t,
		children: /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: (0, Y.default)("efp-scrollable-row__container", { [`efp-scrollable-row__container--${c}`]: c }),
			children: [
				_ && /* @__PURE__ */ (0, Z.jsx)("button", {
					type: "button",
					className: (0, Y.default)("efp-scrollable-row__arrow", "efp-scrollable-row__arrow--left", { "efp-scrollable-row__arrow--rtl": u }),
					onClick: () => j("left"),
					"aria-label": n,
					children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-chevron-left" })
				}),
				/* @__PURE__ */ (0, Z.jsx)("div", {
					ref: h,
					className: (0, Y.default)("efp-scrollable-row__scroll-wrapper", { "efp-scrollable-row__scroll-wrapper--dragging": x }),
					onScroll: A,
					onMouseDown: ee,
					style: {
						cursor: te,
						userSelect: x ? "none" : void 0
					},
					children: /* @__PURE__ */ (0, Z.jsx)("div", {
						className: "efp-scrollable-row__content",
						children: e
					})
				}),
				y && /* @__PURE__ */ (0, Z.jsx)("button", {
					type: "button",
					className: (0, Y.default)("efp-scrollable-row__arrow", "efp-scrollable-row__arrow--right", { "efp-scrollable-row__arrow--rtl": u }),
					onClick: () => j("right"),
					"aria-label": r,
					children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-chevron-right" })
				})
			]
		})
	});
}, bn = /* @__PURE__ */ t(((e, t) => {
	t.exports = function() {
		var e = document.getSelection();
		if (!e.rangeCount) return function() {};
		for (var t = document.activeElement, n = [], r = 0; r < e.rangeCount; r++) n.push(e.getRangeAt(r));
		switch (t.tagName.toUpperCase()) {
			case "INPUT":
			case "TEXTAREA":
				t.blur();
				break;
			default:
				t = null;
				break;
		}
		return e.removeAllRanges(), function() {
			e.type === "Caret" && e.removeAllRanges(), e.rangeCount || n.forEach(function(t) {
				e.addRange(t);
			}), t && t.focus();
		};
	};
})), xn = /* @__PURE__ */ e((/* @__PURE__ */ t(((e, t) => {
	var n = bn(), r = {
		"text/plain": "Text",
		"text/html": "Url",
		default: "Text"
	}, i = "Copy to clipboard: #{key}, Enter";
	function a(e) {
		var t = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C";
		return e.replace(/#{\s*key\s*}/g, t);
	}
	function o(e, t) {
		var o, s, c, l, u, d, f = !1;
		t || (t = {}), o = t.debug || !1;
		try {
			if (c = n(), l = document.createRange(), u = document.getSelection(), d = document.createElement("span"), d.textContent = e, d.ariaHidden = "true", d.style.all = "unset", d.style.position = "fixed", d.style.top = 0, d.style.clip = "rect(0, 0, 0, 0)", d.style.whiteSpace = "pre", d.style.webkitUserSelect = "text", d.style.MozUserSelect = "text", d.style.msUserSelect = "text", d.style.userSelect = "text", d.addEventListener("copy", function(n) {
				if (n.stopPropagation(), t.format) if (n.preventDefault(), n.clipboardData === void 0) {
					o && console.warn("unable to use e.clipboardData"), o && console.warn("trying IE specific stuff"), window.clipboardData.clearData();
					var i = r[t.format] || r.default;
					window.clipboardData.setData(i, e);
				} else n.clipboardData.clearData(), n.clipboardData.setData(t.format, e);
				t.onCopy && (n.preventDefault(), t.onCopy(n.clipboardData));
			}), document.body.appendChild(d), l.selectNodeContents(d), u.addRange(l), !document.execCommand("copy")) throw Error("copy command was unsuccessful");
			f = !0;
		} catch (n) {
			o && console.error("unable to copy using execCommand: ", n), o && console.warn("trying IE specific stuff");
			try {
				window.clipboardData.setData(t.format || "text", e), t.onCopy && t.onCopy(window.clipboardData), f = !0;
			} catch (n) {
				o && console.error("unable to copy using clipboardData: ", n), o && console.error("falling back to prompt"), s = a("message" in t ? t.message : i), window.prompt(s, e);
			}
		} finally {
			u && (typeof u.removeRange == "function" ? u.removeRange(l) : u.removeAllRanges()), d && document.body.removeChild(d), c();
		}
		return f;
	}
	t.exports = o;
})))(), 1), Sn = {
	facebook: "icon-facebook",
	xcom: "icon-twitter-x",
	linkedin: "icon-linkedin"
}, Cn = ({ title: e, url: t, shareHeading: n, socials: r, copyLinkSectionLabel: i, directLinkAriaLabel: a, copyButtonAriaLabel: o, copyLabel: s, copiedLabel: c }) => {
	let [l, u] = (0, X.useState)(!1), d = (0, X.useRef)(void 0);
	return (0, X.useEffect)(() => () => clearTimeout(d.current), []), /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: "share",
		children: [
			/* @__PURE__ */ (0, Z.jsxs)("h3", { children: [
				n,
				" ",
				e
			] }),
			/* @__PURE__ */ (0, Z.jsx)("div", {
				className: "share__socials",
				children: r.map((e) => /* @__PURE__ */ (0, Z.jsxs)("a", {
					href: e.url,
					rel: "noopener noreferrer",
					target: "_blank",
					className: (0, Y.default)("share-social", e.network),
					"aria-label": e.ariaLabel,
					children: [/* @__PURE__ */ (0, Z.jsx)("div", {
						className: "share-social__icon",
						children: /* @__PURE__ */ (0, Z.jsx)("i", {
							className: Sn[e.network],
							"aria-hidden": "true"
						})
					}), /* @__PURE__ */ (0, Z.jsx)("div", {
						className: "share-social__title",
						children: e.name
					})]
				}, e.network))
			}),
			/* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "share__copy",
				children: [/* @__PURE__ */ (0, Z.jsx)("span", { children: i }), /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "share__copy-input",
					children: [/* @__PURE__ */ (0, Z.jsx)("input", {
						type: "text",
						defaultValue: t,
						readOnly: !0,
						"aria-label": a
					}), /* @__PURE__ */ (0, Z.jsx)("button", {
						type: "button",
						className: (0, Y.default)({ isCopied: l }),
						onClick: () => {
							(0, xn.default)(t) && (u(!0), clearTimeout(d.current), d.current = setTimeout(() => u(!1), 2e3));
						},
						"aria-label": o,
						children: l ? /* @__PURE__ */ (0, Z.jsx)("span", {
							"aria-live": "polite",
							children: c
						}) : s
					})]
				})]
			})
		]
	});
}, wn = ({ className: e, inBookmark: t = !1, visited: n = !1, showVisited: r = !1, showBookmark: i = !0, showDirections: a = !0, showRoutePlanner: o = !1, showShare: s = !0, directionsLabel: c, visitedLabel: l, notVisitedLabel: u, saveBookmarkLabel: d, removeBookmarkLabel: f, routePlannerLabel: p, shareLabel: m, onClickBookmark: h, onClickVisited: g, onClickDirections: _, onClickRoutePlanner: v, onClickShare: y }) => {
	let [b, x] = (0, X.useState)(!1), S = (0, X.useRef)(void 0);
	return (0, X.useEffect)(() => () => {
		S.current !== void 0 && clearTimeout(S.current);
	}, []), /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: (0, Y.default)("efp-sidebar-actions", e),
		children: [
			a && /* @__PURE__ */ (0, Z.jsxs)("button", {
				type: "button",
				className: "efp-action-button efp-action-button--directions",
				onClick: _,
				title: c,
				"aria-label": c,
				children: [/* @__PURE__ */ (0, Z.jsx)("i", {
					className: "icon-directions",
					"aria-hidden": "true"
				}), c]
			}),
			r && /* @__PURE__ */ (0, Z.jsx)(wt, {
				className: "efp-visited-btn",
				ariaLabel: n ? l : u,
				checked: n,
				label: l,
				onClick: g == null ? (() => {}) : g
			}),
			i && /* @__PURE__ */ (0, Z.jsx)("button", {
				type: "button",
				className: (0, Y.default)("efp-action-button", "efp-action-button--bookmark", {
					"efp-action-button--active": t,
					"efp-action-button--animate": b
				}),
				title: t ? f : d,
				"aria-label": t ? f : d,
				"aria-pressed": t,
				onClick: () => {
					clearTimeout(S.current), x(!0), h == null || h(), S.current = setTimeout(() => {
						x(!1);
					}, 320);
				},
				children: /* @__PURE__ */ (0, Z.jsx)("i", {
					className: t ? "icon-bookmark-solid" : "icon-bookmark",
					"aria-hidden": "true"
				})
			}),
			o && /* @__PURE__ */ (0, Z.jsxs)("button", {
				type: "button",
				className: "efp-action-button efp-action-button--route-planner",
				title: p,
				"aria-label": p,
				onClick: v,
				children: [/* @__PURE__ */ (0, Z.jsx)("i", {
					className: "icon-route-solid",
					"aria-hidden": "true"
				}), p]
			}),
			s && /* @__PURE__ */ (0, Z.jsx)("button", {
				type: "button",
				className: "efp-action-button efp-action-button--share",
				title: m,
				"aria-label": m,
				onClick: y,
				children: /* @__PURE__ */ (0, Z.jsx)("i", {
					className: "icon-share",
					"aria-hidden": "true"
				})
			})
		]
	});
}, Tn = ({ title: e, subtitle: t, trailing: n, slug: r, style: i, className: a, active: o = !1, onClick: s }) => /* @__PURE__ */ (0, Z.jsxs)("a", {
	href: "?" + encodeURIComponent(r),
	onClick: (e) => {
		e.preventDefault(), s();
	},
	className: (0, Y.default)("efp-simple-row", { "efp-simple-row--active": o }, a),
	style: i,
	children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
		className: "efp-simple-row__col",
		children: [/* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-simple-row__main",
			dir: "auto",
			children: e
		}), /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-simple-row__sub",
			dir: "auto",
			children: t
		})]
	}), n && /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "efp-simple-row__end",
		children: n
	})]
}), En = ({ active: e, isCenter: t = !1 }) => /* @__PURE__ */ (0, Z.jsx)("div", {
	className: (0, Y.default)("efp-spinner", { "is-hidden": !e }),
	style: t ? {
		top: 0,
		bottom: 0,
		left: 0,
		right: 0,
		margin: "auto"
	} : void 0,
	children: /* @__PURE__ */ (0, Z.jsx)("svg", {
		viewBox: "25 25 50 50",
		children: /* @__PURE__ */ (0, Z.jsx)("circle", {
			r: "20",
			cy: "50",
			cx: "50"
		})
	})
}), Dn = ({ name: e, value: t, label: n, className: r, onChange: i }) => {
	let a = (0, X.useId)();
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: (0, Y.default)("efp-toggle-switch", r),
		children: [/* @__PURE__ */ (0, Z.jsx)("input", {
			type: "checkbox",
			role: "switch",
			"aria-checked": t,
			id: a,
			name: e,
			checked: t,
			onChange: () => i(!t)
		}), /* @__PURE__ */ (0, Z.jsx)("label", {
			htmlFor: a,
			children: /* @__PURE__ */ (0, Z.jsx)("span", { children: n })
		})]
	});
}, On = ({ floors: e, value: t, floorSelectionLabel: n = "Floor selection", onSelect: r }) => {
	let i = e.findIndex((e) => (e == null ? void 0 : e.id) === (t == null ? void 0 : t.id)), a = (e) => i !== -1 && e === i;
	return /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "efp-wayfinding-floor",
		children: /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-wayfinding-floor__body",
			children: /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-wayfinding-floor__list",
				role: "radiogroup",
				"aria-label": n,
				children: e.map((n, o) => {
					var s, c, l;
					let u = (n == null ? void 0 : n.id) === (t == null ? void 0 : t.id), d = i !== -1 && o < i, f = o === e.length - 1, p = f || (s = n.directionToNext) == null ? null : s, m = a(o), h = i !== -1 && o < i;
					return /* @__PURE__ */ (0, Z.jsxs)(X.Fragment, { children: [/* @__PURE__ */ (0, Z.jsx)("div", {
						className: (0, Y.default)("efp-wayfinding-floor__item", {
							"is-current": u,
							"is-passed": d
						}),
						children: /* @__PURE__ */ (0, Z.jsx)("button", {
							type: "button",
							role: "radio",
							title: n.description,
							"aria-checked": u,
							"aria-label": (c = (l = n.ariaLabel) == null ? n.description : l) == null ? n.name : c,
							onClick: () => r == null ? void 0 : r({
								id: n.id,
								name: n.name
							}),
							children: /* @__PURE__ */ (0, Z.jsx)("span", { children: n.name })
						})
					}), !f && p && /* @__PURE__ */ (0, Z.jsx)("div", {
						className: (0, Y.default)("efp-wayfinding-floor__arrow", {
							[`efp-wayfinding-floor__arrow--${p}`]: p,
							"efp-wayfinding-floor__arrow--blink": m,
							"efp-wayfinding-floor__arrow--passed": h
						}),
						"aria-hidden": "true",
						children: h || m ? /* @__PURE__ */ (0, Z.jsx)("svg", {
							width: "24",
							height: "24",
							viewBox: "0 0 24 24",
							fill: "none",
							xmlns: "http://www.w3.org/2000/svg",
							children: /* @__PURE__ */ (0, Z.jsx)("path", {
								d: "M11.7502 18.2823C11.7503 19.0928 12.4074 19.7499 13.218 19.75C13.5885 19.75 13.9455 19.6096 14.217 19.3575L20.6438 13.3897C21.0303 13.0308 21.2502 12.5274 21.2502 12C21.2502 11.4727 21.0303 10.9693 20.6438 10.6104L14.217 4.64258C13.9795 4.42202 13.6768 4.28716 13.3566 4.25684L13.218 4.25L13.0686 4.25782C12.3282 4.3328 11.7503 4.95766 11.7502 5.71778L11.7502 8.25L4.50024 8.25C3.53374 8.25 2.75024 9.03351 2.75024 9.99996L2.75024 14C2.75024 14.9665 3.53374 15.75 4.50024 15.75L11.7502 15.75L11.7502 18.2823Z",
								fill: "currentColor"
							})
						}) : /* @__PURE__ */ (0, Z.jsx)("svg", {
							width: "24",
							height: "24",
							viewBox: "0 0 24 24",
							fill: "none",
							xmlns: "http://www.w3.org/2000/svg",
							children: /* @__PURE__ */ (0, Z.jsx)("path", {
								d: "M2.5 10C2.5 8.89544 3.39544 8 4.5 8H11.5V5.71777C11.5001 4.76912 12.2692 4.00012 13.2178 4C13.5973 4 13.9649 4.12537 14.2637 4.35449L14.3867 4.45898L20.8145 10.4268C21.2518 10.8329 21.5 11.4032 21.5 12C21.5 12.5968 21.2518 13.1671 20.8145 13.5732L14.3867 19.54L14.3877 19.541C14.0697 19.8365 13.6514 20 13.2178 20C12.2692 19.9999 11.5001 19.2308 11.5 18.2822V16H4.5C3.39545 16 2.5 15.1046 2.5 14V10ZM4.5 14H12.5C13.0523 14 13.5 14.4477 13.5 15V17.6348L19.4531 12.1074C19.4829 12.0797 19.5 12.0407 19.5 12C19.5 11.9593 19.4829 11.9203 19.4531 11.8926L13.5 6.36426V9C13.5 9.55228 13.0523 10 12.5 10H4.5V14Z",
								fill: "currentColor"
							})
						})
					})] }, n.id);
				})
			})
		})
	});
}, kn = q((e) => /* @__PURE__ */ (0, Z.jsx)(ut, {
	...e,
	closeLabel: d("Close alert")
})), An = q((e) => {
	let t = Ye();
	return /* @__PURE__ */ (0, Z.jsx)(vt, {
		...e,
		renderTarget: t,
		inline: z.uiState.overlayBottom,
		noOptionsLabel: d("No options"),
		ariaLabel: d("Search options"),
		clearLabel: d("Clear")
	});
}), jn = q((e) => /* @__PURE__ */ (0, Z.jsx)(zt, {
	...e,
	selectAllLabel: d("Select all"),
	clearAllLabel: d("Clear all"),
	selectedLabel: d("selected"),
	showMoreLabel: d("Show more"),
	showLessLabel: d("Show less")
})), Mn = q(({ store: e, rootStore: t, title: n, groups: r }) => {
	let i = G(() => ({
		get pendingSelectedIds() {
			return e.state.pendingItems.map((e) => e.id);
		},
		get totalItemsCount() {
			return e.state.pendingItems.length === 0 ? e.getFilteredItems().length : t.exhibitorStore.exhibitors.filter((t) => t.categories.some((t) => e.state.pendingItems.some((e) => e.id === t.id))).length;
		},
		get allCategories() {
			return r.flatMap((e) => e.items);
		},
		get isAllSelected() {
			return this.allCategories.every((e) => this.pendingSelectedIds.includes(e.id));
		},
		get isPartiallySelected() {
			let e = this.allCategories.filter((e) => this.pendingSelectedIds.includes(e.id)).length;
			return e > 0 && e < this.allCategories.length;
		},
		get totalCategoriesCount() {
			return this.allCategories.length;
		}
	}));
	return /* @__PURE__ */ (0, Z.jsx)(Xe, {
		open: e.state.isOpen,
		title: n,
		onClose: () => {
			e.closeFilter();
		},
		footerLeft: [{
			label: d("Clear all"),
			onClick: () => {
				e.clearPendingItems();
			},
			variant: "gray",
			disabled: i.pendingSelectedIds.length === 0
		}],
		footerRight: [{
			label: i.pendingSelectedIds.length > 0 ? d("Show #{{count}}# Matching Exhibitors", { count: i.totalItemsCount }) : d("Show All Exhibitors"),
			onClick: () => {
				e.applyFilter();
			},
			variant: "primary",
			withBadge: !0,
			disabled: !e.state.isOpen
		}],
		children: /* @__PURE__ */ (0, Z.jsx)(jn, {
			groups: r,
			selectedIds: i.pendingSelectedIds,
			variant: "categories",
			onChange: (t) => {
				let n = r.flatMap((e) => e.items).filter((e) => t.includes(e.id));
				e.setPendingItems(n);
			},
			itemCountProvider: (e) => {
				var n;
				return ((n = t.categoryStore.categoryById.get(Number(e.id))) == null || (n = n.exhibitors) == null ? void 0 : n.length) || 0;
			}
		})
	});
}), Nn = q((e) => /* @__PURE__ */ (0, Z.jsx)(wn, {
	...e,
	directionsLabel: d("Directions"),
	visitedLabel: d("Visited"),
	notVisitedLabel: d("Not visited"),
	saveBookmarkLabel: d("Save to Bookmarks"),
	removeBookmarkLabel: d("Remove from Bookmarks"),
	routePlannerLabel: d("Route planner"),
	shareLabel: d("Share")
}));
//#endregion
//#region src/components/Bookmarks.tsx
function Pn() {
	return K(() => !W.wayfinding || !z.bookmarksStore.hasRoutableBookmarks ? null : /* @__PURE__ */ (0, Z.jsx)(Nn, {
		className: "efp-sidebar-actions--bookmarks",
		showDirections: !1,
		showBookmark: !1,
		showRoutePlanner: !0,
		showShare: !1,
		onClickRoutePlanner: () => z.routePlannerStore.launchFromBookmarks()
	}));
}
function Fn() {
	let e = (0, X.useRef)(null);
	return K(() => /* @__PURE__ */ (0, Z.jsxs)(Z.Fragment, { children: [/* @__PURE__ */ (0, Z.jsx)(Pn, {}), /* @__PURE__ */ (0, Z.jsx)(ur, { updatedScrollableRef: e })] }));
}
var In = () => K(() => !k.hideBookmarks && !B.details && B.list.type === "bookmarks" && /* @__PURE__ */ (0, Z.jsx)(Fn, {})), Ln = (e) => {
	let t = (0, X.useMemo)(() => e ? z.heatmapStore.getClicksByItem(e) : 0, [e]);
	return {
		clicks: t,
		background: (0, X.useMemo)(() => z.heatmapStore.getColorByClicks(t), [t])
	};
}, Rn = (e) => {
	e.length === 4 && (e = e.replace(/^#([a-f\d])([a-f\d])([a-f\d])$/i, (e, t, n, r) => `#${t}${t}${n}${n}${r}${r}`));
	let t = parseInt(e.slice(1), 16);
	return {
		r: t >> 16 & 255,
		g: t >> 8 & 255,
		b: t & 255
	};
}, zn = (e) => {
	let { clicks: t, background: n } = Ln(e);
	return { heatmapBar: (0, X.useMemo)(() => {
		if (!B.heatmap) return null;
		let e = n.trim().toLowerCase(), r = 255, i = 255, a = 255;
		if (e.startsWith("#") && (e.length === 7 || e.length === 4)) {
			let t = Rn(e);
			r = t.r, i = t.g, a = t.b;
		}
		let o = .299 * r + .587 * i + .114 * a < 170 ? "#fff" : "#000", s = o === "#fff" ? "rgba(0, 0, 0, 0.4)" : "rgba(255, 255, 255, 0.4)";
		return /* @__PURE__ */ (0, Z.jsxs)("div", {
			style: {
				display: "flex",
				alignItems: "center",
				alignSelf: "flex-start",
				gap: "0.2rem",
				minHeight: "1.8rem",
				marginLeft: "auto",
				padding: "0.2rem 0.5rem",
				borderRadius: "var(--border-radius-md)",
				background: n,
				color: o,
				textShadow: `0 0 2px ${s}`,
				fontWeight: "var(--font-weight-bold)",
				fontSize: "var(--font-size-md)",
				textAlign: "center"
			},
			children: [/* @__PURE__ */ (0, Z.jsx)("i", {
				className: "icon-eye",
				style: {
					fontSize: "var(--icon-size-xs)",
					textShadow: `0 0 2px ${s}`
				}
			}), t]
		});
	}, [n, t]) };
}, Bn = (e) => !!e && /^\d+$/.test(e), Vn = {
	booth: { typeColor: "var(--color-booth)" },
	exhibitor: { typeColor: "var(--color-exhibitor)" },
	event: {
		typeColor: "var(--color-event)",
		hasDatetime: !0
	},
	speaker: {
		typeColor: "var(--color-speaker)",
		variant: "person"
	},
	category: {
		typeColor: "var(--color-category)",
		hasTitleBadge: !0,
		hasSubtitleLabel: !0
	}
}, Hn = (e) => e.type === "location" ? {
	...e,
	showLevelLabel: Bn(e.level)
} : e, Un = q(({ kind: e, itemsCount: t, date: n, time: r, additionalInfo: i, ...a }) => {
	var o;
	let s = Vn[e], c = s.hasDatetime && (n || r) ? {
		date: n,
		time: r
	} : void 0, l = B.list.type === "search" ? B.list.text : void 0;
	return /* @__PURE__ */ (0, Z.jsx)(kt, {
		...a,
		additionalInfo: i == null ? void 0 : i.map(Hn),
		typeColor: s.typeColor,
		iconClassName: `icon-${e}-solid`,
		variant: (o = s.variant) == null ? "default" : o,
		titleBadge: s.hasTitleBadge ? t : void 0,
		datetime: c,
		subtitleLabel: s.hasSubtitleLabel ? d("Category") : void 0,
		highlight: l,
		featuredLabel: d("Featured"),
		hallLabel: d("Hall"),
		levelLabel: d("Level")
	});
}), Wn = /* @__PURE__ */ t(((e, t) => {
	(function(n) {
		var r = (function() {
			var e = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZWN]|"[^"]*"|'[^']*'/g, t = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, n = /[^-+\dA-Z]/g;
			return function(c, l, u, d) {
				if (arguments.length === 1 && s(c) === "string" && !/\d/.test(c) && (l = c, c = void 0), c = c || /* @__PURE__ */ new Date(), c instanceof Date || (c = new Date(c)), isNaN(c)) throw TypeError("Invalid date");
				l = String(r.masks[l] || l || r.masks.default);
				var f = l.slice(0, 4);
				(f === "UTC:" || f === "GMT:") && (l = l.slice(4), u = !0, f === "GMT:" && (d = !0));
				var p = u ? "getUTC" : "get", m = c[p + "Date"](), h = c[p + "Day"](), g = c[p + "Month"](), _ = c[p + "FullYear"](), v = c[p + "Hours"](), y = c[p + "Minutes"](), b = c[p + "Seconds"](), x = c[p + "Milliseconds"](), S = u ? 0 : c.getTimezoneOffset(), C = a(c), w = o(c), T = {
					d: m,
					dd: i(m),
					ddd: r.i18n.dayNames[h],
					dddd: r.i18n.dayNames[h + 7],
					m: g + 1,
					mm: i(g + 1),
					mmm: r.i18n.monthNames[g],
					mmmm: r.i18n.monthNames[g + 12],
					yy: String(_).slice(2),
					yyyy: _,
					h: v % 12 || 12,
					hh: i(v % 12 || 12),
					H: v,
					HH: i(v),
					M: y,
					MM: i(y),
					s: b,
					ss: i(b),
					l: i(x, 3),
					L: i(Math.round(x / 10)),
					t: v < 12 ? r.i18n.timeNames[0] : r.i18n.timeNames[1],
					tt: v < 12 ? r.i18n.timeNames[2] : r.i18n.timeNames[3],
					T: v < 12 ? r.i18n.timeNames[4] : r.i18n.timeNames[5],
					TT: v < 12 ? r.i18n.timeNames[6] : r.i18n.timeNames[7],
					Z: d ? "GMT" : u ? "UTC" : (String(c).match(t) || [""]).pop().replace(n, ""),
					o: (S > 0 ? "-" : "+") + i(Math.floor(Math.abs(S) / 60) * 100 + Math.abs(S) % 60, 4),
					S: [
						"th",
						"st",
						"nd",
						"rd"
					][m % 10 > 3 ? 0 : (m % 100 - m % 10 != 10) * m % 10],
					W: C,
					N: w
				};
				return l.replace(e, function(e) {
					return e in T ? T[e] : e.slice(1, e.length - 1);
				});
			};
		})();
		r.masks = {
			default: "ddd mmm dd yyyy HH:MM:ss",
			shortDate: "m/d/yy",
			mediumDate: "mmm d, yyyy",
			longDate: "mmmm d, yyyy",
			fullDate: "dddd, mmmm d, yyyy",
			shortTime: "h:MM TT",
			mediumTime: "h:MM:ss TT",
			longTime: "h:MM:ss TT Z",
			isoDate: "yyyy-mm-dd",
			isoTime: "HH:MM:ss",
			isoDateTime: "yyyy-mm-dd'T'HH:MM:sso",
			isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",
			expiresHeaderFormat: "ddd, dd mmm yyyy HH:MM:ss Z"
		}, r.i18n = {
			dayNames: [
				"Sun",
				"Mon",
				"Tue",
				"Wed",
				"Thu",
				"Fri",
				"Sat",
				"Sunday",
				"Monday",
				"Tuesday",
				"Wednesday",
				"Thursday",
				"Friday",
				"Saturday"
			],
			monthNames: [
				"Jan",
				"Feb",
				"Mar",
				"Apr",
				"May",
				"Jun",
				"Jul",
				"Aug",
				"Sep",
				"Oct",
				"Nov",
				"Dec",
				"January",
				"February",
				"March",
				"April",
				"May",
				"June",
				"July",
				"August",
				"September",
				"October",
				"November",
				"December"
			],
			timeNames: [
				"a",
				"p",
				"am",
				"pm",
				"A",
				"P",
				"AM",
				"PM"
			]
		};
		function i(e, t) {
			for (e = String(e), t = t || 2; e.length < t;) e = "0" + e;
			return e;
		}
		function a(e) {
			var t = new Date(e.getFullYear(), e.getMonth(), e.getDate());
			t.setDate(t.getDate() - (t.getDay() + 6) % 7 + 3);
			var n = new Date(t.getFullYear(), 0, 4);
			n.setDate(n.getDate() - (n.getDay() + 6) % 7 + 3);
			var r = t.getTimezoneOffset() - n.getTimezoneOffset();
			t.setHours(t.getHours() - r);
			var i = (t - n) / (864e5 * 7);
			return 1 + Math.floor(i);
		}
		function o(e) {
			var t = e.getDay();
			return t === 0 && (t = 7), t;
		}
		function s(e) {
			return e === null ? "null" : e === void 0 ? "undefined" : typeof e == "object" ? Array.isArray(e) ? "array" : {}.toString.call(e).slice(8, -1).toLowerCase() : typeof e;
		}
		typeof define == "function" && define.amd ? define(function() {
			return r;
		}) : typeof e == "object" ? t.exports = r : n.dateFormat = r;
	})(e);
})), Gn = (e, t, n) => {
	let r = t || [
		"p",
		"span",
		"strong",
		"em",
		"ul",
		"ol",
		"li",
		"a"
	], i = n || [
		"href",
		"target",
		"rel"
	], a = document.createElement("template");
	a.innerHTML = e;
	let o = a.content;
	return Array.from(o.querySelectorAll("*")).forEach((e) => {
		r.includes(e.tagName.toLowerCase()) || e.remove();
	}), Array.from(o.querySelectorAll("*")).forEach((e) => {
		Array.from(e.attributes).forEach((t) => {
			i.includes(t.name.toLowerCase()) || e.removeAttribute(t.name);
		});
	}), a.innerHTML;
}, Kn = q((e) => /* @__PURE__ */ (0, Z.jsx)(Lt, {
	...e,
	showMoreLabel: d("Show more"),
	showLessLabel: d("Show less")
})), Q = /* @__PURE__ */ e(Wn(), 1);
function qn(e, t) {
	let n = /* @__PURE__ */ new Date();
	return e <= n && n <= t;
}
function Jn(e) {
	let t = /* @__PURE__ */ new Date();
	return new Date(e) < t;
}
var Yn = q(({ events: e = [], descriptionMaxLength: t = 200, showBooths: n = !1, isSessions: r = !1, onEventClick: i }) => {
	let [a, o] = (0, X.useState)({}), s = /* @__PURE__ */ new Date(), c = e.filter((e) => (e.endDate ? new Date(e.endDate) : new Date(e.startDate)) > s), l = e.filter((e) => (e.endDate ? new Date(e.endDate) : new Date(e.startDate)) <= s), u = c.reduce((e, t) => {
		let [n] = t.startDate.split("T");
		return e[n] ? e[n].push(t) : e[n] = [t], e;
	}, {}), f = l.reduce((e, t) => {
		let [n] = t.startDate.split("T");
		return e[n] ? e[n].push(t) : e[n] = [t], e;
	}, {});
	(0, X.useEffect)(() => {
		let e = {};
		for (let t in u) e[t] = u[t].map(() => ({ showFullDescription: !1 }));
		for (let t in f) e[t] = f[t].map(() => ({ showFullDescription: !1 }));
		o(e);
	}, [e.map((e) => e.id).join(",")]);
	let p = (e, t, n) => {
		e.preventDefault(), e.stopPropagation(), o((e) => {
			let r = { ...e };
			return Array.isArray(r[t]) || (r[t] = []), r[t][n] || (r[t][n] = { showFullDescription: !1 }), r[t][n].showFullDescription = !r[t][n].showFullDescription, r;
		});
	}, m = (e, n) => e.length > t && !n ? e.slice(0, t) + "..." : e, h = (e) => {
		let t = z.sessionsFilterStore.state.filters.use24hFormat.value;
		return (0, Q.default)(new Date(e), t ? "HH:MM" : "h:MMtt");
	}, g = (e) => {
		let [t, n, r] = e.split("-"), i = new Date(parseInt(t), parseInt(n) - 1, parseInt(r));
		return {
			day: r,
			month: (0, Q.default)(i, "mmm"),
			weekday: (0, Q.default)(i, "ddd"),
			full: (0, Q.default)(i, "dddd, mmmm d")
		};
	}, _ = ({ children: e, link: t, current: n, ended: r, event: a }) => {
		let o = (e) => {
			i && (e.preventDefault(), i(a));
		};
		return t ? /* @__PURE__ */ (0, Z.jsx)("a", {
			href: t,
			className: (0, Y.default)("efp-schedule__event", n, r),
			target: "_blank",
			rel: "noopener noreferrer",
			onClick: o,
			children: e
		}) : /* @__PURE__ */ (0, Z.jsx)("div", {
			className: (0, Y.default)("efp-schedule__event", { ended: r }),
			onClick: o,
			children: e
		});
	}, v = (e, o = !1) => Object.entries(e).map(([e, o]) => {
		let s = g(e);
		return /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: "efp-schedule__item",
			children: [/* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-schedule__date",
				"aria-label": `Date: ${s.full}`,
				children: /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "efp-schedule__date-sticky",
					children: [
						/* @__PURE__ */ (0, Z.jsx)("div", { children: s.day }),
						/* @__PURE__ */ (0, Z.jsx)("div", { children: s.month }),
						/* @__PURE__ */ (0, Z.jsx)("div", { children: s.weekday })
					]
				})
			}), /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-schedule__events",
				role: "list",
				children: o.map((o, s) => {
					var c, l;
					let u = o.boothId ? z.boothStore.boothById.get(Number(o.boothId)) : null, d = (c = (l = a[e]) == null || (l = l[s]) == null ? void 0 : l.showFullDescription) != null && c;
					return /* @__PURE__ */ (0, Z.jsx)("div", {
						role: "listitem",
						"data-event-id": o.id,
						onClick: () => i == null ? void 0 : i(o),
						style: { cursor: i ? "pointer" : "default" },
						children: /* @__PURE__ */ (0, Z.jsxs)(_, {
							link: "",
							ended: o.isEnded || Jn(o.endDate || o.startDate),
							current: qn(o.startDate, o.endDate),
							event: o,
							children: [
								/* @__PURE__ */ (0, Z.jsxs)("span", { children: [h(o.startDate), o.endDate ? ` - ${h(o.endDate)}` : null] }),
								/* @__PURE__ */ (0, Z.jsxs)("strong", { children: [o.name, /* @__PURE__ */ (0, Z.jsx)(Tr, { event: o })] }),
								/* @__PURE__ */ (0, Z.jsx)("div", {
									className: "efp-schedule__event-booth-and-tracks",
									children: u && n && /* @__PURE__ */ (0, Z.jsx)("div", {
										className: "efp-schedule__event-booth",
										children: /* @__PURE__ */ (0, Z.jsx)("div", { children: u.name })
									})
								}),
								o.logoFile && /* @__PURE__ */ (0, Z.jsx)("div", {
									className: "efp-schedule__event-logo",
									children: /* @__PURE__ */ (0, Z.jsx)("img", {
										src: o.logoFile,
										alt: o.name,
										crossOrigin: "anonymous"
									})
								}),
								o.description && !r && /* @__PURE__ */ (0, Z.jsxs)("div", {
									className: "efp-schedule__event-desc",
									children: [/* @__PURE__ */ (0, Z.jsx)("div", {
										id: `event-desc-${e}-${s}`,
										dangerouslySetInnerHTML: { __html: Gn(m(o.description, d)) }
									}), o.description.length > t && /* @__PURE__ */ (0, Z.jsx)(Kn, {
										expanded: d,
										onClick: (t) => p(t, e, s),
										"aria-controls": `event-desc-${e}-${s}`
									})]
								})
							]
						})
					}, o.id);
				})
			})]
		}, e);
	});
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: (0, Y.default)("efp-schedule", { "is-sessions": r }),
		children: [v(u), Object.keys(f).length > 0 && /* @__PURE__ */ (0, Z.jsxs)(Z.Fragment, { children: [/* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-schedule__past-events-header",
			children: d("Past Sessions")
		}), v(f, !0)] })]
	});
}), Xn = q(({ booth: e, level: t }) => /* @__PURE__ */ (0, Z.jsxs)("div", {
	className: "booth__content -reg",
	children: [
		/* @__PURE__ */ (0, Z.jsx)(so, { level: t }),
		/* @__PURE__ */ (0, Z.jsxs)(Ct, {
			variant: "orange",
			children: [/* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-hand-solid" }), d("On Hold")]
		}),
		/* @__PURE__ */ (0, Z.jsxs)("div", {
			className: "booth__infos",
			children: [
				e.type && /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "booth__info is-onhold",
					children: [/* @__PURE__ */ (0, Z.jsx)("div", {
						className: "booth__info-icon",
						children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-box-3d" })
					}), /* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "booth__info-body",
						children: [/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "booth__info-title",
							children: d("{{boothTerm}} Type", { boothTerm: k.boothTerm })
						}), /* @__PURE__ */ (0, Z.jsx)("div", {
							className: "booth__info-val",
							children: e.type
						})]
					})]
				}),
				e.size && /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "booth__info is-onhold",
					children: [/* @__PURE__ */ (0, Z.jsx)("div", {
						className: "booth__info-icon",
						children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-size" })
					}), /* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "booth__info-body",
						children: [/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "booth__info-title",
							children: d("Size")
						}), /* @__PURE__ */ (0, Z.jsx)("div", {
							className: "booth__info-val",
							children: e.size
						})]
					})]
				}),
				e.price && e.price !== "0" && !B.previewMode && /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "booth__info is-onhold",
					children: [/* @__PURE__ */ (0, Z.jsx)("div", {
						className: "booth__info-icon",
						children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-tag" })
					}), /* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "booth__info-body",
						children: [/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "booth__info-title",
							children: d("Price")
						}), /* @__PURE__ */ (0, Z.jsx)("div", {
							className: "booth__info-val",
							children: e.price
						})]
					})]
				})
			]
		})
	]
})), Zn = q(() => /* @__PURE__ */ (0, Z.jsx)("div", {
	className: "booth__content -reg",
	children: /* @__PURE__ */ (0, Z.jsx)("div", { children: d("Reserved") })
}));
//#endregion
//#region src/utils/is-iframe.ts
function Qn() {
	try {
		return window.self !== window.top;
	} catch {
		return !0;
	}
}
var $n = Qn();
_.log("Running in iframe: ", $n);
//#endregion
//#region src/components/Booth/BoothWithoutExhibitor.tsx
var er = q(({ booth: e, description: t, showBuy: n, showReserve: r, isRebooking: i, level: a }) => {
	let o = (t) => {
		if (t) {
			let n = new URL(t);
			return !n.searchParams.has("type") && e.type && n.searchParams.append("type", e.type), !n.searchParams.has("price") && e.price && !B.previewMode && n.searchParams.append("price", e.price), n;
		} else return null;
	}, s = o(e.buyUrl), c = o(e.reserveUrl);
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: "booth__content -reg",
		children: [
			/* @__PURE__ */ (0, Z.jsx)(so, { level: a }),
			/* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "booth__infos",
				children: [
					e.type && /* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "booth__info",
						children: [/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "booth__info-icon",
							children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-box-3d" })
						}), /* @__PURE__ */ (0, Z.jsxs)("div", {
							className: "booth__info-body",
							children: [/* @__PURE__ */ (0, Z.jsx)("div", {
								className: "booth__info-title",
								children: d("{{boothTerm}} Type", { boothTerm: k.boothTerm })
							}), /* @__PURE__ */ (0, Z.jsx)("div", {
								className: "booth__info-val",
								children: e.type
							})]
						})]
					}),
					e.size && /* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "booth__info",
						children: [/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "booth__info-icon",
							children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-size" })
						}), /* @__PURE__ */ (0, Z.jsxs)("div", {
							className: "booth__info-body",
							children: [/* @__PURE__ */ (0, Z.jsx)("div", {
								className: "booth__info-title",
								children: d("Size")
							}), /* @__PURE__ */ (0, Z.jsx)("div", {
								className: "booth__info-val",
								children: e.size
							})]
						})]
					}),
					!i && e.price && e.price !== "0" && !B.previewMode && /* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "booth__info",
						children: [/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "booth__info-icon",
							children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-tag" })
						}), /* @__PURE__ */ (0, Z.jsxs)("div", {
							className: "booth__info-body",
							children: [/* @__PURE__ */ (0, Z.jsx)("div", {
								className: "booth__info-title",
								children: d("Price")
							}), /* @__PURE__ */ (0, Z.jsx)("div", {
								className: "booth__info-val",
								children: e.price
							})]
						})]
					})
				]
			}),
			!i && t && /* @__PURE__ */ (0, Z.jsx)("span", {
				dangerouslySetInnerHTML: { __html: t },
				className: "booth__reserve-instructions"
			}),
			/* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "booth__buy",
				children: [!i && n && /* @__PURE__ */ (0, Z.jsx)(qe, {
					link: s == null ? void 0 : s.href,
					target: $n ? "_blank" : "_self",
					children: d("Buy")
				}), !i && r && /* @__PURE__ */ (0, Z.jsx)(qe, {
					link: (c == null ? void 0 : c.href) || (s == null ? void 0 : s.href),
					target: $n ? "_blank" : "_self",
					children: d("Reserve")
				})]
			})
		]
	});
}), tr = q(() => {
	var e, t;
	let n = (0, X.useRef)(), r = G(() => ({
		get booth() {
			return B.selectedBooth;
		},
		get regular() {
			return this.booth instanceof Pe ? this.booth : null;
		},
		get special() {
			return this.booth instanceof ke ? this.booth : null;
		},
		get showReserve() {
			return !B.kiosk && this.regular && (this.regular.price === "0" && !!this.regular.buyUrl || !!this.regular.reserveUrl);
		},
		get showBuy() {
			return !B.kiosk && this.regular && this.regular.buyUrl && this.regular.price && this.regular.price !== "0";
		},
		get title() {
			return this.booth.fullName;
		},
		get reserveTitle() {
			return k.reserveButtonTerm || d("Reserve");
		},
		get descriptionCombined() {
			return this.booth.description || k.reserveInstructions || "";
		}
	}));
	(0, X.useEffect)(() => {
		var e;
		if ((e = r.booth.schedule) != null && e.length) {
			let e = /* @__PURE__ */ new Date(), t = [...r.booth.schedule].sort((e, t) => new Date(e.startDate).getTime() - new Date(t.startDate).getTime());
			if (t.some((t) => (t.endDate ? new Date(t.endDate) : new Date(t.startDate)) < e)) {
				let r = t.find((t) => (t.endDate ? new Date(t.endDate) : new Date(t.startDate)) > e);
				if (r && n.current) {
					let e = n.current.querySelector(`[data-event-id="${r.id}"]`);
					e && setTimeout(() => {
						let t = n.current.getBoundingClientRect(), r = e.getBoundingClientRect().top - t.top - 20;
						n.current.scrollTop = r;
					}, 100);
				}
			}
		}
	}, [r.booth.schedule]);
	function i(e) {
		let t = parseInt(e);
		z.clickExhibitor(z.exhibitorStore.exhibitors.find((e) => e.id === t));
	}
	function a(e) {
		z.selectEventItem(e, !0);
	}
	function o() {
		r.booth.exhibitors.length === 0 && (r.booth.bookmarkedDirectly = !r.booth.bookmarkedDirectly, r.booth.bookmarkedDirectly && I("bookmark", r.booth.name, "booth"));
	}
	r.title;
	let s = null, c = (e = r.booth.layer) == null ? void 0 : e.description, { heatmapBar: l } = zn(r.booth), u = r.booth.exhibitors.sort((e, t) => Number(!!t.featured) - Number(!!e.featured)).map((e) => {
		var t;
		return /* @__PURE__ */ (0, Z.jsx)(Un, {
			onClick: i,
			id: e.id.toString(),
			featured: e.featured,
			kind: "exhibitor",
			image: (t = e.logo) == null ? void 0 : t.url,
			title: e.name,
			bookmarked: e.bookmarked,
			visited: e.visited,
			additionalInfo: e.booths.map((e) => {
				var t;
				return {
					type: "location",
					locationName: e.name,
					level: c || ((t = e.layer) == null ? void 0 : t.name)
				};
			})
		}, e.id.toString());
	});
	if (k.isRebooking) s = /* @__PURE__ */ (0, Z.jsx)(Z.Fragment, { children: u });
	else if (r.regular) {
		let e = r.regular;
		s = e.onHold ? /* @__PURE__ */ (0, Z.jsx)(Xn, {
			booth: e,
			description: "",
			showBuy: !1,
			showReserve: !1,
			isRebooking: !1,
			level: c
		}) : e.reserved ? /* @__PURE__ */ (0, Z.jsx)(Zn, {}) : e.exhibitors.length === 0 ? /* @__PURE__ */ (0, Z.jsx)(er, {
			booth: e,
			description: r.descriptionCombined,
			showBuy: !B.previewMode && r.showBuy,
			showReserve: !B.previewMode && r.showReserve,
			isRebooking: !1,
			level: c
		}) : /* @__PURE__ */ (0, Z.jsx)(Z.Fragment, { children: u });
	} else s = /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: "booth__content -spec",
		children: [
			/* @__PURE__ */ (0, Z.jsx)(so, { level: c }),
			/* @__PURE__ */ (0, Z.jsx)("div", {
				className: "booth__desc",
				dangerouslySetInnerHTML: { __html: r.special.description }
			}),
			/* @__PURE__ */ (0, Z.jsx)(Z.Fragment, { children: u })
		]
	});
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: "booth",
		children: [
			/* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "booth__header",
				children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "booth__header-name",
					children: [
						/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "booth__header-icon",
							children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-booth-solid" })
						}),
						/* @__PURE__ */ (0, Z.jsx)("span", {
							dir: "auto",
							children: r.title
						}),
						l
					]
				}), /* @__PURE__ */ (0, Z.jsx)("button", {
					type: "button",
					onClick: () => z.searchStore.handleBackAction(),
					className: "booth__header-close",
					children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-close" })
				})]
			}),
			!k.isRebooking && W.wayfinding && !B.isGuidedToursActive && /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "exhibitor__directions",
				style: {
					paddingLeft: 15,
					paddingRight: 15
				},
				children: /* @__PURE__ */ (0, Z.jsx)(Nn, {
					showBookmark: !B.disableBookmarked && !k.hideBookmarks && !B.kiosk && r.booth.exhibitors.length === 0,
					showShare: !1,
					inBookmark: r.booth.exhibitors.length === 0 && r.booth.bookmarkedDirectly,
					onClickBookmark: o,
					onClickDirections: () => {
						z.routeStore.clickRoute(null, r.booth);
					}
				})
			}),
			s,
			k.isRebooking && r.regular && r.regular.exhibitors.length === 0 && /* @__PURE__ */ (0, Z.jsx)(er, {
				showBuy: !1,
				description: r.descriptionCombined,
				showReserve: !1,
				booth: r.regular,
				isRebooking: k.isRebooking,
				level: c
			}),
			!!((t = r.booth.schedule) != null && t.length) && /* @__PURE__ */ (0, Z.jsx)(Yn, {
				isSessions: !0,
				showBooths: !0,
				events: [...r.booth.schedule].sort((e, t) => new Date(e.startDate).getTime() - new Date(t.startDate).getTime()),
				onEventClick: a
			})
		]
	});
}), nr = q(() => !B.menu && B.selectedBooth ? /* @__PURE__ */ (0, Z.jsx)(tr, {}) : null), rr = q(({ text: e }) => /* @__PURE__ */ (0, Z.jsx)(Ot, {
	text: e,
	highlight: B.list.type === "search" ? B.list.text : void 0
})), ir = ({ title: e, highlight: t = !0, style: n, ...r }) => /* @__PURE__ */ (0, Z.jsx)(Tn, {
	...r,
	title: t ? /* @__PURE__ */ (0, Z.jsx)(rr, { text: e }) : e,
	style: {
		marginLeft: k.isRebooking ? "5px" : void 0,
		...n
	}
}), ar = ({ yah: e, active: t }) => {
	let { clicks: n, background: r } = Ln(e);
	return K(() => /* @__PURE__ */ (0, Z.jsx)(ir, {
		style: { background: B.heatmapYah ? `linear-gradient(to right, transparent 98%, ${r} 93%) center / 100% 99% no-repeat` : null },
		active: t,
		slug: e.id.toString(),
		onClick: i,
		title: e.name,
		subtitle: e.z ? `Level ${e.z}` : "",
		trailing: n.toString(),
		highlight: !1
	}));
	function i() {
		let t = R.findLayer(e.z);
		t && R.updateVisibility(t, !0), z.routeStore.selectMarker(e.id.toString(), !0);
	}
}, or = q(({ item: e, index: t, current: n, compactDetails: r, onClick: i }) => {
	let a = {
		background: void 0,
		clicks: void 0
	};
	B.heatmap && (e instanceof Le || e instanceof we || e instanceof je) && (a = Ln(e));
	let o = B.foundInDescriptionStruct[e.id];
	if (e instanceof Le) {
		var s, c;
		let t = "exhibitor";
		return /* @__PURE__ */ (0, Z.jsx)(Un, {
			onClick: (e) => i(t, e),
			id: e.id.toString(),
			featured: e.featured,
			kind: t,
			image: (s = e.logo) == null ? void 0 : s.url,
			title: e.name,
			bookmarked: e.bookmarked,
			visited: e.visited,
			additionalInfo: e.booths.map((e) => ({
				type: "location",
				locationName: e.name,
				level: e.layer && (k.shortLevelName ? e.layer.shortName : e.layer.description) || ""
			})),
			current: n,
			compactDetails: r,
			heatmapColor: a.background,
			accentBorderColor: k.isRebooking ? (c = de[e.rebookingState]) == null ? void 0 : c.color.primary : void 0,
			hideUserState: B.kiosk,
			secondaryText: o
		});
	}
	if ("rect" in e) return /* @__PURE__ */ (0, Z.jsx)(Un, {
		onClick: (e) => i("booth", e),
		id: e.id.toString(),
		kind: "booth",
		title: e.name,
		icon: e.poiIcon,
		bookmarked: e.bookmarked,
		current: n,
		heatmapColor: a.background,
		secondaryText: o
	});
	if (e instanceof Ce) return /* @__PURE__ */ (0, Z.jsx)(Un, {
		onClick: (e) => i("category", e),
		id: e.id.toString(),
		itemsCount: e.exhibitors.length,
		kind: "category",
		title: e.name,
		current: n,
		secondaryText: o
	});
	if (e instanceof be) {
		let t = [];
		return e.jobTitle && t.push({
			type: "text",
			text: e.jobTitle
		}), /* @__PURE__ */ (0, Z.jsx)(Un, {
			id: e.id.toString(),
			kind: "speaker",
			title: e.name,
			subtitle: e.company,
			image: e.photoFile,
			additionalInfo: t,
			bookmarked: e.bookmarked,
			onClick: () => z.selectSpeaker(e, !0),
			secondaryText: o
		}, e.id);
	}
	if (e instanceof Ve) {
		var l, u;
		let t = e.boothId ? ze.booths.find((t) => t.id === e.boothId) : null;
		return /* @__PURE__ */ (0, Z.jsx)(Un, {
			id: e.id.toString(),
			onClick: (e) => i("event", e),
			kind: "event",
			title: e.name,
			date: (0, Q.default)(e.startDate, "dd mmm ddd"),
			time: `${(0, Q.default)(e.startDate, "h:MM")} - ${(0, Q.default)(e.endDate, "h:MM")}`,
			additionalInfo: t ? [{
				type: "location",
				locationName: t.name,
				level: k.shortLevelName ? (l = t.layer) == null ? void 0 : l.shortName : (u = t.layer) == null ? void 0 : u.description
			}] : [],
			bookmarked: e.bookmarked,
			visited: e.visited,
			current: n,
			hideUserState: B.kiosk,
			secondaryText: o
		});
	}
	return e instanceof je ? /* @__PURE__ */ (0, Z.jsx)(ar, {
		yah: e,
		active: t === B.activeListIndex
	}) : null;
}), sr = () => import(
	/* webpackChunkName: "react-virtuoso-entity-list" */
	"./dist--cp6ZHYH.js"
).then((e) => ({ default: e.Virtuoso })).catch(() => new Promise((e) => setTimeout(() => e(sr()), 3e3))), cr = (0, X.lazy)(sr), lr = ["ipia2025"], ur = q(({ updatedScrollableRef: e, updateScroll: t }) => {
	let n = (0, X.useContext)(mt), r = (0, X.useRef)(null), i = B.getListScrollItemId(B.list.type), a = lr.includes(W.EXPO);
	(0, X.useEffect)(() => {
		let e = B.getListScrollTop(B.list.type), t = B.getListScrollItemId(B.list.type);
		(e > 0 || t) && setTimeout(() => {
			if (r.current) {
				if (t) {
					let e = B.listItems.findIndex((e) => {
						var n;
						return (e == null || (n = e.id) == null ? void 0 : n.toString()) === t.toString();
					});
					if (e !== -1) {
						r.current.scrollToIndex({
							index: e,
							align: "center",
							behavior: "auto"
						});
						return;
					}
				}
				e > 0 && r.current.scrollTo({
					top: e,
					behavior: "auto"
				});
			}
		}, 100);
	}, [B.list.type]);
	let o = B.showRouteInstantly, s = (0, X.useCallback)((t, n) => {
		var i;
		let a = parseInt(n, 10);
		if (B.setListScrollItemId((i = B.list) == null ? void 0 : i.type, a), r.current) r.current.getState((e) => {
			var t;
			let n = (e == null ? void 0 : e.scrollTop) || 0;
			B.setListScrollTop((t = B.list) == null ? void 0 : t.type, n);
		});
		else if (e.current) {
			var s;
			B.setListScrollTop((s = B.list) == null ? void 0 : s.type, e.current.scrollTop || 0);
		}
		switch (t) {
			case "exhibitor":
				let e = z.exhibitorStore.exhibitors.find((e) => e.id === a);
				o ? z.routeStore.clickRoute(null, z.routeStore.tempToBooth || e.booths[0]) : z.clickExhibitor(e);
				break;
			case "booth":
				let t = z.boothStore.booths.find((e) => e.id === a);
				o ? z.routeStore.clickRoute(null, t) : z.clickBoothInList2(t);
				break;
			case "category":
				z.clickCategory(z.categoryStore.categories.find((e) => e.id === a));
				break;
			case "event":
				let n = z.eventStore.eventItems.find((e) => e.id === a);
				if (n) {
					let e = z.boothStore.booths.find((e) => e.id === n.boothId);
					o && e ? z.routeStore.clickRoute(null, e) : z.selectEventItem(n, !0);
				}
				break;
			case "speaker": {
				let e = z.speakerStore.speakers.find((e) => e.id === a);
				e && z.selectSpeaker(e, !0);
				break;
			}
		}
	}, [o, e]);
	return n === null || B.setKioskModeEnabled ? null : B.listItems.length ? /* @__PURE__ */ (0, Z.jsx)("div", {
		style: {
			height: "100%",
			cursor: "pointer",
			resize: "both",
			minHeight: 100
		},
		children: /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
			fallback: /* @__PURE__ */ (0, Z.jsx)(En, {
				active: !0,
				isCenter: !0
			}),
			children: /* @__PURE__ */ (0, Z.jsx)(cr, {
				ref: r,
				className: "list-virtual",
				style: { minHeight: B.listItems.length ? "1px" : 0 },
				data: B.listItems,
				itemContent: (e, t) => {
					var n;
					let r = t;
					return r ? /* @__PURE__ */ (0, Z.jsx)(or, {
						item: r,
						index: e,
						current: (i == null ? void 0 : i.toString()) === ((n = r.id) == null ? void 0 : n.toString()),
						compactDetails: a,
						onClick: s
					}, r.id) : null;
				},
				itemsRendered: () => t && setTimeout(t),
				totalListHeightChanged: () => t && t(),
				customScrollParent: n,
				totalCount: B.listItems.length,
				overscan: 20,
				increaseViewportBy: 200,
				initialItemCount: Math.min(B.listScrollIndex + 30, B.listItems.length)
			})
		})
	}) : /* @__PURE__ */ (0, Z.jsx)(() => /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "list-empty",
		children: B.list.type === "search" ? d("Oops, nothing found") : d("No items to show")
	}), {});
});
//#endregion
//#region src/components/Category.tsx
function dr() {
	let e = (0, X.useRef)(), t = G(() => ({ updateOverlayContent: null })), n = (0, X.useCallback)(() => {
		t.updateOverlayContent && t.updateOverlayContent();
	}, [t.updateOverlayContent]);
	return K(() => /* @__PURE__ */ (0, Z.jsx)(ur, {
		updateScroll: n,
		updatedScrollableRef: e
	}));
}
var fr = () => K(() => !B.menu && B.list.type === "category" && B.details instanceof Ce && /* @__PURE__ */ (0, Z.jsx)(dr, {})), pr = () => {
	let { urlFilterManager: e, uiState: t } = z, n = K(() => ({
		categories: t.selectedCategoryFilters.map((e) => e.name),
		poiType: t.selectedPoiTypeFilters.length > 0 ? t.selectedPoiTypeFilters[0].name : null,
		exhibitors: e.currentFilters.exhibitors,
		isActive: t.hasAppliedFilters || e.currentFilters.exhibitors
	})), r = (0, X.useCallback)((t) => {
		e.isInitialized && e.setCategories(t);
	}, [e]), i = (0, X.useCallback)((t) => {
		e.isInitialized && e.setPoiType(t);
	}, [e]), a = (0, X.useCallback)(() => {
		e.isInitialized && e.clearAllFilters();
	}, [e]), o = (0, X.useCallback)((t) => e.validateFilters(t), [e]);
	return (0, X.useEffect)(() => {
		e.isInitialized || e.initialize();
	}, [e]), {
		currentFilters: n,
		setCategories: r,
		setPoiType: i,
		clearAllFilters: a,
		validateFilters: o,
		isInitialized: e.isInitialized
	};
}, mr = q(() => {
	let { currentFilters: e } = pr(), t = (0, X.useMemo)(() => {
		let e = z.categoryStore.categories || [], t = {}, n = [], r = [];
		e.forEach((e) => {
			if (!e || !e.exhibitors || e.exhibitors.length === 0) return;
			let i = (e.name || "").split("/").map((e) => e.trim());
			if (i.length > 1) {
				let n = i[0], a = i.slice(1).join(" / ");
				t[n] || (t[n] = {
					groupName: n,
					items: []
				}, r.push(n)), t[n].items.push({
					id: e.id,
					name: a
				});
			} else n.push({
				id: e.id,
				name: e.name
			});
		});
		let i = [];
		return n.length > 0 && i.push({
			groupName: "General",
			items: n,
			fullWidth: !0
		}), r.forEach((e) => {
			let n = t[e];
			n && n.items && n.items.length > 0 && i.push(n);
		}), i;
	}, [z.categoryStore.categories]);
	return (0, X.useEffect)(() => {
		if (z.categoryFilterStore.state.isOpen && e.categories.length > 0) {
			let t = e.categories.map((e) => {
				let t = z.categoryStore.categories.find((t) => t.name.toLowerCase() === e.toLowerCase());
				return t ? {
					id: t.id,
					name: t.name
				} : null;
			}).filter((e) => e !== null);
			t.length > 0 && z.categoryFilterStore.setPendingItems(t);
		}
	}, [z.categoryFilterStore.state.isOpen, e.categories]), /* @__PURE__ */ (0, Z.jsx)(Mn, {
		store: z.categoryFilterStore,
		rootStore: z,
		title: d("Categories"),
		groups: t
	});
}), hr = q((e) => /* @__PURE__ */ (0, Z.jsx)(Et, {
	...e,
	title: d("Read More"),
	downloadLabel: (e) => d("Download {{fileName}}", { fileName: e })
})), gr = class extends X.Component {
	constructor(...e) {
		super(...e), this.state = { hasError: !1 };
	}
	static getDerivedStateFromError() {
		return { hasError: !0 };
	}
	componentDidCatch(e, t) {
		v(e, { contexts: { react: { componentStack: t.componentStack } } });
	}
	render() {
		return this.state.hasError ? /* @__PURE__ */ (0, Z.jsx)("h4", {
			style: { textAlign: "center" },
			children: "Not available offline."
		}) : this.props.children;
	}
}, _r = [9148, 9151];
function vr(e) {
	let t = W.EXPO === "demo", n = _r.includes(e.id) || _r.includes(e.externalId);
	return t && n;
}
//#endregion
//#region src/utils/eventTime.ts
function yr(e) {
	if (!e) return null;
	let t = Date.parse(e);
	return isNaN(t) ? null : t;
}
function br(e, t) {
	let n = yr(e);
	if (n === null) return {
		minutes: 0,
		seconds: 0,
		totalSeconds: 0,
		isLessThan10Minutes: !1
	};
	let r = n - t;
	if (r <= 0) return {
		minutes: 0,
		seconds: 0,
		totalSeconds: 0,
		isLessThan10Minutes: !1
	};
	let i = Math.floor(r / 1e3);
	return {
		minutes: Math.floor(i / 60),
		seconds: i % 60,
		totalSeconds: i,
		isLessThan10Minutes: i < 600
	};
}
function xr(e, t, n) {
	var r;
	let i = yr(e.startDate), a = (r = yr(e.endDate)) == null ? Infinity : r;
	return i === null || a === null ? "none" : t > a ? "past" : i - t <= 1e3 && t <= a || t >= i && t <= a ? "live" : n.totalSeconds > 0 && n.totalSeconds <= 3600 ? "starting-soon" : i <= t + 360 * 60 * 1e3 ? "upcoming" : "none";
}
function Sr(e) {
	return e.isLessThan10Minutes ? `${String(e.minutes).padStart(2, "0")}:${String(e.seconds).padStart(2, "0")}` : `${e.minutes}`;
}
function Cr(e, t) {
	switch (e) {
		case "live": return d("LIVE");
		case "upcoming": return d("UPCOMING");
		case "starting-soon": return t.totalSeconds <= 0 ? d("Started") : t.isLessThan10Minutes ? d("Starts in {{time}}", { time: Sr(t) }) : d("Starts in {{count}} min", { count: t.minutes });
		case "past": return d("PAST");
		default: return "";
	}
}
//#endregion
//#region src/components/EventBadgeContainer.tsx
function wr(e) {
	let [t, n] = (0, X.useState)(() => Date.now()), r = br(e.startDate, t), i = xr(e, t, r), a = i !== "past" && i !== "none";
	return (0, X.useEffect)(() => {
		if (!a) return;
		let e = setInterval(() => n(Date.now()), 1e3);
		return () => clearInterval(e);
	}, [a]), {
		status: i,
		statusLabel: Cr(i, r),
		isUrgent: i === "starting-soon" && r.isLessThan10Minutes
	};
}
var Tr = q(({ event: e, ...t }) => {
	let { status: n, statusLabel: r, isUrgent: i } = wr(e);
	return /* @__PURE__ */ (0, Z.jsx)(At, {
		status: n,
		statusLabel: r,
		showFullBadge: vr(e),
		fullLabel: d("EVENT IS FULL"),
		isUrgent: i,
		...t
	});
});
//#endregion
//#region src/components/utils/getDescription.ts
function Er(e) {
	if (typeof e != "string" || e.length === 0) return "";
	let t = e.split(RegExp("(?=!\\*\\/\\/\\|\\|\\^\\^[a-z]{2}\\^\\^\\/\\/\\|\\|\\*!)")), n = `!*//||^^${f()}^^//||*!`, r = t.find((e) => e.startsWith(n));
	return r == null ? t[0].startsWith("!*//||^^") && t[0].length > 18 ? t[0].substring(18) : t[0] : r.substring(18);
}
//#endregion
//#region src/components/Event.tsx
function Dr() {
	let e = (0, X.useRef)(null), t = G(() => ({
		collapsed: !0,
		updateOverlayContent: null,
		get event() {
			return B.selectedEventItem;
		},
		get booth() {
			var e;
			return (e = this.event) != null && e.boothId ? z.boothStore.boothById.get(this.event.boothId) : null;
		},
		get disableCollapse() {
			var e;
			return (((e = this.event) == null ? void 0 : e.description) || "").length < 800;
		}
	})), [n, r] = (0, X.useState)(!1), [i, a] = (0, X.useState)(!1), o = (0, X.useRef)(null);
	(0, X.useEffect)(() => {
		(() => {
			if (o.current) {
				let e = o.current.offsetHeight;
				r(e > 300);
			}
		})();
	}, []), J(() => t.event, () => {
		e.current && e.current.parentElement && (e.current.parentElement.scrollTop = 0), t.collapsed = !0, a(!1);
	});
	let s = (e) => {
		let t = z.sessionsFilterStore.state.filters.use24hFormat.value;
		return (0, Q.default)(new Date(e), t ? "HH:MM" : "h:MMtt");
	}, c = (e) => (0, Q.default)(new Date(e), "dddd, mmmm d, yyyy");
	return K(() => {
		var e, r;
		let l = t.event;
		if (!l) return null;
		l.name, k.boothTerm;
		let u = () => {
			t.collapsed = !1, setTimeout(t.updateOverlayContent);
		};
		return /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: (0, Y.default)({
				"efp-event": !0,
				[B.responsiveClass]: !0
			}),
			children: [
				/* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "efp-event__header",
					children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "efp-event__header-name",
						children: [/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "efp-event__header-icon",
							children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-event-solid" })
						}), /* @__PURE__ */ (0, Z.jsxs)("span", {
							dir: "auto",
							children: [l.name, /* @__PURE__ */ (0, Z.jsx)(Tr, { event: l })]
						})]
					}), /* @__PURE__ */ (0, Z.jsx)("button", {
						type: "button",
						onClick: () => z.searchStore.handleBackAction(),
						className: "efp-event__header-close",
						children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-close" })
					})]
				}),
				/* @__PURE__ */ (0, Z.jsx)("div", {
					className: "efp-event__buttons",
					children: !B.isGuidedToursActive && /* @__PURE__ */ (0, Z.jsx)(Nn, {
						showBookmark: !B.disableBookmarked && !k.hideBookmarks && !B.kiosk,
						showDirections: t.booth && W.wayfinding,
						inBookmark: ((e = t.event) == null ? void 0 : e.bookmarked) || !1,
						showShare: !0,
						showVisited: !B.kiosk,
						visited: ((r = t.event) == null ? void 0 : r.visited) || !1,
						onClickBookmark: kr,
						onClickShare: Or,
						onClickDirections: () => {
							t.booth && z.routeStore.clickRoute(null, t.booth);
						},
						onClickVisited: Ar
					})
				}),
				/* @__PURE__ */ (0, Z.jsxs)("div", {
					className: (0, Y.default)("efp-event__details", { "details-hidden": B.kiosk && n && !i }),
					ref: o,
					children: [
						/* @__PURE__ */ (0, Z.jsxs)("div", {
							className: (0, Y.default)("efp-event-booths", { "is-links-disabled": B.isGuidedToursActive }),
							children: [t.booth && /* @__PURE__ */ (0, Z.jsxs)("a", {
								href: `?${t.booth.slug}`,
								onClick: (e) => {
									e.preventDefault(), z.toggleMapOverlay(), z.selectBooth(t.booth);
								},
								className: "efp-event-booths__booth",
								children: [/* @__PURE__ */ (0, Z.jsx)("div", {
									className: "efp-event-booths__booth-name",
									children: t.booth.name
								}), t.booth.layer && /* @__PURE__ */ (0, Z.jsx)("div", {
									className: "efp-event-categories__booth-level",
									children: k.shortLevelName ? t.booth.layer.shortName : t.booth.layer.description
								})]
							}), l.hasTracks && l.tracks.map((e) => /* @__PURE__ */ (0, Z.jsx)("div", {
								className: "efp-event-booths__track",
								children: e.name
							}, e.id))]
						}),
						/* @__PURE__ */ (0, Z.jsxs)("div", {
							className: "efp-event-list",
							children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
								className: "efp-event-list__block",
								children: [/* @__PURE__ */ (0, Z.jsx)("div", {
									className: "efp-event-list__block-icon",
									children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-event-solid" })
								}), /* @__PURE__ */ (0, Z.jsx)("div", {
									className: "efp-event-list__block-content",
									children: /* @__PURE__ */ (0, Z.jsx)("div", {
										className: "efp-event-list__block-item",
										children: /* @__PURE__ */ (0, Z.jsxs)("div", {
											className: "efp-event-list__block-info",
											children: [/* @__PURE__ */ (0, Z.jsx)("div", {
												className: "efp-event-list__block-title",
												children: c(l.startDate)
											}), /* @__PURE__ */ (0, Z.jsxs)("div", {
												className: "efp-event-list__block-description",
												children: [
													s(l.startDate),
													" to",
													" ",
													l.endDate ? s(l.endDate) : "-"
												]
											})]
										})
									})
								})]
							}), l.hasSpeakers && /* @__PURE__ */ (0, Z.jsxs)("div", {
								className: "efp-event-list__block",
								children: [/* @__PURE__ */ (0, Z.jsx)("div", {
									className: "efp-event-list__block-icon",
									children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-speaker-solid" })
								}), /* @__PURE__ */ (0, Z.jsx)("div", {
									className: "efp-event-list__block-content",
									children: l.speakers.map((e) => /* @__PURE__ */ (0, Z.jsxs)("a", {
										href: `?${e.slug}`,
										onClick: (t) => {
											t.preventDefault(), z.selectSpeaker(e, !0);
										},
										className: "efp-event-list__block-item efp-event-list__block-item--clickable",
										children: [e.photoFile && /* @__PURE__ */ (0, Z.jsx)("div", {
											className: "efp-event-list__block-avatar",
											children: /* @__PURE__ */ (0, Z.jsx)("img", {
												src: e.photoFile,
												alt: e.name
											})
										}), /* @__PURE__ */ (0, Z.jsxs)("div", {
											className: "efp-event-list__block-info",
											children: [/* @__PURE__ */ (0, Z.jsx)("div", {
												className: "efp-event-list__block-title",
												children: e.name
											}), /* @__PURE__ */ (0, Z.jsxs)("div", {
												className: "efp-event-list__block-description",
												children: [e.company && /* @__PURE__ */ (0, Z.jsx)("strong", { children: e.company }), e.jobTitle && /* @__PURE__ */ (0, Z.jsx)("span", { children: e.jobTitle })]
											})]
										})]
									}, e.id))
								})]
							})]
						}),
						(l.description || l.logoFile) && /* @__PURE__ */ (0, Z.jsxs)("div", {
							className: (0, Y.default)("efp-event-description", { collapsed: t.collapsed && !t.disableCollapse && !B.kiosk }),
							children: [l.logoFile && /* @__PURE__ */ (0, Z.jsx)("div", {
								className: (0, Y.default)("efp-event-description__logo", { "efp-event-description__logo--left": !l.description }),
								children: /* @__PURE__ */ (0, Z.jsx)("img", {
									src: l.logoFile,
									alt: l.name,
									crossOrigin: "anonymous"
								})
							}), l.description && /* @__PURE__ */ (0, Z.jsx)("span", {
								className: "event-description__content",
								dir: "auto",
								dangerouslySetInnerHTML: { __html: Gn(Er(l.description)) },
								onClick: u
							})]
						})
					]
				}),
				B.kiosk && n && /* @__PURE__ */ (0, Z.jsx)(Kn, {
					className: (0, Y.default)("efp-event__show-more", { "is-sticky": i }),
					expanded: i,
					onClick: () => a((e) => !e)
				})
			]
		});
	});
}
function Or() {
	let e = B.selectedEventItem;
	e && (V(L.ClickCustomButton, e.name), z.toggleModal("share"));
}
function kr() {
	let e = B.selectedEventItem;
	e && (e.bookmarked = !e.bookmarked, B.onBookmarkClick && B.onBookmarkClick({
		name: e.name,
		bookmarked: e.bookmarked,
		externalId: e.externalId
	}), V(L.ClickBookmark, e.name), e.bookmarked && I("bookmark", e.name, "session"));
}
function Ar() {
	let e = B.selectedEventItem;
	e && (e.visited = !e.visited, B.onVisitedClick && B.onVisitedClick({
		name: e.name,
		visited: e.visited,
		externalId: e.externalId
	}), V(L.ClickCustomButton, e.name));
}
var jr = q(() => B.selectedEventItem ? /* @__PURE__ */ (0, Z.jsx)(Dr, {}) : null);
//#endregion
//#region ../../node_modules/.pnpm/@babel+runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
function Mr(e, t) {
	if (e == null) return {};
	var n = {};
	for (var r in e) if ({}.hasOwnProperty.call(e, r)) {
		if (t.indexOf(r) !== -1) continue;
		n[r] = e[r];
	}
	return n;
}
//#endregion
//#region ../../node_modules/.pnpm/@babel+runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
function Nr(e, t) {
	e.prototype = Object.create(t.prototype), e.prototype.constructor = e, a(e, t);
}
//#endregion
//#region ../../node_modules/.pnpm/dom-helpers@5.2.1/node_modules/dom-helpers/esm/hasClass.js
function Pr(e, t) {
	return e.classList ? !!t && e.classList.contains(t) : (" " + (e.className.baseVal || e.className) + " ").indexOf(" " + t + " ") !== -1;
}
//#endregion
//#region ../../node_modules/.pnpm/dom-helpers@5.2.1/node_modules/dom-helpers/esm/addClass.js
function Fr(e, t) {
	e.classList ? e.classList.add(t) : Pr(e, t) || (typeof e.className == "string" ? e.className = e.className + " " + t : e.setAttribute("class", (e.className && e.className.baseVal || "") + " " + t));
}
//#endregion
//#region ../../node_modules/.pnpm/dom-helpers@5.2.1/node_modules/dom-helpers/esm/removeClass.js
function Ir(e, t) {
	return e.replace(RegExp("(^|\\s)" + t + "(?:\\s|$)", "g"), "$1").replace(/\s+/g, " ").replace(/^\s*|\s*$/g, "");
}
function Lr(e, t) {
	e.classList ? e.classList.remove(t) : typeof e.className == "string" ? e.className = Ir(e.className, t) : e.setAttribute("class", Ir(e.className && e.className.baseVal || "", t));
}
//#endregion
//#region ../../node_modules/.pnpm/react-transition-group@4.4.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/react-transition-group/esm/config.js
var Rr = { disabled: !1 }, zr = X.createContext(null), Br = function(e) {
	return e.scrollTop;
}, Vr = "unmounted", Hr = "exited", Ur = "entering", Wr = "entered", Gr = "exiting", $ = /*#__PURE__*/ function(e) {
	Nr(t, e);
	function t(t, n) {
		var r = e.call(this, t, n) || this, i = n, a = i && !i.isMounting ? t.enter : t.appear, o;
		return r.appearStatus = null, t.in ? a ? (o = Hr, r.appearStatus = Ur) : o = Wr : o = t.unmountOnExit || t.mountOnEnter ? Vr : Hr, r.state = { status: o }, r.nextCallback = null, r;
	}
	t.getDerivedStateFromProps = function(e, t) {
		return e.in && t.status === "unmounted" ? { status: Hr } : null;
	};
	var n = t.prototype;
	return n.componentDidMount = function() {
		this.updateStatus(!0, this.appearStatus);
	}, n.componentDidUpdate = function(e) {
		var t = null;
		if (e !== this.props) {
			var n = this.state.status;
			this.props.in ? n !== "entering" && n !== "entered" && (t = Ur) : (n === "entering" || n === "entered") && (t = Gr);
		}
		this.updateStatus(!1, t);
	}, n.componentWillUnmount = function() {
		this.cancelNextCallback();
	}, n.getTimeouts = function() {
		var e = this.props.timeout, t = n = r = e, n, r;
		return e != null && typeof e != "number" && (t = e.exit, n = e.enter, r = e.appear === void 0 ? n : e.appear), {
			exit: t,
			enter: n,
			appear: r
		};
	}, n.updateStatus = function(e, t) {
		if (e === void 0 && (e = !1), t !== null) if (this.cancelNextCallback(), t === "entering") {
			if (this.props.unmountOnExit || this.props.mountOnEnter) {
				var n = this.props.nodeRef ? this.props.nodeRef.current : dt.default.findDOMNode(this);
				n && Br(n);
			}
			this.performEnter(e);
		} else this.performExit();
		else this.props.unmountOnExit && this.state.status === "exited" && this.setState({ status: Vr });
	}, n.performEnter = function(e) {
		var t = this, n = this.props.enter, r = this.context ? this.context.isMounting : e, i = this.props.nodeRef ? [r] : [dt.default.findDOMNode(this), r], a = i[0], o = i[1], s = this.getTimeouts(), c = r ? s.appear : s.enter;
		if (!e && !n || Rr.disabled) {
			this.safeSetState({ status: Wr }, function() {
				t.props.onEntered(a);
			});
			return;
		}
		this.props.onEnter(a, o), this.safeSetState({ status: Ur }, function() {
			t.props.onEntering(a, o), t.onTransitionEnd(c, function() {
				t.safeSetState({ status: Wr }, function() {
					t.props.onEntered(a, o);
				});
			});
		});
	}, n.performExit = function() {
		var e = this, t = this.props.exit, n = this.getTimeouts(), r = this.props.nodeRef ? void 0 : dt.default.findDOMNode(this);
		if (!t || Rr.disabled) {
			this.safeSetState({ status: Hr }, function() {
				e.props.onExited(r);
			});
			return;
		}
		this.props.onExit(r), this.safeSetState({ status: Gr }, function() {
			e.props.onExiting(r), e.onTransitionEnd(n.exit, function() {
				e.safeSetState({ status: Hr }, function() {
					e.props.onExited(r);
				});
			});
		});
	}, n.cancelNextCallback = function() {
		this.nextCallback !== null && (this.nextCallback.cancel(), this.nextCallback = null);
	}, n.safeSetState = function(e, t) {
		t = this.setNextCallback(t), this.setState(e, t);
	}, n.setNextCallback = function(e) {
		var t = this, n = !0;
		return this.nextCallback = function(r) {
			n && (n = !1, t.nextCallback = null, e(r));
		}, this.nextCallback.cancel = function() {
			n = !1;
		}, this.nextCallback;
	}, n.onTransitionEnd = function(e, t) {
		this.setNextCallback(t);
		var n = this.props.nodeRef ? this.props.nodeRef.current : dt.default.findDOMNode(this), r = e == null && !this.props.addEndListener;
		if (!n || r) {
			setTimeout(this.nextCallback, 0);
			return;
		}
		if (this.props.addEndListener) {
			var i = this.props.nodeRef ? [this.nextCallback] : [n, this.nextCallback], a = i[0], o = i[1];
			this.props.addEndListener(a, o);
		}
		e != null && setTimeout(this.nextCallback, e);
	}, n.render = function() {
		var e = this.state.status;
		if (e === "unmounted") return null;
		var t = this.props, n = t.children;
		t.in, t.mountOnEnter, t.unmountOnExit, t.appear, t.enter, t.exit, t.timeout, t.addEndListener, t.onEnter, t.onEntering, t.onEntered, t.onExit, t.onExiting, t.onExited, t.nodeRef;
		var r = Mr(t, [
			"children",
			"in",
			"mountOnEnter",
			"unmountOnExit",
			"appear",
			"enter",
			"exit",
			"timeout",
			"addEndListener",
			"onEnter",
			"onEntering",
			"onEntered",
			"onExit",
			"onExiting",
			"onExited",
			"nodeRef"
		]);
		return /*#__PURE__*/ X.createElement(zr.Provider, { value: null }, typeof n == "function" ? n(e, r) : X.cloneElement(X.Children.only(n), r));
	}, t;
}(X.Component);
$.contextType = zr, $.propTypes = {};
function Kr() {}
$.defaultProps = {
	in: !1,
	mountOnEnter: !1,
	unmountOnExit: !1,
	appear: !1,
	enter: !0,
	exit: !0,
	onEnter: Kr,
	onEntering: Kr,
	onEntered: Kr,
	onExit: Kr,
	onExiting: Kr,
	onExited: Kr
}, $.UNMOUNTED = Vr, $.EXITED = Hr, $.ENTERING = Ur, $.ENTERED = Wr, $.EXITING = Gr;
//#endregion
//#region ../../node_modules/.pnpm/react-transition-group@4.4.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/react-transition-group/esm/CSSTransition.js
var qr = function(e, t) {
	return e && t && t.split(" ").forEach(function(t) {
		return Fr(e, t);
	});
}, Jr = function(e, t) {
	return e && t && t.split(" ").forEach(function(t) {
		return Lr(e, t);
	});
}, Yr = /*#__PURE__*/ function(e) {
	Nr(t, e);
	function t() {
		var t, n = [...arguments];
		return t = e.call.apply(e, [this].concat(n)) || this, t.appliedClasses = {
			appear: {},
			enter: {},
			exit: {}
		}, t.onEnter = function(e, n) {
			var r = t.resolveArguments(e, n), i = r[0], a = r[1];
			t.removeClasses(i, "exit"), t.addClass(i, a ? "appear" : "enter", "base"), t.props.onEnter && t.props.onEnter(e, n);
		}, t.onEntering = function(e, n) {
			var r = t.resolveArguments(e, n), i = r[0], a = r[1] ? "appear" : "enter";
			t.addClass(i, a, "active"), t.props.onEntering && t.props.onEntering(e, n);
		}, t.onEntered = function(e, n) {
			var r = t.resolveArguments(e, n), i = r[0], a = r[1] ? "appear" : "enter";
			t.removeClasses(i, a), t.addClass(i, a, "done"), t.props.onEntered && t.props.onEntered(e, n);
		}, t.onExit = function(e) {
			var n = t.resolveArguments(e)[0];
			t.removeClasses(n, "appear"), t.removeClasses(n, "enter"), t.addClass(n, "exit", "base"), t.props.onExit && t.props.onExit(e);
		}, t.onExiting = function(e) {
			var n = t.resolveArguments(e)[0];
			t.addClass(n, "exit", "active"), t.props.onExiting && t.props.onExiting(e);
		}, t.onExited = function(e) {
			var n = t.resolveArguments(e)[0];
			t.removeClasses(n, "exit"), t.addClass(n, "exit", "done"), t.props.onExited && t.props.onExited(e);
		}, t.resolveArguments = function(e, n) {
			return t.props.nodeRef ? [t.props.nodeRef.current, e] : [e, n];
		}, t.getClassNames = function(e) {
			var n = t.props.classNames, r = typeof n == "string", i = r && n ? n + "-" : "", a = r ? "" + i + e : n[e];
			return {
				baseClassName: a,
				activeClassName: r ? a + "-active" : n[e + "Active"],
				doneClassName: r ? a + "-done" : n[e + "Done"]
			};
		}, t;
	}
	var n = t.prototype;
	return n.addClass = function(e, t, n) {
		var r = this.getClassNames(t)[n + "ClassName"], i = this.getClassNames("enter").doneClassName;
		t === "appear" && n === "done" && i && (r += " " + i), n === "active" && e && Br(e), r && (this.appliedClasses[t][n] = r, qr(e, r));
	}, n.removeClasses = function(e, t) {
		var n = this.appliedClasses[t], r = n.base, i = n.active, a = n.done;
		this.appliedClasses[t] = {}, r && Jr(e, r), i && Jr(e, i), a && Jr(e, a);
	}, n.render = function() {
		var e = this.props;
		e.classNames;
		var t = Mr(e, ["classNames"]);
		return /*#__PURE__*/ X.createElement($, Re({}, t, {
			onEnter: this.onEnter,
			onEntered: this.onEntered,
			onEntering: this.onEntering,
			onExit: this.onExit,
			onExiting: this.onExiting,
			onExited: this.onExited
		}));
	}, t;
}(X.Component);
Yr.defaultProps = { classNames: "" }, Yr.propTypes = {};
//#endregion
//#region ../../node_modules/.pnpm/react-transition-group@4.4.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/react-transition-group/esm/utils/ChildMapping.js
function Xr(e, t) {
	var n = function(e) {
		return t && (0, X.isValidElement)(e) ? t(e) : e;
	}, r = Object.create(null);
	return e && X.Children.map(e, function(e) {
		return e;
	}).forEach(function(e) {
		r[e.key] = n(e);
	}), r;
}
function Zr(e, t) {
	e = e || {}, t = t || {};
	function n(n) {
		return n in t ? t[n] : e[n];
	}
	var r = Object.create(null), i = [];
	for (var a in e) a in t ? i.length && (r[a] = i, i = []) : i.push(a);
	var o, s = {};
	for (var c in t) {
		if (r[c]) for (o = 0; o < r[c].length; o++) {
			var l = r[c][o];
			s[r[c][o]] = n(l);
		}
		s[c] = n(c);
	}
	for (o = 0; o < i.length; o++) s[i[o]] = n(i[o]);
	return s;
}
function Qr(e, t, n) {
	return n[t] == null ? e.props[t] : n[t];
}
function $r(e, t) {
	return Xr(e.children, function(n) {
		return (0, X.cloneElement)(n, {
			onExited: t.bind(null, n),
			in: !0,
			appear: Qr(n, "appear", e),
			enter: Qr(n, "enter", e),
			exit: Qr(n, "exit", e)
		});
	});
}
function ei(e, t, n) {
	var r = Xr(e.children), i = Zr(t, r);
	return Object.keys(i).forEach(function(a) {
		var o = i[a];
		if ((0, X.isValidElement)(o)) {
			var s = a in t, c = a in r, l = t[a], u = (0, X.isValidElement)(l) && !l.props.in;
			c && (!s || u) ? i[a] = (0, X.cloneElement)(o, {
				onExited: n.bind(null, o),
				in: !0,
				exit: Qr(o, "exit", e),
				enter: Qr(o, "enter", e)
			}) : !c && s && !u ? i[a] = (0, X.cloneElement)(o, { in: !1 }) : c && s && (0, X.isValidElement)(l) && (i[a] = (0, X.cloneElement)(o, {
				onExited: n.bind(null, o),
				in: l.props.in,
				exit: Qr(o, "exit", e),
				enter: Qr(o, "enter", e)
			}));
		}
	}), i;
}
//#endregion
//#region ../../node_modules/.pnpm/react-transition-group@4.4.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/react-transition-group/esm/TransitionGroup.js
var ti = Object.values || function(e) {
	return Object.keys(e).map(function(t) {
		return e[t];
	});
}, ni = {
	component: "div",
	childFactory: function(e) {
		return e;
	}
}, ri = /*#__PURE__*/ function(e) {
	Nr(t, e);
	function t(t, n) {
		var i = e.call(this, t, n) || this;
		return i.state = {
			contextValue: { isMounting: !0 },
			handleExited: i.handleExited.bind(r(i)),
			firstRender: !0
		}, i;
	}
	var n = t.prototype;
	return n.componentDidMount = function() {
		this.mounted = !0, this.setState({ contextValue: { isMounting: !1 } });
	}, n.componentWillUnmount = function() {
		this.mounted = !1;
	}, t.getDerivedStateFromProps = function(e, t) {
		var n = t.children, r = t.handleExited;
		return {
			children: t.firstRender ? $r(e, r) : ei(e, n, r),
			firstRender: !1
		};
	}, n.handleExited = function(e, t) {
		var n = Xr(this.props.children);
		e.key in n || (e.props.onExited && e.props.onExited(t), this.mounted && this.setState(function(t) {
			var n = Re({}, t.children);
			return delete n[e.key], { children: n };
		}));
	}, n.render = function() {
		var e = this.props, t = e.component, n = e.childFactory, r = Mr(e, ["component", "childFactory"]), i = this.state.contextValue, a = ti(this.state.children).map(n);
		return delete r.appear, delete r.enter, delete r.exit, t === null ? /*#__PURE__*/ X.createElement(zr.Provider, { value: i }, a) : /*#__PURE__*/ X.createElement(zr.Provider, { value: i }, /*#__PURE__*/ X.createElement(t, r, a));
	}, t;
}(X.Component);
ri.propTypes = {}, ri.defaultProps = ni;
//#endregion
//#region src/components/RebookingNotesContainer.tsx
var ii = q((e) => /* @__PURE__ */ (0, Z.jsx)(hn, {
	noteLabel: d("Note"),
	saveButtonLabel: d("Save note"),
	saveButtonAriaLabel: d("Save rebooking note"),
	...e
})), ai = {
	[Se.Unasked]: "Unasked",
	[Se.Accepted]: "Accepted",
	[Se.Rejected]: "Rejected",
	[Se.Undecided]: "Undecided"
}, oi = () => Object.entries(de).map(([e, t]) => ({
	value: e,
	label: d(ai[Number(e)]),
	iconName: t.iconName,
	color: t.color.primary
})), si = q((e) => {
	let { showTitle: t, ...n } = e;
	return /* @__PURE__ */ (0, Z.jsx)(gn, {
		options: oi(),
		title: t ? d("Choose Rebooking offer") : void 0,
		...n
	});
}), ci = X.lazy(() => import(
	/* webpackChunkName: "gallery" */
	"./GalleryContainer-CIasK5mL.js"
).then((e) => e.t)), li = q(function() {
	let e = (0, X.useRef)(null), t = G(() => ({
		collapsed: !0,
		updateOverlayContent: null,
		get exhibitor() {
			return B.selectedExhibitor;
		},
		get websiteTrimmed() {
			return this.exhibitor.website ? this.exhibitor.website.replace(/^(http(s?):\/\/)([^/]+)(\/)?$/i, "$3") : "";
		},
		get anySocial() {
			return !B.kiosk && !![
				"facebook",
				"instagram",
				"linkedin",
				"twitter",
				"googlePlus",
				"xing",
				"youtube"
			].find((e) => this.exhibitor[e]);
		},
		get anyAddress() {
			return !![
				"address",
				"address2",
				"phone1",
				"website",
				"email"
			].find((e) => this.exhibitor[e]);
		},
		get anyMedia() {
			return !!this.exhibitor.videoUrl || !!(this.exhibitor.gallery && this.exhibitor.gallery.length);
		},
		get anyButtons() {
			return !!(this.exhibitor.customButtonTitle || this.exhibitor.customButton2Title || this.exhibitor.customButton3Title);
		},
		get disableCollapse() {
			return !this.anySocial && !this.anyAddress && !this.anyMedia && !this.anyButtons || B.overlayPosition === "left" && (this.exhibitor.description || "").length < 800;
		},
		get showEdit() {
			return !!(k.sendLoginLinkUrl && this.sendLinkEmail);
		},
		get sendLinkEmail() {
			return this.exhibitor.privateEmail || this.exhibitor.email;
		}
	})), { heatmapBar: n } = zn(t.exhibitor), [r, i] = (0, X.useState)(!1), [a, o] = (0, X.useState)(!1), s = (0, X.useRef)(null);
	(0, X.useEffect)(() => ((() => {
		if (s.current) {
			let e = s.current.offsetHeight;
			i(e > 300);
		}
	})(), () => {
		z.exhibitorStore.rebookingStateChangeRequested = !1;
	}), []), J(() => t.exhibitor, () => {
		e.current && (e.current.parentElement.scrollTop = 0), t.collapsed = !0;
	});
	function c(e, t) {
		if (u(t), B.kiosk) return e.preventDefault();
	}
	function l(e, n, r) {
		V(L.ClickCustomButton, t.exhibitor.name);
		let i = {
			externalId: t.exhibitor.externalId,
			buttonNumber: e,
			buttonUrl: n,
			preventDefault: r.preventDefault.bind(r)
		};
		B.onExhibitorCustomButtonClick && B.onExhibitorCustomButtonClick(i);
	}
	function u(e) {
		V(e, t.exhibitor.name);
	}
	let f = (0, X.useRef)(), p = {
		entering: { opacity: 1 },
		entered: { opacity: 1 },
		exiting: { opacity: 0 },
		exited: { opacity: 0 }
	};
	return K(() => {
		var e, i, _, b, x;
		let S = t.exhibitor, C = k.isRebooking ? (() => {
			let e = /* @__PURE__ */ new Set();
			for (let t of S.booths) t instanceof Pe && t.size && e.add(t.size);
			let t = Array.from(e);
			return /* @__PURE__ */ (0, Z.jsxs)("div", { children: [
				t.length > 0 && /* @__PURE__ */ (0, Z.jsx)("div", {
					className: "booth__infos",
					style: {
						padding: "0 15px",
						marginBottom: "1rem"
					},
					children: /* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "booth__info",
						children: [/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "booth__info-icon",
							children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-size" })
						}), /* @__PURE__ */ (0, Z.jsxs)("div", {
							className: "booth__info-body",
							children: [/* @__PURE__ */ (0, Z.jsx)("div", {
								className: "booth__info-title",
								children: d("Size")
							}), /* @__PURE__ */ (0, Z.jsx)("div", {
								className: "booth__info-val",
								children: t.join(", ")
							})]
						})]
					})
				}),
				/* @__PURE__ */ (0, Z.jsx)(si, {
					value: S.rebookingState.toString(),
					onChange: (e) => z.exhibitorStore.setRebookingState(S, parseInt(e), S.rebookingNote)
				}),
				/* @__PURE__ */ (0, Z.jsx)(ii, {
					value: S.rebookingNote || "",
					onSave: (e) => z.exhibitorStore.setRebookingState(S, S.rebookingState, e)
				}, S.id),
				/* @__PURE__ */ (0, Z.jsx)($, {
					in: z.exhibitorStore.rebookingStateChangeRequested,
					nodeRef: f,
					timeout: 150,
					appear: !0,
					enter: !0,
					exit: !0,
					mountOnEnter: !0,
					unmountOnExit: !0,
					children: (e) => /* @__PURE__ */ (0, Z.jsx)("div", {
						ref: f,
						style: {
							position: "fixed",
							bottom: "1rem",
							left: "1rem",
							zIndex: 9999,
							transition: "opacity 150ms ease-in-out",
							opacity: 0,
							...p[e]
						},
						children: /* @__PURE__ */ (0, Z.jsx)(kn, {
							title: z.exhibitorStore.rebookingStateSaved ? d("Changes saved") : d("Oops! Something went wrong"),
							variant: z.exhibitorStore.rebookingStateSaved ? "success" : "error",
							inline: !0,
							closable: !0,
							onClose: () => {
								z.exhibitorStore.rebookingStateChangeRequested = !1;
							}
						})
					})
				})
			] });
		})() : null, w = (0, Y.default)({
			exhibitor: !0,
			"is-featured": S.featured,
			bookmarked: S.bookmarked,
			[B.responsiveClass]: !0
		}), T = () => {
			t.collapsed = !1, setTimeout(t.updateOverlayContent);
		};
		function E(e, t, n) {
			return !e || !t || B.kiosk || B.previewMode ? null : /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "exhibitor-custom-button",
				children: /* @__PURE__ */ (0, Z.jsx)(qe, {
					link: t,
					inline: !0,
					onClick: (e) => {
						l(n, t, e);
					},
					target: "_blank",
					children: e
				})
			}, n);
		}
		let D = ({ exhibitor: e }) => {
			let t = [
				E(e.customButtonTitle, e.customButtonUrl, 1),
				E(e.customButton2Title, e.customButton2Url, 2),
				E(e.customButton3Title, e.customButton3Url, 3)
			].filter(Boolean);
			return t.length === 0 ? null : /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "exhibitor-custom-buttons",
				children: t
			});
		};
		function O() {
			return !k.hideShareButton && !B.kiosk && window.location.host.endsWith(".expofp.com") && W.EXPO !== "globalaltsmiami2024";
		}
		function A() {
			t.updateOverlayContent();
		}
		let j = () => {
			z.routeStore.clickRoute(null, z.routeStore.tempToBooth || S.booths[0]), z.routeStore.currentRouteExhibitor = S;
		}, ee = (e) => /^\d+$/.test(e), M = (e) => {
			var t, n;
			return k.shortLevelName ? (t = e.layer) == null ? void 0 : t.shortName : (n = e.layer) == null ? void 0 : n.description;
		};
		return /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: w,
			"aria-label": d("Details"),
			children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "exhibitor__header",
				children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "exhibitor__header-name",
					children: [
						/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "exhibitor__header-icon",
							children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-exhibitor-solid" })
						}),
						/* @__PURE__ */ (0, Z.jsx)("span", {
							dir: "auto",
							children: S.name
						}),
						n
					]
				}), /* @__PURE__ */ (0, Z.jsx)("button", {
					type: "button",
					onClick: () => z.searchStore.handleBackAction(),
					className: "exhibitor__header-close",
					children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-close" })
				})]
			}), C || /* @__PURE__ */ (0, Z.jsxs)(Z.Fragment, { children: [
				/* @__PURE__ */ (0, Z.jsx)("div", {
					className: "exhibitor__buttons",
					children: !B.isGuidedToursActive && /* @__PURE__ */ (0, Z.jsx)(Nn, {
						showBookmark: !B.disableBookmarked && !k.hideBookmarks && !B.kiosk,
						showDirections: S.booths.length > 0 && W.wayfinding,
						inBookmark: S.bookmarked,
						showShare: O(),
						showVisited: !B.kiosk,
						visited: S.visited,
						onClickBookmark: v,
						onClickShare: m,
						onClickDirections: j,
						onClickVisited: y
					})
				}),
				S.leadingImageUrl ? /* @__PURE__ */ (0, Z.jsx)("div", {
					className: "exhibitor__leading-image-container exhibitor-slider",
					children: S.leadingImageLinkUrl ? /* @__PURE__ */ (0, Z.jsx)("a", {
						href: S.leadingImageLinkUrl,
						target: "_blank",
						rel: "noopener noreferrer",
						children: /* @__PURE__ */ (0, Z.jsx)("img", {
							src: S.leadingImageUrl,
							className: "exhibitor__leading-image",
							alt: "",
							crossOrigin: "anonymous"
						})
					}) : /* @__PURE__ */ (0, Z.jsx)(gr, { children: /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
						fallback: null,
						children: /* @__PURE__ */ (0, Z.jsx)(ci, {
							className: B.responsiveClass,
							onOpenGallery: () => z.openGallery(),
							onCloseGallery: () => z.closeGallery(),
							onImageLoadHeightUpdate: A,
							leading: !0,
							images: [S.leadingImageUrl]
						})
					}) })
				}) : null,
				/* @__PURE__ */ (0, Z.jsxs)("div", {
					className: (0, Y.default)("exhibitor__details", { "details-hidden": B.kiosk && r && !a }),
					ref: s,
					children: [
						/* @__PURE__ */ (0, Z.jsxs)("div", {
							className: (0, Y.default)("exhibitor-categories", { "is-links-disabled": B.isGuidedToursActive }),
							children: [
								S.featured && /* @__PURE__ */ (0, Z.jsx)("div", {
									className: "exhibitor-featured",
									children: d("Featured")
								}),
								S.booths.map((e) => {
									let t = M(e);
									return /* @__PURE__ */ (0, Z.jsxs)("a", {
										href: `?${e.slug}`,
										onClick: (t) => {
											t.preventDefault(), z.toggleMapOverlay(), z.selectBooth(e);
										},
										className: "exhibitor-categories__booth",
										children: [/* @__PURE__ */ (0, Z.jsx)("div", {
											className: "exhibitor-categories__booth-name",
											children: e.name
										}), t && /* @__PURE__ */ (0, Z.jsxs)("div", {
											className: "exhibitor-categories__booth-level",
											children: [ee(t) ? d("Level") + " " : "", t]
										})]
									}, e.id);
								}),
								S.categories.map((e) => /* @__PURE__ */ (0, Z.jsx)("a", {
									href: "?" + encodeURIComponent(e.slug),
									onClick: (t) => {
										t.preventDefault(), h(e);
									},
									className: e.sponsorship ? "exhibitor-categories__sponsorship" : "exhibitor-categories__cat",
									children: e.name
								}, e.id))
							]
						}),
						S.description || (e = S.logo) != null && e.url ? /* @__PURE__ */ (0, Z.jsxs)("div", {
							className: (0, Y.default)("exhibitor-description", { collapsed: t.collapsed && !t.disableCollapse }),
							children: [(i = S.logo) != null && i.url ? /* @__PURE__ */ (0, Z.jsx)("div", {
								className: (0, Y.default)("exhibitor-description__logo", { "exhibitor-description__logo--left": !S.description }),
								children: /* @__PURE__ */ (0, Z.jsx)("img", {
									src: S.logo.url,
									alt: S.name,
									crossOrigin: "anonymous"
								})
							}) : null, S.description ? /* @__PURE__ */ (0, Z.jsx)("span", {
								className: "exhibitor-description__content",
								dir: "auto",
								dangerouslySetInnerHTML: { __html: Er(S.description) },
								onClick: T
							}) : null]
						}) : null,
						(!!((_ = S.schedule) != null && _.length) || !!((b = S.booths[0]) != null && b.schedule.length)) && /* @__PURE__ */ (0, Z.jsx)(Yn, { events: [...S.schedule || ((x = S.booths[0]) == null ? void 0 : x.schedule) || []].sort((e, t) => new Date(e.startDate).getTime() - new Date(t.startDate).getTime()) }),
						!B.kiosk && S.videoUrl && navigator.onLine && /* @__PURE__ */ (0, Z.jsx)("div", {
							className: "exhibitor-video",
							children: /* @__PURE__ */ (0, Z.jsx)("iframe", {
								src: S.videoUrl,
								"data-allow": "encrypted-media; autoplay; fullscreen",
								title: d("Exhibitor Video"),
								allowFullScreen: !0
							})
						}),
						S.gallery && /* @__PURE__ */ (0, Z.jsx)("div", {
							className: "exhibitor-slider",
							onClick: () => u(L.ViewGallery),
							children: /* @__PURE__ */ (0, Z.jsx)(gr, { children: /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
								fallback: null,
								children: /* @__PURE__ */ (0, Z.jsx)(ci, {
									className: B.responsiveClass,
									onOpenGallery: () => z.openGallery(),
									onCloseGallery: () => z.closeGallery(),
									onImageLoadHeightUpdate: A,
									images: S.gallery
								})
							}) })
						}),
						!B.kiosk && S.marketMaterials && /* @__PURE__ */ (0, Z.jsxs)(Z.Fragment, { children: [/* @__PURE__ */ (0, Z.jsx)("div", { className: "exhibitor-sep" }), /* @__PURE__ */ (0, Z.jsx)(hr, { list: S.marketMaterials })] }),
						t.showEdit && /* @__PURE__ */ (0, Z.jsx)("div", { className: "exhibitor-sep" }),
						!B.kiosk && t.showEdit && /* @__PURE__ */ (0, Z.jsx)("div", {
							className: "exhibitor-edit",
							children: /* @__PURE__ */ (0, Z.jsx)(qe, {
								size: "sm",
								variant: "secondary",
								onClick: g,
								children: d("Edit")
							})
						}),
						t.anyAddress && /* @__PURE__ */ (0, Z.jsxs)("div", {
							className: "exhibitor-meta",
							children: [
								!!(S.address || S.address2) && /* @__PURE__ */ (0, Z.jsxs)("div", {
									className: "exhibitor-meta__item",
									children: [/* @__PURE__ */ (0, Z.jsx)("div", {
										className: "exhibitor-meta__icon",
										children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-marker-pin-solid" })
									}), /* @__PURE__ */ (0, Z.jsxs)("div", {
										className: "exhibitor-meta__content",
										children: [
											S.address,
											!!S.address2 && /* @__PURE__ */ (0, Z.jsx)("div", { children: S.address2 }),
											!!(S.city || S.state || S.zip) && /* @__PURE__ */ (0, Z.jsxs)("div", { children: [
												S.city,
												!!(S.city && S.state) && /* @__PURE__ */ (0, Z.jsx)("span", { children: " " }),
												S.state,
												!!(S.state && S.zip) && /* @__PURE__ */ (0, Z.jsx)("span", { children: "\xA0" }),
												" ",
												S.zip
											] }),
											!!S.country && /* @__PURE__ */ (0, Z.jsx)("div", { children: S.country })
										]
									})]
								}),
								!!S.phone1 && /* @__PURE__ */ (0, Z.jsxs)("div", {
									className: "exhibitor-meta__item",
									children: [/* @__PURE__ */ (0, Z.jsx)("div", {
										className: "exhibitor-meta__icon",
										children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-phone-solid" })
									}), /* @__PURE__ */ (0, Z.jsx)("div", {
										className: "exhibitor-meta__content",
										children: /* @__PURE__ */ (0, Z.jsx)("a", {
											dir: "ltr",
											href: "tel:" + S.phone1,
											className: "exhibitor-meta__link",
											onClick: (e) => c(e, L.ClickPhone),
											children: S.phone1
										})
									})]
								}),
								!!S.website && /* @__PURE__ */ (0, Z.jsxs)("div", {
									className: "exhibitor-meta__item",
									children: [/* @__PURE__ */ (0, Z.jsx)("div", {
										className: "exhibitor-meta__icon",
										children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-globe-solid" })
									}), /* @__PURE__ */ (0, Z.jsx)("div", {
										className: "exhibitor-meta__content",
										children: /* @__PURE__ */ (0, Z.jsx)("a", {
											href: S.website,
											target: "_blank",
											rel: "noopener noreferrer",
											className: "exhibitor-meta__link",
											onClick: (e) => c(e, L.ClickWebsite),
											children: t.websiteTrimmed
										})
									})]
								}),
								!!S.email && /* @__PURE__ */ (0, Z.jsxs)("div", {
									className: "exhibitor-meta__item",
									children: [/* @__PURE__ */ (0, Z.jsx)("div", {
										className: "exhibitor-meta__icon",
										children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-mail-at-solid" })
									}), /* @__PURE__ */ (0, Z.jsx)("div", {
										className: "exhibitor-meta__content",
										children: /* @__PURE__ */ (0, Z.jsx)("a", {
											href: "mailto:" + S.email,
											target: "_blank",
											rel: "noopener noreferrer",
											className: "exhibitor-meta__link",
											onClick: (e) => c(e, L.ClickEmail),
											children: S.email
										})
									})]
								}),
								t.anySocial && /* @__PURE__ */ (0, Z.jsxs)("div", {
									className: "exhibitor-meta__socials",
									children: [
										/* @__PURE__ */ (0, Z.jsx)("a", {
											href: S.facebook,
											className: "exhibitor-meta__social",
											onClick: () => u(L.ClickFacebook),
											target: "_blank",
											rel: "noopener noreferrer",
											children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-facebook" })
										}),
										/* @__PURE__ */ (0, Z.jsx)("a", {
											href: S.instagram,
											className: "exhibitor-meta__social",
											onClick: () => u(L.ClickInstagaram),
											target: "_blank",
											rel: "noopener noreferrer",
											children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-instagram" })
										}),
										/* @__PURE__ */ (0, Z.jsx)("a", {
											href: S.linkedin,
											className: "exhibitor-meta__social",
											onClick: () => u(L.ClickLinkedin),
											target: "_blank",
											rel: "noopener noreferrer",
											children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-linkedin" })
										}),
										/* @__PURE__ */ (0, Z.jsx)("a", {
											href: S.twitter,
											className: "exhibitor-meta__social",
											onClick: () => u(L.ClickTwitter),
											target: "_blank",
											rel: "noopener noreferrer",
											children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-twitter-x" })
										}),
										/* @__PURE__ */ (0, Z.jsx)("a", {
											href: S.xing,
											className: "exhibitor-meta__social",
											onClick: () => u(L.ClickXing),
											target: "_blank",
											rel: "noopener noreferrer",
											children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-xing" })
										}),
										/* @__PURE__ */ (0, Z.jsx)("a", {
											href: S.youtube,
											className: "exhibitor-meta__social",
											onClick: () => u(L.ClickYoutube),
											target: "_blank",
											rel: "noopener noreferrer",
											children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-youtube" })
										})
									]
								})
							]
						}),
						/* @__PURE__ */ (0, Z.jsx)(D, { exhibitor: S })
					]
				}),
				B.kiosk && r && /* @__PURE__ */ (0, Z.jsx)(Kn, {
					className: (0, Y.default)("exhibitor__show-more", { "is-sticky": a }),
					expanded: a,
					onClick: () => o((e) => !e)
				})
			] })]
		});
	});
	function m() {
		let e = window.navigator, t = {
			title: B.selectedExhibitor.name,
			url: window.location.href
		};
		ae && e != null && e.canShare && e.canShare(t) ? e.share(t) : z.toggleModal("share");
	}
	function h(e) {
		z.clickCategory(e);
	}
	function g(e) {
		if (B.kiosk) return e.preventDefault();
		e.target.blur();
		let n = t.sendLinkEmail;
		if (!window.confirm(d("Send login instructions to {{email}} to edit profile?", { email: n })) || W.EXPO === "expo") return;
		let r = new XMLHttpRequest();
		r.open("POST", k.sendLoginLinkUrl), r.setRequestHeader("Content-Type", "application/json");
		function i() {
			alert(d("Error sending login instructions"));
		}
		r.onload = function(e) {
			if (this.status !== 200) {
				i();
				return;
			}
			alert(d("A link to edit profile was sent to {{email}}", { email: n }));
		}, r.onerror = function(e) {
			_.error("Error", e), i();
		}, r.send(JSON.stringify({ id: t.exhibitor.id }));
	}
	function v() {
		t.exhibitor.bookmarked = !t.exhibitor.bookmarked, B.onBookmarkClick && B.onBookmarkClick({
			name: t.exhibitor.name,
			bookmarked: t.exhibitor.bookmarked,
			externalId: t.exhibitor.externalId
		}), t.exhibitor.bookmarked && I("bookmark", t.exhibitor.id, "exhibitor");
	}
	function y() {
		t.exhibitor.visited = !t.exhibitor.visited, B.onVisitedClick && B.onVisitedClick({
			name: t.exhibitor.name,
			visited: t.exhibitor.visited,
			externalId: t.exhibitor.externalId
		});
	}
}), ui = () => K(() => /* @__PURE__ */ (0, Z.jsx)(Z.Fragment, { children: !B.menu && B.selectedExhibitor ? /* @__PURE__ */ (0, Z.jsx)(li, {}) : null }));
//#endregion
//#region src/components/Filter.tsx
function di() {
	let e = (0, X.useRef)(), t = G(() => ({
		updateOverlayContent: null,
		get list() {
			return B.list;
		}
	})), n = (0, X.useCallback)(() => {
		t.updateOverlayContent && t.updateOverlayContent();
	}, [t.updateOverlayContent]);
	return K(() => /* @__PURE__ */ (0, Z.jsx)(ur, {
		updateScroll: n,
		updatedScrollableRef: e
	}));
}
var fi = () => K(() => /* @__PURE__ */ (0, Z.jsx)(Z.Fragment, { children: !B.details && !B.menu && B.list.type === "filter" && /* @__PURE__ */ (0, Z.jsx)(di, {}) }));
//#endregion
//#region src/components/heatmap-legend-ticks.ts
function pi(e, t, n) {
	let r = t - e, i = r <= 0 ? 2 : Math.min(r + 1, 5);
	return Array.from({ length: i }, (r, a) => {
		let o = a / (i - 1), s = Math.round(e + (t - e) * o);
		return {
			value: s,
			color: Ie(s, e, t, n)
		};
	});
}
//#endregion
//#region src/components/HeatmapLegendContainer.tsx
var mi = q((e) => {
	let { min: t, max: n } = Fe.minAndMaxClicks, r = pi(t, n, W.heatmapColors);
	return /* @__PURE__ */ (0, Z.jsx)(jt, {
		...e,
		ticks: r,
		ariaLabel: d("Heatmap intensity scale")
	});
}), hi = q(({ item: e }) => /* @__PURE__ */ (0, Z.jsx)(mn, {
	name: "language",
	label: e.name,
	value: e.id,
	checked: e.id === f(),
	className: "language-row",
	ariaLabel: d("Change language to {{language}}", { language: e.name }),
	onChange: () => u(e.id)
})), gi = () => import(
	/* webpackChunkName: "react-virtuoso-list" */
	"./dist--cp6ZHYH.js"
).then((e) => ({ default: e.Virtuoso })).catch(() => new Promise((e) => setTimeout(() => e(gi()), 3e3))), _i = (0, X.lazy)(gi);
function vi({ updatedScrollableRef: e, updateScroll: t }) {
	let [n, r] = (0, X.useState)(null), i = (0, X.useRef)(null);
	(0, X.useEffect)(() => {
		r(e == null ? null : e);
	}, [e]), (0, X.useEffect)(() => {
		let e = B.getListScrollTop(B.list.type);
		if (e > 0) {
			let t = setTimeout(() => {
				i.current && i.current.scrollTo({
					top: e,
					behavior: "auto"
				});
			}, 100);
			return () => clearTimeout(t);
		}
	}, [B.list.type]);
	let a = (0, X.useCallback)(() => {
		if (i.current) i.current.getState((e) => {
			var t;
			let n = (e == null ? void 0 : e.scrollTop) || 0;
			B.setListScrollTop((t = B.list) == null ? void 0 : t.type, n);
		});
		else if (n != null && n.current) {
			var e;
			B.setListScrollTop((e = B.list) == null ? void 0 : e.type, n.current.scrollTop || 0);
		}
	}, [n]);
	(0, X.useEffect)(() => () => {
		a();
	}, []);
	let o = ({ index: e }) => {
		let t = B.listItems[e];
		return t.entity.type === "language" ? /* @__PURE__ */ (0, Z.jsx)(hi, { item: t }, t.id) : (console.error("Invalid item type"), null);
	}, s = () => {
		t && setTimeout(t);
	}, c = () => {
		t && t();
	};
	return K(() => {
		let e = B.listItems.findIndex((e) => e.id === f());
		return /* @__PURE__ */ (0, Z.jsx)("div", {
			style: {
				height: "100%",
				cursor: "pointer",
				resize: "both",
				minHeight: 100
			},
			children: n && /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
				fallback: /* @__PURE__ */ (0, Z.jsx)(En, {
					active: !0,
					isCenter: !0
				}),
				children: /* @__PURE__ */ (0, Z.jsx)(_i, {
					ref: i,
					className: "list-virtual",
					style: { minHeight: B.listItems.length ? "1px" : 0 },
					data: B.listItems,
					itemContent: (e) => o({ index: e }),
					itemsRendered: s,
					totalListHeightChanged: c,
					customScrollParent: n.current,
					totalCount: B.listItems.length,
					overscan: 20,
					increaseViewportBy: 200,
					initialTopMostItemIndex: e === -1 ? 0 : e,
					components: { EmptyPlaceholder: () => /* @__PURE__ */ (0, Z.jsx)("div", {
						className: "list-empty",
						children: "No items to show"
					}) }
				})
			})
		});
	});
}
//#endregion
//#region src/components/Language.tsx
var yi = q(() => {
	let e = (0, X.useRef)();
	return !k.hideLanguage && !B.details && B.list.type === "language" && /* @__PURE__ */ (0, Z.jsx)(vi, { updatedScrollableRef: e });
}), bi = q(() => {
	var e;
	return (e = B.globalErrorMessages) != null && e.length ? /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "global-error-message",
		children: B.globalErrorMessages.map((e, t) => /* @__PURE__ */ (0, Z.jsx)(kn, {
			variant: "error",
			closable: !0,
			title: e.title,
			onClose: () => B.popGlobalErrorMessage(),
			children: e.body
		}, t))
	}) : null;
}), xi = q(function() {
	if (!De.enabled || B.kiosk) return null;
	let e = () => {
		let e = window;
		typeof e.Intercom == "function" && e.Intercom("show");
	}, t = De.unreadCount;
	return /* @__PURE__ */ (0, Z.jsxs)("button", {
		className: "efp-intercom-launcher",
		type: "button",
		"aria-label": d("Open chat"),
		onClick: e,
		children: [/* @__PURE__ */ (0, Z.jsx)("svg", {
			width: "24",
			height: "24",
			viewBox: "0 0 28 32",
			fill: "currentColor",
			"aria-hidden": "true",
			focusable: "false",
			children: /* @__PURE__ */ (0, Z.jsx)("path", { d: "M28 32s-4.714-1.855-8.527-3.34H3.437C1.54 28.66 0 27.026 0 25.013V3.644C0 1.633 1.54 0 3.437 0h21.125c1.898 0 3.437 1.632 3.437 3.645v18.404H28V32zm-4.139-11.982a.88.88 0 00-1.292-.105c-.03.026-3.015 2.681-8.57 2.681-5.486 0-8.517-2.636-8.571-2.684a.88.88 0 00-1.29.107 1.01 1.01 0 00-.219.708.992.992 0 00.318.664c.142.128 3.537 3.15 9.762 3.15 6.226 0 9.621-3.022 9.763-3.15a.992.992 0 00.317-.664 1.01 1.01 0 00-.218-.707z" })
		}), t > 0 && /* @__PURE__ */ (0, Z.jsx)("span", {
			className: "efp-intercom-launcher__badge",
			"aria-label": d("Unread messages"),
			children: t > 99 ? "99+" : t
		})]
	});
}), Si = ["ice-gaming2026"];
function Ci(e) {
	return Si.includes(W.EXPO) ? {
		layout: "compact-list",
		useShortNames: e
	} : {
		layout: e ? "compact-list" : "dropdown",
		useShortNames: e
	};
}
var wi = q(() => {
	let e = z.layerStore.floors;
	if (!(z.layerStore.mode === Ge.Radio || z.layerStore.mode === Ge.CheckBox) || e.length === 0) return null;
	let { layout: t, useShortNames: n } = Ci(k.shortLevelName), r = e.map((e) => ({
		id: e.layer.description,
		label: n ? e.shortName : e.description,
		active: e.active,
		disabled: e.disabled
	}));
	return /* @__PURE__ */ (0, Z.jsx)(Pt, {
		floors: r,
		layout: t,
		onSelect: (t) => {
			let n = e.find((e) => e.layer.description === t);
			!n || n.disabled || z.layerStore.selectFloor(n.layer);
		},
		floorSelectionLabel: d("Floor selection"),
		currentFloorLabel: d("Current Floor"),
		floorLabel: d("Floor")
	});
}), Ti = document.referrer && (document.referrer.indexOf("app.expofp.com") > -1 || document.referrer.indexOf("app-show.expofp.com") > -1), Ei = (0, X.lazy)(() => import("./lib-CW4ROgrI.js").then((t) => /* @__PURE__ */ e(t.default, 1)).then((e) => {
	var t;
	return { default: (t = e.QRCode) == null ? e.default : t };
})), Di = /* @__PURE__ */ e(D(), 1), Oi, ki = ["info-techlive2025", "metstrade-superyacht2023"].includes(W.EXPO), Ai = W.backgroundColor !== "none" && (0, Di.default)(W.backgroundColor).isDark() || (pe == null || (Oi = pe.properties) == null || (Oi = Oi.style) == null ? void 0 : Oi.includes("dark"));
function ji() {
	var e, t, n;
	let r = G(() => {
		let e = (e, t, n, r) => ({
			width: r,
			opacity: +!!B.wsStarted
		}), t = ki || B.rtl ? "left" : "right";
		return {
			get style() {
				let n = U((B.overlayPosition, 1));
				if (B.overlayPosition === "left") {
					let r = B.mapVisibleBottom + n;
					return e("bottom", t, r, "5rem");
				} else return B.mapVisibleTop, z.maplibreStore.showMaplibre && U(.5), e("bottom", t, 20, "4.5rem");
			},
			get warningStyle() {
				let n = U(B.overlayPosition === "left" ? 1 : .5);
				if (B.overlayPosition === "left") {
					let r = B.mapVisibleBottom + 2 * n;
					return e("bottom", t, r, "3rem");
				} else {
					let r = B.mapVisibleTop + 2 * n;
					return z.maplibreStore.showMaplibre && (r = U(.5)), e("top", t, r, "2rem");
				}
			}
		};
	}), i = Math.round(((e = ue().__fpStat) == null ? void 0 : e.dataSize) / 1024 / 1024 || 0), a = Ti && i >= 10, o = Ti && !pe && k.allow3dView && !B.kiosk && !B.heatmap, s = B.kiosk && !((t = B.selectedRoute) != null && t.to) && !((n = B.selectedRoute) != null && n.from), l = (0, Y.default)("efp-qr", { "is-right": ki || B.rtl });
	return K(() => /* @__PURE__ */ (0, Z.jsxs)("div", { children: [
		/* @__PURE__ */ (0, Z.jsx)("a", {
			href: ve(Te.SUBDOMAIN_LOGO),
			target: "_blank",
			rel: "noopener noreferrer",
			className: (0, Y.default)("logo-overlay", { invert: Ai }),
			style: r.style,
			children: /* @__PURE__ */ (0, Z.jsx)("img", {
				src: `${c}expofp-overlay.png`,
				alt: d("Made with ExpoFP"),
				crossOrigin: "anonymous"
			})
		}),
		a && /* @__PURE__ */ (0, Z.jsx)(kn, {
			title: d("This floor plan is too big"),
			variant: "warning",
			showIcon: !0,
			position: "bottom-right",
			children: /* @__PURE__ */ (0, Z.jsx)("a", {
				rel: "noopener noreferrer",
				target: "_blank",
				href: "https://expofp.com/pages/huge-fp-warning",
				children: d("Read how to optimize it")
			})
		}),
		o && /* @__PURE__ */ (0, Z.jsx)(kn, {
			title: d("3D view is hidden"),
			variant: "warning",
			showIcon: !0,
			position: "bottom-right",
			children: /* @__PURE__ */ (0, Z.jsx)("a", {
				rel: "noopener noreferrer",
				target: "_blank",
				href: "https://expofp.com/pages/expofp-mapbox-integration",
				children: d("Setup mapbox first")
			})
		}),
		s && /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
			fallback: null,
			children: /* @__PURE__ */ (0, Z.jsxs)("div", {
				className: (0, Y.default)(l, { "efp-semi-transparent": B.setKioskModeEnabled }),
				children: [/* @__PURE__ */ (0, Z.jsx)("div", { children: d("View Map on Phone") }), /* @__PURE__ */ (0, Z.jsx)(Ei, {
					value: B.viewMapOnPhoneQRCodeUrl,
					size: 100
				})]
			})
		})
	] }));
}
//#endregion
//#region src/utils/camera-map-settings.ts
function Mi(e) {
	let t = {};
	return e.x !== void 0 && e.y !== void 0 && (t.centerxy = `${e.x},${e.y}`), e.lat !== void 0 && e.lng !== void 0 && (t.center = `${e.lat},${e.lng}`), e.floor !== void 0 && (t.z = e.floor), e.bearing !== void 0 && (t.bearing = e.bearing), e.zoomTime !== void 0 && (t.zoomtime = e.zoomTime), e.pitchTime !== void 0 && (t.pitchtime = e.pitchTime), e.pitchDegrees !== void 0 && (t.pitchdegrees = e.pitchDegrees), t;
}
function Ni(e) {
	let t = {}, n = Pi(e.centerxy);
	n && ([t.x, t.y] = n);
	let r = Pi(e.center);
	return r && ([t.lat, t.lng] = r), e.z !== void 0 && (t.floor = e.z), e.bearing !== void 0 && (t.bearing = e.bearing), e.zoomtime !== void 0 && (t.zoomTime = e.zoomtime), e.pitchtime !== void 0 && (t.pitchTime = e.pitchtime), e.pitchdegrees !== void 0 && (t.pitchDegrees = e.pitchdegrees), t;
}
function Pi(e) {
	if (!e) return;
	let t = e.split(",").map(Number);
	if (!(t.length !== 2 || !t.every(Number.isFinite))) return [t[0], t[1]];
}
//#endregion
//#region src/components/Map/MapCamera.tsx
function Fi() {
	let e = Ke(), t = j(), n = (0, X.useRef)({
		api: e,
		state: t
	}), [r] = (0, X.useState)(() => oe(n));
	return (0, X.useLayoutEffect)(() => {
		n.current = {
			api: e,
			state: t
		};
	}), (0, X.useEffect)(() => (C(r), () => C(void 0)), [r]), w(() => O()), me(() => et()), Qe(() => B.zoomBy, (e) => {
		e && (n.current.api.zoomBy(e), B.zoomBy = null);
	}, []), Qe(() => B.rollReset, (e) => {
		e && (n.current.api.reset({ roll: !0 }), B.rollReset = !1);
	}, []), Qe(() => B.centerMap, (e) => {
		e && (n.current.api.reset({ zoom: !!(B.list.type === "search" && B.list.text) }), B.centerMap = !1);
	}, []), Qe(() => B.moveToRect, (e) => {
		if (!e) return;
		let { width: t, height: r } = e.size;
		if (t > 0 && r > 0 && Number.isFinite(t) && Number.isFinite(r)) {
			var i;
			Ii(n.current.api, e, (i = B.moveToRectPaddingPercent) == null ? void 0 : i);
		}
		B.moveToRect = null, B.moveToRectPaddingPercent = null;
	}, []), Qe(() => B.moveToBooths, (e) => {
		if (!e) return;
		_.log("watched moveToBooths", e);
		let t = e.filter((e) => e.rect).map((e) => e.rect);
		t.length && Ii(n.current.api, S.fromUnion(...t)), B.moveToBooths = null;
	}, []), Qe(() => B.mapSettings, ({ center: e, centerxy: t, bearing: r, pitchdegrees: i, z: a }) => {
		try {
			a && z.fp.activateFloor({ name: a });
			let o = Bi(e, t);
			o && n.current.api.panTo(o), r !== void 0 && Number.isFinite(r) && n.current.api.rollTo(r), i != null && Number.isFinite(i) && n.current.api.pitchTo(i, { immediate: !B.animatePitch });
		} catch (e) {
			_.error("Error in mapSettings reaction", e);
		}
	}, []), null;
}
function Ii(e, t, n) {
	e.zoomTo(Ri(t), {
		padding: n == null ? zi(t, ce) : n,
		maxZoom: Number.isFinite(W.maxZoom) ? void 0 : 10,
		within: Li()
	});
}
function Li() {
	let e = B.canvasVisibleRectPx;
	return B.shouldShiftMapRect ? S.fromMinMax({
		x: e.min.x + B.overlayWidthPx,
		y: e.min.y
	}, e.max) : e;
}
function Ri(e) {
	var t, n, r;
	let i = B.kioskData;
	if (!i) return e;
	let a = (t = B.selectedRoute) == null ? void 0 : t.from, o = a instanceof we ? (n = a.layer) == null ? void 0 : n.name : a == null ? void 0 : a.layer;
	return !Ee() || o === ((r = z.routeStore.currentRouteLayer) == null ? void 0 : r.name) ? S.fromUnion(e, new S(i.x, i.y, 1, 1)) : e;
}
function zi(e, t) {
	return !e || !t ? 0 : (e.area / t.area > .1 ? 15 : 25) / 100;
}
function Bi(e, t) {
	if (e) {
		var n, r;
		let t = Pi(e);
		if (!t) return;
		let i = pe == null || (n = pe.properties) == null ? void 0 : n.config;
		if (!i) throw Error("Map center given in GPS, but the plan has no GPS config");
		return (r = P({
			lat: t[0],
			lng: t[1]
		}, i)) == null ? void 0 : r;
	}
	let i = Pi(t);
	if (i) return {
		x: i[0],
		y: i[1]
	};
}
//#endregion
//#region src/components/Map/Map.tsx
var Vi = "#ebebeb", Hi = "routes-api.expofp.com", Ui = 1e4;
function Wi(e) {
	return Number.isFinite(W.maxZoom) ? W.maxZoom : e.viewbox.size.width > Ui ? 100 : 35;
}
function Gi() {
	let { zoomtime: e, pitchtime: t } = B.mapSettings;
	return {
		zoomTime: e === void 0 ? void 0 : e / 1e3,
		pitchTime: t === void 0 ? void 0 : t / 1e3
	};
}
function Ki() {
	var e;
	let t = (0, X.useRef)(null), n = (0, X.useMemo)(() => o({
		moving: !1,
		prevLevel: z.layerStore.layers.find((e) => !e.frozen && e.visible)
	}), []), [r, i] = (0, X.useState)(void 0), a = (0, X.useRef)(null), s = (0, X.useRef)(null);
	function c() {
		R.layers.forEach((e) => {
			e.configured = !1, e.children = [], e.loaded = !1;
		});
	}
	(0, X.useEffect)(() => {
		let e = !1;
		return c(), R.layersLoaded = !1, rt().then(({ layers: t, cleanup: n }) => {
			if (e) {
				n();
				return;
			}
			s.current = n;
			let r = N(t, ce, W.backgroundColor === "none" ? Vi : W.backgroundColor);
			i(r), He(r), a.current = ct((e) => {
				ot(r, e) && fe(r.rootLayer);
			}), a.current.setTarget(B.dimmed, { immediate: !0 }), R.layersLoaded = !0, z.fp.onFpConfigured && z.fp.onFpConfigured(), le();
		}), () => {
			var t, n;
			e = !0, (t = s.current) == null || t.call(s), s.current = null, (n = a.current) == null || n.stop(), a.current = null, He(void 0), c();
		};
	}, []), J(() => B.dimmed, (e) => {
		var t;
		(t = a.current) == null || t.setTarget(e);
	}), (0, X.useEffect)(() => {
		z.fp.getCenterCoordinates = () => tt(t.current);
	}, []), (0, X.useEffect)(() => {
		if (!r) return;
		let e = E({
			scene: r,
			store: z,
			canvas: t
		}), n = at({ scene: r });
		return () => {
			e(), n();
		};
	}, [r]), J(() => z.routeStore.currentRouteLayer, () => {
		let e = z.routeStore.currentRouteLayer;
		if (!r || !e || n.prevLevel === e) return;
		let t = r.rootLayer.children.filter((e) => z.layerStore.floors.some((t) => e.name.includes(t.name))), i = e.name;
		if (!t.find((e) => e.name === i)) return;
		let a = [];
		t.forEach((e) => {
			var t;
			e.name === i && e.hidden !== !1 && (e.hidden = !1, a.push(e)), e.name === ((t = n.prevLevel) == null ? void 0 : t.name) && e.hidden !== !0 && (e.hidden = !0, a.push(e));
		}), n.prevLevel = e, a.length && fe(...a);
	}, void 0, [r]), J(() => z.layerStore.visible, (e) => {
		if (!r) return;
		let t = e.filter((e) => Be(e.name)), n = r.rootLayer.children, i = [];
		for (let e of n) {
			if (!Be(e.name)) continue;
			let n = !t.find((t) => t.name === e.name);
			e.hidden !== n && (e.hidden = n, i.push(e));
		}
		i.length && fe(...i);
	}, void 0, [r]);
	let l = K(() => R.layersLoaded), u = K(() => !!B.buildRoute);
	nt({
		enabled: l && u,
		scene: r
	});
	let d = (e = k.busRoutes) != null && e;
	return it({
		permission: l && d,
		scene: r,
		dataJsonUrl: `https://${Hi}/v1/routes?expo=${W.EXPO}`,
		websocketUrl: `wss://${Hi}/locations?expo=${W.EXPO}`
	}), K(() => r ? /* @__PURE__ */ (0, Z.jsxs)(ie, {
		debug: g,
		style: {
			width: "100%",
			height: "100%"
		},
		ref: t,
		className: (0, Y.default)({ map: !0 }),
		scene: r,
		maxZoom: Wi(r),
		maxPitch: B.maxPitch,
		bounds: R.bounds,
		controls: {
			roll: B.rollEnabled,
			pitch: B.pitchEnabled
		},
		smoothTime: Gi(),
		visibleRect: B.canvasVisibleRectPx,
		onPointerMissed: A,
		children: [
			/* @__PURE__ */ (0, Z.jsx)(Fi, {}),
			/* @__PURE__ */ (0, Z.jsx)(st, {}),
			g && /* @__PURE__ */ (0, Z.jsx)(lt, { canvas: t })
		]
	}) : null);
}
//#endregion
//#region src/components/MapControlsContainer.tsx
function qi(e) {
	var t, n;
	(t = (n = window).__resett) == null || t.call(n), e();
}
var Ji = q(() => {
	let e = G(() => ({
		get className() {
			return (0, Y.default)({
				controls: !0,
				container: !0,
				"-ready": !0,
				[B.responsiveClass]: !0
			});
		},
		get style() {
			return {
				[B.rtl ? "left" : "right"]: B.overlayPosition === "left" ? B.overlayCollapsed ? U(.9) : (B.kiosk ? 10 : 0) + U(.7) + "px" : "10px",
				bottom: B.kiosk ? U(4) : U(9.6)
			};
		},
		get layers() {
			return R.layers.filter((e) => e.mode !== Ue.AlwaysHidden && e.mode !== Ue.AlwaysVisible).map((e) => ({
				id: e.name,
				name: e.description
			})).concat([]).reverse();
		},
		get visible() {
			return R.layers.filter((e) => e.visible).map((e) => e.name);
		}
	}));
	return /* @__PURE__ */ (0, Z.jsx)(Ft, {
		className: e.className,
		style: e.style,
		title: d("Map controls"),
		findLocationLabel: d("Find your location"),
		zoomInLabel: d("Zoom In"),
		zoomOutLabel: d("Zoom Out"),
		viewModeLabel: d("View switch"),
		fitToScreenLabel: d("Fit to screen"),
		layersLabel: d("Layers"),
		onFindLocation: () => z.routeStore.findLocation(),
		onZoomIn: () => qi(() => B.zoomIn()),
		onZoomOut: () => qi(() => B.zoomOut()),
		onFitToScreen: () => qi(() => B.fitBounds()),
		onViewModeSwitch: () => z.maplibreStore.activateMaplibre(),
		showModeSwitch: z.maplibreStore.maplibreEnabled && !z.maplibreStore.hideModeSwitchButton,
		isMap3d: z.maplibreStore.isMap3d,
		showFindLocation: z.routeStore.canFindLocation && !B.setKioskModeEnabled,
		layersActiveItems: e.visible,
		layersList: R.mode === Ge.CheckBox ? e.layers : void 0,
		onChangeLayers: (e) => {
			let t = R.layers.find((t) => t.name === e);
			t && R.updateVisibility(e, !t.visible);
		}
	});
});
//#endregion
//#region src/components/MobileToggleButtonContainer.tsx
function Yi() {
	let e = (0, X.useCallback)(() => {
		B.isOverlayOpen && B.overlaySize === "full" ? B.desiredOverlaySize = "small" : H.openOverlayWithoutInputFocus();
	}, []);
	return K(() => {
		if (!B.shouldShowMobileToggle) return null;
		let t = B.mobileToggleIsListMode;
		return /* @__PURE__ */ (0, Z.jsx)(It, {
			mode: t ? "list" : "map",
			label: d(t ? "List" : "Map"),
			ariaLabel: d(t ? "Show list" : "Show map"),
			withBanner: B.isBannerVisible,
			onClick: e
		});
	});
}
//#endregion
//#region src/components/Menu.tsx
var Xi = X.lazy(() => import(
	/* webpackChunkName: "viewer-menu-panel" */
	"./ViewerMenuPanel-C0hwkh7I.js"
)), Zi = k.logo;
_.log("Logo url: ", Zi), window.setTimeout(function() {
	let e = new Image();
	e.onload = () => {
		_.log("Logo image loaded");
	}, e.crossOrigin = "anonymous", e.src = Zi;
}, 1500);
function Qi({ consent: e, isGDPR: t }) {
	let n = G(() => ({
		logoVisibility: "visible",
		shown: !1,
		shownTimeout: void 0,
		modalOpen: !1,
		selectedCategoryIds: (B.selectedCategoryFilters || []).map((e) => Number(e.id)),
		pendingSelectedIds: (B.selectedCategoryFilters || []).map((e) => Number(e.id))
	}));
	s(() => {
		B.menu ? (n.shownTimeout = window.setTimeout(() => n.shown = !0, 1), B.list.type === "sessions" && z.searchStore.selectSearch()) : (n.shown = !1, n.shownTimeout && window.clearTimeout(n.shownTimeout));
	});
	function r(e) {
		if (B.kiosk) return e.preventDefault();
	}
	function i(e) {
		e.preventDefault(), c(), z.searchStore.selectSearch();
	}
	function a(e) {
		var t, n;
		e.preventDefault(), (t = z.fp) == null || (n = t.onLeaveEvent) == null || n.call(t);
	}
	function o(e) {
		e.preventDefault(), z.clickLanguage();
	}
	return K(() => {
		var s, c, u;
		if (!B.menu) return null;
		let p = z.boothStore.booths.filter((e) => e.bookmarked).map((e) => e.name), m = (s = ue().__fpSettings) != null && s.fpVer ? `https://d2.expofp.com/export/v2/${W.EXPO}/pdf` : `https://api.expofp.com/service/convert/${W.EXPO}/pdf`, h = B.viewerMode && typeof ((c = z.fp) == null ? void 0 : c.onLeaveEvent) == "function";
		return /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: `menu ${n.shown ? "shown" : ""}`,
			children: [$n ? /* @__PURE__ */ (0, Z.jsx)("div", { className: "menu__cover -empty" }) : /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "menu__cover",
				children: /* @__PURE__ */ (0, Z.jsx)("a", {
					href: k.homeUrl,
					target: "_blank",
					rel: "noopener noreferrer",
					onClick: r,
					children: /* @__PURE__ */ (0, Z.jsx)("img", {
						src: Zi,
						onError: () => n.logoVisibility = "hidden",
						style: { visibility: n.logoVisibility },
						alt: "",
						crossOrigin: "anonymous"
					})
				})
			}), /* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "menu__content",
				children: [
					B.viewerMode && /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
						fallback: null,
						children: /* @__PURE__ */ (0, Z.jsx)(Xi, {})
					}),
					!B.viewerMode && /* @__PURE__ */ (0, Z.jsx)("a", {
						href: "/#",
						onClick: i,
						className: "menu__item",
						children: d("Search")
					}),
					!k.hideEventHomeLink && !B.kiosk && !$n && !!k.homeUrl && /* @__PURE__ */ (0, Z.jsxs)("a", {
						href: k.homeUrl,
						target: "_blank",
						className: "menu__item",
						rel: "noopener noreferrer",
						children: [d("Event Home").replace(/ /g, "\xA0"), /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-link-external" })]
					}),
					!k.hideRegisterToAttendLink && !B.kiosk && !$n && !!k.registerUrl && /* @__PURE__ */ (0, Z.jsxs)("a", {
						href: k.registerUrl,
						target: "_blank",
						className: "menu__item",
						rel: "noopener noreferrer",
						children: [d("Register to Attend").replace(/ /g, "\xA0"), /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-link-external" })]
					}),
					!B.hideLanguage && !k.hideLanguage && !k.hideLanguageLink && /* @__PURE__ */ (0, Z.jsxs)("a", {
						href: "?language",
						onClick: o,
						className: "menu__item -language",
						children: [/* @__PURE__ */ (0, Z.jsxs)("span", { children: [d("Language"), " "] }), /* @__PURE__ */ (0, Z.jsxs)("span", {
							className: "menu__icons",
							children: [/* @__PURE__ */ (0, Z.jsx)(Ct, {
								variant: "gray",
								size: "md",
								noMargins: !0,
								rounded: !0,
								children: (u = l().find((e) => e.id === f())) == null ? void 0 : u.name
							}), /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-chevron-right" })]
						})]
					}),
					!k.hideDownloadPdfLink && !B.kiosk && /* @__PURE__ */ (0, Z.jsx)("a", {
						className: "menu__item -pdf",
						target: "_blank",
						rel: "noopener noreferrer",
						href: `${m}/?exhibitors=true&bookmarks=${p.join(",")}&layers=${(z.layerStore.layers.length >= z.layerStore.visible.length ? z.layerStore.visible.map((e) => e.name).join(",") : "").replace(/&/g, "%26")}`,
						children: d("Download PDF")
					}),
					e === "ask" && t && /* @__PURE__ */ (0, Z.jsx)("a", {
						href: "/#",
						className: "menu__item -cookie-consent",
						onClick: (e) => {
							e.preventDefault(), B.hideCookieConsent = !1;
						},
						children: d("Review Cookie Consent")
					}),
					h && /* @__PURE__ */ (0, Z.jsx)("div", {
						className: "menu__item-leave",
						children: /* @__PURE__ */ (0, Z.jsx)("a", {
							href: "/#",
							className: "menu__item -leave-event menu__leave-link",
							onClick: a,
							children: d("Select another event")
						})
					})
				]
			})]
		});
	});
	function c() {
		B.menu = !1;
	}
}
var $i = ({ isGDPR: e, consent: t }) => K(() => /* @__PURE__ */ (0, Z.jsx)(Z.Fragment, { children: B.menu ? /* @__PURE__ */ (0, Z.jsx)(Qi, {
	isGDPR: e,
	consent: t
}) : null }));
//#endregion
//#region src/components/OverlayParticles.tsx
function ea() {
	let [t, r] = (0, X.useState)(!1), [i, a] = (0, X.useState)(), [o, s] = (0, X.useState)(!1), c = (0, X.useRef)();
	return $e(() => {
		var e;
		return s(B.overlayPosition === "left" && ((e = n.getEngine()) == null ? void 0 : e.name) !== "EdgeHTML");
	}), (0, X.useEffect)(() => {
		o && !i && import(
			/* webpackChunkName: "particlesjs" */
			"./particles.min-Dccc8fgr.js"
).then((t) => /* @__PURE__ */ e(t.default, 1)).then((e) => {
			a(e.default);
		});
	}, [o, i]), (0, X.useEffect)(() => {
		if (i && o) {
			let e = i.init({
				selector: c.current,
				maxParticles: 50,
				speed: .4,
				sizeVariations: 4,
				color: "#0C5AB8",
				connectParticles: !0
			});
			return r(!0), () => {
				e.destroy();
			};
		}
	}, [i, o]), o ? /* @__PURE__ */ (0, Z.jsx)("div", { children: /* @__PURE__ */ (0, Z.jsx)("canvas", {
		className: `overlay-particles__canvas ${t ? "-visible" : ""}`,
		ref: c
	}) }) : null;
}
var ta = q(ea), na = ({ floors: e, floorSelectionLabel: t, ...n }) => {
	let r = e.map((e) => {
		var t, n;
		return {
			...e,
			ariaLabel: (t = (n = e.ariaLabel) == null ? e.description : n) == null ? d("Floor {{name}}", { name: e.name }) : t
		};
	});
	return /* @__PURE__ */ (0, Z.jsx)(On, {
		...n,
		floors: r,
		floorSelectionLabel: t == null ? d("Floor selection") : t
	});
}, ra = q(() => {
	let e = z.routePlannerStore, { from: t, stops: n, distance: r, travelTime: i } = e.subtitleParts;
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: "efp-planner__header",
		children: [
			/* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-planner__title",
				children: e.title
			}),
			/* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "efp-planner__details",
				children: [
					t && /* @__PURE__ */ (0, Z.jsx)("span", { children: t }),
					/* @__PURE__ */ (0, Z.jsx)("span", { children: n }),
					r && /* @__PURE__ */ (0, Z.jsx)("span", { children: r }),
					i && /* @__PURE__ */ (0, Z.jsx)("span", { children: i })
				]
			}),
			e.excludedVisitedCount > 0 && /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-planner__alert",
				children: /* @__PURE__ */ (0, Z.jsx)(kn, {
					variant: "warning",
					inline: !0,
					showIcon: !1,
					size: "sm",
					children: d("{{count}} visited bookmarks excluded", { count: e.excludedVisitedCount })
				})
			})
		]
	});
}), ia = () => /* @__PURE__ */ (0, Z.jsxs)("svg", {
	width: "22",
	height: "22",
	viewBox: "0 0 22 22",
	fill: "none",
	xmlns: "http://www.w3.org/2000/svg",
	children: [/* @__PURE__ */ (0, Z.jsx)("rect", {
		width: "22",
		height: "22",
		rx: "11",
		fill: "#2382F4"
	}), /* @__PURE__ */ (0, Z.jsx)("path", {
		d: "M16 11C16 13.7614 13.7614 16 11 16C8.23858 16 6 13.7614 6 11C6 8.23858 8.23858 6 11 6C13.7614 6 16 8.23858 16 11Z",
		fill: "white"
	})]
}), aa = q(({ startPoint: e, onSelectStartPoint: t }) => {
	let n = z.routePlannerStore, r = n.startPointBoothOptions, i = n.startPointAutocompleteOptions, a = (e) => {
		t(r.find((t) => t.id.toString() === (e == null ? void 0 : e.value)) || null);
	}, o = e ? i.find((t) => t.value === e.id.toString()) : void 0;
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: "efp-planner__stop is-start",
		children: [/* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-planner__stop-timeline",
			children: /* @__PURE__ */ (0, Z.jsx)(ia, {})
		}), /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-planner__stop-content",
			children: /* @__PURE__ */ (0, Z.jsx)(An, {
				placeholder: d("Select starting point"),
				options: i,
				value: o,
				onChange: a
			})
		})]
	});
}), oa = {
	exhibitor: "icon-exhibitor-solid",
	event: "icon-event-solid",
	booth: "icon-booth-solid"
}, sa = (e) => /^\d+$/.test(e), ca = ({ item: e, isLast: t }) => {
	var n, r, i;
	let { type: a, entity: o, booth: s } = e, c = oa[a] || "icon-booth-solid", l = (n = o.name) == null ? "" : n, u = (a === "exhibitor" || a === "event") && s ? s.name : null, d = (r = s == null || (i = s.layer) == null ? void 0 : i.shortName) == null ? null : r, f = u || d, p = [
		l,
		u,
		d ? sa(d) ? `Level ${d}` : d : null
	].filter(Boolean).join(", "), m = () => {
		a === "exhibitor" ? z.selectExhibitor(o) : s && z.selectBooth(s), z.showMap();
	};
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: (0, Y.default)("efp-planner__stop", { "is-last": t }),
		children: [/* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-planner__stop-timeline",
			children: /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-planner__stop-icon",
				style: { "--dot-color": `var(--color-${a})` },
				children: /* @__PURE__ */ (0, Z.jsx)("i", { className: c })
			})
		}), /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: "efp-planner__stop-content",
			role: "button",
			tabIndex: 0,
			"aria-label": p,
			onClick: m,
			onKeyDown: (e) => {
				(e.key === "Enter" || e.key === " ") && (e.preventDefault(), m());
			},
			children: [/* @__PURE__ */ (0, Z.jsx)("strong", { children: l }), f && /* @__PURE__ */ (0, Z.jsxs)(Ct, {
				variant: "location",
				size: "xs",
				inline: !0,
				noMargins: !0,
				children: [u && /* @__PURE__ */ (0, Z.jsx)("span", { children: u }), d && /* @__PURE__ */ (0, Z.jsxs)("span", { children: [sa(d) && /* @__PURE__ */ (0, Z.jsx)(Z.Fragment, { children: "Level\xA0" }), d] })]
			})]
		})]
	});
};
//#endregion
//#region src/components/RoutePlanner/RoutePlanner.tsx
function la() {
	return K(() => {
		let e = z.routePlannerStore, t = e.items;
		return /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: "efp-planner",
			children: [
				t.length > 0 && /* @__PURE__ */ (0, Z.jsx)(ra, {}),
				t.length > 0 && e.routeFloors.length > 1 && e.currentRouteFloor && /* @__PURE__ */ (0, Z.jsx)(na, {
					floors: e.routeFloors,
					value: e.currentRouteFloor,
					onSelect: (t) => e.setRouteFloor(t)
				}),
				/* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "efp-planner__stops",
					children: [t.length > 0 && /* @__PURE__ */ (0, Z.jsx)(aa, {
						startPoint: e.startPoint,
						onSelectStartPoint: (t) => e.setStartPoint(t)
					}), t.map((e, n) => /* @__PURE__ */ (0, Z.jsx)(ca, {
						item: e,
						isLast: n === t.length - 1
					}, `${e.type}-${e.entity.id}-${n}`))]
				}),
				t.length === 0 && /* @__PURE__ */ (0, Z.jsx)("div", {
					className: "efp-planner__empty",
					children: d("Add stops to build a route")
				})
			]
		});
	});
}
function ua() {
	return K(() => {
		let e = B.details && !(B.details instanceof T);
		return B.list.type === "route-planner" && !B.menu && !e ? /* @__PURE__ */ (0, Z.jsx)(la, {}) : null;
	});
}
//#endregion
//#region src/components/ScrollableRowContainer.tsx
var da = q((e) => /* @__PURE__ */ (0, Z.jsx)(yn, {
	...e,
	isRtl: B.rtl,
	leftAriaLabel: d("Scroll left"),
	rightAriaLabel: d("Scroll right")
})), fa = (0, X.memo)(({ id: e, label: t, icon: n, enabled: r, active: i, tooltip: a, badge: o, variant: s = "default", showResetButton: c = !1, interfaceId: l }) => {
	let u = (0, X.useCallback)(() => {
		r && z.shortcutRegistry.handleShortcutClick(l, e);
	}, [
		r,
		l,
		e
	]), f = (0, X.useCallback)((t) => {
		t.stopPropagation(), r && i && z.shortcutRegistry.handleShortcutReset(l, e);
	}, [
		r,
		i,
		l,
		e
	]);
	return /* @__PURE__ */ (0, Z.jsxs)("button", {
		className: (0, Y.default)("shortcut-button", `shortcut-button--${s}`, {
			"is-active": i,
			"is-disabled": !r
		}),
		onClick: u,
		disabled: !r,
		title: a || t,
		type: "button",
		"aria-label": a || t,
		children: [
			c && i && /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "shortcut-reset-button",
				onClick: f,
				title: d("Reset filter"),
				"aria-label": d("Reset filter"),
				children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-close-solid" })
			}),
			n && /* @__PURE__ */ (0, Z.jsx)("i", { className: n }),
			t && /* @__PURE__ */ (0, Z.jsx)("span", {
				className: "shortcut-button__label",
				children: t
			}),
			o && /* @__PURE__ */ (0, Z.jsx)("span", {
				className: "shortcut-button__badge",
				children: o
			})
		]
	});
});
fa.displayName = "ShortcutButton";
//#endregion
//#region src/components/Shortcuts/ShortcutsFiltersButton.tsx
var pa = (0, X.memo)(q(({ interfaceId: e, className: t }) => {
	let { shortcutRegistry: n } = z, r = n.getShortcuts(e).filter((e) => e.active).length, i = 0;
	e === "sessions" ? i = z.sessionsFilterStore.activeFiltersCount : e === "speakers" && (i = z.speakerFilterStore.activeFiltersCount);
	let a = Math.max(r, i);
	return /* @__PURE__ */ (0, Z.jsx)("button", {
		className: (0, Y.default)("shortcuts-filters-button", t, { "is-active": a > 0 }),
		onClick: () => {
			e === "sessions" ? z.sessionsFilterStore.openFilterWithSections([
				"tracks",
				"venues",
				"date",
				"time",
				"sort",
				"settings"
			]) : e === "speakers" && z.speakerFilterStore.openFilterWithSections(["companies", "jobTitles"]);
		},
		type: "button",
		"aria-label": d("Open filters"),
		title: d("Open filters"),
		children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-filter-horizontal-solid" })
	});
}));
pa.displayName = "ShortcutsFiltersButton";
//#endregion
//#region src/components/Shortcuts/ShortcutsToolbar.tsx
var ma = (0, X.memo)(q(({ interfaceId: e, showFiltersButton: t = !0, className: n }) => {
	let { shortcutRegistry: r } = z, i = r.getShortcuts(e);
	return !r.shouldShowShortcuts(e) || i.length === 0 ? null : /* @__PURE__ */ (0, Z.jsx)("div", {
		className: (0, Y.default)("shortcuts-toolbar", n),
		children: /* @__PURE__ */ (0, Z.jsxs)(da, {
			ariaLabel: d("Shortcuts"),
			className: "shortcuts-toolbar__scrollable",
			scrollAmount: 150,
			showArrowsOnMobile: !1,
			arrowPosition: "inside",
			children: [t && /* @__PURE__ */ (0, Z.jsx)(pa, { interfaceId: e }), i.map((t) => /* @__PURE__ */ (0, Z.jsx)(fa, {
				...t,
				interfaceId: e
			}, t.id))]
		})
	});
}));
ma.displayName = "ShortcutsToolbar";
//#endregion
//#region src/components/Search.tsx
function ha() {
	let e = (0, X.useRef)(), t = G(() => ({
		updateOverlayContent: null,
		get text() {
			return B.list.type === "search" || B.list.type === "exhibitors" ? B.list.text : "";
		},
		get showClose() {
			return !!this.text;
		},
		get backMode() {
			return this.text ? "back" : "menu";
		}
	}));
	(0, X.useEffect)(() => {
		z.fuzzySearchEngineStore.loadEngine();
	}, []);
	let n = (0, X.useCallback)(() => {
		t.updateOverlayContent && t.updateOverlayContent();
	}, [t.updateOverlayContent]);
	return K(() => /* @__PURE__ */ (0, Z.jsxs)(Z.Fragment, { children: [/* @__PURE__ */ (0, Z.jsx)(ma, {
		interfaceId: "search",
		showFiltersButton: !1
	}), /* @__PURE__ */ (0, Z.jsx)(ur, {
		updateScroll: n,
		updatedScrollableRef: e
	})] }));
}
var ga = () => K(() => /* @__PURE__ */ (0, Z.jsxs)(Z.Fragment, { children: [!B.details && !B.menu && B.list.type === "exhibitors" ? /* @__PURE__ */ (0, Z.jsx)(ha, {}) : null, !B.details && !B.menu && B.list.type === "search" && (z.fp.alwaysShowSidebar || B.heatmap || B.searchFocused || B.list.text.length > 0 || B.searchClearMode) ? /* @__PURE__ */ (0, Z.jsx)(ha, {}) : null] })), _a = q(({ showFilters: e = !0 }) => {
	let t = z.eventStore.eventItems, { filters: { date: { value: n }, timeOfDay: { value: r }, sortOrder: { value: i }, showBookmarksOnly: { value: a }, showLiveOnly: { value: o }, selectedTracks: { value: s }, selectedVenues: { value: c } } } = z.sessionsFilterStore.state, l = (0, X.useMemo)(() => {
		let e = /* @__PURE__ */ new Date();
		e.setHours(0, 0, 0, 0);
		let i = new Date(e);
		i.setDate(e.getDate() + 1);
		let l = t;
		if (n !== "all" && (l = l.filter((t) => {
			let r = new Date(t.startDate);
			if (r.setHours(0, 0, 0, 0), n === "today") return r.getTime() === e.getTime();
			if (n === "tomorrow") return r.getTime() === i.getTime();
			if (n === "past") {
				let e = /* @__PURE__ */ new Date();
				return new Date(t.endDate) < e;
			}
			return !0;
		})), r !== "all" && n === "today" && (l = l.filter((e) => {
			let t = new Date(e.startDate).getHours();
			switch (r) {
				case "morning": return t >= 6 && t < 12;
				case "midday": return t >= 12 && t < 18;
				case "afternoon": return t >= 18 && t <= 23;
				default: return !0;
			}
		})), B.selectedTrack && (l = l.filter((e) => e.tracks.some((e) => e.id === B.selectedTrack.id))), a && (l = l.filter((e) => e.bookmarked)), o) {
			let e = /* @__PURE__ */ new Date();
			l = l.filter((t) => {
				let n = new Date(t.startDate), r = new Date(t.endDate);
				return n <= e && e <= r;
			});
		}
		s.length > 0 && (l = l.filter((e) => e.tracks.some((e) => s.includes(e.id)))), c.length > 0 && (l = l.filter((e) => e.boothId && c.includes(e.boothId)));
		let u = z.searchStore.searchText;
		return u && (l = new y(l, {
			keys: ["name"],
			threshold: .3,
			ignoreLocation: !0,
			includeScore: !0
		}).search(u).map((e) => e.item)), l;
	}, [
		t,
		z.searchStore.searchText,
		n,
		r,
		B.selectedTrack,
		a,
		o,
		s,
		c,
		z.sessionsFilterStore.state
	]), u = (0, X.useMemo)(() => [...l].sort((e, t) => {
		let n = new Date(e.startDate).getTime(), r = new Date(t.startDate).getTime();
		return i === "asc" ? r - n : n - r;
	}), [l, i]);
	return /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: "efp-sessions-content",
		children: [e && /* @__PURE__ */ (0, Z.jsx)(ma, { interfaceId: "sessions" }), u.length > 0 ? /* @__PURE__ */ (0, Z.jsx)(Yn, {
			events: u,
			showBooths: !0,
			isSessions: !0,
			onEventClick: (e) => {
				z.selectEventItem(e, !0);
			}
		}) : /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-sessions-empty",
			children: z.sessionsFilterStore.activeFiltersCount > 0 || z.searchStore.searchText || B.selectedTrack ? d(a ? "No bookmarked events found. Try adjusting your filters." : "No events found. Try adjusting your filters.") : d("No events found")
		})]
	});
}), va = q((e) => B.list.type !== "sessions" || B.details ? null : /* @__PURE__ */ (0, Z.jsx)(_a, { ...e })), ya = q(() => {
	(0, X.useRef)(null);
	let e = (0, X.useRef)(null), [t, n] = (0, X.useState)(!1), r = z.speakerStore.selectedSpeaker;
	if (!r) return /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "efp-speaker-empty",
		children: d("Speaker not found")
	});
	let i = z.speakerStore.getEventsBySpeaker(r.id), a = (0, X.useMemo)(() => [...i].sort((e, t) => new Date(e.startDate).getTime() - new Date(t.startDate).getTime()), [i]);
	(0, X.useEffect)(() => {
		(() => {
			if (e.current) {
				let t = e.current.offsetHeight;
				n(t > 300);
			}
		})();
	}, []);
	let o = (e) => {
		z.selectEventItem(e, !0);
	}, s = () => {
		r.bookmarked = !r.bookmarked, V(L.ClickBookmark, r.name), r.bookmarked && I("bookmark", r.name, "speaker");
	}, c = () => {
		V(L.ClickCustomButton, r.name), z.toggleModal("share");
	}, l = () => {
		V(L.ClickCustomButton, r.name);
	}, u = (0, Y.default)({
		"efp-speaker": !0,
		[B.responsiveClass]: !0
	});
	return K(() => /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: u,
		children: [
			/* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "efp-speaker__header",
				children: [
					/* @__PURE__ */ (0, Z.jsx)("div", {
						className: "efp-speaker__icon",
						children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-speaker-solid" })
					}),
					/* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "efp-speaker__content",
						children: [
							/* @__PURE__ */ (0, Z.jsx)("div", {
								className: "efp-speaker__name",
								children: r.name
							}),
							r.company && /* @__PURE__ */ (0, Z.jsx)("div", {
								className: "efp-speaker__company",
								children: r.company
							}),
							r.jobTitle && /* @__PURE__ */ (0, Z.jsx)("div", {
								className: "efp-speaker__job-title",
								children: r.jobTitle
							})
						]
					}),
					r.photoFile && /* @__PURE__ */ (0, Z.jsx)("div", {
						className: "efp-speaker__photo",
						children: /* @__PURE__ */ (0, Z.jsx)("img", {
							src: r.photoFile,
							alt: r.name
						})
					})
				]
			}),
			/* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-speaker__buttons",
				children: !B.isGuidedToursActive && /* @__PURE__ */ (0, Z.jsx)(Nn, {
					showBookmark: !B.disableBookmarked && !k.hideBookmarks && !B.kiosk,
					showDirections: !1,
					inBookmark: r.bookmarked || !1,
					showShare: !0,
					showVisited: !1,
					visited: !1,
					onClickBookmark: s,
					onClickShare: c,
					onClickVisited: l
				})
			}),
			/* @__PURE__ */ (0, Z.jsx)("div", {
				className: (0, Y.default)("efp-speaker__details", { "details-hidden": B.kiosk && t }),
				ref: e,
				children: a.length > 0 && /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "efp-speaker-events",
					children: [/* @__PURE__ */ (0, Z.jsx)("h3", {
						className: "efp-speaker-events__title",
						children: d("Sessions")
					}), /* @__PURE__ */ (0, Z.jsx)(Yn, {
						events: a,
						showBooths: !0,
						isSessions: !1,
						onEventClick: o
					})]
				})
			})
		]
	}));
}), ba = q(() => {
	var e;
	let t = z.uiState.details;
	return !t || (t == null || (e = t.entity) == null ? void 0 : e.type) !== "speaker" ? null : /* @__PURE__ */ (0, Z.jsx)(ya, {});
}), xa = q(({ showFilters: e = !0 }) => {
	let t = (0, X.useRef)(), n = z.speakerStore.speakers, { filters: { selectedCompanies: { value: r }, selectedJobTitles: { value: i } } } = z.speakerFilterStore.state, a = (0, X.useMemo)(() => {
		let e = n;
		r.length > 0 && (e = e.filter((e) => r.includes(e.company))), i.length > 0 && (e = e.filter((e) => i.includes(e.jobTitle)));
		let t = z.searchStore.searchText;
		return t && (e = new y(e, {
			keys: [
				"name",
				"company",
				"jobTitle"
			],
			threshold: .3,
			ignoreLocation: !0,
			includeScore: !0
		}).search(t).map((e) => e.item)), e;
	}, [
		n,
		z.searchStore.searchText,
		r,
		i,
		z.speakerFilterStore.state
	]);
	return K(() => /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: "efp-speakers-content",
		children: [e && /* @__PURE__ */ (0, Z.jsx)(ma, { interfaceId: "speakers" }), a.length > 0 ? /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-speakers-list",
			ref: t,
			children: a.map((e) => {
				let t = z.speakerStore.getEventsBySpeaker(e.id), n = [];
				return e.jobTitle && n.push({
					type: "text",
					text: e.jobTitle
				}), /* @__PURE__ */ (0, Z.jsx)(Un, {
					id: e.id.toString(),
					kind: "speaker",
					title: e.name,
					subtitle: e.company,
					image: e.photoFile,
					itemsCount: t.length,
					additionalInfo: n,
					bookmarked: e.bookmarked,
					onClick: () => z.selectSpeaker(e, !0)
				}, e.id);
			})
		}) : /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "list-empty",
			children: z.speakerFilterStore.activeFiltersCount > 0 || z.searchStore.searchText ? d("No speakers found. Try adjusting your filters.") : d("No speakers found")
		})]
	}));
}), Sa = q((e) => B.list.type !== "speakers" || B.details ? null : /* @__PURE__ */ (0, Z.jsx)(xa, { ...e })), Ca = () => {
	let e = (0, X.useRef)(null);
	return K(() => {
		let t = z.toursStore.currentTour;
		if (!t) return null;
		let n = t.points && t.points.length > 0;
		return /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: (0, Y.default)("efp-tour-points", { hidden: B.kiosk }),
			children: [B.tourDescription && /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-wayfinding-description",
				children: B.tourDescription
			}), n && /* @__PURE__ */ (0, Z.jsx)(ur, { updatedScrollableRef: e })]
		});
	});
}, wa = () => K(() => !B.menu && !B.details && z.toursStore.currentTour && /* @__PURE__ */ (0, Z.jsx)(Ca, {})), Ta = q(() => {
	let e = z.toursStore.tourItems, t = z.toursStore.hasTours, n = z.toursStore.currentExpo, r = z.toursStore.toursLoadError, i = (0, X.useMemo)(() => {
		let t = e, n = z.searchStore.searchText;
		return n && (t = new y(t, {
			keys: ["name"],
			threshold: .3,
			ignoreLocation: !0,
			includeScore: !0
		}).search(n).map((e) => e.item)), t;
	}, [e, z.searchStore.searchText]), a = (e, t, n) => {
		z.toursStore.launchTour(e, t, n);
	};
	return K(() => r ? /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "efp-tours-content",
		children: /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-tours-empty",
			children: /* @__PURE__ */ (0, Z.jsxs)("p", { children: [
				d("Error loading Guided Tours"),
				": ",
				r
			] })
		})
	}) : t ? i.length === 0 ? /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "efp-tours-content",
		children: /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-tours-empty",
			children: /* @__PURE__ */ (0, Z.jsx)("p", { children: d("No Guided Tours found matching your search") })
		})
	}) : /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "efp-tours-content",
		children: /* @__PURE__ */ (0, Z.jsx)(co, {
			tours: i,
			onTourClick: a
		})
	}) : /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "efp-tours-content",
		children: /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-tours-empty",
			children: /* @__PURE__ */ (0, Z.jsxs)("p", { children: [
				d("No Guided Tours available for"),
				" ",
				n
			] })
		})
	}));
}), Ea = q((e) => B.list.type !== "tours" || B.details ? null : /* @__PURE__ */ (0, Z.jsx)(Ta, { ...e }));
//#endregion
//#region src/components/Visited.tsx
function Da() {
	let e = (0, X.useRef)();
	return K(() => /* @__PURE__ */ (0, Z.jsx)(ur, { updatedScrollableRef: e }));
}
var Oa = () => K(() => !B.details && B.list.type === "visited" && /* @__PURE__ */ (0, Z.jsx)(Da, {})), ka = q(({ url: e }) => /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
	fallback: null,
	children: /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "route-qr",
		children: /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: "route-qr__body",
			children: [/* @__PURE__ */ (0, Z.jsx)("div", {
				className: "route-qr__code",
				role: "img",
				"aria-label": d("QR code to open the route on your phone"),
				children: /* @__PURE__ */ (0, Z.jsx)(Ei, {
					value: e,
					size: 80
				})
			}), /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "route-qr__label",
				children: d("Scan to see route on your phone")
			})]
		})
	})
})), Aa = ({ items: e, accessible: t, onClick: n }) => e != null && e.length ? /* @__PURE__ */ (0, Z.jsx)("div", {
	className: "efp-wayInformation",
	onClick: n,
	role: "button",
	tabIndex: 0,
	"aria-label": d("Show detailed route steps"),
	children: e.map((e, n) => /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: (0, Y.default)("efp-wayInformation__item", { "is-accessible": t && n === 0 }),
		children: [/* @__PURE__ */ (0, Z.jsx)("span", { children: e.title }), /* @__PURE__ */ (0, Z.jsx)("strong", { children: e.text })]
	}, n))
}) : null, ja = ({ options: e = [], fromValue: t, toValue: n, showForm: r = !0, showAccessible: i = !1, showInfo: a = !1, routeFound: o = !1, infoItems: s = [], infoAccessible: c, floors: l = [], currentFloor: u, routeUrl: f, isKiosk: p, onChangeFrom: m, onChangeTo: h, getOptionKey: g, onSwitch: _, onClickInfo: v, onClickFloor: y, onAccessibleCheck: b, showDetailsIcon: x, onDetailsIconClick: S }) => /* @__PURE__ */ (0, Z.jsxs)("div", {
	className: (0, Y.default)("efp-wayfinding", { isCollapsed: !r }),
	children: [
		r && /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: "efp-wayfinding__top",
			children: [/* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "efp-wayfindingForm",
				children: [
					/* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "efp-wayfindingForm__icons",
						children: [
							/* @__PURE__ */ (0, Z.jsx)("div", {
								className: "efp-wayfindingForm__from",
								children: /* @__PURE__ */ (0, Z.jsxs)("svg", {
									width: "18",
									height: "18",
									viewBox: "0 0 18 18",
									fill: "none",
									xmlns: "http://www.w3.org/2000/svg",
									children: [/* @__PURE__ */ (0, Z.jsx)("path", {
										d: "M18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9Z",
										fill: "white"
									}), /* @__PURE__ */ (0, Z.jsx)("path", {
										fillRule: "evenodd",
										clipRule: "evenodd",
										d: "M9 13.375C11.4162 13.375 13.375 11.4162 13.375 9C13.375 6.58375 11.4162 4.625 9 4.625C6.58375 4.625 4.625 6.58375 4.625 9C4.625 11.4162 6.58375 13.375 9 13.375ZM9 16C12.866 16 16 12.866 16 9C16 5.13401 12.866 2 9 2C5.13401 2 2 5.13401 2 9C2 12.866 5.13401 16 9 16Z",
										fill: "#30AFEB"
									})]
								})
							}),
							/* @__PURE__ */ (0, Z.jsx)("div", {
								className: "efp-wayfindingForm__to",
								children: /* @__PURE__ */ (0, Z.jsxs)("svg", {
									width: "18",
									height: "25",
									viewBox: "0 0 18 25",
									fill: "none",
									xmlns: "http://www.w3.org/2000/svg",
									children: [/* @__PURE__ */ (0, Z.jsx)("path", {
										fillRule: "evenodd",
										clipRule: "evenodd",
										d: "M9 24.1571L10.5475 22.267C11.0023 21.7114 11.4571 21.1656 11.9041 20.6291C13.2939 18.9611 14.6088 17.3829 15.6182 15.8814C16.988 13.8436 18 11.668 18 9.125C18 4.09562 14.0267 0 9 0C3.97332 0 0 4.09562 0 9.125C0 11.668 1.01202 13.8436 2.38182 15.8814C3.39116 17.3829 4.70613 18.9611 6.09588 20.6291C6.54291 21.1656 6.99767 21.7114 7.45249 22.267L9 24.1571Z",
										fill: "white"
									}), /* @__PURE__ */ (0, Z.jsx)("path", {
										d: "M9 2C5.11111 2 2 5.16667 2 9.125C2 13.0833 5.11111 16.25 9 21C12.8889 16.25 16 13.0833 16 9.125C16 5.16667 12.8889 2 9 2ZM9 6.75C10.2911 6.75 11.3333 7.81083 11.3333 9.125C11.3333 10.4392 10.2911 11.5 9 11.5C7.70889 11.5 6.66667 10.4392 6.66667 9.125C6.66667 7.81083 7.70889 6.75 9 6.75Z",
										fill: "#FF9E2C"
									})]
								})
							}),
							/* @__PURE__ */ (0, Z.jsx)("div", {
								className: "efp-wayfindingForm__dots",
								children: /* @__PURE__ */ (0, Z.jsxs)("svg", {
									width: "4",
									height: "18",
									viewBox: "0 0 4 18",
									fill: "none",
									xmlns: "http://www.w3.org/2000/svg",
									children: [/* @__PURE__ */ (0, Z.jsx)("circle", {
										cx: "2",
										cy: "2",
										r: "2",
										fill: "#DCDFE9"
									}), /* @__PURE__ */ (0, Z.jsx)("circle", {
										cx: "2",
										cy: "16",
										r: "2",
										fill: "#DCDFE9"
									})]
								})
							})
						]
					}),
					/* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "efp-wayfindingForm__controls",
						children: [/* @__PURE__ */ (0, Z.jsx)("div", {
							style: { marginBottom: 10 },
							children: /* @__PURE__ */ (0, Z.jsx)(An, {
								placeholder: d("Choose starting point"),
								options: e,
								value: t,
								onChange: m,
								getOptionKey: g
							})
						}), /* @__PURE__ */ (0, Z.jsx)("div", { children: /* @__PURE__ */ (0, Z.jsx)(An, {
							placeholder: d("Choose destination point"),
							options: e,
							value: n,
							onChange: h,
							getOptionKey: g
						}) })]
					}),
					/* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "efp-wayfindingForm__actions",
						children: [/* @__PURE__ */ (0, Z.jsx)("button", {
							type: "button",
							className: "efp-wayfindingForm__switch",
							onClick: _
						}), x && /* @__PURE__ */ (0, Z.jsx)("button", {
							type: "button",
							className: "efp-wayfindingForm__details",
							onClick: S
						})]
					})
				]
			}), i && /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-wayfindingForm__accessible",
				children: /* @__PURE__ */ (0, Z.jsx)(Dn, {
					name: "onlyAccessible",
					label: d("Accessible"),
					value: c,
					onChange: (e) => b(e)
				})
			})]
		}),
		l.length > 1 && /* @__PURE__ */ (0, Z.jsx)(na, {
			floors: l,
			value: u,
			onSelect: y
		}),
		a && /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-wayfindingInfo",
			children: o ? /* @__PURE__ */ (0, Z.jsxs)(Z.Fragment, { children: [/* @__PURE__ */ (0, Z.jsx)(Aa, {
				items: s,
				accessible: c,
				onClick: v
			}), p && /* @__PURE__ */ (0, Z.jsx)(ka, { url: f })] }) : /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-wayfindingError",
				children: d("Route not found")
			})
		})
	]
});
//#endregion
//#region src/components/Wayfinding.tsx
function Ma() {
	var e;
	let t = (0, X.useRef)(null), n = (0, X.useMemo)(() => {
		let e = z.routeStore.pathLayers;
		return e.map((t, n) => {
			var r, i, a, o, s, c;
			let l = e[n + 1], u = (r = (i = t.layer) == null ? void 0 : i.basePriority) == null ? 0 : r, d = (a = l == null || (o = l.layer) == null ? void 0 : o.basePriority) == null ? 0 : a, f = l ? d < u ? "up" : "down" : void 0;
			return {
				id: t.id,
				name: (s = t.layer) == null ? void 0 : s.shortName,
				description: (c = t.layer) == null ? void 0 : c.description,
				directionToNext: f
			};
		});
	}, [z.routeStore.pathLayers]), [r, i] = (0, X.useState)(), [a, o] = (0, X.useState)({}), s = (e) => {
		e && o((t) => ({
			...t,
			[e.value]: e
		}));
	};
	(0, X.useEffect)(() => {
		r || i(n[0]);
	}, [z.routeStore.pathLayers, n]), (0, X.useEffect)(() => {
		let e = n.find((e) => {
			var t, n;
			return ((t = e.description) == null ? void 0 : t.toLowerCase()) === ((n = z.routeStore.currentRouteLayer) == null || (n = n.description) == null ? void 0 : n.toLowerCase());
		});
		e && i(e);
	}, [z.routeStore.currentRouteLayer, n]), (0, X.useEffect)(() => {
		var e;
		let t = B.selectedRoute;
		if (!t) {
			B.setIsMultiPointRoute(!1);
			return;
		}
		let n = (((e = t.waypoints) == null ? void 0 : e.length) || 0) > 0;
		B.setIsMultiPointRoute(n);
	}, [B.selectedRoute]);
	let c = () => {
		let { from: e, to: t } = B.selectedRoute;
		return !!(e && t);
	}, l = () => B.overlaySize === "full", u = () => !!(c() && !l()), f = () => {
		var e;
		let t = B.selectedRoute;
		return t ? (((e = t.waypoints) == null ? void 0 : e.length) || 0) > 0 ? "multi" : "simple" : "none";
	};
	(0, X.useEffect)(() => {
		f() === "multi" && B.selectedRoute;
	}, [B.selectedRoute]);
	let p = (0, X.useMemo)(() => {
		let e = /* @__PURE__ */ new Set(), t = ze.booths, n = t.filter((e) => e instanceof Pe), r = t.filter((e) => !(e instanceof Pe)), i = [];
		return Ae.exhibitors.forEach((t) => {
			for (let n of t.booths) e.add(n.id);
			i.push(...t.booths.map((e) => ({
				value: e.id.toString(),
				label: t.name + " - " + e.fullName,
				exhibitorId: t.id
			})));
		}), r.filter((t) => !e.has(t.id)).forEach((e) => {
			i.push({
				value: e.id.toString(),
				label: e.fullName
			});
		}), i = i.sort((e, t) => e.label.localeCompare(t.label, void 0, { sensitivity: "base" })), n.filter((t) => !e.has(t.id)).forEach((e) => {
			i.push({
				value: e.id.toString(),
				label: e.fullName
			});
		}), i;
	}, [Ae.exhibitors.length, ze.booths.length]);
	return (0, X.useEffect)(() => {
		var e;
		let t = (e = B.selectedRoute) == null || (e = e.to) == null || (e = e.id) == null ? void 0 : e.toString(), n = z.routeStore.currentRouteExhibitor;
		if (!n) return;
		let r = p.find((e) => e.value === t && e.exhibitorId === n.id);
		z.routeStore.currentRouteExhibitor = null, s(r);
	}, [
		z.routeStore.currentRouteExhibitor,
		(e = B.selectedRoute) == null || (e = e.to) == null ? void 0 : e.id,
		p
	]), K(() => {
		var e, i, o, c, l, m, h, g;
		if (f() === "multi") {
			var _, v;
			return /* @__PURE__ */ (0, Z.jsxs)("div", {
				className: (0, Y.default)("main-wayfinding", { hidden: B.kiosk && ((_ = B.selectedRoute) == null ? void 0 : _.from) && ((v = B.selectedRoute) == null ? void 0 : v.to) }),
				children: [B.routeDescription && /* @__PURE__ */ (0, Z.jsx)("div", {
					className: "efp-wayfinding-description",
					children: B.routeDescription
				}), /* @__PURE__ */ (0, Z.jsx)(ur, { updatedScrollableRef: t })]
			});
		}
		let y = (e = B.selectedRoute) != null && e.from && !(B.selectedRoute.from instanceof we) ? B.selectedRoute.from : null, b = (i = B.selectedRoute) != null && i.to && !(B.selectedRoute.to instanceof we) ? B.selectedRoute.to : null, x = [];
		y && x.push({
			value: y.id,
			label: y.name
		}), b && b.id !== (y == null ? void 0 : y.id) && x.push({
			value: b.id,
			label: b.name
		}), x.push(...p);
		let S = (e, t = !0) => {
			var n;
			let r = e == null ? void 0 : e.value;
			if (r === "current-position" || r === "kiosk-anchor") return;
			let i = (n = ze.booths.find((e) => e.id.toString() === r)) == null ? null : n, { from: a, to: o } = B.selectedRoute;
			s(e), t ? z.routeStore.selectRoute(new T(i, o)) : z.routeStore.selectRoute(new T(a, i));
		}, C = (e) => {
			let t = [], n = xe().getAttribute("units") || "ft", r = ee(e, ne(n)), i = /* @__PURE__ */ new Date();
			i.setMinutes(i.getMinutes() + r / 60);
			let a = i.toLocaleTimeString([], {
				hour: "2-digit",
				minute: "2-digit"
			});
			return t.push({
				title: d("Travel time"),
				text: r < 60 ? "< 1 min" : `~ ${Math.round(r / 60)} min`
			}, {
				title: d("Distance"),
				text: Math.round(e) + ` ${n}`
			}, {
				title: d("Est arrival"),
				text: a
			}), t;
		}, w = () => {
			let { from: e, to: t } = B.selectedRoute;
			(e == null ? void 0 : e.id) !== "current-position" && z.routeStore.selectRoute(new T(t, e));
		}, E = ((o = B.selectedRoute) == null ? void 0 : o.from) && ((c = B.selectedRoute) == null ? void 0 : c.to) && !z.routeStore.routeLines.length;
		function D() {
			var e;
			let t = (e = B.selectedRoute) == null || (e = e.from) == null || (e = e.id) == null ? void 0 : e.toString(), n = t ? a[t] : void 0;
			return x.find((e) => n ? e.value === n.value && e.label === n.label : e.value === t);
		}
		function O() {
			var e;
			let t = (e = B.selectedRoute) == null || (e = e.to) == null || (e = e.id) == null ? void 0 : e.toString(), n = t ? a[t] : void 0;
			return x.find((e) => n ? e.value === n.value && e.label === n.label : e.value === t);
		}
		let A = !!(!k.hideWayInformation && W.EXPO !== "bloomberg" && (l = B.selectedRoute) != null && l.from && (m = B.selectedRoute) != null && m.to);
		return /* @__PURE__ */ (0, Z.jsx)("div", {
			className: (0, Y.default)("main-wayfinding", { hidden: B.kiosk && ((h = B.selectedRoute) == null ? void 0 : h.from) && ((g = B.selectedRoute) == null ? void 0 : g.to) }),
			children: /* @__PURE__ */ (0, Z.jsx)(ja, {
				showForm: !u(),
				showInfo: A,
				floors: n,
				currentFloor: r,
				onClickFloor: (e) => {
					let t = z.routeStore.pathLayers.find((t) => t.id === e.id);
					t != null && t.layer && z.layerStore.updateVisibility(t.layer, !0);
				},
				routeFound: !E,
				options: x,
				getOptionKey: (e) => {
					var t;
					return `${e.value}-${(t = e.exhibitorId) == null ? "" : t}`;
				},
				fromValue: D(),
				toValue: O(),
				onChangeFrom: (e) => S(e, !0),
				onChangeTo: (e) => S(e, !1),
				onSwitch: w,
				infoItems: C(z.routeStore.routeDistance),
				infoAccessible: z.routeStore.onlyAccessible,
				showAccessible: z.routeStore.showAccessible,
				onAccessibleCheck: (e) => z.routeStore.setOnlyAccessible(e),
				onClickInfo: () => z.showOverlay(),
				routeUrl: B.routeQRCodeUrl,
				isKiosk: B.kiosk,
				showDetailsIcon: B.showRouteInstantly,
				onDetailsIconClick: () => {
					var e;
					let { from: t, to: n } = B.selectedRoute || {}, r = (e = n instanceof we ? n : null) == null ? t instanceof we ? t : null : e;
					if (r) {
						var i;
						let e = r.id.toString(), t = (i = a[e]) == null ? x.find((t) => t.value === e) : i;
						B.details = ((t == null ? void 0 : t.exhibitorId) == null ? r.exhibitors.find((e) => t == null ? void 0 : t.label.includes(e.name)) : r.exhibitors.find((e) => e.id === t.exhibitorId)) || r;
					}
				}
			})
		});
	});
}
function Na() {
	return K(() => W.wayfinding && !B.menu && B.selectedRoute && B.list.type !== "route-planner" && /* @__PURE__ */ (0, Z.jsx)(Ma, {}));
}
//#endregion
//#region src/components/OverlayContainer.tsx
var Pa = q(({ isGDPR: e, consent: t }) => {
	let n = (0, X.useCallback)((e) => {
		B.desiredOverlaySize = e;
	}, []), r = (0, X.useCallback)((e) => {
		B.setOverlayScrolled(e);
	}, []), i = B.overlaySize, a = (0, X.useMemo)(() => [B.list.type, B.details], [B.list.type, B.details]), o = (0, X.useMemo)(() => {
		let e = (0, Y.default)({
			"-backdrop": B.canvasStarted && B.shouldUseBackdrop && !B.dimmed && !B.galleryActive,
			"-no-transition": B.dimmed,
			"-gallery-active": B.galleryActive,
			collapsed: B.overlayCollapsed,
			kiosk: B.kiosk,
			start: B.overlayPosition === "left",
			bottom: B.overlayPosition !== "left",
			...B.overlaySize && { [B.overlaySize]: !0 }
		}), t = B.overlayInterfaceClasses.join(" ");
		return t ? `${e} ${t}` : e;
	}, [
		B.canvasStarted,
		B.shouldUseBackdrop,
		B.dimmed,
		B.galleryActive,
		B.overlayCollapsed,
		B.kiosk,
		B.inIdle,
		B.setKioskModeEnabled,
		B.overlayPosition,
		B.overlaySize,
		B.overlayInterfaceClasses
	]);
	return /* @__PURE__ */ (0, Z.jsxs)(fn, {
		open: B.isOverlayOpen,
		size: i,
		particles: B.isFeaturedExhibitorActive ? /* @__PURE__ */ (0, Z.jsx)(ta, {}) : null,
		className: o,
		mediumSizeMultiplier: Me.mediumSizeMultiplier,
		fullSizeOffset: Me.fullSizeOffset,
		disableDrag: B.viewerMode && B.menu,
		forceFull: B.viewerMode && B.menu,
		scrollResetKey: a,
		noContentLabel: d("No content"),
		onChangeSize: n,
		onScrollStateChange: r,
		onScrollActivity: () => {
			var e, t;
			return (e = (t = window).__resett) == null ? void 0 : e.call(t);
		},
		children: [
			/* @__PURE__ */ (0, Z.jsx)($i, {
				isGDPR: e,
				consent: t
			}),
			/* @__PURE__ */ (0, Z.jsx)(ga, {}),
			/* @__PURE__ */ (0, Z.jsx)(ui, {}),
			/* @__PURE__ */ (0, Z.jsx)(nr, {}),
			/* @__PURE__ */ (0, Z.jsx)(In, {}),
			/* @__PURE__ */ (0, Z.jsx)(Oa, {}),
			/* @__PURE__ */ (0, Z.jsx)(yi, {}),
			/* @__PURE__ */ (0, Z.jsx)(fr, {}),
			/* @__PURE__ */ (0, Z.jsx)(Na, {}),
			/* @__PURE__ */ (0, Z.jsx)(fi, {}),
			/* @__PURE__ */ (0, Z.jsx)(va, { showFilters: !0 }),
			/* @__PURE__ */ (0, Z.jsx)(Sa, { showFilters: !0 }),
			/* @__PURE__ */ (0, Z.jsx)(Ea, {}),
			/* @__PURE__ */ (0, Z.jsx)(wa, {}),
			/* @__PURE__ */ (0, Z.jsx)(ua, {}),
			/* @__PURE__ */ (0, Z.jsx)(jr, {}),
			/* @__PURE__ */ (0, Z.jsx)(ba, {})
		]
	});
});
//#endregion
//#region src/tools/debounce.ts
function Fa(e, t) {
	let n;
	return (...r) => {
		clearTimeout(n), n = setTimeout(() => {
			e(...r);
		}, t);
	};
}
//#endregion
//#region src/tools/handleDebugMode.ts
function Ia() {
	try {
		let e = new URL(window.location.href), t = null, n = null;
		for (let [r, i] of e.searchParams) if (r === "debug") {
			t = i, n = r;
			break;
		} else if (r.startsWith("debug%3D") || r.startsWith("debug=")) {
			t = r.split("=")[1], n = r;
			break;
		}
		if (t === "1") localStorage.setItem(i, "true");
		else if (t === "0") localStorage.setItem(i, "false");
		else return;
		n && (e.searchParams.delete(n), Ne(e.search) && window.location.reload());
	} catch (e) {
		console.error("Error in handleDebugMode:", e);
	}
}
//#endregion
//#region src/utils/customCommands.ts
function La(e) {
	if (e = e.trim(), e.toLowerCase() === "__addcache") navigator.serviceWorker.getRegistrations().then((e) => {
		if (!e.length) return alert("No registered service workers.");
		let t = [];
		z.exhibitorStore.exhibitors.forEach((e) => {
			var n;
			(n = e.logo) != null && n.url && t.push(e.logo.url), t.push(...e.gallery || []);
		}), Promise.all(t.map((e) => fetch(e))).then((e) => alert(`${e.length} images loaded.`)).catch((e) => alert(e));
	});
	else if (Oe()) return !0;
	else e.startsWith("debug") ? Ia() : e === (k.customSetKiosk || "setkiosk") && B.enableSetKioskMode(!0);
	return !1;
}
//#endregion
//#region src/components/SearchBox.tsx
var Ra = 1e3;
function za(e) {
	return e.getRootNode().activeElement === e;
}
function Ba({ className: e }) {
	let t = (0, X.useRef)(null), n = (0, X.useRef)(null);
	function r(e) {
		let t = 0;
		switch (e.key) {
			case "Down":
			case "ArrowDown":
				t = 1;
				break;
			case "Up":
			case "ArrowUp":
				t = -1;
				break;
			case "Enter": {
				e.preventDefault(), z.openActiveListItem();
				let t = n.current;
				t && La(t.value);
				return;
			}
			case "Escape":
				e.preventDefault(), H.closeSearch();
				return;
		}
		t && (e.preventDefault(), z.changeActiveListIndex(t));
	}
	let [i, a] = (0, X.useState)(""), [o, s] = (0, X.useState)(!1);
	$e(() => {
		s(B.kiosk && B.inIdle);
	}), (0, X.useEffect)(() => {
		if (!o) return;
		let e = [
			d("Find Companies..."),
			d("Find Categories..."),
			d("Find Sessions..."),
			d("Search...")
		], t = 0, n = 0, r = !1, i, s = () => {
			let o = e[t];
			r ? (a(o.substring(0, n - 1)), n--) : (a(o.substring(0, n + 1)), n++);
			let c = r ? 50 : 100;
			!r && n === o.length ? (r = !0, c = 2e3) : r && n === 0 && (r = !1, t = (t + 1) % e.length, c = 500), i = setTimeout(s, c);
		};
		return i = setTimeout(s, 0), () => clearTimeout(i);
	}, [o]), $e(() => {
		let e = n.current;
		e && !H.isFocused && za(e) && e.blur();
	}), $e(() => {
		B.menu && B.kiosk && H.setFocused(!1);
	}), $e(() => {
		let e = n.current;
		e && H.isFocused && !H.skipInputFocus && !za(e) && e.focus();
	}), (0, X.useEffect)(() => {
		z.fuzzySearchEngineStore.loadEngine();
	}, []);
	let c = (0, X.useMemo)(() => Fa(() => {
		var e, t;
		H.searchText && V(L.Search, H.searchText), (e = (t = window).__resett) == null || e.call(t);
	}, Ra), []);
	function l() {
		var e;
		H.setSearchText(((e = n.current) == null ? void 0 : e.value) || ""), c();
	}
	function u() {
		var e, t;
		H.setFocused(!0), (e = (t = window).__resett) == null || e.call(t);
	}
	function f() {
		H.isFocused || (H.handleSearchAction(), setTimeout(() => {
			var e;
			(e = n.current) == null || e.focus();
		}, 100));
	}
	function p() {
		H.handleBackAction();
	}
	function m() {
		H.closeSearch();
	}
	return K(() => /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: (0, Y.default)("search-box", e, H.searchBoxClass, { "efp-semi-transparent": B.setKioskModeEnabled }),
		"data-interface": B.activeInterfaceId,
		ref: t,
		children: [
			/* @__PURE__ */ (0, Z.jsx)("button", {
				className: (0, Y.default)("search-box__button", "search-box__button--back", {
					"is-mobile-details": H.isMobileDetailsMode,
					"search-box__button--home": H.backMode !== "back" && B.viewerMode
				}),
				onClick: p,
				type: "button",
				"aria-label": H.backMode === "back" ? d("Go back") : d("Main menu"),
				children: /* @__PURE__ */ (0, Z.jsx)("i", { className: H.backMode === "back" ? "icon-chevron-left" : B.viewerMode ? "icon-home-solid" : "icon-menu" })
			}),
			/* @__PURE__ */ (0, Z.jsx)("div", {
				className: "search-box__input-wrapper",
				children: H.shouldShowSearchInput ? /* @__PURE__ */ (0, Z.jsx)("input", {
					ref: n,
					type: "search",
					className: "search-box__input",
					placeholder: o ? i : H.placeholder,
					"aria-label": "Search",
					value: H.searchText,
					onChange: l,
					onKeyDown: r,
					onFocus: u,
					autoComplete: "off",
					autoCorrect: "off",
					autoCapitalize: "off",
					spellCheck: !1,
					disabled: B.setKioskModeEnabled
				}) : /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "search-box__title",
					children: [
						H.searchBoxIcon && /* @__PURE__ */ (0, Z.jsx)("i", { className: (0, Y.default)("search-box__title-icon", H.searchBoxIcon) }),
						/* @__PURE__ */ (0, Z.jsxs)("div", {
							className: "search-box__title-content",
							children: [/* @__PURE__ */ (0, Z.jsx)("strong", {
								className: "search-box__title-text",
								children: H.searchBoxTitle
							}), H.searchBoxSubtitle && /* @__PURE__ */ (0, Z.jsx)("span", {
								className: "search-box__title-subtitle",
								children: H.searchBoxSubtitle
							})]
						}),
						H.searchBoxBadge ? /* @__PURE__ */ (0, Z.jsx)(Ct, {
							variant: "lightgray",
							size: "md",
							rounded: !0,
							noMargins: !0,
							children: H.searchBoxBadge
						}) : null
					]
				})
			}),
			!H.shouldShowSearchInput && H.searchBoxActions.map((e) => /* @__PURE__ */ (0, Z.jsx)("button", {
				className: "search-box__button search-box__button--ui-action",
				onClick: e.handler,
				type: "button",
				"aria-label": e.label,
				title: e.label,
				children: /* @__PURE__ */ (0, Z.jsx)("i", { className: e.icon })
			}, e.id)),
			/* @__PURE__ */ (0, Z.jsx)("button", {
				className: "search-box__button search-box__button--action",
				onClick: H.shouldShowSearchInput ? H.shouldShowCloseButton ? m : f : m,
				type: "button",
				"aria-label": H.ariaLabel,
				children: /* @__PURE__ */ (0, Z.jsx)("i", { className: H.actionButtonIcon })
			})
		]
	}));
}
//#endregion
//#region src/components/SearchButtons/SearchButton.tsx
var Va = q(({ id: e, label: t, icon: n, text: r, active: i, count: a, variant: o = "toggle", isDimmed: s = !1, isDisabled: c = !1, showZeroCount: l = !1, backgroundColor: u, textColor: d, onClick: f }) => {
	let p = a !== void 0 && (a > 0 || l), m = !!u;
	return /* @__PURE__ */ (0, Z.jsxs)("button", {
		type: "button",
		style: m ? {
			"--btn-bg-color": u,
			"--btn-text-color": d || "#1a1a1a"
		} : void 0,
		className: (0, Y.default)("efp-search-button", `efp-search-button--${o}`, {
			"is-active": i,
			"is-dimmed": s,
			"is-disabled": c,
			"has-custom-color": m
		}),
		onClick: () => {
			var e, t;
			f == null || f(), (e = (t = window).__resett) == null || e.call(t);
		},
		disabled: c,
		"aria-label": t,
		title: t,
		children: [
			n && /* @__PURE__ */ (0, Z.jsx)("i", { className: n }),
			r && /* @__PURE__ */ (0, Z.jsx)("span", {
				className: "efp-search-button__text",
				children: r
			}),
			p && /* @__PURE__ */ (0, Z.jsx)("span", {
				className: (0, Y.default)("efp-search-button__count", { "is-zero": a === 0 }),
				children: a
			})
		]
	});
}), Ha = (0, X.memo)(q(({ id: e, label: t, icon: n, text: r, active: i, count: a, onClick: o }) => /* @__PURE__ */ (0, Z.jsxs)("button", {
	type: "button",
	className: (0, Y.default)("efp-search-sub-button", { "is-active": i }),
	onClick: o,
	"aria-label": t,
	title: t,
	children: [n ? /* @__PURE__ */ (0, Z.jsx)("i", { className: n }) : r ? /* @__PURE__ */ (0, Z.jsx)("span", {
		className: "efp-search-sub-button__text",
		children: r
	}) : null, a !== void 0 && a > 0 && /* @__PURE__ */ (0, Z.jsx)("span", {
		className: "efp-search-sub-button__count",
		children: a
	})]
})));
Ha.displayName = "SearchSubButton";
//#endregion
//#region src/components/SearchButtons/SearchSubButtons.tsx
var Ua = (0, X.memo)(q(() => {
	let { searchButtonsStore: e } = z, t = (0, X.useRef)(null);
	(0, X.useEffect)(() => {
		let t = (t) => {
			t.key === "Escape" && e.shouldShowSubButtons && e.hideSubButtons();
		};
		if (e.shouldShowSubButtons) return document.addEventListener("keydown", t), () => document.removeEventListener("keydown", t);
	}, [e.shouldShowSubButtons]);
	let n = (0, X.useMemo)(() => e.activeSubButtons, [e.activeSubButtons]);
	return e.shouldShowSubButtons ? /* @__PURE__ */ (0, Z.jsx)("div", {
		ref: t,
		className: (0, Y.default)("efp-search-sub-buttons", { "is-visible": e.shouldShowSubButtons }),
		children: /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-search-sub-buttons__container",
			children: n.map((e) => /* @__PURE__ */ (0, Z.jsx)(Ha, { ...e }, e.id))
		})
	}) : null;
}));
Ua.displayName = "SearchSubButtons";
//#endregion
//#region src/components/SearchButtons/SearchButtons.tsx
var Wa = q(() => {
	let { searchButtonsStore: e } = z, t = (0, X.useMemo)(() => e.searchButtons.filter((e) => e.enabled), [e.searchButtons]);
	return e.shouldShow ? /* @__PURE__ */ (0, Z.jsxs)("div", {
		className: (0, Y.default)("efp-search-buttons", {
			"is-overlay-full": z.uiState.isOverlayOpen && z.uiState.overlaySize === "full",
			"is-long-levels": !k.shortLevelName,
			"is-standalone": z.uiState.overlayOnDemand && !z.uiState.isOverlayOpen,
			"efp-semi-transparent": z.uiState.setKioskModeEnabled
		}),
		children: [/* @__PURE__ */ (0, Z.jsx)(da, {
			ariaLabel: d("Search filters"),
			scrollAmount: 150,
			showArrowsOnMobile: !1,
			arrowPosition: "inside",
			children: t.map((e) => /* @__PURE__ */ (0, Z.jsx)(Va, {
				...e,
				isDisabled: z.uiState.setKioskModeEnabled
			}, e.id))
		}), e.subButtonsEnabled && /* @__PURE__ */ (0, Z.jsx)(Ua, {})]
	}) : null;
}), Ga = q(({ store: e, visibleSections: t, open: n, onClose: r }) => {
	let i = e.state.filters;
	i.date.pending !== "all" || i.sortOrder.pending !== "desc" || i.use24hFormat.pending !== !1 || i.showBookmarksOnly.pending !== !1 || i.selectedTracks.pending.length > 0 || i.selectedVenues.pending.length;
	let a = (0, X.useMemo)(() => e.rootStore.eventStore.futureEvents.length, [e.rootStore.eventStore.futureEvents]), o = (0, X.useMemo)(() => {
		let t = e.rootStore.eventStore.tracks;
		return t.length ? [{
			groupName: "Tracks",
			items: t.map((t) => ({
				id: t.id,
				name: t.name,
				countProvider: () => e.rootStore.eventStore.getEventsByTrack(t.id).length
			})),
			showGroupActions: !0,
			fullWidth: !0
		}] : [];
	}, [e.rootStore.eventStore.tracks]), s = (0, X.useMemo)(() => {
		let t = e.rootStore.eventStore.venues;
		return t.length ? [{
			groupName: "Venues",
			items: t.map((t) => ({
				id: t.id,
				name: t.name,
				countProvider: () => e.rootStore.eventStore.getEventsByVenue(t.id).length
			})),
			showGroupActions: !0,
			fullWidth: !0
		}] : [];
	}, [e.rootStore.eventStore.venues]), c = (t) => {
		let n = t.map((e) => Number(e));
		e.setPending("selectedTracks", n);
	}, l = (t) => {
		let n = t.map((e) => Number(e));
		e.setPending("selectedVenues", n);
	}, u = n === void 0 ? e.state.isOpen : n, f = r || (() => e.closeFilter()), p = t || e.state.visibleSections;
	return /* @__PURE__ */ (0, Z.jsx)(Xe, {
		open: u,
		title: d("Sessions Filters"),
		maxWidth: 800,
		footerLeft: [{
			label: d("Clear all"),
			variant: "gray",
			disabled: i.selectedTracks.pending.length === 0 && i.selectedVenues.pending.length === 0,
			onClick: () => {
				e.resetFilters(), r && r();
			}
		}],
		footerRight: [{
			label: d("Apply"),
			variant: "primary",
			onClick: () => {
				e.applyFilters(), r && r();
			}
		}],
		onClose: f,
		children: /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: "efp-sessions-filters-modal",
			children: [
				p.includes("tracks") && o.length > 0 && /* @__PURE__ */ (0, Z.jsx)("div", {
					className: "efp-sessions-filters-modal__section",
					children: /* @__PURE__ */ (0, Z.jsx)(jn, {
						groups: o,
						selectedIds: i.selectedTracks.pending,
						onChange: c,
						showItemCounts: !0
					})
				}),
				p.includes("venues") && s.length > 0 && /* @__PURE__ */ (0, Z.jsx)("div", {
					className: "efp-sessions-filters-modal__section",
					children: /* @__PURE__ */ (0, Z.jsx)(jn, {
						groups: s,
						selectedIds: i.selectedVenues.pending,
						onChange: l,
						showItemCounts: !0
					})
				}),
				p.includes("date") && /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "efp-sessions-filters-modal__section",
					children: [/* @__PURE__ */ (0, Z.jsx)("h3", { children: d("Date") }), /* @__PURE__ */ (0, Z.jsx)("div", {
						className: "efp-sessions-filters-modal__buttons",
						children: [
							"all",
							"today",
							"tomorrow"
						].map((t) => /* @__PURE__ */ (0, Z.jsx)("button", {
							className: (0, Y.default)("efp-sessions-filters-modal__btn", { "is-active": i.date.pending === t }),
							onClick: () => e.setPending("date", t),
							children: d(t === "all" ? "All dates" : t.charAt(0).toUpperCase() + t.slice(1))
						}, t))
					})]
				}),
				p.includes("time") && a >= 30 && /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "efp-sessions-filters-modal__section",
					children: [/* @__PURE__ */ (0, Z.jsx)("h3", { children: d("Session time") }), /* @__PURE__ */ (0, Z.jsx)("div", {
						className: "efp-sessions-filters-modal__buttons",
						children: [
							"all",
							"morning",
							"midday",
							"afternoon"
						].map((t) => /* @__PURE__ */ (0, Z.jsx)("button", {
							className: (0, Y.default)("efp-sessions-filters-modal__btn", { "is-active": i.timeOfDay.pending === t }),
							onClick: () => e.setPending("timeOfDay", t),
							children: d(t === "all" ? "All times" : t.charAt(0).toUpperCase() + t.slice(1))
						}, t))
					})]
				}),
				p.includes("sort") && /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "efp-sessions-filters-modal__section",
					children: [/* @__PURE__ */ (0, Z.jsx)("h3", { children: d("Sort order") }), /* @__PURE__ */ (0, Z.jsxs)("div", {
						className: "efp-sessions-filters-modal__buttons",
						children: [/* @__PURE__ */ (0, Z.jsx)("button", {
							className: (0, Y.default)("efp-sessions-filters-modal__btn", { "is-active": i.sortOrder.pending === "desc" }),
							onClick: () => e.setPending("sortOrder", "desc"),
							children: d("Earliest first")
						}), /* @__PURE__ */ (0, Z.jsx)("button", {
							className: (0, Y.default)("efp-sessions-filters-modal__btn", { "is-active": i.sortOrder.pending === "asc" }),
							onClick: () => e.setPending("sortOrder", "asc"),
							children: d("Latest first")
						})]
					})]
				}),
				p.includes("settings") && /* @__PURE__ */ (0, Z.jsxs)("div", {
					className: "efp-sessions-filters-modal__section",
					children: [
						/* @__PURE__ */ (0, Z.jsx)("h3", { children: d("Additional settings") }),
						/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "efp-sessions-filters-modal__toggle",
							children: /* @__PURE__ */ (0, Z.jsx)(Dn, {
								name: "showBookmarksOnly",
								label: d("Show bookmarks only"),
								value: i.showBookmarksOnly.pending,
								onChange: (t) => e.setPending("showBookmarksOnly", t)
							})
						}),
						/* @__PURE__ */ (0, Z.jsx)("div", {
							className: "efp-sessions-filters-modal__toggle",
							children: /* @__PURE__ */ (0, Z.jsx)(Dn, {
								name: "use24hFormat",
								label: d("Show time in 24h format"),
								value: i.use24hFormat.pending,
								onChange: (t) => e.setPending("use24hFormat", t)
							})
						})
					]
				})
			]
		})
	});
}), Ka = q(({ title: e, url: t }) => {
	let n = encodeURIComponent(t), r = [
		{
			network: "facebook",
			name: "Facebook",
			url: `https://www.facebook.com/sharer/sharer.php?u=${n}`,
			ariaLabel: d("Share {{title}} on Facebook", { title: e })
		},
		{
			network: "xcom",
			name: "X.COM",
			url: `https://x.com/share?url=${n}`,
			ariaLabel: d("Share {{title}} on X.com", { title: e })
		},
		{
			network: "linkedin",
			name: "LinkedIn",
			url: `https://linkedin.com/shareArticle?url=${n}`,
			ariaLabel: d("Share {{title}} on LinkedIn", { title: e })
		}
	];
	return /* @__PURE__ */ (0, Z.jsx)(Cn, {
		title: e,
		url: t,
		shareHeading: d("Share"),
		socials: r,
		copyLinkSectionLabel: d("or copy link"),
		directLinkAriaLabel: d("Direct link to {{title}}", { title: e }),
		copyButtonAriaLabel: d("Copy link to clipboard"),
		copyLabel: d("Copy"),
		copiedLabel: d("Copied")
	});
}), qa = q(({ store: e, visibleSections: t, open: n, onClose: r }) => {
	let i = e.state.filters, a = (0, X.useMemo)(() => {
		let t = e.rootStore.speakerStore.companies;
		return t.length ? [{
			groupName: "Companies",
			items: t.map((t) => ({
				id: t,
				name: t,
				countProvider: () => e.rootStore.speakerStore.getSpeakersByCompany(t).length
			})),
			showGroupActions: !0,
			fullWidth: !0
		}] : [];
	}, [e.rootStore.speakerStore.companies]), o = (0, X.useMemo)(() => {
		let t = e.rootStore.speakerStore.jobTitles;
		return t.length ? [{
			groupName: "Job Titles",
			items: t.map((t) => ({
				id: t,
				name: t,
				countProvider: () => e.rootStore.speakerStore.getSpeakersByJobTitle(t).length
			})),
			showGroupActions: !0,
			fullWidth: !0
		}] : [];
	}, [e.rootStore.speakerStore.jobTitles]), s = (t) => {
		let n = t;
		e.setPending("selectedCompanies", n);
	}, c = (t) => {
		let n = t;
		e.setPending("selectedJobTitles", n);
	}, l = n === void 0 ? e.state.isOpen : n, u = r || (() => e.closeFilter()), f = t || e.state.visibleSections;
	return /* @__PURE__ */ (0, Z.jsx)(Xe, {
		open: l,
		title: d("Speaker Filters"),
		maxWidth: 800,
		footerLeft: [{
			label: d("Clear all"),
			variant: "gray",
			disabled: i.selectedCompanies.pending.length === 0 && i.selectedJobTitles.pending.length === 0,
			onClick: () => {
				e.resetFilters();
			}
		}],
		footerRight: [{
			label: d("Apply"),
			variant: "primary",
			onClick: () => {
				e.applyFilters();
			}
		}],
		onClose: u,
		children: /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: "efp-speakers-filters-modal",
			children: [f.includes("companies") && a.length > 0 && /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-speakers-filters-modal__section",
				children: /* @__PURE__ */ (0, Z.jsx)(jn, {
					groups: a,
					selectedIds: i.selectedCompanies.pending,
					onChange: s,
					showItemCounts: !0
				})
			}), f.includes("jobTitles") && o.length > 0 && /* @__PURE__ */ (0, Z.jsx)("div", {
				className: "efp-speakers-filters-modal__section",
				children: /* @__PURE__ */ (0, Z.jsx)(jn, {
					groups: o,
					selectedIds: i.selectedJobTitles.pending,
					onChange: c,
					showItemCounts: !0
				})
			})]
		})
	});
}), Ja = 8e3, Ya = X.memo(() => {
	let e = G(() => ({
		el: null,
		all: [],
		adv: [],
		keySeq: 0,
		index: 0,
		batchStart: 0,
		imgByExhibitorId: /* @__PURE__ */ new Map(),
		batchSize: 100,
		loading: !1,
		leftToNextLoad: 0,
		timeoutId: 0,
		get sectionStyle() {
			let { wsStarted: e, wsPosition: t } = B, n = t === "top", r = {
				right: 0,
				width: "100%",
				opacity: +!!e
			};
			return n ? r.top = 0 : r.bottom = 0, r;
		}
	})), t = (0, X.useCallback)((t = !1) => {
		var n, r;
		let i = t ? e.adv : [];
		t ? e.index = e.batchStart : e.batchStart = e.index;
		let a = ((n = (r = e.el) == null ? void 0 : r.getBoundingClientRect().width) == null ? 0 : n) - U(.3) * 2, o = 0, s = [];
		do {
			var c;
			let t = e.all[e.index % e.all.length], n = e.imgByExhibitorId.get(t.id);
			if (!n) break;
			let r = n.width * B.wsImageHeightPx / n.height + 20;
			if (o + r > a && s.length) break;
			o += r;
			let l = ((c = i[s.length]) == null ? void 0 : c.e) === t ? i[s.length] : null;
			s.push(l == null ? {
				key: e.keySeq++,
				e: t,
				nodeRef: (0, X.createRef)()
			} : l), e.index = (e.index + 1) % e.all.length;
		} while (!0);
		e.adv = s, e.leftToNextLoad = Math.max(0, e.leftToNextLoad - Math.max(0, s.length - i.length));
	}, [e]), n = (0, X.useCallback)(async () => {
		e.loading = !0;
		let t = e.all.slice(e.index, e.index + e.batchSize);
		t.length < e.batchSize && (t = t.concat(e.all.slice(0, e.batchSize - t.length)));
		let n = await F(new Map(t.map((e) => {
			var t;
			return [e.id, { fallback: (t = e.logo) == null ? void 0 : t.url }];
		})));
		return e.leftToNextLoad = n.size, e.loading = !1, n;
	}, [e]), r = (0, X.useCallback)(() => {
		let r = async () => {
			if (e.loading) {
				e.timeoutId = window.setTimeout(r, Ja);
				return;
			}
			e.leftToNextLoad <= e.adv.length && (e.imgByExhibitorId = await n()), t(), e.timeoutId = window.setTimeout(r, Ja);
		};
		clearTimeout(e.timeoutId), e.timeoutId = window.setTimeout(r, Ja);
	}, [n, t]);
	return Ze(() => {
		let i, a = !0;
		return (async () => {
			e.all = We(Ae.advertised), e.imgByExhibitorId = await n(), a && (t(), r(), B.wsStarted = !0, i = p(() => B.screenSize, () => t(!0), { delay: 250 }));
		})(), () => {
			a = !1, i == null || i(), clearInterval(e.timeoutId);
		};
	}), K(() => /* @__PURE__ */ (0, Z.jsx)("section", {
		className: (0, Y.default)("ws", { "efp-semi-transparent": B.setKioskModeEnabled }),
		ref: (t) => e.el = t,
		onMouseOver: () => clearInterval(e.timeoutId),
		onMouseOut: r,
		style: e.sectionStyle,
		children: /* @__PURE__ */ (0, Z.jsx)(ri, {
			component: null,
			children: e.adv.map((e) => {
				var t;
				return /* @__PURE__ */ (0, Z.jsx)(Yr, {
					timeout: 500,
					nodeRef: e.nodeRef,
					children: /* @__PURE__ */ (0, Z.jsx)("a", {
						ref: e.nodeRef,
						href: `?${e.e.slug}`,
						className: "ws__exhibitor",
						style: { height: `${B.wsImageHeightPx}px` },
						onClick: (t) => {
							t.preventDefault(), ge(e.e), z.clickExhibitor(e.e);
						},
						children: /* @__PURE__ */ (0, Z.jsx)("img", {
							src: (t = e.e.logo) == null ? void 0 : t.url,
							alt: e.e.name,
							crossOrigin: "anonymous"
						})
					})
				}, e.key);
			})
		})
	}));
}), Xa = () => K(() => B.wsShown ? /* @__PURE__ */ (0, Z.jsx)(Ya, {}) : null), Za = X.lazy(() => import(
	/* webpackChunkName: "demo" */
	"./Demo-ClW-lszE.js"
).then((e) => e.t)), Qa = X.lazy(() => import(
	/* webpackChunkName: "free" */
	"./Free-CPuBAHN9.js"
)), $a = X.lazy(() => import(
	/* webpackChunkName: "debug" */
	"./Debug-Bt5IRvUt.js"
)), eo = X.lazy(() => import(
	/* webpackChunkName: "maplibre" */
	"./MaplibreAdapter-BdbdSizH.js"
)), to = X.lazy(() => import("./ModalContainer-BuH30fJN.js").then((e) => e.n)), no = X.lazy(() => import(
	/* webpackChunkName: "cc-script" */
	"./CookieConsent-CJSQYYJ0.js"
).then((e) => e.t)), ro = X.lazy(() => import(
	/* webpackChunkName: "cc-script" */
	"./GpsLoader-DiArANLO.js"
)), io = X.lazy(() => import(
	/* webpackChunkName: "set-kiosk-mode" */
	"./SetKioskMode-BUUQxMDT.js"
)), ao = X.lazy(() => import(
	/* webpackChunkName: "show-kiosk" */
	"./ShowKiosk-CGkQXtiC.js"
)), oo = q(function({ offHistory: e, consent: t }) {
	var n, r, i, a, o, s;
	let [c, l] = (0, X.useState)(!1), [u, f] = (0, X.useState)(!1), p = z.maplibreStore.showMaplibre, m = B.searchButtonsOverride !== !1 && (!B.noOverlay || B.overlayOnDemand), h = !B.noOverlay || B.overlayOnDemand && (u || B.isOverlayOpen), _ = null;
	B.bannerType === "demo" ? _ = /* @__PURE__ */ (0, Z.jsx)(Za, {}) : B.bannerType === "free" && (_ = /* @__PURE__ */ (0, Z.jsx)(Qa, {}));
	let v = () => {
		_e(!0), M(), z.uiState.hideCookieConsent = !0;
	}, y = () => {
		_e(!1), M(), z.uiState.hideCookieConsent = !0;
	};
	(0, X.useEffect)(() => {
		async function e() {
			let e = await he();
			l(!!(e || e === null));
		}
		te(t) ? l(!0) : e();
	}, []), J(() => B.isOverlayOpen, (e) => e && f(!0)), J(() => B.selectedExhibitor, (e) => {
		let t = z.heatmapStore.forceTrack;
		if (z.heatmapStore.forceTrack = null, t && t.exhibitor === e) {
			V(t.action, t.label);
			return;
		}
		e && (I("exview", e.id), V(L.ViewExhibitor, e.name));
	}), J(() => B.selectedBooth, (e) => (e == null ? void 0 : e.name) && V(L.ViewBooth, e.name)), J(() => B.selectedCategory, (e) => (e == null ? void 0 : e.name) && V(L.ViewCategory, e == null ? void 0 : e.name)), J(() => B.selectedEventItem, (e) => {
		e != null && e.name && (I("sesview", e.name), V(L.ViewExhibitor, e.name));
	}), J(() => B.selectedSpeaker, (e) => {
		e != null && e.name && I("spkview", e.name);
	});
	let b = !B.hideCookieConsent && !B.kiosk && c && t === "ask";
	return /* @__PURE__ */ (0, Z.jsx)("div", {
		id: "efp-layout",
		className: (0, Y.default)("layout", {
			"efp-kiosk": B.kiosk,
			"efp-kiosk-route-active": B.kiosk && ((n = B.selectedRoute) == null ? void 0 : n.from) && ((r = B.selectedRoute) == null ? void 0 : r.to),
			"efp-layers-mode": z.layerStore.mode,
			"efp-ws-mode": B.wsShown,
			"efp-no-overlay": B.overlayHiddenNow,
			"efp-overlay-on-demand": B.overlayOnDemand,
			"efp-top-banner": B.bannerType === "free" && !B.freeBannerDismissed,
			"efp-viewer-mode": B.viewerMode
		}),
		dir: B.rtl ? "rtl" : "ltr",
		style: { "--ui-scale": B.uiScale.toString() },
		children: /* @__PURE__ */ (0, Z.jsxs)("div", {
			className: `layout__fixed expo-${W.EXPO} overlay-${z.uiState.overlayPosition}`,
			children: [
				(R.mode === Ge.Radio || R.mode === Ge.CheckBox) && !B.floorsControlHidden && z.initialized && /* @__PURE__ */ (0, Z.jsx)(wi, {}),
				h && z.initialized && /* @__PURE__ */ (0, Z.jsx)(Pa, {
					isGDPR: c,
					consent: t
				}),
				z.initialized && /* @__PURE__ */ (0, Z.jsx)(ji, {}),
				(!B.noOverlay || B.overlayOnDemand && B.isOverlayOpen) && z.initialized && !(B.viewerMode && B.menu) && /* @__PURE__ */ (0, Z.jsx)(Ba, {}),
				m && z.initialized && /* @__PURE__ */ (0, Z.jsx)(Wa, {}),
				!B.noOverlay && z.initialized && /* @__PURE__ */ (0, Z.jsx)(Yi, {}),
				!B.mapControlsHidden && z.initialized && /* @__PURE__ */ (0, Z.jsx)(Ji, {}),
				/* @__PURE__ */ (0, Z.jsx)(xi, {}),
				!B.hideHeaderLogo && z.initialized && /* @__PURE__ */ (0, Z.jsx)(Xa, {}),
				z.routeStore.gpsEnabled && /* @__PURE__ */ (0, Z.jsx)(ro, { requestCompassAllowed: !b }),
				ye && !p && /* @__PURE__ */ (0, Z.jsx)(Ki, {}),
				p && /* @__PURE__ */ (0, Z.jsx)(gr, { children: /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
					fallback: /* @__PURE__ */ (0, Z.jsx)("div", {}),
					children: /* @__PURE__ */ (0, Z.jsx)(eo, { viewMode: z.maplibreStore.mapViewMode })
				}) }),
				_ && !B.hideFreeOrDemo && !B.heatmap ? /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
					fallback: null,
					children: _
				}) : null,
				b && /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
					fallback: null,
					children: /* @__PURE__ */ (0, Z.jsx)(no, {
						link: "https://expofp.com/pages/viewer-cookie-consent",
						onAccept: v,
						onReject: y
					})
				}),
				g ? /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
					fallback: null,
					children: /* @__PURE__ */ (0, Z.jsx)($a, {})
				}) : null,
				B.modalActive.share ? /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
					fallback: null,
					children: /* @__PURE__ */ (0, Z.jsx)(to, {
						variant: "share",
						ariaLabel: d("Share"),
						open: B.modalActive.share,
						onClose: () => z.toggleModal("share"),
						children: /* @__PURE__ */ (0, Z.jsx)(Ka, {
							title: ((i = B.selectedExhibitor) == null ? void 0 : i.name) || ((a = B.selectedEventItem) == null ? void 0 : a.name) || "",
							url: e ? `${window.location.origin}?${encodeURI(((o = B.selectedExhibitor) == null ? void 0 : o.slug) || ((s = B.selectedEventItem) == null ? void 0 : s.slug))}` : window.location.href
						})
					})
				}) : null,
				B.heatmap || B.heatmapYah ? /* @__PURE__ */ (0, Z.jsx)(mi, {
					style: { left: `calc(50% + ${z.uiState.mapVisibleStart / 2}px)` },
					className: B.responsiveClass
				}) : null,
				/* @__PURE__ */ (0, Z.jsx)(En, { active: !R.layersLoaded }),
				/* @__PURE__ */ (0, Z.jsx)("div", { id: "fps" }),
				z.initialized && /* @__PURE__ */ (0, Z.jsx)(mr, {}),
				z.initialized && /* @__PURE__ */ (0, Z.jsx)(Ga, { store: z.sessionsFilterStore }),
				z.initialized && /* @__PURE__ */ (0, Z.jsx)(qa, { store: z.speakerFilterStore }),
				/* @__PURE__ */ (0, Z.jsx)(bi, {}),
				z.initialized && B.setKioskModeEnabled && /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
					fallback: null,
					children: /* @__PURE__ */ (0, Z.jsx)(io, {})
				}),
				z.initialized && !B.setKioskModeEnabled && /* @__PURE__ */ (0, Z.jsx)(X.Suspense, {
					fallback: null,
					children: /* @__PURE__ */ (0, Z.jsx)(ao, {})
				})
			]
		})
	});
}), so = q((e) => /* @__PURE__ */ (0, Z.jsx)(Nt, {
	...e,
	levelLabel: d("Level")
}));
q(() => {
	let e = B.overlaySize === "full";
	return /* @__PURE__ */ (0, Z.jsx)(pn, {
		isFull: e,
		onToggle: () => B.toggleMapOverlay(),
		ariaLabel: d(e ? "Collapse overlay" : "Expand overlay")
	});
});
//#endregion
//#region src/components/ToursList.tsx
var co = q(({ tours: e, onTourClick: t }) => {
	let n = (e, n, r) => {
		t && t(e, n, r);
	};
	return e.length === 0 ? /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "efp-tours-empty",
		children: /* @__PURE__ */ (0, Z.jsx)("p", { children: d("No Guided Tours found") })
	}) : /* @__PURE__ */ (0, Z.jsx)("div", {
		className: "efp-tours-list",
		children: e.map((e) => /* @__PURE__ */ (0, Z.jsx)("div", {
			className: "efp-tour-item",
			onClick: () => n(e, e.name, e.description),
			role: "button",
			tabIndex: 0,
			onKeyDown: (t) => {
				(t.key === "Enter" || t.key === " ") && (t.preventDefault(), n(e, e.name, e.description));
			},
			children: /* @__PURE__ */ (0, Z.jsxs)("div", {
				className: "efp-tour-item__body",
				children: [/* @__PURE__ */ (0, Z.jsx)("div", {
					className: "efp-tour-item__left",
					children: /* @__PURE__ */ (0, Z.jsx)("div", {
						className: "efp-tour-item__icon",
						children: /* @__PURE__ */ (0, Z.jsx)("i", { className: "icon-route-solid" })
					})
				}), /* @__PURE__ */ (0, Z.jsx)("div", {
					className: "efp-tour-item__right",
					children: /* @__PURE__ */ (0, Z.jsx)("div", {
						className: "efp-tour-item__content",
						children: /* @__PURE__ */ (0, Z.jsx)("div", {
							className: "efp-tour-item__title",
							children: /* @__PURE__ */ (0, Z.jsx)(rr, { text: e.name })
						})
					})
				})]
			})
		}, e.id))
	});
});
//#endregion
export { Ni as i, La as n, Mi as r, oo as t };

;/* vite-per-chunk-css */
__vite_inject_css__(".efp-alert{border-radius:var(--border-radius-lg);align-items:center;display:flex}.efp-alert--inline{display:inline-flex}.efp-alert__icon{width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale));margin-right:calc(.875rem * var(--ui-scale));border-radius:var(--border-radius-full);color:var(--color-white);justify-content:center;align-items:center;display:flex}.efp-alert__icon>i{font-size:var(--icon-size-lg)}.efp-alert__content{font-size:var(--font-size-lg);color:var(--color-black);flex:1}.efp-alert__content a{color:var(--color-primary);transition:color var(--transition-duration) ease, border var(--transition-duration) ease;text-decoration:underline}.efp-alert__content a:hover{color:var(--color-black)}.efp-alert__title{font-weight:var(--font-weight-bold)}.efp-alert__close{right:calc(-.25rem * var(--ui-scale));width:calc(1.625rem * var(--ui-scale));height:calc(1.625rem * var(--ui-scale));margin-left:calc(.5rem * var(--ui-scale));border-radius:var(--border-radius-md);cursor:pointer;transition:background var(--transition-duration) ease;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.efp-alert__close:before{font-variant:normal;text-transform:none;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\";font-size:24px;font-style:normal;font-weight:400;line-height:1;font-size:var(--icon-size-md);color:var(--color-black);font-family:efp-symbols,sans-serif!important}.efp-alert__close:hover{background:#33333314}.efp-alert--top-right,.efp-alert--bottom-right{box-shadow:var(--shadow-md);position:fixed}.efp-alert--top-right{top:calc(.625rem * var(--ui-scale));right:calc(.625rem * var(--ui-scale))}.efp-alert--bottom-right{right:calc(.625rem * var(--ui-scale));bottom:calc(.625rem * var(--ui-scale))}.efp-alert--info{background:var(--color-primary-ultra-light)}.efp-alert--info a{color:var(--color-primary-dark)}.efp-alert--info .efp-alert__icon{background:var(--color-primary)}.efp-alert--success{background:var(--color-green-ultra-light)}.efp-alert--success a{color:var(--color-green-dark)}.efp-alert--success .efp-alert__icon{background:var(--color-green)}.efp-alert--warning{background:var(--color-orange-ultra-light)}.efp-alert--warning a{color:var(--color-orange-ultra-dark)}.efp-alert--warning .efp-alert__icon{background:var(--color-orange-dark)}.efp-alert--error{background:var(--color-red-ultra-light)}.efp-alert--error a{color:var(--color-red-dark)}.efp-alert--error .efp-alert__icon{background:var(--color-red)}.efp-alert--blank{background:var(--color-white)}.efp-alert--blank a{color:var(--color-primary-dark)}.efp-alert--blank .efp-alert__icon{background:var(--color-primary)}.efp-alert--sm{padding:calc(.375rem * var(--ui-scale)) calc(.625rem * var(--ui-scale));border-radius:var(--border-radius-md)}.efp-alert--sm .efp-alert__content{font-size:var(--font-size-md)}.efp-alert--md{padding:calc(.75rem * var(--ui-scale)) calc(.875rem * var(--ui-scale))}.efp-autocomplete{width:100%;height:calc(3rem * var(--ui-scale));position:relative}.efp-autocomplete:before{font-variant:normal;text-transform:none;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\";top:0;z-index:10;height:inherit;font-size:24px;font-style:normal;font-weight:400;line-height:1;font-size:var(--icon-size-sm);color:var(--color-gray-700);pointer-events:none;align-items:center;display:flex;position:absolute;font-family:efp-symbols,sans-serif!important}.efp-autocomplete:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{right:calc(.625rem * var(--ui-scale))}.efp-autocomplete:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{right:calc(.625rem * var(--ui-scale))}.efp-autocomplete:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{left:calc(.625rem * var(--ui-scale))}.efp-autocomplete:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{left:calc(.625rem * var(--ui-scale))}.efp-autocomplete__input{width:100%;height:calc(3rem * var(--ui-scale));padding-inline:calc(.875rem * var(--ui-scale)) calc(1.875rem * var(--ui-scale));background:var(--color-gray-100);border:1px solid var(--color-gray-100);border-radius:var(--border-radius-md);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);outline:none;-webkit-appearance:none!important;appearance:none!important}.efp-autocomplete__input::-webkit-search-decoration{display:none}.efp-autocomplete__input::-webkit-search-cancel-button{display:none}.efp-autocomplete__input::-webkit-search-results-button{display:none}.efp-autocomplete__input::-webkit-search-results-decoration{display:none}.efp-autocomplete__clear{-webkit-appearance:none;appearance:none;font:inherit;top:0;z-index:10;height:inherit;color:var(--color-gray-700);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex;position:absolute}.efp-autocomplete__clear:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:calc(2rem * var(--ui-scale))}.efp-autocomplete__clear:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:calc(2rem * var(--ui-scale))}.efp-autocomplete__clear:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:calc(2rem * var(--ui-scale))}.efp-autocomplete__clear:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:calc(2rem * var(--ui-scale))}.efp-autocomplete__clear:before{font-variant:normal;text-transform:none;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\";font-size:24px;font-style:normal;font-weight:400;line-height:1;font-size:var(--icon-size-sm);font-family:efp-symbols,sans-serif!important}.efp-autocomplete__clear:hover{color:var(--color-black)}.efp-autocomplete.is-open{z-index:15}.efp-autocomplete.with-clear .efp-autocomplete__input:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-right:calc(3.125rem * var(--ui-scale))}.efp-autocomplete.with-clear .efp-autocomplete__input:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-right:calc(3.125rem * var(--ui-scale))}.efp-autocomplete.with-clear .efp-autocomplete__input:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:calc(3.125rem * var(--ui-scale))}.efp-autocomplete.with-clear .efp-autocomplete__input:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:calc(3.125rem * var(--ui-scale))}.efp-autocomplete__inner{width:100%;height:100%;position:relative}.efp-autocomplete__empty{padding:calc(.625rem * var(--ui-scale)) calc(.9375rem * var(--ui-scale));color:var(--color-gray-700)}.efp-autocomplete-options{z-index:100;background:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-md);width:100%;box-shadow:var(--shadow-lg);position:absolute;overflow:hidden}.efp-autocomplete-options--inline{margin-top:calc(.25rem * var(--ui-scale));max-height:calc(16.25rem * var(--ui-scale));top:100%}.efp-autocomplete-options__scroll{max-height:inherit;overflow-y:auto}.efp-autocomplete-options__scroll::-webkit-scrollbar{background-color:var(--color-gray-100);width:6px}.efp-autocomplete-options__scroll::-webkit-scrollbar-track{background-color:var(--color-gray-100)}.efp-autocomplete-options__scroll::-webkit-scrollbar-thumb{background-color:var(--color-gray-400);border:0;border-radius:14px}.efp-autocomplete-options__scroll::-webkit-scrollbar-thumb:hover{background-color:var(--color-gray-500)}.efp-autocomplete-options__scroll::-webkit-scrollbar-button{display:none}.efp-autocomplete-options__scroll ul{margin:0;padding:0;list-style:none}.efp-autocomplete-options__scroll ul li{padding:calc(.5rem * var(--ui-scale)) calc(.875rem * var(--ui-scale));font-size:var(--font-size-xl);color:var(--color-gray-800);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.efp-autocomplete-options__scroll ul li.is-active{background:var(--color-gray-300);color:var(--color-black)}.efp-autocomplete-options__scroll ul li.is-focus,.efp-autocomplete-options__scroll ul li:hover{background:var(--color-gray-200)}.efp-autocomplete-options__scroll ul li:active{background:var(--color-gray-300)}.efp-badge{margin-bottom:calc(.625rem * var(--ui-scale));font-weight:var(--font-weight-medium);justify-content:center;align-items:center;display:flex}.efp-badge--primary{background:var(--color-primary);color:var(--color-white)}.efp-badge--primary-light{background:var(--color-primary-ultra-light);color:var(--color-primary)}.efp-badge--ghost{color:var(--color-black)}.efp-badge--lightgray{background:var(--color-gray-100);color:var(--color-gray-800)}.efp-badge--gray{background:var(--color-gray-200);color:var(--color-gray-900)}.efp-viewer-mode .efp-badge--gray{background:#ebeef3}.efp-badge--orange{background:var(--color-orange);color:var(--color-black)}.efp-badge--location{background:var(--color-gray-300);color:var(--color-gray-700)}.efp-badge--xs{gap:calc(.5rem * var(--ui-scale));min-width:0;max-width:100%;padding:calc(.1875rem * var(--ui-scale)) calc(.4375rem * var(--ui-scale));border-radius:var(--border-radius-full);font-size:var(--font-size-sm);line-height:var(--font-size-md);overflow:hidden}.efp-badge--xs>:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.efp-badge--lg{gap:calc(.5rem * var(--ui-scale));padding:calc(.625rem * var(--ui-scale));border-radius:var(--border-radius-md);font-size:var(--font-size-xl)}.efp-badge--lg.is-rounded{min-width:calc(1.75rem * var(--ui-scale));height:calc(1.75rem * var(--ui-scale))}.efp-badge--md{gap:calc(.375rem * var(--ui-scale));padding:calc(.375rem * var(--ui-scale)) calc(.5rem * var(--ui-scale));border-radius:var(--border-radius-md);font-size:var(--font-size-md)}.efp-badge--md.is-rounded{min-width:calc(1.5rem * var(--ui-scale));height:calc(1.5rem * var(--ui-scale))}.efp-viewer-mode .efp-badge--md{padding:0 calc(.625rem * var(--ui-scale));min-height:calc(1.75rem * var(--ui-scale))}.efp-badge.is-no-margin{margin:0}.efp-badge.is-inline{display:inline-flex}.efp-badge.is-rounded{border-radius:var(--border-radius-full)}.efp-checkbox-button{gap:calc(.5rem * var(--ui-scale));max-width:calc(25rem * var(--ui-scale));min-height:calc(2.625rem * var(--ui-scale));padding:0 calc(.875rem * var(--ui-scale)) 0 calc(.625rem * var(--ui-scale));background:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-full);font-family:var(--app-font-family);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-gray-600);cursor:pointer;justify-content:center;align-items:center;text-decoration:none;transition:background .1s ease-in-out;display:flex}.efp-checkbox-button:hover{background:var(--color-gray-100)}.efp-checkbox-button__inner{width:calc(1.25rem * var(--ui-scale));height:calc(1.25rem * var(--ui-scale));border:1px solid var(--color-gray-500);border-radius:var(--border-radius-full);justify-content:center;align-items:center;transition:background .1s ease-in-out;display:flex}.efp-checkbox-button--checked{background:var(--color-visited);border-color:var(--color-visited);color:var(--color-white)}.efp-checkbox-button--checked .efp-checkbox-button__inner{border-color:var(--color-visited)}.efp-checkbox-button--checked .efp-checkbox-button__inner:after{font-variant:normal;text-transform:none;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\";font-size:24px;font-style:normal;font-weight:400;line-height:1;font-size:var(--icon-size-md);color:var(--color-white);font-family:efp-symbols,sans-serif!important}.efp-checkbox-button__inner--animate:after{animation:.3s ease-in-out scale-icon}@keyframes scale-icon{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.8)}to{transform:scale(1)}}.efp-download-list{max-width:100%}.efp-download-list__title{padding-bottom:calc(.75rem * var(--ui-scale));font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-gray-500)}.efp-download-list__list{row-gap:calc(.5rem * var(--ui-scale));flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.efp-download-list__item{align-items:center;gap:calc(.5rem * var(--ui-scale));width:100%;max-width:100%;padding:calc(.5rem * var(--ui-scale)) calc(.625rem * var(--ui-scale));background:var(--color-gray-100);border-radius:var(--border-radius-lg);color:var(--color-primary);cursor:pointer;text-decoration:none;display:flex;position:relative}.efp-download-list__item-icon{width:calc(1.5rem * var(--ui-scale));height:calc(1.5rem * var(--ui-scale));background-color:var(--color-primary);border-radius:var(--border-radius-full);justify-content:center;align-items:center;display:flex}.efp-download-list__item-icon>i{font-size:var(--icon-size-xs);color:var(--color-white)}.efp-download-list__item-name{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);flex:1;overflow:hidden}.efp-download-list__item-download>i{font-size:var(--icon-size-md)}.efp-download-list__item:visited{color:var(--color-primary)}.efp-download-list__item:hover{background:var(--color-gray-200);color:var(--color-primary-dark)}.efp-download-list__item:hover .efp-download-list__item-icon{background-color:var(--color-primary-dark)}.efp-download-list__item:hover .efp-download-list__item-download{color:var(--color-primary-dark)}.efp-entity-item{min-height:calc(4.5rem * var(--ui-scale));background:var(--color-white);border-bottom:1px solid var(--color-gray-200);cursor:pointer;align-items:center;display:flex;position:relative}.efp-entity-item__body{z-index:10;gap:calc(.875rem * var(--ui-scale));width:100%;padding:calc(1rem * var(--ui-scale)) calc(.875rem * var(--ui-scale));align-items:flex-start;display:flex;position:relative}.efp-entity-item__left{gap:calc(.375rem * var(--ui-scale));flex-flow:column wrap;align-items:center;display:flex}.efp-entity-item__right{gap:calc(.625rem * var(--ui-scale));flex:1;min-width:0;display:flex}.efp-entity-item__content{flex-direction:column;flex:1;max-width:100%;display:flex}.efp-entity-item__content.with-image{max-width:calc(100% - calc(4.875rem * var(--ui-scale)))}.efp-entity-item__icon{width:calc(1.375rem * var(--ui-scale));height:calc(1.375rem * var(--ui-scale));margin-top:calc(-.125rem * var(--ui-scale));background:var(--item-type-color);border-radius:var(--border-radius-full);justify-content:center;align-items:center;display:flex}.efp-entity-item__icon>i{font-size:var(--icon-size-xxxs);color:var(--color-white)}.efp-entity-item__icon>img{width:calc(.75rem * var(--ui-scale));height:calc(.75rem * var(--ui-scale));filter:brightness(100)contrast(100)}.efp-entity-item__visited{width:calc(1.375rem * var(--ui-scale));height:calc(1.375rem * var(--ui-scale));margin-top:calc(.0625rem * var(--ui-scale));padding-top:calc(.0625rem * var(--ui-scale));background:var(--color-visited);border-radius:var(--border-radius-full);justify-content:center;align-items:center;display:flex}.efp-entity-item__visited>i{font-size:var(--icon-size-xxs);color:var(--color-white)}.efp-entity-item__bookmarked{color:var(--color-bookmarked);font-size:var(--icon-size-lg)!important}.efp-entity-item__datetime{font-size:var(--font-size-md);color:var(--item-type-color)}.efp-entity-item__datetime>span{margin-left:calc(.375rem * var(--ui-scale))}.efp-entity-item__header{flex-flow:column wrap;align-items:flex-start;display:flex}.efp-entity-item__title{width:100%;font-size:var(--font-size-xxl);font-weight:var(--font-weight-medium);color:var(--color-black);letter-spacing:.01em;align-items:center}.efp-entity-item__title>span{margin-left:calc(.375rem * var(--ui-scale));font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);color:var(--color-gray-600)}.efp-entity-item__title>i{top:calc(.0625rem * var(--ui-scale));margin-left:calc(.375rem * var(--ui-scale));font-size:var(--icon-size-xs);color:var(--color-primary);position:relative}.efp-entity-item__description{font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;padding:.4rem 0;font-weight:400;display:block;overflow:hidden}.efp-entity-item__subtitle{margin-top:calc(.125rem * var(--ui-scale));font-size:var(--font-size-md);color:var(--color-gray-600);letter-spacing:.01em}.efp-entity-item__details{row-gap:calc(.25rem * var(--ui-scale));margin:calc(.5rem * var(--ui-scale)) 0 0;flex-flow:column wrap;align-items:flex-start;padding:0;list-style:none;display:flex}.efp-entity-item__details.compact-details{gap:calc(.25rem * var(--ui-scale));flex-flow:wrap;align-items:flex-start}.efp-entity-item__details-item{gap:calc(.4375rem * var(--ui-scale));min-width:0;max-width:100%;padding:calc(.125rem * var(--ui-scale)) calc(.4375rem * var(--ui-scale));background:var(--color-primary-ultra-light);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);line-height:var(--font-size-md);color:var(--color-primary-ultra-dark);letter-spacing:.01em;align-items:center;display:inline-flex;overflow:hidden}.efp-entity-item__details-item>div{min-height:100%;padding:calc(.125rem * var(--ui-scale)) 0;align-items:center;display:block;position:relative}.efp-entity-item__details-item>div:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.efp-entity-item__image{width:calc(4.25rem * var(--ui-scale));height:calc(3.5rem * var(--ui-scale));margin-top:calc(-.0625rem * var(--ui-scale));background:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-xs);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.efp-entity-item__image>img{width:auto;max-width:100%;height:auto;max-height:100%;display:block}.efp-entity-item__featured{min-height:calc(1.25rem * var(--ui-scale));margin:calc(.375rem * var(--ui-scale)) 0 calc(-.0625rem * var(--ui-scale));padding:calc(.1875rem * var(--ui-scale)) calc(.375rem * var(--ui-scale));background:var(--color-featured-badge-bg);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-featured-badge-text);text-align:center;letter-spacing:.03em;align-items:center;display:inline-flex}.efp-entity-item:hover,.efp-entity-item.is-current{background:var(--color-gray-100)}.efp-entity-item:hover .efp-entity-item__details-item,.efp-entity-item.is-current .efp-entity-item__details-item{background:var(--color-primary-very-light)}.efp-entity-item.is-featured{background:var(--color-featured);border-bottom:1px solid var(--color-featured-border)}.efp-entity-item.is-featured .efp-entity-item__details-item{background:var(--color-primary-very-light)}.efp-entity-item.is-featured:hover,.efp-entity-item.is-featured.is-current{background:var(--color-featured-hover)}.efp-entity-item.is-featured:hover .efp-entity-item__details-item,.efp-entity-item.is-featured.is-current .efp-entity-item__details-item{background:var(--color-primary-mid-light)}.efp-entity-item.has-heatmap:after{content:\"\";width:calc(.5rem * var(--ui-scale));background-color:var(--heatmap-color);pointer-events:none;position:absolute;top:0;bottom:0;right:0}.efp-entity-item.has-accent{border-left:calc(.3125rem * var(--ui-scale)) solid var(--accent-border-color)}.efp-entity-item.is-person .efp-entity-item__content.with-image{max-width:calc(100% - calc(3.5rem * var(--ui-scale)))}.efp-entity-item.is-person .efp-entity-item__details{margin-top:0}.efp-entity-item.is-person .efp-entity-item__subtitle{margin-top:calc(.3125rem * var(--ui-scale));font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-gray-900)}.efp-entity-item.is-person .efp-entity-item__details-item{padding:calc(.125rem * var(--ui-scale)) 0;font-size:var(--font-size-md);line-height:var(--font-size-md);color:var(--color-gray-500);background:0 0;border-radius:0;margin-top:0}.efp-entity-item.is-person .efp-entity-item__image{width:calc(3.5rem * var(--ui-scale));height:calc(3.5rem * var(--ui-scale))}.efp-entity-item.is-person .efp-entity-item__image>img{object-fit:cover;object-position:center;width:100%;height:100%}.efp-event-badge{align-items:center;gap:calc(.5rem * var(--ui-scale));max-height:calc(1.125rem * var(--ui-scale));margin-left:calc(.25rem * var(--ui-scale));padding:calc(.25rem * var(--ui-scale)) calc(.25rem * var(--ui-scale));border-radius:var(--border-radius-xs);font-size:var(--font-size-xxs);font-weight:var(--font-weight-medium);text-transform:uppercase;color:var(--color-white);white-space:nowrap;top:calc(-.125rem * var(--ui-scale));display:inline-flex;position:relative}.efp-event-badge--live{background:#f44;animation:2s infinite pulse}.efp-event-badge--upcoming,.efp-event-badge--starting-soon{background:#f80}.efp-event-badge--past{background:#6b7280}.efp-event-badge--full{background:#b83e4a}.efp-event-badge.is-urgent{animation:2s infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.efp-heatmap-legend{bottom:calc(1.25rem * var(--ui-scale));width:calc(25rem * var(--ui-scale));position:absolute;left:50%;transform:translate(-50%)}.efp-heatmap-legend__colors{height:calc(1.25rem * var(--ui-scale));margin-bottom:calc(.125rem * var(--ui-scale))}.efp-heatmap-legend__values{font-weight:var(--font-weight-bold);color:var(--color-black);text-shadow:1px 1px #fff,-1px 1px #fff,1px -1px #fff,-1px -1px #fff;justify-content:space-between;display:flex}@media (max-width:480px){.efp-heatmap-legend__values{font-size:.85em}}@media (max-width:768px){.efp-heatmap-legend{top:calc(calc(1.875rem * var(--ui-scale)) + var(--search-box-height) + var(--search-buttons-height) + var(--ws-height));bottom:unset;width:calc(13.75rem * var(--ui-scale));touch-action:none;-webkit-user-select:none;user-select:none}}@media (max-width:480px){.efp-heatmap-legend{width:calc(11.25rem * var(--ui-scale))}}.efp-level-badge{min-width:0;max-width:100%;margin-bottom:calc(.875rem * var(--ui-scale));padding:calc(.125rem * var(--ui-scale)) calc(.4375rem * var(--ui-scale));background:var(--color-primary-ultra-light);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);line-height:var(--font-size-md);color:var(--color-primary-ultra-dark);letter-spacing:.01em;display:inline-flex;overflow:hidden}.efp-level-badge>span{padding:calc(.125rem * var(--ui-scale)) 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.efp-level-selector{top:var(--levels-top);right:var(--app-gap);z-index:30;position:absolute}.layout[dir=rtl] .efp-level-selector{right:unset;left:var(--app-gap)}.efp-level-selector--compact-list{gap:calc(.1875rem * var(--ui-scale));padding:calc(.1875rem * var(--ui-scale));background:var(--color-white);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.efp-level-selector--dropdown{flex-direction:column;display:flex}.efp-level-selector__item{min-width:calc(2.125rem * var(--ui-scale));height:calc(2.125rem * var(--ui-scale));padding:0 calc(.375rem * var(--ui-scale));border-radius:var(--border-radius-full);font-family:inherit;font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-gray-700);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;appearance:none;background:0 0;border:none;outline:none;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex;position:relative}.efp-level-selector__item>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.efp-level-selector__item:hover:not(.efp-level-selector__item--disabled):not(.efp-level-selector__item--active){background:var(--color-gray-200);color:var(--color-black)}.efp-level-selector__item:focus-visible{outline:calc(.125rem * var(--ui-scale)) solid var(--color-primary);outline-offset:calc(.125rem * var(--ui-scale))}.efp-level-selector__item--active{background:var(--color-primary);color:var(--color-white)}.efp-level-selector__item--disabled{background:var(--color-gray-200);color:var(--color-gray-400);pointer-events:none;cursor:default}.efp-level-selector__trigger{justify-content:space-between;align-items:center;gap:calc(.375rem * var(--ui-scale));width:var(--level-dropdown-trigger-width);height:calc(2.5rem * var(--ui-scale));padding:0 calc(.5rem * var(--ui-scale)) 0 calc(.75rem * var(--ui-scale));background:var(--color-primary);border:calc(.1875rem * var(--ui-scale)) solid var(--color-white);border-radius:var(--border-radius-full);color:var(--color-white);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;box-shadow:var(--shadow-md);transition:background-color .15s;display:flex}.efp-level-selector__trigger:hover{background:var(--color-primary-dark)}.efp-level-selector__trigger:focus-visible{outline:calc(.125rem * var(--ui-scale)) solid var(--color-primary-dark);outline-offset:calc(.125rem * var(--ui-scale))}.efp-level-selector__trigger--open{background:var(--color-primary-dark)}.efp-level-selector__trigger-text{align-items:center;gap:calc(.5rem * var(--ui-scale));max-width:calc(100% - calc(1.5rem * var(--ui-scale)));display:flex}.efp-level-selector__trigger-text>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.efp-level-selector__trigger-text>i{margin-top:calc(-.0625rem * var(--ui-scale));font-size:var(--icon-size-xs)}.efp-level-selector__trigger-chevron{align-items:center;display:flex}.efp-level-selector__trigger-chevron>i{font-size:var(--icon-size-xss);transition:transform .15s}.efp-level-selector__trigger--open .efp-level-selector__trigger-chevron>i{transform:rotate(180deg)}.efp-level-selector__dropdown{z-index:100;min-width:calc(5rem * var(--ui-scale));max-width:calc(13.75rem * var(--ui-scale));max-height:calc(18.75rem * var(--ui-scale));gap:calc(.1875rem * var(--ui-scale));padding:calc(.1875rem * var(--ui-scale));background:var(--color-white);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-lg);flex-direction:column;animation:.15s ease-out levelSelectorFadeIn;display:flex;position:absolute;right:0;overflow-y:auto}.efp-level-selector__dropdown--opens-down{margin-top:calc(.25rem * var(--ui-scale));top:100%}.efp-level-selector__dropdown--opens-up{margin-bottom:calc(.25rem * var(--ui-scale));animation-name:levelSelectorFadeInUp;bottom:100%}.efp-level-selector__dropdown--full{min-width:calc(11.25rem * var(--ui-scale));max-width:calc(20rem * var(--ui-scale))}.layout[dir=rtl] .efp-level-selector__dropdown{right:unset;left:0}.efp-level-selector__dropdown-item{align-items:center;gap:calc(.5rem * var(--ui-scale));min-height:calc(2.125rem * var(--ui-scale));padding:0 calc(.875rem * var(--ui-scale)) 0 calc(.5rem * var(--ui-scale));border-radius:var(--border-radius-2xl);color:var(--color-gray-800);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;transition:background-color .15s;display:flex}.efp-level-selector__dropdown-item:hover:not(.efp-level-selector__dropdown-item--disabled):not(.efp-level-selector__dropdown-item--active){background:var(--color-gray-200)}.efp-level-selector__dropdown-item:focus-visible{background:var(--color-gray-100);outline:none}.efp-level-selector__dropdown-item--active{background:var(--color-primary);color:var(--color-white)}.efp-level-selector__dropdown-item--disabled{color:var(--color-gray-400);pointer-events:none;cursor:default}.efp-level-selector__dropdown-item-icon{width:var(--icon-size-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.efp-level-selector__dropdown-item-icon>i{font-size:var(--icon-size-sm)}.efp-level-selector__dropdown-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes levelSelectorFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes levelSelectorFadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.efp-map-controls{z-index:20;gap:calc(.5rem * var(--ui-scale));width:calc(2.375rem * var(--ui-scale));opacity:0;flex-direction:column;transition:opacity .3s;display:flex;position:absolute}.efp-map-controls.-ready{opacity:1}.layout[dir=rtl] .efp-map-controls{right:unset;left:var(--app-gap)}.efp-map-control{width:calc(2.375rem * var(--ui-scale));height:calc(2.375rem * var(--ui-scale));background:var(--color-white);border-radius:var(--border-radius-full);box-shadow:var(--shadow-md);cursor:pointer;border:0;justify-content:center;align-items:center;padding:0;transition:background-color .2s,color .2s;display:flex}.efp-map-control>i{font-size:var(--icon-size-md);color:var(--color-gray-800);transition:color .2s}.efp-map-control:hover{background:var(--color-gray-100)}.efp-map-control:hover>i{color:var(--color-black)}.efp-map-control--active>i{opacity:1;color:var(--color-primary)}.efp-map-control-group{background:var(--color-white);border-radius:var(--border-radius-full);box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.efp-map-control-group .efp-map-control{box-shadow:none;height:calc(2.25rem * var(--ui-scale));background:0 0;border-radius:0}.efp-map-control-group .efp-map-control:hover{background:var(--color-gray-100)}.efp-map-control-group .efp-map-control-divider{height:1px;width:calc(1.5rem * var(--ui-scale));background:var(--color-gray-200);margin:0 auto}.efp-checked-panel{margin-right:calc(.375rem * var(--ui-scale));max-width:calc(16.25rem * var(--ui-scale));min-width:calc(9.375rem * var(--ui-scale));max-height:calc(18.75rem * var(--ui-scale));background:var(--color-white);-webkit-backdrop-filter:var(--backdrop-blur-ex);backdrop-filter:var(--backdrop-blur-ex);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);z-index:30;transform-origin:100%;animation:.2s ease-out fadeIn;position:absolute;left:auto;right:100%;overflow-y:auto}.efp-checked-panel--opens-down{top:0;bottom:auto}.efp-checked-panel--opens-down:before{top:calc(1.1875rem * var(--ui-scale))}.efp-checked-panel--opens-up{top:auto;bottom:0}.efp-checked-panel--opens-up:before{bottom:calc(1.1875rem * var(--ui-scale));top:auto}.efp-checked-panel__list{padding:calc(.375rem * var(--ui-scale)) 0;margin:0;list-style:none}.efp-checked-panel__checkbox{white-space:nowrap;clip:rect(0, 0, 0, 0);clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.efp-checked-panel__label{width:100%;padding:calc(.5rem * var(--ui-scale)) calc(1rem * var(--ui-scale)) calc(.5rem * var(--ui-scale)) calc(2.5rem * var(--ui-scale));font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-gray-600);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;display:flex;position:relative}.efp-checked-panel__label:before{content:\"\";left:calc(.875rem * var(--ui-scale));font-variant:normal;text-transform:none;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:24px;font-style:normal;font-weight:400;line-height:1;font-size:var(--icon-size-sm);color:var(--color-gray-400);position:absolute;font-family:efp-symbols,sans-serif!important}.efp-checked-panel__label:hover{background:var(--color-gray-100)}.efp-checked-panel__checkbox:focus-visible~.efp-checked-panel__label:before{outline:2px solid var(--color-primary);outline-offset:2px}.efp-checked-panel__checkbox:checked~.efp-checked-panel__label{color:var(--color-black)}.efp-checked-panel__checkbox:checked~.efp-checked-panel__label:before{content:\"\";color:var(--color-primary)}.efp-checked-panel__item-name{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.efp-layers-button{display:inline-flex;position:relative}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.efp-mobile-toggle-button{bottom:calc(1.25rem * var(--ui-scale));z-index:50;justify-content:center;align-items:center;gap:calc(.5rem * var(--ui-scale));white-space:nowrap;min-width:calc(2.375rem * var(--ui-scale));height:calc(2.375rem * var(--ui-scale));padding:0 calc(1rem * var(--ui-scale));background:var(--color-white);border-radius:var(--border-radius-full);box-shadow:var(--shadow-md);color:var(--color-gray-900);cursor:pointer;border:1px solid #0000;flex-shrink:0;transition:all .2s;display:flex;position:fixed;left:50%;transform:translate(-50%)}.efp-mobile-toggle-button i{font-size:var(--icon-size-sm)}.efp-mobile-toggle-button__text{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);white-space:nowrap;text-overflow:ellipsis;max-width:calc(10rem * var(--ui-scale));overflow:hidden}.efp-mobile-toggle-button--map{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.efp-mobile-toggle-button--with-banner{bottom:calc(2.5rem * var(--ui-scale))}.efp-multi-select-groups__list{column-gap:calc(1.875rem * var(--ui-scale));row-gap:calc(1.625rem * var(--ui-scale));grid-template-columns:1fr 1fr;display:grid}@media (max-width:768px){.efp-multi-select-groups__list{grid-template-columns:1fr}}.efp-multi-select-groups__group--full-width{margin-bottom:calc(.25rem * var(--ui-scale));grid-column:1/-1}.efp-multi-select-groups__group-header{gap:calc(1.125rem * var(--ui-scale));margin-bottom:calc(.625rem * var(--ui-scale));align-items:center;display:flex}.efp-multi-select-groups__group-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);color:var(--color-gray-900)}.efp-multi-select-groups__group-items{gap:calc(.375rem * var(--ui-scale));flex-wrap:wrap;display:flex}.efp-multi-select-groups__show-more{margin-top:calc(.375rem * var(--ui-scale))}.efp-multi-select-groups__item-count{font-size:var(--font-size-md);opacity:.7}.efp-multi-select-groups__item{align-items:center;gap:calc(.5rem * var(--ui-scale));min-height:calc(2.125rem * var(--ui-scale));padding:calc(.25rem * var(--ui-scale)) calc(.875rem * var(--ui-scale));background:var(--color-gray-200);border-radius:var(--border-radius-full);font-size:var(--font-size-lg);color:var(--color-gray-900);cursor:pointer;border:0;outline:none;transition:all .1s;display:flex}.efp-multi-select-groups__item>div{flex:1}.efp-multi-select-groups__item:hover:not(.efp-multi-select-groups__item--disabled):not(.efp-multi-select-groups__item--selected){background:var(--color-gray-300);color:var(--color-black)}.efp-multi-select-groups__item--disabled{opacity:.5;cursor:not-allowed}.efp-multi-select-groups__item--disabled:hover{border-color:var(--color-gray-300);color:var(--color-gray-900)}.efp-multi-select-groups__item--selected{background:var(--color-primary-light);color:var(--color-primary-ultra-dark);animation:none}.efp-multi-select-groups__item--selected:hover:not(.efp-multi-select-groups__item--disabled){color:var(--color-primary-ultra-dark)}.efp-multi-select-groups__item--categories.efp-multi-select-groups__item--selected{background:var(--color-category-light);border-color:var(--color-category-light);color:var(--color-category-ultra-dark);animation:none}.efp-multi-select-groups__item--categories.efp-multi-select-groups__item--selected:hover:not(.efp-multi-select-groups__item--disabled){border-color:var(--color-category-light);color:var(--color-category-ultra-dark)}.efp-multi-select-groups__group-actions{gap:calc(.75rem * var(--ui-scale));align-items:center;display:flex}.efp-multi-select-groups__action-btn{font-size:var(--font-size-md);color:var(--color-gray-700);cursor:pointer;border-radius:var(--border-radius-sm);background:0 0;border:none;padding:0}.efp-multi-select-groups__action-btn:hover{color:var(--color-black)}.efp-multi-select-groups__show-more-badge{margin-left:calc(.125rem * var(--ui-scale));margin-right:calc(-.125rem * var(--ui-scale));padding:calc(.25rem * var(--ui-scale)) calc(.5rem * var(--ui-scale));background:var(--color-category-light);color:var(--color-category-ultra-dark);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);white-space:nowrap;align-items:center;line-height:1;display:inline-flex}.efp-show-more-button{align-items:center;gap:calc(.25rem * var(--ui-scale));padding:calc(.125rem * var(--ui-scale)) 0;color:var(--color-primary);font-family:var(--app-font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;border:0;line-height:1.3;transition:color .15s;display:inline-flex}.efp-show-more-button>i{font-size:var(--icon-size-xs);transition:transform .18s;display:inline-flex;transform:rotate(0)}.efp-show-more-button:hover,.efp-show-more-button:focus{color:var(--color-primary-dark)}.efp-show-more-button:hover .efp-show-more-button__label,.efp-show-more-button:focus .efp-show-more-button__label{text-decoration:underline}.efp-show-more-button--expanded>i{transform:rotate(180deg)}.efp-overlay{z-index:35;background:var(--color-white);border-top-right-radius:var(--border-radius-xl);border-top-left-radius:var(--border-radius-xl);touch-action:none;overscroll-behavior:none;will-change:height;flex-direction:column;display:flex;position:fixed}.efp-overlay__draghandle{padding-top:calc(1.125rem * var(--ui-scale));cursor:ns-resize;justify-content:center;align-items:center;transition:height .3s,padding-top .3s;display:flex}.efp-overlay__draghandle:before{content:\"\";border-radius:var(--border-radius-md);background:var(--color-gray-400);opacity:1;width:44px;height:3px;transition:opacity .3s;position:absolute;top:7px}.efp-overlay__scroll{overscroll-behavior:contain;flex-grow:1;flex-shrink:1;position:relative;overflow-x:hidden;overflow-y:auto}.efp-overlay__scroll::-webkit-scrollbar{background-color:var(--color-gray-100);width:6px}.efp-overlay__scroll::-webkit-scrollbar-track{background-color:var(--color-gray-100)}.efp-overlay__scroll::-webkit-scrollbar-thumb{background-color:var(--color-gray-400);border:0;border-radius:14px}.efp-overlay__scroll::-webkit-scrollbar-thumb:hover{background-color:var(--color-gray-500)}.efp-overlay__scroll::-webkit-scrollbar-button{display:none}.efp-overlay__scroll:before{content:\"\";opacity:0;pointer-events:none;z-index:990;background:linear-gradient(#0000001a 0%,#0000 100%);height:14px;margin-bottom:-14px;transition:opacity .1s;display:block;position:sticky;top:0;left:0;right:0}@media (max-width:768px){.efp-overlay__scroll::-webkit-scrollbar{width:0}}.efp-overlay__content{flex-direction:column;display:flex;position:relative}.efp-overlay__content>*{flex:1;min-height:0}.efp-overlay--scrolled .efp-overlay__scroll:before{opacity:1}.efp-overlay--desktop{top:calc(calc(.625rem * var(--ui-scale)) + var(--ws-height) + var(--banner-height));left:calc(.625rem * var(--ui-scale));width:var(--search-box-width);max-height:calc(100vh - calc(1.25rem * var(--ui-scale)) - var(--ws-height) - var(--banner-height));padding-top:var(--search-box-height);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);height:auto;transition:opacity .3s,top .3s;overflow:hidden}.efp-overlay--desktop .efp-overlay__draghandle{display:none}.efp-overlay--desktop .efp-overlay__scroll{height:100%}.efp-overlay--desktop.efp-overlay--hidden{display:none}.layout[dir=rtl] .efp-overlay--desktop{left:unset;right:calc(.625rem * var(--ui-scale))}.efp-overlay--mobile{box-shadow:var(--shadow-md);-webkit-user-select:none;user-select:none;transition:height .3s,padding-top .2s;bottom:0;left:0;right:0}.efp-overlay--mobile .efp-overlay__scroll{max-height:calc(100vh - calc(1.25rem * var(--ui-scale)) - var(--ws-height) - var(--search-box-height) - var(--banner-height));-webkit-user-select:none;user-select:none;border:0!important}.efp-overlay--mobile.efp-overlay--draggable,.efp-overlay--mobile.efp-overlay--keyboard{transition:unset}.efp-overlay--mobile.efp-overlay--full .efp-overlay__scroll{border:0}.efp-overlay--mobile.overlay-has-details{z-index:40}.efp-overlay--mobile.overlay-has-details .efp-overlay__content{border:0;overflow:visible}.efp-overlay.overlay-exhibitor-featured{background:var(--color-primary-ultra-dark)}.efp-overlay.efp-overlay-search .efp-overlay__scroll,.efp-overlay.efp-overlay-sessions .efp-overlay__scroll,.efp-overlay.efp-overlay-speakers .efp-overlay__scroll,.efp-overlay.efp-overlay-bookmarks .efp-overlay__scroll,.efp-overlay.efp-overlay-visited .efp-overlay__scroll,.efp-overlay.efp-overlay-language .efp-overlay__scroll,.efp-overlay.efp-overlay-category .efp-overlay__scroll,.efp-overlay.efp-overlay-tours .efp-overlay__scroll,.efp-overlay.efp-overlay-filter .efp-overlay__scroll,.efp-overlay.efp-overlay-exhibitors .efp-overlay__scroll,.efp-overlay.efp-overlay-multi-point:not(.is-details) .efp-overlay__scroll{border-top:1px solid var(--color-gray-300)}.efp-overlay--forced-full{z-index:999;border-top-left-radius:0;border-top-right-radius:0}.efp-overlay--forced-full .efp-overlay__scroll{max-height:100%}@media print{.efp-overlay{display:none}}@media (min-width:550px){.efp-kiosk-route-active .efp-overlay{-webkit-backdrop-filter:blur(10px);background:#fffc}}.efp-overlay-grip{z-index:2;width:calc(3rem * var(--ui-scale));height:calc(1rem * var(--ui-scale));cursor:pointer;background:0 0;border:0;margin:0 auto;padding:0;display:block;position:absolute;left:0;right:0}.efp-overlay-grip>svg{width:calc(3rem * var(--ui-scale));height:calc(1rem * var(--ui-scale));display:block}.efp-overlay-grip>svg>path{fill:none;stroke:var(--color-gray-500);stroke-linecap:round;stroke-width:70px}.efp-overlay-grip>svg>path:first-child{display:none}.efp-overlay-grip--full>svg>path:first-child{display:inherit}.efp-overlay-grip--full>svg>path:last-child{display:none}.efp-radio{gap:calc(.75rem * var(--ui-scale));cursor:pointer;grid-auto-flow:column;place-content:center start;display:inline-grid;position:relative}.efp-radio:hover{background:var(--color-gray-100)}.efp-radio__input{white-space:nowrap;clip:rect(0, 0, 0, 0);clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.efp-radio__input:focus-visible+.efp-radio__control{outline:2px solid var(--color-primary);outline-offset:2px}.efp-radio__control{width:calc(1.125rem * var(--ui-scale));height:calc(1.125rem * var(--ui-scale));border:1px solid var(--color-gray-500);border-radius:var(--border-radius-full);display:inline-grid}.efp-radio__label{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);color:var(--color-gray-800);letter-spacing:.02em;line-height:1}.efp-radio--checked{background:var(--color-gray-100)}.efp-radio--checked .efp-radio__control{border:calc(.25rem * var(--ui-scale)) solid var(--color-primary)}.efp-radio--checked .efp-radio__label{color:var(--color-black)}.efp-radio--disabled{opacity:.5;cursor:not-allowed}.efp-radio--disabled:hover{background:0 0}.rebooking-notes{padding:0 calc(1rem * var(--ui-scale));flex-flow:wrap;justify-content:center;display:flex}.rebooking-notes__edit{width:100%;padding-bottom:calc(1rem * var(--ui-scale));flex-flow:wrap;justify-content:right;display:flex}.rebooking-notes__val{width:100%;padding:0 0 calc(.875rem * var(--ui-scale))}.rebooking-notes__val>textarea{width:100%;max-width:100%;min-height:140px;padding:calc(.625rem * var(--ui-scale));border:1px solid var(--color-gray-400);border-radius:var(--border-radius-md);box-shadow:none;font-family:var(--app-font-family);font-size:var(--font-size-xl);outline:none;overflow:auto}.rebooking-notes__val>textarea:focus{border-color:var(--color-gray)}.rebooking-notes__view-header{width:100%;padding-bottom:calc(.875rem * var(--ui-scale));justify-content:space-between;align-items:center;display:flex}.rebooking-notes__buttons{gap:calc(.625rem * var(--ui-scale));display:flex}.rebooking-radio-group{padding:calc(1rem * var(--ui-scale))}.rebooking-radio-group__title{padding-bottom:calc(.625rem * var(--ui-scale));font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.rebooking-radio-group__options{gap:calc(.625rem * var(--ui-scale));flex-flow:column wrap;display:flex}.rebooking-radio__icon{width:calc(1.5rem * var(--ui-scale));height:calc(1.5rem * var(--ui-scale));background:var(--rebooking-color-primary);border-radius:var(--border-radius-full);color:var(--color-white);justify-content:center;align-items:center;display:flex}.rebooking-radio__icon>i{font-size:18px;line-height:0}.rebooking-radio__label{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}.rebooking-radio>input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rebooking-radio>input~label{padding:calc(.75rem * var(--ui-scale)) calc(.875rem * var(--ui-scale)) calc(.75rem * var(--ui-scale)) calc(3rem * var(--ui-scale));background:var(--color-gray-200);border-radius:var(--border-radius-md);color:var(--color-black);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;line-height:1;display:flex;position:relative}.rebooking-radio>input~label:before{content:\"\";top:50%;left:calc(.875rem * var(--ui-scale));width:calc(1.25rem * var(--ui-scale));height:calc(1.25rem * var(--ui-scale));margin-top:calc(-.625rem * var(--ui-scale));border:2px solid #98a2b3;border-radius:50%;position:absolute}.rebooking-radio>input~label:hover{background:#eaecf0}.rebooking-radio>input:checked~label{background:var(--rebooking-color-primary);color:var(--color-white)}.rebooking-radio>input:checked~label:before{border:5px solid var(--color-white)}.rebooking-radio>input:checked~label>.rebooking-radio__icon{background:var(--color-white);color:var(--rebooking-color-primary)}.rebooking-radio>input:disabled~label{background:var(--color-gray-200);color:var(--color-gray);cursor:default}.rebooking-radio>input:disabled~label:before{border-color:var(--color-gray-400)}.rebooking-radio>input:disabled~label>.rebooking-radio__icon{color:var(--color-gray)}.efp-scrollable-row__container{padding:0 calc(1rem * var(--ui-scale));align-items:center;display:flex;position:relative}.efp-scrollable-row__container--outside{padding:0 calc(2rem * var(--ui-scale))}@media (max-width:768px){.efp-scrollable-row__container{padding:0}}.efp-scrollable-row__scroll-wrapper{scrollbar-width:none;border-radius:var(--border-radius-md);-webkit-user-select:none;user-select:none;scroll-behavior:smooth;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden}.efp-scrollable-row__scroll-wrapper--dragging{scroll-behavior:auto}.efp-scrollable-row__scroll-wrapper--dragging *{pointer-events:none;-webkit-user-select:none!important;user-select:none!important}.efp-scrollable-row__scroll-wrapper--dragging button,.efp-scrollable-row__scroll-wrapper--dragging a,.efp-scrollable-row__scroll-wrapper--dragging input,.efp-scrollable-row__scroll-wrapper--dragging select,.efp-scrollable-row__scroll-wrapper--dragging textarea{pointer-events:auto}.efp-scrollable-row__scroll-wrapper::-webkit-scrollbar{display:none}@media (max-width:768px){.efp-scrollable-row__scroll-wrapper{border-radius:0}}.efp-scrollable-row__content{gap:calc(.375rem * var(--ui-scale));padding:calc(.25rem * var(--ui-scale)) 0;white-space:nowrap;flex-shrink:0;align-items:center;display:flex}.efp-scrollable-row__scroll-wrapper--dragging .efp-scrollable-row__content{pointer-events:none}.efp-scrollable-row__scroll-wrapper--dragging .efp-scrollable-row__content button,.efp-scrollable-row__scroll-wrapper--dragging .efp-scrollable-row__content a,.efp-scrollable-row__scroll-wrapper--dragging .efp-scrollable-row__content input,.efp-scrollable-row__scroll-wrapper--dragging .efp-scrollable-row__content select,.efp-scrollable-row__scroll-wrapper--dragging .efp-scrollable-row__content textarea,.efp-scrollable-row__scroll-wrapper--dragging .efp-scrollable-row__content [role=button],.efp-scrollable-row__scroll-wrapper--dragging .efp-scrollable-row__content [tabindex]{pointer-events:auto}@media (max-width:768px){.efp-scrollable-row__content{padding:calc(.125rem * var(--ui-scale)) calc(.875rem * var(--ui-scale))}}.efp-scrollable-row__arrow{z-index:10;width:calc(2rem * var(--ui-scale));height:calc(2rem * var(--ui-scale));background:var(--color-white);border-radius:var(--border-radius-full);box-shadow:var(--shadow-md);color:var(--color-gray-600);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.efp-scrollable-row__arrow--left{left:calc(.625rem * var(--ui-scale))}.efp-scrollable-row__arrow--right{right:calc(.625rem * var(--ui-scale))}.efp-scrollable-row__arrow--rtl i{transform:scaleX(-1)}.efp-scrollable-row__arrow i{font-size:var(--icon-size-sm)}.efp-scrollable-row__arrow:hover{background:var(--color-gray-100);color:var(--color-black)}.layout[dir=rtl] .efp-scrollable-row__arrow--left{right:calc(.625rem * var(--ui-scale));left:unset}.layout[dir=rtl] .efp-scrollable-row__arrow--right{right:unset;left:calc(.625rem * var(--ui-scale))}.share>h3{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-black);text-align:center;margin:0}.share__socials{margin:calc(1.875rem * var(--ui-scale)) 0 calc(1.75rem * var(--ui-scale));justify-content:center;display:flex}.share__copy>span{margin-bottom:calc(.375rem * var(--ui-scale));font-size:var(--font-size-md);color:var(--color-gray-600);display:block}.share__copy-input{height:calc(2.5rem * var(--ui-scale));border:1px solid var(--color-gray-400);border-radius:var(--border-radius-sm);align-items:center;display:flex;overflow:hidden}.share__copy-input>input{height:calc(2.375rem * var(--ui-scale));font-size:var(--font-size-lg);color:var(--color-gray-600);border:0;outline:none;flex:1}.share__copy-input>input:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(.875rem * var(--ui-scale))}.share__copy-input>input:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(.875rem * var(--ui-scale))}.share__copy-input>input:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(.875rem * var(--ui-scale))}.share__copy-input>input:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(.875rem * var(--ui-scale))}.share__copy-input>button{min-width:calc(4.25rem * var(--ui-scale));height:calc(2.375rem * var(--ui-scale));padding:0 calc(.5rem * var(--ui-scale));font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-primary);text-align:center;cursor:pointer;background:0 0;border:0}.share__copy-input>button.isCopied,.share__copy-input>button.isCopied:hover{color:var(--color-gray-500)}.share__copy-input>button:hover{color:var(--color-primary)}.share-social{margin:0 calc(.9375rem * var(--ui-scale));flex-flow:column wrap;align-items:center;text-decoration:none;display:flex}.share-social__icon{width:calc(2.875rem * var(--ui-scale));height:calc(2.875rem * var(--ui-scale));color:var(--color-black);justify-content:center;align-items:center;display:flex;position:relative}.share-social__icon:before{content:\"\";width:inherit;height:inherit;border-radius:50%;transition:all .2s ease-in-out;position:absolute;transform:scale(1)}.share-social__icon>i{z-index:1;position:relative}.share-social__title{margin-top:calc(.25rem * var(--ui-scale));font-size:var(--font-size-lg);color:var(--color-black);transition:color .1s ease-in-out}.share-social.facebook .share-social__icon{color:#1877f2}.share-social.facebook .share-social__icon:before{background:#d9eaff}.share-social.xcom .share-social__icon{color:#000}.share-social.xcom .share-social__icon:before{background:#e2e2e2}.share-social.linkedin .share-social__icon{color:#0a66c2}.share-social.linkedin .share-social__icon:before{background:#e4edff}.share-social:hover .share-social__icon:before{transform:scale(.9)}.share-social:hover .share-social__title{color:var(--color-primary)}.efp-sidebar-actions{gap:calc(.5rem * var(--ui-scale));width:100%;margin-bottom:calc(1.125rem * var(--ui-scale));flex-flow:wrap;align-items:center;display:flex}.efp-sidebar-actions--bookmarks{padding:calc(.625rem * var(--ui-scale)) calc(1rem * var(--ui-scale));margin-bottom:0}.efp-action-button{gap:calc(.375rem * var(--ui-scale));height:calc(2.5rem * var(--ui-scale));padding:0 calc(.75rem * var(--ui-scale)) 0 calc(.5rem * var(--ui-scale));background:var(--color-white);border:1px solid var(--color-primary);border-radius:var(--border-radius-full);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-primary);cursor:pointer;justify-content:center;align-items:center;transition:background .1s,color .1s,box-shadow .1s;display:flex;overflow:hidden}.efp-action-button:not(.efp-action-button--active):not(.efp-action-button--directions):not(.efp-action-button--route-planner):hover{background:var(--color-primary-ultra-light)}.efp-action-button:active{box-shadow:0 0 0 2px #3d91f74d}.efp-action-button [class^=icon-]{font-size:var(--icon-size-sm)}.efp-action-button--directions,.efp-action-button--route-planner{background:var(--color-primary);color:var(--color-white);flex-grow:4;flex-shrink:.5}.efp-action-button--directions:hover,.efp-action-button--route-planner:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.efp-action-button--bookmark{width:calc(2.5rem * var(--ui-scale));background:var(--color-white);border-color:var(--color-primary);color:var(--color-primary);padding:0}.efp-action-button--bookmark.efp-action-button--active{border-color:var(--color-bookmarked)}.efp-action-button--bookmark.efp-action-button--active [class^=icon-]{color:var(--color-bookmarked)}.efp-action-button--bookmark:not(.efp-action-button--active) [class^=icon-]{animation:unset!important}.efp-action-button--bookmark.efp-action-button--animate [class^=icon-]{animation:.3s ease-in-out scale-bookmark-icon}.efp-action-button--share{width:calc(2.5rem * var(--ui-scale));padding:0}.efp-visited-btn{flex-grow:1;flex-shrink:0}.layout[dir=rtl] .efp-action-button--directions .icon{transform:scaleX(-1)}@keyframes scale-bookmark-icon{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.4)}to{transform:scale(1)}}.efp-simple-row{min-height:calc(3.5rem * var(--ui-scale));padding:calc(.375rem * var(--ui-scale)) 0;border-top:1px solid var(--color-gray-300);font-size:var(--font-size-xl);color:var(--color-black);justify-content:space-between;align-items:center;display:flex}@media (hover:hover){.efp-simple-row--active{background:#00000012}.efp-simple-row:hover,.efp-simple-row--active:hover{background-color:#0000000d}}.efp-simple-row__col{padding:0 calc(1rem * var(--ui-scale)) 0}.efp-simple-row__main{height:calc(1.25rem * var(--ui-scale));font-weight:var(--font-weight-medium);text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.efp-simple-row__sub{height:calc(.75rem * var(--ui-scale));margin:calc(-.125rem * var(--ui-scale)) 0;font-size:var(--font-size-sm);color:var(--color-gray-600);text-align:left}.efp-simple-row__end{min-width:calc(4rem * var(--ui-scale));font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-gray-600);text-align:end;overflow-wrap:break-word}.efp-simple-row__end:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-right:calc(1rem * var(--ui-scale))}.efp-simple-row__end:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-right:calc(1rem * var(--ui-scale))}.efp-simple-row__end:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:calc(1rem * var(--ui-scale))}.efp-simple-row__end:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:calc(1rem * var(--ui-scale))}.layout[dir=rtl] .efp-simple-row__main,.layout[dir=rtl] .efp-simple-row__sub{text-align:right}.efp-spinner{z-index:5;pointer-events:none;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;bottom:60px;right:20px}.efp-spinner.is-hidden{opacity:0;visibility:hidden}.efp-spinner>svg{transform-origin:50%;width:60px;animation:2s linear infinite rotate}.efp-spinner>svg>circle{fill:none;stroke:var(--color-primary);stroke-dasharray:1 200;stroke-dashoffset:0;stroke-linecap:round;stroke-width:2px;animation:1.5s ease-in-out infinite dash}@media (max-width:768px){.efp-spinner>svg{width:40px}.efp-spinner{bottom:190px}}[dir=rtl] .efp-spinner{right:unset;left:20px}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:90 200;stroke-dashoffset:-35px}to{stroke-dashoffset:-125px}}.efp-toggle-switch{min-height:20px}.efp-toggle-switch input[type=checkbox]{white-space:nowrap;clip:rect(0, 0, 0, 0);clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.efp-toggle-switch input[type=checkbox]:focus-visible+label:before{outline:2px solid var(--color-primary);outline-offset:2px}.efp-toggle-switch input[type=checkbox]+label{box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:50%;min-height:20px;display:inline-block;position:relative}.efp-toggle-switch input[type=checkbox]+label:before{content:\"\";background:var(--color-gray-300);cursor:pointer;border-radius:30px;width:36px;height:20px;transition:background .3s ease-in-out;position:absolute;top:0;left:0}.efp-toggle-switch input[type=checkbox]+label:after{content:\"\";background:var(--color-white);cursor:pointer;border-radius:50%;width:14px;height:14px;transition:left .3s cubic-bezier(.5,1.5,.5,1),right .3s cubic-bezier(.5,1.5,.5,1);position:absolute;top:3px;left:3px}.efp-toggle-switch input[type=checkbox]+label span{min-height:inherit;font-size:var(--font-size-lg);color:var(--color-black);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;display:flex}.efp-toggle-switch input[type=checkbox]+label span:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:45px}.efp-toggle-switch input[type=checkbox]+label span:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:45px}.efp-toggle-switch input[type=checkbox]+label span:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:45px}.efp-toggle-switch input[type=checkbox]+label span:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:45px}.efp-toggle-switch input[type=checkbox]:checked+label:before{background:var(--color-primary)}.efp-toggle-switch input[type=checkbox]:checked+label:after{left:18px}.efp-toggle-switch.xs input[type=checkbox]+label:before,.efp-toggle-switch.sm input[type=checkbox]+label:before{width:40px;height:24px;top:0}.efp-toggle-switch.xs input[type=checkbox]+label:after,.efp-toggle-switch.sm input[type=checkbox]+label:after{width:18px;height:18px;top:3px}.efp-toggle-switch.xs input[type=checkbox]+label span,.efp-toggle-switch.sm input[type=checkbox]+label span{padding-left:50px}.efp-toggle-switch.xs input[type=checkbox]:checked+label:after,.efp-toggle-switch.sm input[type=checkbox]:checked+label:after{left:18px}[dir=rtl] .efp-toggle-switch input[type=checkbox]+label:before{right:0;left:unset}[dir=rtl] .efp-toggle-switch input[type=checkbox]+label:after{right:3px;left:unset}[dir=rtl] .efp-toggle-switch input[type=checkbox]:checked+label:after{right:18px}.efp-wayfinding-floor{width:100%;padding:calc(.3125rem * var(--ui-scale)) calc(.9375rem * var(--ui-scale)) calc(.625rem * var(--ui-scale)) calc(.9375rem * var(--ui-scale));align-items:center;display:flex;position:relative}.efp-wayfinding-floor__body,.efp-wayfinding-floor__list{width:100%;position:relative}.efp-wayfinding-floor__title{padding-right:calc(.75rem * var(--ui-scale));font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-gray)}.efp-wayfinding-floor__list{--gap:3px;gap:var(--gap);flex-flow:wrap;align-items:center;display:flex}.efp-wayfinding-floor__item{min-width:0;position:relative}.efp-wayfinding-floor__item button{z-index:3;min-width:calc(2.375rem * var(--ui-scale));max-width:calc(6.25rem * var(--ui-scale));height:calc(2.375rem * var(--ui-scale));padding:0 calc(.375rem * var(--ui-scale));background:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--border-radius-full);font-weight:var(--font-weight-bold);color:var(--color-gray-800);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;outline:none;margin-left:-1px;position:relative;overflow:hidden}.efp-wayfinding-floor__item button:hover{background:var(--color-gray-300)}.efp-wayfinding-floor__item.is-passed button{background:var(--color-gray-200);border-color:var(--color-gray-200);color:var(--color-gray-600)}.efp-wayfinding-floor__item.is-passed button:hover{background:var(--color-gray-300);border-color:var(--color-gray-300);color:var(--color-black)}.efp-wayfinding-floor__item.is-current button{z-index:2;background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.efp-wayfinding-floor__arrow{width:calc(1.375rem * var(--ui-scale));height:calc(1.375rem * var(--ui-scale));color:var(--color-gray-400);pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.efp-wayfinding-floor__arrow svg{width:100%;height:100%}.efp-wayfinding-floor__arrow--up{transform:rotate(45deg)}.efp-wayfinding-floor__arrow--down{transform:rotate(-45deg)}.efp-wayfinding-floor__arrow--passed{color:var(--color-gray-300)}.efp-wayfinding-floor__arrow--blink{animation:1.5s ease-in-out infinite blink-blue-arrow}@keyframes blink-blue-arrow{0%,to{color:var(--color-gray-300)}50%{color:var(--color-primary)}}.booth__header{align-items:center;gap:calc(.625rem * var(--ui-scale));padding:0 calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale));color:var(--color-black);display:flex}.booth__header-name{align-items:center;gap:calc(.625rem * var(--ui-scale));font-size:var(--font-size-3xl);font-weight:var(--font-weight-medium);letter-spacing:.01em;flex:1;display:flex}.booth__header-icon{width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale));border-radius:var(--border-radius-full);background:var(--color-booth);color:var(--color-white);flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;display:flex}.booth__header-icon>i{font-size:var(--icon-size-xxs)}.booth__header-close{width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale));background:var(--color-gray-100);border-radius:var(--border-radius-full);cursor:pointer;border:0;justify-content:center;align-items:center;display:none}.booth__header-close>i{font-size:var(--icon-size-sm);color:var(--color-gray-800)}.booth__title{font-weight:var(--font-weight-medium)}.booth__content{margin:0 calc(1rem * var(--ui-scale))}.booth__content .efp-entity-item{width:calc(100% + calc(2rem * var(--ui-scale)));margin-left:calc(-1rem * var(--ui-scale));cursor:pointer}.booth__content .efp-entity-item:last-child{border:0}.booth__info{gap:calc(.75rem * var(--ui-scale));margin-bottom:calc(.625rem * var(--ui-scale));padding:calc(.75rem * var(--ui-scale));background:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-lg);align-items:center;display:flex}.booth__info-icon{width:calc(2.875rem * var(--ui-scale));height:calc(2.875rem * var(--ui-scale));background:var(--color-primary-ultra-light);border-radius:var(--border-radius-full);color:var(--color-primary);justify-content:center;align-items:center;display:flex}.booth__info-icon>i{font-size:var(--icon-size-md)}.booth__info-body{flex:1}.booth__info-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-600)}.booth__info-val{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-gray-black)}.booth__info.is-onhold .booth__info-icon{background:var(--color-gray-300);color:var(--color-gray-600)}.booth__info.is-onhold .booth__info-title{color:var(--color-gray-600)}.booth__info.is-onhold .booth__info-val{color:var(--color-gray-700)}.booth__buy{gap:calc(.625rem * var(--ui-scale));margin:calc(1.875rem * var(--ui-scale)) 0;justify-content:center;display:flex}.booth__directions{margin:calc(.5rem * var(--ui-scale)) 0}.booth__directions>button{cursor:pointer}.booth__reserve-instructions{line-height:1.4em;font-size:var(--font-size-lg);color:var(--color-black)}.booth__reserve-instructions a{color:var(--color-primary)}.booth__desc p,.booth__desc span{font-size:var(--font-size-lg);overflow-wrap:break-word;background:0 0!important}@media (max-width:768px){.booth__header{z-index:10;background:var(--color-white);position:sticky;top:0;left:0}.booth__header-close{display:flex}}.efp-schedule{padding:calc(1rem * var(--ui-scale));font-size:var(--font-size-xl)}.efp-schedule__item{grid-template-columns:calc(2.75rem * var(--ui-scale)) minmax(0, 1fr);border-top:1px solid var(--color-gray-300);display:grid;position:relative}.efp-schedule__item:before{content:\"\";top:calc(-.0625rem * var(--ui-scale));width:calc(2.375rem * var(--ui-scale));height:calc(.0625rem * var(--ui-scale));background:var(--color-gray-400);position:absolute;left:0}.efp-schedule__date{height:100%}.efp-schedule__date-sticky{gap:calc(.0625rem * var(--ui-scale));width:calc(2.375rem * var(--ui-scale));padding:calc(.875rem * var(--ui-scale)) 0 calc(1.125rem * var(--ui-scale));flex-flow:column wrap;align-items:center;display:flex;position:sticky;top:0}.efp-schedule__date-sticky>div:first-child{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}.efp-schedule__date-sticky>div:nth-child(2){font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-gray-600)}.efp-schedule__date-sticky>div:nth-child(3){font-size:var(--font-size-sm);color:var(--color-gray-600)}.efp-schedule__events{padding:calc(.625rem * var(--ui-scale)) 0 calc(.625rem * var(--ui-scale)) calc(.625rem * var(--ui-scale))}.efp-schedule__event-booth-and-tracks{gap:calc(.25rem * var(--ui-scale));margin:calc(.625rem * var(--ui-scale)) 0;flex-wrap:wrap;display:flex}.efp-schedule__event{padding:calc(.625rem * var(--ui-scale)) calc(.75rem * var(--ui-scale));border-radius:var(--border-radius-sm);transition:background var(--transition-duration) ease;cursor:pointer;text-decoration:none;display:block}.efp-schedule__event.ended{opacity:.6;color:var(--color-gray-900)}.efp-schedule__event.current{background:var(--color-gray-300)}.efp-schedule__event>span{font-size:var(--font-size-md);color:var(--color-gray-700);display:block}.efp-schedule__event>strong{padding-top:calc(.25rem * var(--ui-scale));font-size:var(--font-size-xxl);font-weight:var(--font-weight-medium);display:block}.efp-schedule__event-booth{min-width:0;max-width:100%;padding:calc(.125rem * var(--ui-scale)) calc(.4375rem * var(--ui-scale));gap:calc(.4375rem * var(--ui-scale));background:var(--color-primary-ultra-light);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);line-height:var(--font-size-md);color:var(--color-primary-ultra-dark);letter-spacing:.01em;align-items:center;display:inline-flex;overflow:hidden}.efp-schedule__event-booth>div{min-height:100%;padding:calc(.125rem * var(--ui-scale)) 0;align-items:center;display:block;position:relative}.efp-schedule__event-booth>div:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.efp-schedule__event-tracks{gap:calc(.25rem * var(--ui-scale));margin:calc(.375rem * var(--ui-scale)) 0;flex-wrap:wrap;display:flex}.efp-schedule__event-track{padding:calc(.125rem * var(--ui-scale)) calc(.375rem * var(--ui-scale));background:var(--color-event-ultra-light);color:var(--color-event);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);letter-spacing:.01em;align-items:center;display:inline-flex}.efp-schedule__event-logo{margin:calc(.375rem * var(--ui-scale)) 0;width:100%;max-height:calc(8.75rem * var(--ui-scale));background:var(--color-white);border-radius:var(--border-radius-sm);justify-content:flex-start;align-items:center;display:flex;overflow:hidden}.efp-schedule__event-logo>img{object-fit:contain;max-width:100%;max-height:100%}.efp-schedule__event-speakers{align-items:center;gap:calc(.25rem * var(--ui-scale));margin:calc(.375rem * var(--ui-scale)) 0;font-size:var(--font-size-md);color:var(--color-gray-900);display:flex}.efp-schedule__event-speakers-label{align-items:center;gap:calc(.25rem * var(--ui-scale));margin-bottom:calc(.125rem * var(--ui-scale));font-weight:var(--font-weight-medium);display:flex}.efp-schedule__event-speakers-label>i{font-size:var(--icon-size-xs);color:var(--color-gray-600)}.efp-schedule__event-speakers-list{gap:calc(.125rem * var(--ui-scale));flex-wrap:wrap;display:flex}.efp-schedule__event-live-badge{top:calc(-.0625rem * var(--ui-scale));margin-left:calc(.375rem * var(--ui-scale));padding:calc(.125rem * var(--ui-scale)) calc(.25rem * var(--ui-scale));border-radius:var(--border-radius-xs);font-size:var(--font-size-xxs);font-weight:var(--font-weight-medium);text-transform:uppercase;color:var(--color-white);background:#f44;animation:2s infinite pulse;display:inline-block;position:relative}.efp-schedule__event-upcoming-badge{top:calc(-.0625rem * var(--ui-scale));margin-left:calc(.375rem * var(--ui-scale));padding:calc(.125rem * var(--ui-scale)) calc(.25rem * var(--ui-scale));border-radius:var(--border-radius-xs);font-size:var(--font-size-xxs);font-weight:var(--font-weight-medium);text-transform:uppercase;color:var(--color-white);background:#f3b210;display:inline-block;position:relative}.efp-schedule__event:hover{background:var(--color-gray-100)}.efp-schedule__event[href]>strong{color:var(--color-primary)}.efp-schedule__event[href]:hover>strong{color:var(--color-primary-dark)}.efp-schedule__event-desc{margin:calc(.375rem * var(--ui-scale)) 0;font-size:var(--font-size-md);color:var(--color-gray-900)}.efp-schedule__event-desc>p{margin:calc(.375rem * var(--ui-scale)) 0}.efp-schedule.is-sessions{padding-top:calc(.625rem * var(--ui-scale))}.efp-schedule.is-sessions .efp-schedule__item:first-child{border-top:none}.efp-schedule.is-sessions .efp-schedule__item:first-child:before{display:none}.efp-schedule.is-sessions .efp-schedule__item:first-child .efp-schedule__events{padding-top:0}.efp-schedule.is-sessions .efp-schedule__item:first-child .efp-schedule__date-sticky{padding-top:calc(.625rem * var(--ui-scale))}.efp-schedule.is-sessions .efp-schedule__date-sticky{top:calc(3.75rem * var(--ui-scale))}.efp-schedule__past-events-header{margin:calc(1.25rem * var(--ui-scale)) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-gray-500)}.-exhibitor-featured .efp-schedule__event>span,.-exhibitor-featured .efp-schedule__event-desc,.-exhibitor-featured .efp-schedule__date>div{color:#ffffffb3}.-exhibitor-featured .efp-schedule__event:hover{background:#ffffff1a}.efp-note{margin-top:calc(-.125rem * var(--ui-scale));font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-gray-600);display:block}.list-empty{padding:calc(1.5rem * var(--ui-scale)) calc(.875rem * var(--ui-scale));font-size:var(--font-size-xl);color:var(--color-gray-600);text-align:center;cursor:default}.efp-event__header{justify-content:space-between;align-items:center;gap:calc(.625rem * var(--ui-scale));padding:0 calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale));color:var(--color-black);display:flex}.efp-event__header-name{align-items:center;gap:calc(.625rem * var(--ui-scale));font-size:var(--font-size-3xl);font-weight:var(--font-weight-medium);letter-spacing:.01em;display:flex}.efp-event__header-name>span>span{max-width:calc(16rem * var(--ui-scale));text-align:left;text-overflow:ellipsis;overflow:hidden}.efp-event__header-icon{width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale));border-radius:var(--border-radius-full);background:var(--color-event);color:var(--color-white);flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;display:flex}.efp-event__header-icon>i{font-size:var(--icon-size-xxs)}.efp-event__header-close{width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale));background:var(--color-gray-100);border-radius:var(--border-radius-full);cursor:pointer;border:0;justify-content:center;align-self:flex-start;align-items:center;display:none}.efp-event__header-close>i{font-size:var(--icon-size-sm);color:var(--color-gray-800)}.efp-event__buttons{margin:0 calc(1rem * var(--ui-scale)) 0 calc(1rem * var(--ui-scale))}.efp-event__details{padding:0 calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale))}.efp-event__details.details-hidden{max-height:300px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#f7f7f7 40%,#0000 100%);mask-image:linear-gradient(#f7f7f7 40%,#0000 100%)}.efp-event__show-more{margin:0 calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale))}.efp-event__show-more.is-sticky{z-index:2;width:100%;padding:calc(.5rem * var(--ui-scale)) calc(1rem * var(--ui-scale)) calc(.75rem * var(--ui-scale));background:var(--color-white);justify-content:flex-start;margin:0;position:sticky;bottom:0;box-shadow:0 -13px 16px #ffffffc7}@media (max-width:768px){.efp-event__header{z-index:10;background:var(--color-white);position:sticky;top:0;left:0}.efp-event__header-close{display:flex}}.efp-event-description{font-size:var(--font-size-lg);line-height:var(--line-height-lg);color:var(--color-gray-900);text-align:left;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.efp-event-description>:first-child{margin-top:0;padding-top:0}.efp-event-description>:last-child{margin-bottom:0;padding-bottom:0}.efp-event-description a{color:var(--color-primary)}.efp-event-description a:hover{color:var(--color-primary-dark);text-decoration:underline}.efp-event-description ol,.efp-event-description ul{display:grid}.efp-event-description ol:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(1.25rem * var(--ui-scale))}.efp-event-description ol:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(1.25rem * var(--ui-scale))}.efp-event-description ul:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(1.25rem * var(--ui-scale))}.efp-event-description ul:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(1.25rem * var(--ui-scale))}.efp-event-description ol:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(1.25rem * var(--ui-scale))}.efp-event-description ol:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(1.25rem * var(--ui-scale))}.efp-event-description ul:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(1.25rem * var(--ui-scale))}.efp-event-description ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(1.25rem * var(--ui-scale))}.efp-event-description__logo{margin:calc(.375rem * var(--ui-scale)) 0;width:100%;max-height:calc(12.5rem * var(--ui-scale));background:var(--color-white);border-radius:var(--border-radius-xl);justify-content:flex-start;align-items:center;display:flex;overflow:hidden}.efp-event-description__logo>img{object-fit:contain;max-width:100%;max-height:100%}.efp-event-description.collapsed .event-description__content{opacity:.8;text-overflow:ellipsis;cursor:pointer;height:8em;display:block;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,#0000 100%);mask-image:linear-gradient(#000 60%,#0000 100%)}.efp-event-description.collapsed .event-description__content:hover{opacity:1}.efp-event-datetime{margin:calc(.125rem * var(--ui-scale)) 0 calc(1.125rem * var(--ui-scale));padding:calc(.75rem * var(--ui-scale)) calc(.875rem * var(--ui-scale));background:var(--color-gray-200);border-radius:var(--border-radius-lg);flex-flow:column wrap;display:flex}.efp-event-datetime__row{align-items:center;gap:calc(.75rem * var(--ui-scale));display:flex}.efp-event-datetime__info{gap:calc(.25rem * var(--ui-scale));flex-flow:column wrap;flex:1;display:flex}.efp-event-datetime__date{color:var(--color-black);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.efp-event-datetime__time{font-size:var(--font-size-lg);color:var(--color-gray-900);align-items:center;gap:calc(.5rem * var(--ui-scale));display:flex}.efp-event-datetime__time-until{margin-left:calc(.5rem * var(--ui-scale))}.efp-event-booths{gap:calc(.25rem * var(--ui-scale));font-size:var(--font-size-lg);margin-bottom:calc(.875rem * var(--ui-scale));flex-flow:wrap;display:flex}.efp-event-booths__booth{gap:calc(.3125rem * var(--ui-scale));padding:calc(.25rem * var(--ui-scale)) calc(.5rem * var(--ui-scale));border-radius:var(--border-radius-full);background:var(--color-primary-ultra-light);min-height:calc(1.625rem * var(--ui-scale));font-size:var(--font-size-md);line-height:var(--font-size-md);color:var(--color-primary-ultra-dark);letter-spacing:.01em;align-items:center;display:inline-flex;overflow:hidden}.efp-event-booths__booth>div{align-items:center;display:inline-flex;position:relative}.efp-event-booths__booth:visited{color:var(--color-primary-ultra-dark)}.efp-event-booths__booth:hover,.efp-event-booths__booth:visited:hover{background:var(--color-primary-mid-light);color:var(--color-black)}.efp-event-booths__track{padding:calc(.25rem * var(--ui-scale)) calc(.5rem * var(--ui-scale));background:var(--color-event-ultra-light);color:var(--color-event);border-radius:var(--border-radius-full);font-size:var(--font-size-md);min-height:calc(1.625rem * var(--ui-scale));line-height:var(--font-size-sm);letter-spacing:.01em;align-items:center;display:inline-flex}.efp-event-booths.is-links-disabled{pointer-events:none}.efp-event-list{gap:calc(1.125rem * var(--ui-scale));margin:calc(1.25rem * var(--ui-scale)) 0;flex-direction:column;display:flex}.efp-event-list__block{gap:calc(.75rem * var(--ui-scale));display:flex}.efp-event-list__block-icon{width:calc(2rem * var(--ui-scale));height:calc(2rem * var(--ui-scale));background:var(--color-gray-200);border-radius:var(--border-radius-full);color:var(--color-gray-800);justify-content:center;align-items:center;display:flex}.efp-event-list__block-icon>i{font-size:var(--icon-size-xs)}.efp-event-list__block-content{justify-content:center;gap:calc(.75rem * var(--ui-scale));min-height:calc(2rem * var(--ui-scale));flex-direction:column;flex:1;display:flex}.efp-event-list__block-item{gap:calc(.625rem * var(--ui-scale));display:flex}.efp-event-list__block-info{flex:1}.efp-event-list__block-description{font-size:var(--font-size-md);color:var(--color-gray-900)}.efp-event-list__block-description>strong{margin-top:calc(.125rem * var(--ui-scale));font-weight:var(--font-weight-medium);display:block}.efp-event-list__block-description>span{color:var(--color-gray-600)}.efp-event-list__block-item--clickable{color:inherit;text-decoration:none}.efp-event-list__block-avatar{width:calc(2.125rem * var(--ui-scale));height:calc(2.125rem * var(--ui-scale));border-radius:var(--border-radius-sm);background:var(--color-gray-100);margin-bottom:calc(.25rem * var(--ui-scale));flex-shrink:0;overflow:hidden}.efp-event-list__block-avatar>img{object-fit:cover;width:100%;height:100%}.efp-event-speakers{margin:calc(1.125rem * var(--ui-scale)) 0}.efp-event-speakers__title{padding-bottom:calc(.75rem * var(--ui-scale));font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);margin:0}.efp-event-speakers__list{gap:calc(.75rem * var(--ui-scale));flex-direction:column;display:flex}.efp-event-speakers__speaker{align-items:center;gap:calc(.75rem * var(--ui-scale));border-radius:var(--border-radius-md);color:inherit;text-decoration:none;transition:background-color .2s;display:flex}.efp-event-speakers__speaker-photo{width:calc(2.5rem * var(--ui-scale));height:calc(2.5rem * var(--ui-scale));border-radius:var(--border-radius-sm);background:var(--color-gray-100);flex-shrink:0;overflow:hidden}.efp-event-speakers__speaker-photo>img{object-fit:cover;width:100%;height:100%}.efp-event-speakers__speaker-info{gap:calc(.125rem * var(--ui-scale));flex-direction:column;flex:1;display:flex}.efp-event-speakers__speaker-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-black)}.efp-event-speakers__speaker-title{font-size:var(--font-size-md);color:var(--color-gray-700)}.exhibitor{color:var(--color-black)}.exhibitor__header{align-items:center;gap:calc(.625rem * var(--ui-scale));padding:0 calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale));display:flex}.exhibitor__header-name{align-items:center;gap:calc(.625rem * var(--ui-scale));font-size:var(--font-size-3xl);font-weight:var(--font-weight-medium);letter-spacing:.01em;flex:1;display:flex}.exhibitor__header-icon{width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale));border-radius:var(--border-radius-full);background:var(--color-exhibitor);color:var(--color-white);flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;display:flex}.exhibitor__header-icon>i{font-size:var(--icon-size-xxs)}.exhibitor__header-close{width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale));background:var(--color-gray-100);border-radius:var(--border-radius-full);cursor:pointer;border:0;justify-content:center;align-items:center;display:none}.exhibitor__header-close>i{font-size:var(--icon-size-sm);color:var(--color-gray-800)}.exhibitor__buttons{margin:0 calc(1rem * var(--ui-scale)) 0 calc(1rem * var(--ui-scale))}.exhibitor__leading-image-container{margin:0 0 calc(1rem * var(--ui-scale)) 0}.exhibitor__leading-image-container a{display:block}.exhibitor__leading-image{background:var(--color-white);width:100%;display:block}.exhibitor__details{gap:calc(1rem * var(--ui-scale));padding:0 calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale));flex-direction:column;display:flex}.exhibitor__show-more{margin:0 calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale))}.exhibitor__show-more.is-sticky{z-index:2;width:100%;padding:calc(.5rem * var(--ui-scale)) calc(1rem * var(--ui-scale)) calc(.75rem * var(--ui-scale));background:var(--color-white);justify-content:flex-start;margin:0;position:sticky;bottom:0;box-shadow:0 -13px 16px #ffffffc7}.exhibitor.is-featured{color:var(--color-white)}.exhibitor.is-featured .exhibitor__header-close{background:var(--color-primary-dark)}.exhibitor.is-featured .exhibitor__header-close>i,.exhibitor.is-featured .exhibitor-description,.exhibitor.is-featured .exhibitor-meta__content{color:var(--color-white)}.exhibitor.is-featured .exhibitor-meta__link{color:var(--color-primary-ultra-light)}.exhibitor.is-featured .exhibitor__show-more.is-sticky{background:var(--color-primary-ultra-dark);color:var(--color-primary-ultra-light);box-shadow:0 calc(-.75rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale)) #0003, 0 calc(-.0625rem * var(--ui-scale)) 0 var(--color-primary-dark)}@media (max-width:768px){.exhibitor__header{z-index:10;background:var(--color-white);position:sticky;top:0;left:0}.exhibitor__header-close{display:flex}.exhibitor.is-featured .exhibitor__header{background:var(--color-primary-ultra-dark)}}.exhibitor-categories{gap:calc(.25rem * var(--ui-scale));font-size:var(--font-size-lg);flex-flow:wrap;display:flex}.exhibitor-categories__cat,.exhibitor-categories__sponsorship{gap:calc(.125rem * var(--ui-scale));min-height:calc(1.625rem * var(--ui-scale));padding:calc(.25rem * var(--ui-scale)) calc(.5rem * var(--ui-scale));border-radius:var(--border-radius-full);font-size:var(--font-size-md);word-break:break-all;align-items:center;display:inline-flex}.exhibitor-categories__booth{gap:calc(.3125rem * var(--ui-scale));padding:calc(.25rem * var(--ui-scale)) calc(.5rem * var(--ui-scale));border-radius:var(--border-radius-full);background:var(--color-primary-ultra-light);min-height:calc(1.625rem * var(--ui-scale));font-size:var(--font-size-md);line-height:var(--font-size-md);color:var(--color-primary-ultra-dark);letter-spacing:.01em;align-items:center;display:inline-flex;overflow:hidden}.exhibitor-categories__booth>div{align-items:center;display:inline-flex;position:relative}.exhibitor-categories__booth:visited{color:var(--color-primary-ultra-dark)}.exhibitor-categories__booth:hover,.exhibitor-categories__booth:visited:hover{background:var(--color-primary-mid-light);color:var(--color-black)}.exhibitor-categories__cat{background:var(--color-category-ultra-light);color:var(--color-category-ultra-dark)}.exhibitor-categories__cat:visited{color:var(--color-category-dark)}.exhibitor-categories__cat:hover,.exhibitor-categories__cat:visited:hover{background:var(--color-category-light)}.exhibitor-categories__sponsorship{background:var(--color-sponsorship-ultra-light);color:var(--color-sponsorship-ultra-dark)}.exhibitor-categories__sponsorship:visited{color:var(--color-sponsorship-ultra-dark)}.exhibitor-categories__sponsorship:hover,.exhibitor-categories__sponsorship:visited:hover{background:var(--color-sponsorship-light)}.layout[dir=rtl] .exhibitor-categories{margin:0 var(--k-spacing-lg) var(--k-spacing-md)}.exhibitor-categories.is-links-disabled{pointer-events:none}.exhibitor-featured{padding:calc(.25rem * var(--ui-scale)) calc(.5rem * var(--ui-scale));min-height:calc(1.625rem * var(--ui-scale));background:var(--color-featured-badge-bg);border-radius:var(--border-radius-full);font-size:var(--font-size-md);line-height:var(--font-size-md);font-weight:var(--font-weight-normal);color:var(--color-featured-badge-text);letter-spacing:.01em;align-items:center;gap:1px;margin-left:-1px;display:inline-flex;overflow:hidden}.exhibitor-description{font-size:var(--font-size-lg);color:var(--color-gray-900);position:relative}.exhibitor-description:after{content:\"\";clear:both;display:table}.exhibitor-description__logo{z-index:2;float:right;width:calc(5.625rem * var(--ui-scale));height:calc(4.375rem * var(--ui-scale));margin-bottom:calc(.375rem * var(--ui-scale));background:var(--color-white);border:1px solid var(--color-gray-400);border-radius:var(--border-radius-sm);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.exhibitor-description__logo:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:calc(.75rem * var(--ui-scale))}.exhibitor-description__logo:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:calc(.75rem * var(--ui-scale))}.exhibitor-description__logo:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:calc(.75rem * var(--ui-scale))}.exhibitor-description__logo:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:calc(.75rem * var(--ui-scale))}.exhibitor-description__logo>img{max-width:100%;max-height:100%}.exhibitor-description__logo--left{float:left}.exhibitor-description__logo--left:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:0}.exhibitor-description__logo--left:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:0}.exhibitor-description__logo--left:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:0}.exhibitor-description__logo--left:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:0}.exhibitor-description__content{font-size:var(--font-size-lg);line-height:var(--line-height-lg);text-align:left;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.exhibitor-description__content>:first-child{margin-top:0;padding-top:0}.exhibitor-description__content>:last-child{margin-bottom:0;padding-bottom:0}.exhibitor-description__content a{color:var(--color-primary)}.exhibitor-description__content a:hover{color:var(--color-primary-dark);text-decoration:underline}.exhibitor-description__content ol,.exhibitor-description__content ul{display:grid}.exhibitor-description__content ol:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(1.25rem * var(--ui-scale))}.exhibitor-description__content ol:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(1.25rem * var(--ui-scale))}.exhibitor-description__content ul:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(1.25rem * var(--ui-scale))}.exhibitor-description__content ul:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(1.25rem * var(--ui-scale))}.exhibitor-description__content ol:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(1.25rem * var(--ui-scale))}.exhibitor-description__content ol:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(1.25rem * var(--ui-scale))}.exhibitor-description__content ul:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(1.25rem * var(--ui-scale))}.exhibitor-description__content ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(1.25rem * var(--ui-scale))}.exhibitor-description.collapsed .exhibitor-description__content{opacity:.8;text-overflow:ellipsis;cursor:pointer;height:6.5em;display:block;overflow:hidden;-webkit-mask-image:linear-gradient(#000 35%,#0000 90%);mask-image:linear-gradient(#000 35%,#0000 90%)}.exhibitor-description.collapsed .exhibitor-description__content:hover{opacity:1}.layout[dir=rtl] .exhibitor-description__logo{margin:0}.layout[dir=rtl] .exhibitor-description__logo:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:calc(.625rem * var(--ui-scale))}.layout[dir=rtl] .exhibitor-description__logo:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:calc(.625rem * var(--ui-scale))}.layout[dir=rtl] .exhibitor-description__logo:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:calc(.625rem * var(--ui-scale))}.layout[dir=rtl] .exhibitor-description__logo:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:calc(.625rem * var(--ui-scale))}.exhibitor-video{height:0;padding-bottom:51.5%;position:relative}.exhibitor-video>iframe{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.exhibitor-slider{font-size:var(--font-size-lg);position:relative}.exhibitor-slider:after{content:\"\";clear:both;display:table}.exhibitor-sep{border-top:solid 1px var(--color-gray-300)}.exhibitor-edit{padding:calc(.25rem * var(--ui-scale)) 0 calc(.5rem * var(--ui-scale))}.exhibitor-meta{width:100%;margin-top:calc(.625rem * var(--ui-scale))}.exhibitor-meta__item{gap:calc(.625rem * var(--ui-scale));padding:calc(.375rem * var(--ui-scale)) 0;align-items:center;display:flex}.exhibitor-meta__icon{width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale));background:var(--color-primary-ultra-light);border-radius:var(--border-radius-full);justify-content:center;align-self:flex-start;align-items:center;display:flex}.exhibitor-meta__icon>i{font-size:var(--icon-size-xs);color:var(--color-primary)}.exhibitor-meta__content{font-size:var(--font-size-md);color:var(--color-gray-900);text-overflow:ellipsis;flex:1;overflow:hidden}.exhibitor-meta__link{color:var(--color-primary);text-overflow:ellipsis;overflow:hidden}.exhibitor-meta__link:hover{color:var(--color-primary-dark);text-decoration:underline}.exhibitor-meta__socials{gap:calc(.625rem * var(--ui-scale));padding:calc(.75rem * var(--ui-scale)) 0;justify-content:center;display:flex}.exhibitor-meta__social{width:calc(2.375rem * var(--ui-scale));height:calc(2.375rem * var(--ui-scale));background:var(--color-white);border:1px solid var(--color-primary);border-radius:var(--border-radius-full);color:var(--color-primary);justify-content:center;align-items:center;display:none}.exhibitor-meta__social[href]{display:flex}.exhibitor-meta__social:hover{border-color:var(--color-primary-dark);color:var(--color-primary-dark)}.exhibitor-meta__social>i{font-size:var(--icon-size-md)}.exhibitor-custom-buttons{gap:calc(.875rem * var(--ui-scale));margin-top:calc(.625rem * var(--ui-scale));flex-flow:wrap;justify-content:center;display:flex}.details-hidden{max-height:200px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 40%,#0000 100%);mask-image:linear-gradient(#000 40%,#0000 100%)}.list-virtual>[data-viewport-type=element]{position:relative!important}.language-row{padding:calc(1.1875rem * var(--ui-scale)) calc(.9375rem * var(--ui-scale));border-bottom:1px solid var(--color-gray-200);align-items:center;display:grid}[class^=icon-],[class*=\\ icon-]{font-size:var(--icon-size-xl);font-variant:normal;text-transform:none;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;line-height:1;font-family:efp-symbols!important}.icon-home-solid:before{content:\"\"}.icon-store-solid:before{content:\"\"}.icon-file-solid:before{content:\"\"}.icon-church:before{content:\"\"}.icon-bookmark-solid:before{content:\"\"}.icon-booths:before{content:\"\"}.icon-booth-solid:before{content:\"\"}.icon-box-3d:before{content:\"\"}.icon-bus-solid:before{content:\"\"}.icon-cafe-solid:before{content:\"\"}.icon-castle:before{content:\"\"}.icon-castle-solid:before{content:\"\"}.icon-categories:before{content:\"\"}.icon-category-solid:before{content:\"\"}.icon-checkmark:before{content:\"\"}.icon-checkmark-solid:before{content:\"\"}.icon-chevron-down:before{content:\"\"}.icon-chevron-down-narrow:before{content:\"\"}.icon-chevron-left:before{content:\"\"}.icon-chevron-right:before{content:\"\"}.icon-chevron-up:before{content:\"\"}.icon-chevron-up-narrow:before{content:\"\"}.icon-church-solid:before{content:\"\"}.icon-circle-arrow-left-solid:before{content:\"\"}.icon-circle-arrow-right-solid:before{content:\"\"}.icon-circle-double-arrow-left-solid:before{content:\"\"}.icon-circle-double-arrow-right-solid:before{content:\"\"}.icon-circle-solid:before{content:\"\"}.icon-clock:before{content:\"\"}.icon-close:before{content:\"\"}.icon-close-solid:before{content:\"\"}.icon-cologne-tower:before{content:\"\"}.icon-cologne-tower-solid:before{content:\"\"}.icon-copy:before{content:\"\"}.icon-crown:before{content:\"\"}.icon-delete:before{content:\"\"}.icon-diamond:before{content:\"\"}.icon-directions:before{content:\"\"}.icon-download:before{content:\"\"}.icon-event-solid:before{content:\"\"}.icon-exhibitors:before{content:\"\"}.icon-exhibitor-solid:before{content:\"\"}.icon-eye:before{content:\"\"}.icon-eye-off:before{content:\"\"}.icon-eye-off-1:before{content:\"\"}.icon-eye-off-solid:before{content:\"\"}.icon-eye-solid:before{content:\"\"}.icon-facebook:before{content:\"\"}.icon-file:before{content:\"\"}.icon-filled-arrow-left-solid:before{content:\"\"}.icon-filled-arrow-right-solid:before{content:\"\"}.icon-filter-horizontal:before{content:\"\"}.icon-filter-horizontal-solid:before{content:\"\"}.icon-globe:before{content:\"\"}.icon-globe-solid:before{content:\"\"}.icon-hall:before{content:\"\"}.icon-hall-solid:before{content:\"\"}.icon-hand-pointing:before{content:\"\"}.icon-hand-solid:before{content:\"\"}.icon-home:before{content:\"\"}.icon-hotel-solid:before{content:\"\"}.icon-image:before{content:\"\"}.icon-info-solid:before{content:\"\"}.icon-instagram:before{content:\"\"}.icon-language:before{content:\"\"}.icon-layers:before{content:\"\"}.icon-link:before{content:\"\"}.icon-linkedin:before{content:\"\"}.icon-link-external:before{content:\"\"}.icon-link-external-solid:before{content:\"\"}.icon-list:before{content:\"\"}.icon-lounge-solid:before{content:\"\"}.icon-mail:before{content:\"\"}.icon-mail-at-solid:before{content:\"\"}.icon-man-walking-solid:before{content:\"\"}.icon-map:before{content:\"\"}.icon-mark:before{content:\"\"}.icon-marker-pin:before{content:\"\"}.icon-marker-pin-solid:before{content:\"\"}.icon-maximize:before{content:\"\"}.icon-menu:before{content:\"\"}.icon-microphone:before{content:\"\"}.icon-minus:before{content:\"\"}.icon-moon:before{content:\"\"}.icon-museum:before{content:\"\"}.icon-museum-solid:before{content:\"\"}.icon-music-sport:before{content:\"\"}.icon-music-sport-solid:before{content:\"\"}.icon-navigation:before{content:\"\"}.icon-phone:before{content:\"\"}.icon-phone-solid:before{content:\"\"}.icon-pins-solid:before{content:\"\"}.icon-plus:before{content:\"\"}.icon-question-mark:before{content:\"\"}.icon-question-solid:before{content:\"\"}.icon-refresh:before{content:\"\"}.icon-restaurant-solid:before{content:\"\"}.icon-roman-helmet:before{content:\"\"}.icon-roman-helmet-solid:before{content:\"\"}.icon-route-solid:before{content:\"\"}.icon-schedule:before{content:\"\"}.icon-search:before{content:\"\"}.icon-share:before{content:\"\"}.icon-share-second:before{content:\"\"}.icon-shopping-bag:before{content:\"\"}.icon-size:before{content:\"\"}.icon-speaker-solid:before{content:\"\"}.icon-stage-solid:before{content:\"\"}.icon-stars:before{content:\"\"}.icon-switch-horizontal:before{content:\"\"}.icon-switch-vertical:before{content:\"\"}.icon-tag:before{content:\"\"}.icon-three-dim:before{content:\"\"}.icon-twitter-x:before{content:\"\"}.icon-two-dim:before{content:\"\"}.icon-user:before{content:\"\"}.icon-verified-check:before{content:\"\"}.icon-warning-solid:before{content:\"\"}.icon-xing:before{content:\"\"}.icon-youtube:before{content:\"\"}.icon-zoom-in:before{content:\"\"}.icon-zoom-out:before{content:\"\"}.icon-activity-solid:before{content:\"\"}.icon-add-circle:before{content:\"\"}.icon-arrow-narrow-left:before{content:\"\"}.icon-artwork:before{content:\"\"}.icon-bookmark:before{content:\"\"}.layout{--font-family:\"Inter\", -apple-system, system-ui, sans-serif;--app-font-family:var(--expofp-font-face,var(--font-family));--ui-scale:1;--app-gap:calc(.625rem * var(--ui-scale));--font-size-xxs:calc(.625rem * var(--ui-scale));--font-size-xs:calc(.6875rem * var(--ui-scale));--font-size-sm:calc(.75rem * var(--ui-scale));--font-size-md:calc(.8125rem * var(--ui-scale));--font-size-lg:calc(.875rem * var(--ui-scale));--font-size-xl:calc(.9375rem * var(--ui-scale));--font-size-xxl:calc(1rem * var(--ui-scale));--font-size-3xl:calc(1.0625rem * var(--ui-scale));--font-size-4xl:calc(1.25rem * var(--ui-scale));--font-size-5xl:calc(1.5rem * var(--ui-scale));--line-height-lg:1.3;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:600;--color-white:#fff;--color-black:#111;--color-gray-50:#fafafa;--color-gray-100:#f4f4f5;--color-gray-200:#e4e4e7;--color-gray-300:#d4d4d8;--color-gray-400:#a4a4ac;--color-gray-500:#71717a;--color-gray-600:#52525b;--color-gray-700:#3f3f46;--color-gray-800:#27272a;--color-gray-900:#18181b;--color-primary-ultra-light:#e1eeff;--color-primary-very-light:#d5e5fb;--color-primary-mid-light:#c5dbfe;--color-primary-light:#a6cefe;--color-primary:#2382f4;--color-primary-dark:#165eb6;--color-primary-ultra-dark:#00316c;--color-secondary-ultra-light:#ffe2e8;--color-secondary-light:#ff9cb7;--color-secondary:#f41767;--color-secondary-dark:#cd0351;--color-secondary-ultra-dark:#920947;--color-green-ultra-light:#affbd2;--color-green-light:#58e499;--color-green:#1fd171;--color-green-dark:#1c8f51;--color-green-ultra-dark:#14673c;--color-orange-ultra-light:#fcefc9;--color-orange-light:#f8dd8f;--color-orange:#f9cb5d;--color-orange-dark:#ea9016;--color-orange-ultra-dark:#d56b0a;--color-red-ultra-light:#ffcdc8;--color-red-light:#f97165;--color-red:#e1463c;--color-red-dark:#a51c12;--color-red-ultra-dark:#912a23;--color-exhibitor:#2ca6ff;--color-booth:#3758ff;--color-event:#9044f6;--color-event-ultra-light:#efe8ff;--color-speaker:#f28a0f;--color-route:#e9602a;--color-other:#16b095;--color-bookmarked:#ffac37;--color-bookmarked-bg:#fcfaf3;--color-featured:#eaf5ff;--color-featured-hover:#dcecfc;--color-featured-border:#cfe3ef;--color-featured-badge-bg:#dbd4ff;--color-featured-badge-text:#461491;--color-visited:#15af6f;--color-visited-gray:#f9f9f9;--color-category-ultra-light:#ffe7c5;--color-category-light:#f6ce94;--color-category:#c87f17;--color-category-dark:#554024;--color-category-ultra-dark:#1a1207;--color-sponsorship-ultra-light:#ffe087;--color-sponsorship-light:#ffd767;--color-sponsorship:#fbc42d;--color-sponsorship-dark:#443c00;--color-sponsorship-ultra-dark:#443c00;--shadow-xs:0px 1px 3px 0px #1018284d;--shadow-sm:0px 2px 6px -2px #10182866;--shadow-md:0px 3px 8px -2px #10182866, 0px 0px 1px 0px #10182899;--shadow-lg:0px 0px 1px 0px #10182824, 0px 10px 28px -2px #10182866;--shadow-inverted-xs:0px -1px 3px 0px #10182829;--shadow-inverted-sm:0px -2px 8px -2px #10182833;--shadow-inverted-md:0px 0px 1px 0px #10182824, 0px -6px 16px -2px #1018282e;--shadow-inverted-lg:0px 0px 1px 0px #10182824, 0px -10px 28px -2px #10182833;--border-radius-xs:calc(.25rem * var(--ui-scale));--border-radius-sm:calc(.375rem * var(--ui-scale));--border-radius-md:calc(.5rem * var(--ui-scale));--border-radius-lg:calc(.75rem * var(--ui-scale));--border-radius-xl:calc(1rem * var(--ui-scale));--border-radius-2xl:calc(1.25rem * var(--ui-scale));--border-radius-full:calc(3.125rem * var(--ui-scale));--backdrop-blur-ex:blur(8px);--backdrop-blur-sm:blur(10px);--backdrop-blur-md:blur(12px);--backdrop-blur-lg:blur(14px);--transition-duration:.1s;--icon-size-xxxs:calc(.75rem * var(--ui-scale));--icon-size-xxs:calc(.875rem * var(--ui-scale));--icon-size-xs:calc(1rem * var(--ui-scale));--icon-size-sm:calc(1.125rem * var(--ui-scale));--icon-size-md:calc(1.25rem * var(--ui-scale));--icon-size-lg:calc(1.375rem * var(--ui-scale));--icon-size-xl:calc(1.5rem * var(--ui-scale));--icon-size-xxl:calc(1.625rem * var(--ui-scale));--ws-height:0px;--banner-height:0px;--search-box-width:calc(24.375rem * var(--ui-scale));--search-box-height:calc(3.375rem * var(--ui-scale));--search-box-top:calc(calc(.625rem * var(--ui-scale)) + var(--ws-height) + var(--banner-height));--levels-top:calc(calc(1.125rem * var(--ui-scale)) + var(--ws-height) + var(--banner-height));--search-buttons-height:calc(3.375rem * var(--ui-scale));--level-dropdown-trigger-width:calc(10.625rem * var(--ui-scale))}.layout.efp-ws-mode{--ws-height:calc(3.375rem * var(--ui-scale))}.layout.efp-top-banner{--banner-height:calc(2.5rem * var(--ui-scale))}@media (min-width:768px){.layout.efp-top-banner{--banner-height:calc(3.25rem * var(--ui-scale))}}@media (max-width:768px){.layout{--levels-top:calc(calc(1.25rem * var(--ui-scale)) + var(--search-box-height) + var(--search-buttons-height) + var(--ws-height) + var(--banner-height))}.layout.efp-no-overlay{--levels-top:calc(calc(.625rem * var(--ui-scale)) + var(--ws-height) + var(--banner-height))}.layout.efp-no-overlay.efp-overlay-on-demand{--levels-top:calc(calc(1.25rem * var(--ui-scale)) + var(--search-buttons-height) + var(--ws-height) + var(--banner-height))}}.layout.efp-kiosk{--search-box-width:clamp(calc(calc(16.25rem * var(--ui-scale)) * var(--ui-scale)), calc(25vw * var(--ui-scale)), calc(calc(21.25rem * var(--ui-scale)) * var(--ui-scale)))}*,:before,:after{box-sizing:border-box}.ps__rail-y{z-index:10}.debug-fps{-webkit-user-select:none;user-select:none;z-index:9999;touch-action:none;direction:ltr;position:fixed;top:1rem;right:1rem}.global-error-message{z-index:99999;grid-template-rows:1fr;gap:.2rem;padding:.2rem;display:grid;position:fixed;top:0;left:0;right:0}.efp-semi-transparent{opacity:.25!important;pointer-events:none!important}.efp-no-select{-webkit-user-select:none!important;user-select:none!important}*{font-family:var(--app-font-family);-webkit-tap-highlight-color:transparent}.layout{box-sizing:border-box;width:100%;height:100%;position:relative}.layout__fixed{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}a{text-decoration:none}#fps{z-index:999;font-size:10px;position:fixed;top:10px;right:10px}.efp-intercom-launcher{right:calc(.625rem * var(--ui-scale));bottom:calc(3.125rem * var(--ui-scale));z-index:20;width:calc(3rem * var(--ui-scale));height:calc(3rem * var(--ui-scale));color:var(--color-white);cursor:pointer;background:#890edb;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;box-shadow:0 1px 6px #0000000f,0 2px 32px #00000029}@media (max-width:768px){.efp-intercom-launcher{bottom:calc(5rem * var(--ui-scale))}}.efp-intercom-launcher:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a,0 4px 40px #0003}.efp-intercom-launcher:focus-visible{outline-offset:2px;outline:2px solid #890edb}.efp-intercom-launcher__badge{top:calc(-.125rem * var(--ui-scale));right:calc(-.125rem * var(--ui-scale));min-width:calc(1.25rem * var(--ui-scale));height:calc(1.25rem * var(--ui-scale));padding:0 calc(.375rem * var(--ui-scale));background:var(--color-red);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-white);justify-content:center;align-items:center;line-height:1;display:flex;position:absolute}.logo-overlay{z-index:20;right:var(--app-gap);bottom:var(--app-gap);transition:opacity .5s;display:block;position:absolute}.logo-overlay>img{width:100%;display:block}.logo-overlay.invert{filter:invert()}@media (min-width:550px){.efp-kiosk .logo-overlay{pointer-events:none}}.layout[dir=rtl] .logo-overlay{right:unset;left:var(--app-gap)}.efp-qr{z-index:20;left:var(--app-gap);bottom:var(--app-gap);padding:calc(.625rem * var(--ui-scale));background:var(--color-white);border-radius:calc(.75rem * var(--ui-scale));box-shadow:var(--shadow-md);text-align:center;position:absolute}.efp-qr.is-right{right:var(--k-app-gap);left:unset}.efp-qr>div{top:calc(-.1875rem * var(--ui-scale));padding:calc(.125rem * var(--ui-scale)) 0 calc(.5rem * var(--ui-scale));font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);text-align:center;position:relative}.efp-qr>svg{width:calc(8.125rem * var(--ui-scale));height:calc(8.125rem * var(--ui-scale))}.layout[dir=rtl] .efp-qr{left:unset;right:var(--app-gap)}.menu__cover{border-radius:var(--border-radius-sm);text-align:center;width:100%;display:block}.menu__cover img{max-width:100%;max-height:calc(7.5rem * var(--ui-scale));opacity:0;transition:opacity .5s}.efp-viewer-mode .menu__cover{max-width:calc(10.625rem * var(--ui-scale));max-height:calc(7.5rem * var(--ui-scale));margin-top:calc(.75rem * var(--ui-scale));align-self:center}.menu__item{align-items:center;gap:calc(.625rem * var(--ui-scale));min-height:calc(2.75rem * var(--ui-scale));padding:calc(.5rem * var(--ui-scale)) calc(1rem * var(--ui-scale));font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-gray-900);display:flex}.menu__item:hover{color:var(--color-black);text-decoration:none}.menu__item>i{min-width:calc(1.75rem * var(--ui-scale));font-size:var(--icon-size-xxxs);color:var(--color-gray-600);text-align:center}.menu__item>i:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-right:calc(.625rem * var(--ui-scale))}.menu__item>i:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-right:calc(.625rem * var(--ui-scale))}.menu__item>i:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:calc(.625rem * var(--ui-scale))}.menu__item>i:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:calc(.625rem * var(--ui-scale))}.efp-viewer-mode .menu__item>i{font-size:var(--icon-size-xs)}.menu__item.-bookmarks{grid-auto-flow:column;place-content:center space-between;display:grid}.menu__item.-bookmarks button{cursor:pointer;border:none;align-self:stretch;margin-right:-.4rem;padding:0 .4rem}.menu__item.-bookmarks button:hover{color:var(--color-black)}.menu__item.-language,.menu__item.-categories,.menu__item.-sessions{grid-auto-flow:column;place-content:center space-between;display:grid}.overlay-bottom .menu__item.-print{display:none}.efp-viewer-mode .menu__item{font-size:var(--font-size-xxl);font-weight:var(--font-weight-medium);color:var(--color-gray-600)}.menu__icons{gap:calc(.625rem * var(--ui-scale));justify-content:space-between;align-items:center;display:flex}.menu__icons i{font-size:var(--icon-size-md);color:var(--color-gray-600)}.menu__icons>button>i{font-size:var(--icon-size-sm)}.menu__icons>button:hover>i{color:var(--color-black)}.menu__content{flex-grow:1}.menu__content a:hover{background:var(--color-gray-100)}.efp-viewer-mode .menu__content{flex-direction:column;flex-grow:1;display:flex}.menu__cat{gap:calc(.75rem * var(--ui-scale));min-height:calc(2.5rem * var(--ui-scale));padding:calc(.5rem * var(--ui-scale)) calc(1rem * var(--ui-scale));color:var(--color-gray-900);justify-content:space-between;display:flex}.menu__cat:hover{color:var(--color-black);text-decoration:none}.menu__cat:visited{color:var(--color-gray-800)}.menu__cat-bullet{width:calc(.375rem * var(--ui-scale));color:var(--color-gray-500)}.menu__cat-title{font-size:var(--font-size-xl);text-align:left;flex-grow:1}.menu__cat-count{font-size:var(--font-size-md);color:var(--color-gray-700)}.menu__bar.-empty{height:calc(3.5rem * var(--ui-scale));margin-right:calc(-3rem * var(--ui-scale));background:var(--color-white)}.menu.shown .menu__cover img{opacity:1}.menu .overlay-bar__slot{max-width:100%}.menu__item-leave{justify-content:center;margin-top:auto;display:flex}.efp-viewer-mode .menu{flex-direction:column;min-height:100vh;display:flex}div.menu__item{border-top:solid 1px var(--color-gray-400);padding-bottom:0}.menu__leave-link{margin-top:calc(.75rem * var(--ui-scale));font-weight:var(--font-weight-bold);color:var(--color-primary)!important}.menu__leave-link:hover{background:0 0;color:var(--color-primary-dark)!important}.layout[dir=rtl] .menu__cat-title{text-align:right}.expo-jtrade19 .menu__title{background:#2b2a29}.expo-awslondon19 .menu__title,.expo-awsamsterdam19 .menu__title,.expo-awsstockholm19 .menu__title{padding-top:calc(1.5rem * var(--ui-scale));padding-bottom:calc(1.5rem * var(--ui-scale));background:linear-gradient(207deg,#2f077a 0%,#af3c77 47%,#eb613c 100%)}.expo-atxcws20 .menu__title{padding:calc(1rem * var(--ui-scale)) 0}.expo-atxcws20 .menu__title>img{max-height:calc(9.375rem * var(--ui-scale))}.expo-expo .menu__title>img{padding-right:calc(2rem * var(--ui-scale))}.expo-vaughanribfest19 .menu__title>img{width:auto}.expo-sydneybuildexpo .menu.shown .overlay-bar__close{color:#555!important}.expo-sydneybuildexpo .menu__title{padding-top:0;padding-bottom:calc(.5rem * var(--ui-scale))}.expo-sydneybuildexpo .menu__title>img{width:auto;max-height:calc(9.375rem * var(--ui-scale))}.expo-sync2020 .menu__title{padding-top:0;padding-bottom:0}.expo-sync2020 .menu__title>img{width:auto;max-height:calc(9.375rem * var(--ui-scale))}.overlay-particles__canvas{opacity:0;transition:opacity 1s;position:absolute;top:0;bottom:0;left:0;right:0}.overlay-particles__canvas.-visible{opacity:1}.efp-planner{padding:0 0 calc(1rem * var(--ui-scale));flex-direction:column;display:flex}.efp-planner__header{gap:calc(.1875rem * var(--ui-scale));padding:0 calc(1rem * var(--ui-scale)) calc(1rem * var(--ui-scale));flex-direction:column;display:flex}.efp-planner__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-medium);color:var(--color-black)}.efp-planner__details{gap:calc(.5rem * var(--ui-scale));font-size:var(--font-size-lg);color:var(--color-gray-600);display:flex}.efp-planner__details span{align-items:center;gap:calc(.5rem * var(--ui-scale));max-width:50%;display:flex}.efp-planner__details span:not(:last-child):after{content:\"\";width:calc(.25rem * var(--ui-scale));height:calc(.25rem * var(--ui-scale));border-radius:var(--border-radius-full);background:var(--color-gray-300);display:block}.efp-planner__alert{padding-top:calc(.25rem * var(--ui-scale))}.efp-planner__stops{flex-direction:column;display:flex}.efp-planner__stop{align-items:center;gap:calc(.625rem * var(--ui-scale));padding:0 calc(1rem * var(--ui-scale));display:flex;position:relative}.efp-planner__stop:before{content:\"\";bottom:calc(-.625rem * var(--ui-scale));left:calc(1.625rem * var(--ui-scale));width:calc(.125rem * var(--ui-scale));height:calc(1.25rem * var(--ui-scale));background:var(--color-gray-300);border-radius:var(--border-radius-full);position:absolute}.efp-planner__stop.is-start .efp-planner__stop-content{padding:0 calc(.125rem * var(--ui-scale));border-top-left-radius:var(--border-radius-md);border-top-right-radius:var(--border-radius-md);cursor:default}.efp-planner__stop.is-last:before{display:none}.efp-planner__stop.is-last .efp-planner__stop-content{border-bottom-left-radius:var(--border-radius-md);border-bottom-right-radius:var(--border-radius-md);border-bottom:none}.efp-planner__stop:not(.is-start) .efp-planner__stop-content:hover{background:var(--color-gray-200)}.efp-planner__stop-timeline{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.efp-planner__stop-icon{width:calc(1.375rem * var(--ui-scale));height:calc(1.375rem * var(--ui-scale));border-radius:var(--border-radius-full);background:var(--dot-color,var(--color-primary));color:var(--color-white);flex-shrink:0;justify-content:center;align-items:center;display:flex}.efp-planner__stop-icon i{font-size:calc(.75rem * var(--ui-scale))}.efp-planner__stop-content{align-items:center;gap:calc(.125rem * var(--ui-scale));min-width:0;min-height:calc(3.625rem * var(--ui-scale));padding:calc(.5rem * var(--ui-scale)) calc(1rem * var(--ui-scale));background:var(--color-gray-100);border-bottom:1px solid var(--color-gray-200);cursor:pointer;flex-flow:wrap;flex-grow:1;display:flex}.efp-planner__stop-content>strong{white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-black);display:block;overflow:hidden}.efp-planner__stop-content>span{font-size:var(--font-size-md);color:var(--color-gray-700)}.efp-planner__empty{padding:calc(1.5rem * var(--ui-scale)) calc(1rem * var(--ui-scale));text-align:center;color:var(--color-gray-500);font-size:var(--font-size-base)}.efp-search-bar{align-items:center;gap:8px;display:flex;position:relative}.efp-search-bar>input{width:100%;height:calc(3.5rem * var(--ui-scale));padding:calc(.0625rem * var(--ui-scale)) 0 0;font-size:var(--font-size-xl);-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;text-overflow:ellipsis;border:none;outline:none;overflow:hidden}.efp-search-bar>input::placeholder{color:var(--color-gray-600);text-overflow:ellipsis;white-space:nowrap}.efp-search-bar>input.fixed{opacity:0;pointer-events:none;position:fixed;top:-100px}.efp-search-bar .category-filter-button{width:calc(2.5rem * var(--ui-scale));height:calc(2.5rem * var(--ui-scale));margin-right:calc(.25rem * var(--ui-scale));color:var(--color-gray-700);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.efp-search-bar .category-filter-button:hover{color:var(--color-black)}.efp-search-bar .category-filter-button i{font-size:var(--icon-size-sm)}.shortcuts-toolbar{z-index:15;padding:calc(.625rem * var(--ui-scale)) 0;background:var(--color-white);border-bottom:1px solid var(--color-gray-200);position:sticky;top:0}.shortcuts-toolbar__scrollable{min-width:0}.shortcuts-toolbar__scrollable .efp-scrollable-row__scroll-wrapper--dragging .efp-scrollable-row__content button,.shortcuts-toolbar__scrollable .efp-scrollable-row__scroll-wrapper--dragging .efp-scrollable-row__content [role=button]{pointer-events:auto}.shortcut-button-container{align-items:center;gap:calc(.25rem * var(--ui-scale));display:flex;position:relative}.shortcut-button{align-items:center;gap:calc(.5rem * var(--ui-scale));height:calc(2rem * var(--ui-scale));padding:0 calc(.75rem * var(--ui-scale));border-radius:var(--border-radius-full);background:var(--color-gray-200);cursor:pointer;white-space:nowrap;font-family:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-gray-900);border:0;flex-shrink:0;transition:all .1s;display:flex;position:relative}.shortcut-button i{font-size:var(--icon-size-xs);flex-shrink:0}.shortcut-button__label{font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.shortcut-button__badge{top:calc(-.125rem * var(--ui-scale));right:calc(-.125rem * var(--ui-scale));min-width:calc(1rem * var(--ui-scale));height:calc(1rem * var(--ui-scale));padding:0 calc(.25rem * var(--ui-scale));background:var(--color-primary-dark);color:var(--color-white);border-radius:var(--border-radius-full);font-size:var(--font-size-xxs);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;line-height:1;display:flex;position:absolute}.shortcut-button:hover{background:var(--color-gray-300);color:var(--color-black)}.shortcut-button.is-active{background:var(--color-primary);color:var(--color-white)}.shortcut-button.is-active:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.shortcut-button.is-disabled{opacity:.5;cursor:not-allowed}.shortcut-button.is-disabled:hover{border-color:var(--color-gray-300);color:var(--color-gray-700)}.shortcut-button--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.shortcut-button--primary:hover,.shortcut-button--primary.is-active{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.shortcut-button--secondary{background:var(--color-gray-100);border-color:var(--color-gray-200);color:var(--color-gray-600)}.shortcut-button--secondary:hover{background:var(--color-gray-200);border-color:var(--color-gray-300);color:var(--color-gray-700)}.shortcut-button--secondary.is-active{background:var(--color-gray-300);border-color:var(--color-gray-400);color:var(--color-gray-800)}.shortcut-reset-button{width:calc(1.125rem * var(--ui-scale));height:calc(1.125rem * var(--ui-scale));margin-left:calc(-.375rem * var(--ui-scale));border-radius:var(--border-radius-full);color:var(--color-primary-light);cursor:pointer;border:0;justify-content:center;align-items:center;transition:all .1s;display:flex;position:relative}.shortcut-reset-button>i{font-size:var(--icon-size-sm)}.shortcut-reset-button:hover{color:var(--color-primary-ultra-light)}.shortcuts-filters-button{width:calc(2.75rem * var(--ui-scale));height:calc(2rem * var(--ui-scale));border-radius:var(--border-radius-full);background:var(--color-primary-ultra-light);color:var(--color-primary);cursor:pointer;border:0;flex-shrink:0;justify-content:center;align-items:center;transition:all .1s;display:flex;position:relative}.shortcuts-filters-button:hover{background:var(--color-primary-light);color:var(--color-primary-ultra-dark)}.shortcuts-filters-button.is-active{background:var(--color-primary);color:var(--color-white)}.shortcuts-filters-button.is-active:hover{background:var(--color-primary-dark)}.shortcuts-filters-button i{font-size:var(--icon-size-sm)}.shortcuts-filters-button__count{top:calc(-.1875rem * var(--ui-scale));right:calc(-.1875rem * var(--ui-scale));min-width:calc(1rem * var(--ui-scale));height:calc(1rem * var(--ui-scale));padding:0 calc(.25rem * var(--ui-scale));background:var(--color-primary-dark);color:var(--color-white);border-radius:var(--border-radius-full);font-size:var(--font-size-xxs);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;line-height:1;display:flex;position:absolute}.efp-sessions-overlay .overlay-bar.scrolled{box-shadow:unset!important}.efp-sessions-header{gap:calc(.5rem * var(--ui-scale));display:flex}.efp-sessions-header>span{margin-top:calc(.1875rem * var(--ui-scale))}.efp-sessions-filters{z-index:10;height:calc(3.125rem * var(--ui-scale));align-items:center;gap:calc(.5rem * var(--ui-scale));padding:calc(.25rem * var(--ui-scale)) calc(.875rem * var(--ui-scale));background:var(--color-white);display:flex;position:sticky;top:0}.efp-sessions-filters__search{flex:1;position:relative}.efp-sessions-filters__search input{width:100%;height:calc(2.375rem * var(--ui-scale));padding:0 calc(.875rem * var(--ui-scale)) 0 calc(2.25rem * var(--ui-scale));background:var(--color-gray-200);border-radius:var(--border-radius-full);font-size:var(--font-size-lg);border:1px solid #0000}.efp-sessions-filters__search input:focus{border-color:var(--color-primary);outline:none}.efp-sessions-filters__search>i{top:50%;left:calc(.75rem * var(--ui-scale));font-size:var(--icon-size-xs);color:var(--color-gray-500);position:absolute;transform:translateY(-54%)}.efp-sessions-filters__button{width:calc(2.375rem * var(--ui-scale));height:calc(2.375rem * var(--ui-scale));border-radius:var(--border-radius-full);background:var(--color-primary);color:var(--color-white);cursor:pointer;border:0;justify-content:center;align-items:center;transition:background .1s ease-in-out;display:flex;position:relative}.efp-sessions-filters__button>i{font-size:var(--icon-size-sm)}.efp-sessions-filters__button>span{top:calc(-.25rem * var(--ui-scale));right:calc(-.25rem * var(--ui-scale));width:calc(1.125rem * var(--ui-scale));height:calc(1.125rem * var(--ui-scale));background:var(--color-secondary);border:2px solid var(--color-white);border-radius:var(--border-radius-full);color:var(--color-white);font-size:var(--font-size-xs);-webkit-user-select:none;user-select:none;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.efp-sessions-filters__button:hover{background:var(--color-primary-dark)}.efp-sessions-track-filter{padding:calc(.75rem * var(--ui-scale)) calc(.875rem * var(--ui-scale));margin-bottom:calc(.5rem * var(--ui-scale));background:var(--color-primary-ultra-light);border:1px solid var(--color-primary-light);border-radius:var(--border-radius-md);justify-content:space-between;align-items:center;display:flex}.efp-sessions-track-filter__info{align-items:center;gap:calc(.5rem * var(--ui-scale));display:flex}.efp-sessions-track-filter__label{font-size:var(--font-size-sm);color:var(--color-gray-600)}.efp-sessions-track-filter__track{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary)}.efp-sessions-track-filter__clear{width:calc(1.5rem * var(--ui-scale));height:calc(1.5rem * var(--ui-scale));border-radius:var(--border-radius-sm);color:var(--color-gray-500);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.efp-sessions-track-filter__clear i{font-size:var(--icon-size-xs)}.efp-sessions-track-filter__clear:hover{background:var(--color-gray-200);color:var(--color-gray-700)}.efp-sessions-empty{padding:calc(1.875rem * var(--ui-scale)) calc(.875rem * var(--ui-scale)) calc(1.875rem * var(--ui-scale));font-size:var(--font-size-xl);color:var(--color-gray-700);text-align:center;cursor:default}.efp-speaker__header{justify-content:space-between;align-items:center;gap:calc(.75rem * var(--ui-scale));padding:0 calc(1rem * var(--ui-scale)) calc(.625rem * var(--ui-scale)) calc(1rem * var(--ui-scale));background:var(--color-white);display:flex}@media (max-width:768px){.efp-speaker__header{padding-top:calc(.625rem * var(--ui-scale))}}.efp-speaker__icon{width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale));border-radius:var(--border-radius-full);background:var(--color-speaker);color:var(--color-white);flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;display:flex}.efp-speaker__icon>i{font-size:var(--icon-size-xxs)}.efp-speaker__content{text-align:left;align-self:flex-start;gap:calc(.125rem * var(--ui-scale));flex-direction:column;flex:1;display:flex}.efp-speaker__name{margin-bottom:calc(.1875rem * var(--ui-scale));font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}.efp-speaker__job-title{font-size:var(--font-size-md);color:var(--color-gray-700)}.efp-speaker__company{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-gray-900)}.efp-speaker__photo{width:calc(4.375rem * var(--ui-scale));height:calc(4.375rem * var(--ui-scale));border-radius:var(--border-radius-md);background:var(--color-gray-100);flex-shrink:0;overflow:hidden}.efp-speaker__photo img{object-fit:cover;object-position:center;width:100%;height:100%}.efp-speaker__buttons{margin:0 calc(1rem * var(--ui-scale)) 0 calc(1rem * var(--ui-scale))}.efp-speaker-events__title{padding:0 calc(1rem * var(--ui-scale));font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin:0}.efp-speaker-empty,.efp-speakers-empty{height:calc(12.5rem * var(--ui-scale));text-align:center;color:var(--color-gray-500);font-size:calc(1rem * var(--ui-scale));background:var(--color-white);border-radius:var(--border-radius-md);margin-top:calc(1.25rem * var(--ui-scale));padding:calc(2.5rem * var(--ui-scale));justify-content:center;align-items:center;display:flex}@media (max-width:768px){.efp-speakers-empty{height:calc(9.375rem * var(--ui-scale));font-size:calc(.875rem * var(--ui-scale));padding:calc(1.25rem * var(--ui-scale));margin-top:calc(1rem * var(--ui-scale))}}.efp-tours-empty{text-align:center;height:100%;color:var(--color-gray-500);font-size:var(--font-size-lg);justify-content:center;align-items:center;display:flex}.efp-wayfinding-description{padding:calc(1rem * var(--ui-scale)) calc(1rem * var(--ui-scale)) calc(.875rem * var(--ui-scale));white-space:pre-line;font-size:var(--font-size-xl);color:var(--color-gray-900)}.efp-wayfinding{gap:calc(.875rem * var(--ui-scale));padding-bottom:calc(1rem * var(--ui-scale));flex-flow:column wrap;display:flex}.efp-wayfinding.isCollapsed{gap:0}.efp-wayfindingForm{align-items:center;display:flex}.efp-wayfindingForm:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-right:calc(.625rem * var(--ui-scale))}.efp-wayfindingForm:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-right:calc(.625rem * var(--ui-scale))}.efp-wayfindingForm:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:calc(.625rem * var(--ui-scale))}.efp-wayfindingForm:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:calc(.625rem * var(--ui-scale))}.efp-wayfindingForm__icons{width:calc(2.8125rem * var(--ui-scale));height:calc(6.875rem * var(--ui-scale));flex-flow:column wrap;justify-content:space-between;display:flex;position:relative}.efp-wayfindingForm__icons:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(.9375rem * var(--ui-scale))}.efp-wayfindingForm__icons:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(.9375rem * var(--ui-scale))}.efp-wayfindingForm__icons:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(.9375rem * var(--ui-scale))}.efp-wayfindingForm__icons:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(.9375rem * var(--ui-scale))}.efp-wayfindingForm__from,.efp-wayfindingForm__to,.efp-wayfindingForm__dots{height:calc(3.125rem * var(--ui-scale));align-items:center;display:flex}.efp-wayfindingForm__from>svg{width:calc(1.3125rem * var(--ui-scale));height:calc(1.3125rem * var(--ui-scale))}.efp-wayfindingForm__to>svg{width:calc(1.25rem * var(--ui-scale));height:calc(1.5625rem * var(--ui-scale))}.efp-wayfindingForm__dots{width:calc(.25rem * var(--ui-scale));height:calc(1.125rem * var(--ui-scale));position:absolute;top:50%;left:50%;transform:translateY(-50%)}.efp-wayfindingForm__dots:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:1px}.efp-wayfindingForm__dots:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:1px}.efp-wayfindingForm__dots:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:1px}.efp-wayfindingForm__dots:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:1px}.efp-wayfindingForm__controls{flex:1}.efp-wayfindingForm__controls:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-right:calc(.625rem * var(--ui-scale))}.efp-wayfindingForm__controls:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-right:calc(.625rem * var(--ui-scale))}.efp-wayfindingForm__controls:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:calc(.625rem * var(--ui-scale))}.efp-wayfindingForm__controls:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:calc(.625rem * var(--ui-scale))}.efp-wayfindingForm__actions{gap:.2rem;display:grid}.efp-wayfindingForm__switch{width:calc(1.875rem * var(--ui-scale));height:calc(2.125rem * var(--ui-scale));border-radius:var(--border-radius-md);color:var(--color-gray-700);cursor:pointer;transition:all var(--transition-duration) ease;background:0 0;border:0;padding:0}.efp-wayfindingForm__switch:before{font-variant:normal;text-transform:none;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\";font-size:24px;font-style:normal;font-weight:400;line-height:1;font-size:var(--icon-size-md);font-family:efp-symbols,sans-serif!important}.efp-wayfindingForm__switch:hover{background:var(--color-gray-200);color:var(--color-black)}.efp-wayfindingForm__details{width:calc(1.875rem * var(--ui-scale));height:calc(2.125rem * var(--ui-scale));border-radius:var(--border-radius-md);color:var(--color-gray-700);cursor:pointer;transition:all var(--transition-duration) ease;background:0 0;border:0;padding:0}.efp-wayfindingForm__details:before{font-variant:normal;text-transform:none;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\";font-size:24px;font-style:normal;font-weight:400;line-height:1;font-size:var(--icon-size-md);font-family:efp-symbols,sans-serif!important}.efp-wayfindingForm__details:hover{background:var(--color-gray-200);color:var(--color-black)}.efp-wayfindingForm__accessible{margin-top:calc(.75rem * var(--ui-scale))}.efp-wayfindingForm__accessible:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:calc(2.75rem * var(--ui-scale))}.efp-wayfindingForm__accessible:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:calc(2.75rem * var(--ui-scale))}.efp-wayfindingForm__accessible:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:calc(2.75rem * var(--ui-scale))}.efp-wayfindingForm__accessible:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:calc(2.75rem * var(--ui-scale))}.efp-wayfindingError{padding:calc(1.25rem * var(--ui-scale)) calc(.9375rem * var(--ui-scale));border-top:1px solid var(--color-gray-300);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-gray-700);text-align:center}.layout[dir=rtl] .efp-wayfindingForm__icons:after{right:50%}.route-qr{padding:0 calc(1rem * var(--ui-scale))}.route-qr__body{gap:calc(1rem * var(--ui-scale));padding-top:calc(1rem * var(--ui-scale));flex-flow:wrap;align-items:center;display:flex}.route-qr__code{width:calc(5.625rem * var(--ui-scale));padding:calc(.375rem * var(--ui-scale));background:var(--color-white);border-radius:var(--border-radius-sm);display:inline-flex}.route-qr__code>svg{width:100%;height:auto}.route-qr__label{font-size:var(--font-size-xxl);font-weight:var(--font-weight-medium);color:var(--color-black);flex:1}.efp-wayInformation{max-width:calc(50rem * var(--ui-scale));padding:calc(1rem * var(--ui-scale)) calc(1rem * var(--ui-scale)) 0;border-top:1px solid var(--color-gray-300);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.efp-wayInformation__item{padding:0 calc(.625rem * var(--ui-scale))}.efp-wayInformation__item span{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-gray-700);display:flex}.efp-wayInformation__item strong{font-size:var(--font-size-xxl);font-weight:var(--font-weight-medium);color:var(--color-black);display:block}.efp-wayInformation__item.is-accessible strong{color:var(--color-primary);display:flex;position:relative}.efp-wayfinding.isCollapsed .efp-wayInformation{padding-top:calc(.25rem * var(--ui-scale));border-top:0}.efp-wayfinding.isCollapsed .efp-wayInformation__item strong{margin-top:calc(-.125rem * var(--ui-scale))}.search-box{top:var(--search-box-top);left:var(--app-gap);right:var(--app-gap);width:var(--search-box-width);height:var(--search-box-height);z-index:40;background:var(--color-white);border-radius:calc(1.75rem * var(--ui-scale));padding:0 calc(.625rem * var(--ui-scale));align-items:center;gap:calc(.25rem * var(--ui-scale));cursor:text;border:1px solid #0000;display:flex;position:fixed}.efp-viewer-mode .search-box{gap:calc(.5rem * var(--ui-scale))}.search-box__title{align-items:center;gap:calc(.5rem * var(--ui-scale));padding:0 calc(.375rem * var(--ui-scale));text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;color:var(--color-gray-900);display:flex;overflow:hidden}.search-box__title strong{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.search-box__title span{font-size:var(--font-size-sm)}.search-box__input-wrapper{flex:1;min-width:0}.search-box__input{width:100%;height:var(--search-box-height);font-size:var(--font-size-xl);color:var(--color-gray-900);-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;outline:none;padding:0}.search-box__input::placeholder{color:var(--color-gray-500)}.search-box__input:focus{outline:none}.efp-viewer-mode .search-box__input{font-size:var(--font-size-3xl)}.search-box__button{width:calc(2.25rem * var(--ui-scale));height:calc(2.25rem * var(--ui-scale));border-radius:var(--border-radius-full);cursor:pointer;color:var(--color-gray-800);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.search-box__button i{font-size:var(--icon-size-md)}.search-box__button:hover{background:var(--color-gray-100);color:var(--color-black)}.search-box__button--back:hover{color:var(--color-primary-600)}.search-box__button--back.is-mobile-details i{transition:transform .2s ease-in-out;transform:rotate(-90deg)}.search-box__button--home{background:var(--color-primary-ultra-light);color:var(--color-primary)}.search-box__button--home:hover{background:var(--color-primary-ultra-light);color:var(--color-primary-dark)}.search-box__button--search{cursor:text}.search-box__button--search:hover{color:var(--color-gray-800);background:0 0}.search-box__button--close{background:var(--color-gray-200);color:var(--color-gray-800)}.search-box__button--close:hover{background:var(--color-gray-300)}.search-box__button--sessions-filters{position:relative}.search-box__button--sessions-filters.is-active{background:var(--color-primary-ultra-light);color:var(--color-primary)}.search-box__button--sessions-filters.is-active:hover{background:var(--color-primary-ultra-light);color:var(--color-primary-dark)}.search-box__button--ui-action>i{font-size:var(--icon-size-sm)}.search-box__sessions-filters-count{top:calc(-.25rem * var(--ui-scale));right:calc(-.25rem * var(--ui-scale));min-width:calc(1rem * var(--ui-scale));height:calc(1rem * var(--ui-scale));padding:0 calc(.25rem * var(--ui-scale));background:var(--color-primary);color:var(--color-white);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;line-height:1;display:flex;position:absolute}.search-box__title-subtitle{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-top:calc(.125rem * var(--ui-scale));text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.search-box.has-shadow{box-shadow:var(--shadow-md)}.search-box.is-details{cursor:default;background:0 0;border-color:#0000}.search-box.is-details:not(.is-route) .search-box__title{opacity:0}.search-box.is-details:not(.is-route) strong{font-size:var(--font-size-xl)}.search-box.is-featured-exhibitor .search-box__title,.search-box.is-featured-exhibitor .search-box__button{color:var(--color-white)}.search-box.is-featured-exhibitor .search-box__button:hover{background:var(--color-primary-dark)}.search-box.is-overlay-scrolled:not(.is-route) .search-box__title{opacity:1}@media (max-width:768px){.search-box{width:calc(100% - var(--app-gap) * 2);box-shadow:var(--shadow-md);transition:box-shadow .2s,border .2s,opacity .2s,visibility .2s}.search-box.is-details{background:var(--color-white)}.search-box.is-details.is-overlay-full{opacity:0;visibility:hidden}.search-box.is-details:not(.is-route) .search-box__title{opacity:1}.search-box.is-featured-exhibitor{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}}.layout[dir=rtl] .search-box{left:unset;right:var(--app-gap)}@media (min-width:550px){.efp-kiosk .search-box.overlay-pulse:after{content:\"\";pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:100px;width:100%;height:100%;animation:4s infinite pulse-shadow;position:absolute;top:0;left:0;box-shadow:0 0 #007bffb3}.efp-kiosk-route-active .search-box{background:0 0}}@keyframes pulse-shadow{0%{box-shadow:0 0 #2382f4e6}30%{box-shadow:0 0 0 20px #2382f400}50%{box-shadow:0 0 #2382f400}to{box-shadow:0 0 #2382f400}}.efp-search-buttons{top:calc(calc(.625rem * var(--ui-scale)) + var(--ws-height) + var(--banner-height));left:calc(var(--search-box-width) + calc(1.875rem * var(--ui-scale)));z-index:25;max-width:calc(100vw - var(--search-box-width) - calc(6.875rem * var(--ui-scale)));position:fixed}.efp-search-buttons.is-long-levels{max-width:calc(100vw - var(--search-box-width) - var(--level-dropdown-trigger-width) - calc(4.375rem * var(--ui-scale)))}.efp-search-buttons[style*=\"left: 10px\"][style*=\"right: 10px\"]{max-width:calc(100vw - 20px)}.efp-search-buttons.is-standalone{left:calc(.625rem * var(--ui-scale));max-width:calc(100vw - calc(6.875rem * var(--ui-scale)))}.efp-search-buttons.is-standalone.is-long-levels{max-width:calc(100vw - var(--level-dropdown-trigger-width) - calc(4.375rem * var(--ui-scale)))}@media (max-width:768px){.efp-search-buttons.is-standalone{top:calc(calc(.625rem * var(--ui-scale)) + var(--ws-height) + var(--banner-height));max-width:100%;left:0;right:0}.efp-search-buttons.is-standalone.is-long-levels{max-width:100%}}.layout[dir=rtl] .efp-search-buttons.is-standalone{right:calc(.625rem * var(--ui-scale));left:unset}@media (max-width:768px){.layout[dir=rtl] .efp-search-buttons.is-standalone{left:0;right:0}.efp-search-buttons{top:calc(calc(.875rem * var(--ui-scale)) + var(--search-box-height) + var(--ws-height) + var(--banner-height));max-width:100%;left:0;right:0}.efp-search-buttons.is-long-levels{max-width:100%}}.layout[dir=rtl] .efp-search-buttons{right:calc(var(--search-box-width) + calc(1.875rem * var(--ui-scale)));left:unset}@media (max-width:768px){.layout[dir=rtl] .efp-search-buttons{left:0;right:0}}@media (max-width:768px){.efp-search-buttons .efp-scrollable-row__container{padding:0}}@media (max-width:768px){.efp-search-buttons .efp-scrollable-row__scroll-wrapper{padding:0}}@media (max-width:768px){.efp-search-buttons .efp-scrollable-row__content{width:fit-content;padding:calc(.5rem * var(--ui-scale)) calc(.625rem * var(--ui-scale))}}.layout[dir=rtl] .efp-search-buttons .efp-scrollable-row__arrow--left{right:calc(-.5rem * var(--ui-scale));left:unset}.efp-search-buttons .efp-scrollable-row__container{padding:0 calc(.375rem * var(--ui-scale))}@media (max-width:768px){.efp-search-buttons .efp-scrollable-row__container{padding:0}}.efp-search-buttons .efp-scrollable-row__scroll-wrapper{padding:0 calc(.3125rem * var(--ui-scale))}@media (max-width:768px){.efp-search-buttons .efp-scrollable-row__scroll-wrapper{padding:0}}.efp-search-buttons .efp-scrollable-row__scroll-wrapper--dragging .efp-scrollable-row__content button{pointer-events:auto}.efp-search-buttons .efp-scrollable-row__content{gap:calc(.5rem * var(--ui-scale));padding:calc(.5rem * var(--ui-scale)) 0}@media (max-width:768px){.efp-search-buttons .efp-scrollable-row__content{width:fit-content;padding:calc(.5rem * var(--ui-scale)) calc(.625rem * var(--ui-scale))}}.efp-search-buttons .efp-scrollable-row__arrow{z-index:2;min-width:calc(2.375rem * var(--ui-scale));height:calc(2.375rem * var(--ui-scale));background:var(--color-white);border-radius:var(--border-radius-full);box-shadow:var(--shadow-md);color:var(--color-gray-900);border:1px solid #0000;padding:0}.efp-search-buttons .efp-scrollable-row__arrow i{font-size:var(--icon-size-md);color:var(--color-gray-600)}.efp-search-buttons .efp-scrollable-row__arrow:hover{background:var(--color-gray-100);color:var(--color-black)}.efp-search-buttons .efp-scrollable-row__arrow--left{left:calc(-.5rem * var(--ui-scale))}.efp-search-buttons .efp-scrollable-row__arrow--right{right:calc(-.5rem * var(--ui-scale))}.layout[dir=rtl] .efp-search-buttons .efp-scrollable-row__arrow--left{left:unset;right:calc(-.5rem * var(--ui-scale))}.layout[dir=rtl] .efp-search-buttons .efp-scrollable-row__arrow--right{right:unset;left:calc(-.5rem * var(--ui-scale))}.efp-search-button{justify-content:center;align-items:center;gap:calc(.3125rem * var(--ui-scale));white-space:nowrap;min-width:calc(2.375rem * var(--ui-scale));height:calc(2.375rem * var(--ui-scale));padding:0 calc(.875rem * var(--ui-scale));background:var(--color-white);border-radius:var(--border-radius-full);box-shadow:var(--shadow-md);color:var(--color-gray-800);cursor:pointer;border:1px solid #0000;flex-shrink:0;transition:all .2s;display:flex;position:relative}.efp-search-button i{margin-left:calc(-.25rem * var(--ui-scale));font-size:var(--icon-size-sm)}.efp-search-button__text{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);white-space:nowrap;text-overflow:ellipsis;max-width:calc(10rem * var(--ui-scale));overflow:hidden}.efp-search-button__count{top:calc(-.3125rem * var(--ui-scale));right:calc(-.3125rem * var(--ui-scale));min-width:calc(1.25rem * var(--ui-scale));height:calc(1.25rem * var(--ui-scale));padding:0 calc(.25rem * var(--ui-scale));background:var(--color-white);border:1px solid var(--color-gray-400);border-radius:var(--border-radius-full);box-shadow:var(--shadow-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-gray-700);justify-content:center;align-items:center;line-height:0;transition:all .2s;display:flex;position:absolute}.efp-search-button__count.is-zero{background:var(--color-gray-200);border-color:var(--color-gray-300);color:var(--color-gray-500)}.efp-search-button:active:not(.is-active):not(.has-custom-color){background:var(--color-white)}.efp-search-button:hover:not(.is-active):not(.has-custom-color){background:var(--color-gray-100);color:var(--color-black)}.efp-search-button.has-custom-color:not(.is-active){background:var(--btn-bg-color);color:var(--btn-text-color)}.efp-search-button.has-custom-color:not(.is-active) .efp-search-button__count{background:var(--btn-bg-color);color:var(--btn-text-color);filter:brightness(1.2);border-color:#0f0f0f4d}.efp-search-button.has-custom-color:not(.is-active):hover{filter:brightness(.9)}.efp-search-button.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.efp-search-button.is-active .efp-search-button__count{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-white)}.efp-search-button.is-dimmed:not(.is-active) .efp-search-button__count.is-zero{background:var(--color-gray-200);border-color:var(--color-gray-300);color:var(--color-gray-500)}.layout[dir=rtl] .efp-search-button i{margin-left:0;margin-right:calc(-.25rem * var(--ui-scale))}.layout[dir=rtl] .efp-search-button__count{right:unset;left:calc(-.3125rem * var(--ui-scale))}.efp-search-sub-buttons{z-index:30;padding:calc(.25rem * var(--ui-scale)) calc(.625rem * var(--ui-scale)) calc(.625rem * var(--ui-scale));max-height:calc(7.5rem * var(--ui-scale));opacity:0;transform:translateY(-rem(8px));pointer-events:none;transition:all .2s ease-out;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.efp-search-sub-buttons.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.efp-search-sub-buttons__container{gap:calc(.375rem * var(--ui-scale));flex-wrap:wrap;align-items:center;display:flex}.efp-search-sub-buttons::-webkit-scrollbar{width:calc(.25rem * var(--ui-scale))}.efp-search-sub-buttons::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:var(--border-radius-sm)}.efp-search-sub-buttons::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--border-radius-sm)}.efp-search-sub-buttons::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.layout[dir=rtl] .efp-search-sub-buttons{left:unset;right:0}.efp-search-sub-button{white-space:nowrap;min-width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale));background:var(--color-white);border-radius:var(--border-radius-full);box-shadow:var(--shadow-md);color:var(--color-gray-900);cursor:pointer;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:relative}.efp-search-sub-button i{font-size:var(--icon-size-sm)}.efp-search-sub-button__text{padding:0 calc(.75rem * var(--ui-scale));font-size:var(--font-size-md);font-weight:var(--font-weight-medium);white-space:nowrap;text-overflow:ellipsis;max-width:calc(10rem * var(--ui-scale));overflow:hidden}.efp-search-sub-button__count{top:calc(-.3125rem * var(--ui-scale));right:calc(-.3125rem * var(--ui-scale));min-width:calc(1.125rem * var(--ui-scale));height:calc(1.125rem * var(--ui-scale));padding:0 calc(.25rem * var(--ui-scale));background:var(--color-white);border:1px solid var(--color-gray-400);border-radius:var(--border-radius-full);box-shadow:var(--shadow-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-gray-700);justify-content:center;align-items:center;line-height:0;transition:all .2s;display:flex;position:absolute}.efp-search-sub-button__count.is-zero{background:var(--color-gray-200);border-color:var(--color-gray-300);color:var(--color-gray-500)}.efp-search-sub-button:hover:not(.is-active){background:var(--color-gray-100);border-color:var(--color-gray-400)}.efp-search-sub-button.is-active{background:var(--color-primary-ultra-light);border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 2px 4px #0000001a}.efp-search-sub-button.is-active .efp-search-sub-button__count{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.efp-sessions-filters-modal{gap:calc(1.875rem * var(--ui-scale));flex-direction:column;display:flex}.efp-sessions-filters-modal__section h3{margin:0 0 calc(.375rem * var(--ui-scale));font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);color:var(--color-gray-900)}.efp-sessions-filters-modal__buttons{gap:calc(.125rem * var(--ui-scale));background:var(--color-gray-200);border-radius:var(--border-radius-full);-webkit-user-select:none;user-select:none;display:flex}.efp-sessions-filters-modal__btn{padding:calc(.375rem * var(--ui-scale)) calc(.5rem * var(--ui-scale));border:4px solid var(--color-gray-200);border-radius:var(--border-radius-full);cursor:pointer;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-gray-900);background:0 0;flex:1}.efp-sessions-filters-modal__btn:hover{color:var(--color-black)}.efp-sessions-filters-modal__btn.is-active{background:var(--color-white);color:var(--color-black)}.efp-sessions-filters-modal__toggle{padding:calc(.5rem * var(--ui-scale)) 0;justify-content:space-between;align-items:center;display:flex}.efp-speakers-filters-modal{gap:calc(1.875rem * var(--ui-scale));flex-direction:column;display:flex}.efp-speakers-filters-modal__section h3{margin:0 0 calc(.375rem * var(--ui-scale));font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);color:var(--color-gray-900)}.ws{z-index:102;height:var(--ws-height);padding:0 calc(.25rem * var(--ui-scale));background:var(--color-white);filter:brightness(97%);box-shadow:var(--shadow-md);justify-content:space-around;align-items:center;transition:opacity .5s;display:flex;position:absolute;right:0;overflow:hidden}.ws__exhibitor{margin:calc(.3125rem * var(--ui-scale)) 0;background:var(--color-white);align-items:center;display:flex}.ws__exhibitor>img{max-height:100%}@media print{.ws{display:none}}.ws__list-item{margin-right:calc(.625rem * var(--ui-scale));display:inline-block}.ws__exhibitor.exit{display:none}.overlay-left .ws__exhibitor.enter{opacity:0}.overlay-left .ws__exhibitor.enter-active{opacity:1;transition:opacity .5s}.overlay-left .ws__exhibitor.exit{display:none}.efp-kiosk.efp-ws-mode .overlay-content__scrollable{max-height:var(--k-sidebar-max-height-with-ws)}.layout[dir=rtl] .ws{left:10px;right:unset!important}@media (max-width:550px){.ws{border-radius:0}}.efp-tours-list{flex-direction:column;display:flex}.efp-tour-item{min-height:calc(4.5rem * var(--ui-scale));background:var(--color-white);border-bottom:1px solid var(--color-gray-200);cursor:pointer;align-items:center;display:flex;position:relative}.efp-tour-item__body{gap:calc(.875rem * var(--ui-scale));width:100%;padding:calc(1rem * var(--ui-scale)) calc(.875rem * var(--ui-scale));align-items:flex-start;display:flex}.efp-tour-item__left{gap:calc(.375rem * var(--ui-scale));flex-flow:column wrap;align-items:center;display:flex}.efp-tour-item__right{gap:calc(.625rem * var(--ui-scale));flex:1;min-width:0;display:flex}.efp-tour-item__content{flex-direction:column;flex:1;max-width:100%;display:flex}.efp-tour-item__title{font-size:var(--font-size-xxl);font-weight:var(--font-weight-medium);color:var(--color-black);letter-spacing:.01em;align-items:center}.efp-tour-item__description{margin-top:calc(.25rem * var(--ui-scale));font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-gray-600);line-height:1.4}.efp-tour-item__icon{width:calc(1.5rem * var(--ui-scale));height:calc(1.5rem * var(--ui-scale));margin-top:calc(-.125rem * var(--ui-scale));background:var(--color-route);border-radius:var(--border-radius-full);justify-content:center;align-items:center;display:flex}.efp-tour-item__icon>i{font-size:var(--icon-size-xxs);color:var(--color-white)}.efp-tour-item:hover{background:var(--color-gray-200)}.efp-tours-empty{padding:calc(3.75rem * var(--ui-scale)) calc(1.25rem * var(--ui-scale));text-align:center;justify-content:center;align-items:center;display:flex}.efp-tours-empty p{color:var(--color-gray-500);font-size:var(--font-size-lg);margin:0}\n/*$vite$:1*/", "components.css", false);