<!DOCTYPE html><html lang="es" data-astro-cid-37fxchfa style=""> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script data-cookieconsent="ignore">
			window.dataLayer = window.dataLayer || [];
			function gtag() {
				// eslint-disable-next-line no-undef
				window.dataLayer.push(arguments);
			}
			gtag("consent", "default", {
				ad_personalization: "denied",
				ad_storage: "denied",
				ad_user_data: "denied",
				analytics_storage: "denied",
				functionality_storage: "denied",
				personalization_storage: "denied",
				security_storage: "granted",
				wait_for_update: 500,
			});
			gtag("set", "ads_data_redaction", true);
			gtag("set", "url_passthrough", true);
		</script><script data-cookieconsent="ignore" defer>(function(){const GTM_ID = "GTM-KKP69V";

			// eslint-disable-next-line @typescript-eslint/no-unused-vars
			(function (w, d, s, l, i) {
				w[l] = w[l] || [];
				w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" });
				var f = d.getElementsByTagName(s)[0],
					j = d.createElement(s),
					dl = l != "dataLayer" ? "&l=" + l : "";
				j.defer = true;
				var id = w.location.pathname.includes("/contador/")
					? "GTM-TFPXBP7"
					: GTM_ID;
				j.async = true;
				j.src = "https://www.googletagmanager.com/gtm.js?id=" + id + dl;
				f.parentNode.insertBefore(j, f);
			})(window, document, "script", "dataLayer", "GTM-KKP69V");
		})();</script><script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="a84cb3c5-cdfd-404a-9328-9921cb225c3b" data-blockingmode="auto" type="text/javascript" data-consentmode-defaults="disabled"></script><!-- <script is:inline src="https://accounts.google.com/gsi/client" async defer
		></script> --><script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit" defer></script> <!-- Flag para el anti-flicker: presente solo en páginas con experimentos activos --><!-- Anti-flicker: el script lee el flag del DOM para activarse.
     El SDK restaura opacity al asignar el variant. El timeout es safety net. --><script>
	(function () {
		if (!document.getElementById("amplitude-antiflicker")) return;
		var MAX_TIMEOUT = 200;
		document.documentElement.style.opacity = "0";
		window.__amplitudeAntiFlickerTimeout = setTimeout(function () {
			document.documentElement.style.opacity = "1";
		}, MAX_TIMEOUT);
	})();
</script><script type="text/javascript" src="https://cdn.lab.amplitude.com/web/v1/script/1dd4f5b0d60b5997b33e31736230fe60.js"></script><link rel="sitemap" href="/sitemap-index.xml"><link href="https://cdn1.alegra.com/websites/favicon.ico" rel="icon" type="image/x-icon"><meta name="robots" content="max-snippet:-1, max-image-preview:large, max-video-preview:-1,index,follow"><meta name="title" content="▷ Superpoderes para tu negocio | Alegra.com"><meta name="description" content="Alegra es la plataforma en la nube con soluciones para ☝ administrar tu negocio, facturar electrónicamente y vender en línea. ✓ Empieza GRATIS"><meta name="language" content="Spanish"><title>▷ Superpoderes para tu negocio | Alegra.com</title><meta property="og:url" content="https://www.alegra.com/"><meta property="og:title" content="▷ Superpoderes para tu negocio | Alegra.com"><meta property="og:description" content="Alegra es la plataforma en la nube con soluciones para ☝ administrar tu negocio, facturar electrónicamente y vender en línea. ✓ Empieza GRATIS"><meta property="og:image" content="https://cdn2.alegra.com/website/imagen-facebook.png"><meta property="og:site_name" content="Alegra"><meta property="og:type" content="website"><meta name="twitter:card" content="summary"><meta name="twitter:site" content="@alegraweb"><meta name="twitter:creator" content="@alegraweb"><meta name="twitter:title" content="▷ Superpoderes para tu negocio | Alegra.com"><meta name="twitter:description" content="Alegra es la plataforma en la nube con soluciones para ☝ administrar tu negocio, facturar electrónicamente y vender en línea. ✓ Empieza GRATIS"><meta name="twitter:image" content="https://cdn2.alegra.com/website/imagen-facebook.png"><link rel="canonical" href="https://www.alegra.com/"><link rel="alternate" href="https://www.alegra.com/" hreflang="x-default"><link rel="alternate" href="https://www.alegra.com/" hreflang="es"><link rel="alternate" href="https://www.alegra.com/colombia/" hreflang="es-CO"><link rel="alternate" href="https://www.alegra.com/panama/" hreflang="es-PA"><link rel="alternate" href="https://www.alegra.com/peru/" hreflang="es-PE"><link rel="alternate" href="https://www.alegra.com/mexico/" hreflang="es-MX"><link rel="alternate" href="https://www.alegra.com/rdominicana/" hreflang="es-DO"><link rel="alternate" href="https://www.alegra.com/argentina/" hreflang="es-AR"><link rel="alternate" href="https://www.alegra.com/costarica/" hreflang="es-CR"><link rel="alternate" href="https://www.alegra.com/es/" hreflang="es-ES"><link rel="alternate" href="https://www.alegra.com/venezuela/" hreflang="es-VE"><script type="application/ld+json">[{"@context":"https://schema.org","@type":"Organization","name":"Alegra","legalName":"Soluciones Alegra S.A.S","numberofemployees":"140","slogan":"Con Alegra ganas tiempo y tranquilidad.","url":"https://www.alegra.com/","email":"soporte@alegra.com","logo":"https://cdn2.alegra.com/website/Logos_Alegra/Logotipo-Alegra.png","sameAs":["https://www.facebook.com/alegraweb","https://www.twitter.com/alegraweb","https://instagram.com/alegraweb","https://www.youtube.com/user/AlegraWeb","https://www.linkedin.com/company/alegra/","https://www.pinterest.com/alegraweb/"],"contactPoint":[{"@type":"ContactPoint","contactType":"customer service","email":"soporte@alegra.com","url":"https://www.alegra.com/contacto/","availableLanguage":"es"},{"@type":"ContactPoint","contactType":"customer service","email":"support@alegra.com","url":"https://www.alegra.com/en/contact/","availableLanguage":"en"}],"brand":{"@type":"Organization","name":"Alegra"},"founders":{"@type":"Person","name":["Jorge Andres Soto Ramirez","Santiago Villegas Giraldo"]}},{"@context":"https://schema.org","@type":"WebPage","@id":"https://www.alegra.com/#webpage","url":"https://www.alegra.com/","name":"▷ Superpoderes para tu negocio | Alegra.com","description":"Alegra es la plataforma en la nube con soluciones para ☝ administrar tu negocio, facturar electrónicamente y vender en línea. ✓ Empieza GRATIS","inLanguage":"es","isPartOf":{"@id":"https://www.alegra.com/#website"},"publisher":{"@id":"https://www.alegra.com/#organization"}}]</script><script type="text/javascript">
	/* eslint-disable */
	// @ts-nocheck
	window.NREUM || (NREUM = {});
	NREUM.init = {
		privacy: { cookies_enabled: true },
		ajax: { deny_list: ["bam.nr-data.net"] },
	};

	NREUM.loader_config = {
		accountID: "3189299",
		trustKey: "3189299",
		agentID: "594524642",
		licenseKey: "NRJS-7051d35b1c228925e79",
		applicationID: "594524642",
	};
	NREUM.info = {
		beacon: "bam.nr-data.net",
		errorBeacon: "bam.nr-data.net",
		licenseKey: "NRJS-7051d35b1c228925e79",
		applicationID: "594524642",
		sa: 1,
	}; /*! For license information please see nr-loader-rum-1.269.0.min.js.LICENSE.txt */
	(() => {
		var e,
			t,
			r = {
				8122: (e, t, r) => {
					"use strict";
					r.d(t, { a: () => i });
					var n = r(944);
					function i(e, t) {
						try {
							if (!e || "object" != typeof e) return (0, n.R)(3);
							if (!t || "object" != typeof t) return (0, n.R)(4);
							const r = Object.create(
									Object.getPrototypeOf(t),
									Object.getOwnPropertyDescriptors(t),
								),
								o = 0 === Object.keys(r).length ? e : r;
							for (let a in o)
								if (void 0 !== e[a])
									try {
										if (null === e[a]) {
											r[a] = null;
											continue;
										}
										Array.isArray(e[a]) && Array.isArray(t[a])
											? (r[a] = Array.from(new Set([...e[a], ...t[a]])))
											: "object" == typeof e[a] && "object" == typeof t[a]
												? (r[a] = i(e[a], t[a]))
												: (r[a] = e[a]);
									} catch (e) {
										(0, n.R)(1, e);
									}
							return r;
						} catch (e) {
							(0, n.R)(2, e);
						}
					}
				},
				2555: (e, t, r) => {
					"use strict";
					r.d(t, { Vp: () => c, fn: () => s, x1: () => u });
					var n = r(384),
						i = r(8122);
					const o = {
							beacon: n.NT.beacon,
							errorBeacon: n.NT.errorBeacon,
							licenseKey: void 0,
							applicationID: void 0,
							sa: void 0,
							queueTime: void 0,
							applicationTime: void 0,
							ttGuid: void 0,
							user: void 0,
							account: void 0,
							product: void 0,
							extra: void 0,
							jsAttributes: {},
							userAttributes: void 0,
							atts: void 0,
							transactionName: void 0,
							tNamePlain: void 0,
						},
						a = {};
					function s(e) {
						try {
							const t = c(e);
							return !!t.licenseKey && !!t.errorBeacon && !!t.applicationID;
						} catch (e) {
							return !1;
						}
					}
					function c(e) {
						if (!e)
							throw new Error("All info objects require an agent identifier!");
						if (!a[e]) throw new Error("Info for ".concat(e, " was never set"));
						return a[e];
					}
					function u(e, t) {
						if (!e)
							throw new Error("All info objects require an agent identifier!");
						a[e] = (0, i.a)(t, o);
						const r = (0, n.nY)(e);
						r && (r.info = a[e]);
					}
				},
				9417: (e, t, r) => {
					"use strict";
					r.d(t, { D0: () => g, gD: () => h, xN: () => p });
					var n = r(993);
					const i = (e) => {
						if (!e || "string" != typeof e) return !1;
						try {
							document.createDocumentFragment().querySelector(e);
						} catch {
							return !1;
						}
						return !0;
					};
					var o = r(2614),
						a = r(944),
						s = r(384),
						c = r(8122);
					const u = "[data-nr-mask]",
						d = () => {
							const e = {
								mask_selector: "*",
								block_selector: "[data-nr-block]",
								mask_input_options: {
									color: !1,
									date: !1,
									"datetime-local": !1,
									email: !1,
									month: !1,
									number: !1,
									range: !1,
									search: !1,
									tel: !1,
									text: !1,
									time: !1,
									url: !1,
									week: !1,
									textarea: !1,
									select: !1,
									password: !0,
								},
							};
							return {
								ajax: {
									deny_list: void 0,
									block_internal: !0,
									enabled: !0,
									harvestTimeSeconds: 10,
									autoStart: !0,
								},
								distributed_tracing: {
									enabled: void 0,
									exclude_newrelic_header: void 0,
									cors_use_newrelic_header: void 0,
									cors_use_tracecontext_headers: void 0,
									allowed_origins: void 0,
								},
								feature_flags: [],
								generic_events: {
									enabled: !0,
									harvestTimeSeconds: 30,
									autoStart: !0,
								},
								harvest: { tooManyRequestsDelay: 60 },
								jserrors: {
									enabled: !0,
									harvestTimeSeconds: 10,
									autoStart: !0,
								},
								logging: {
									enabled: !0,
									harvestTimeSeconds: 10,
									autoStart: !0,
									level: n.p_.INFO,
								},
								metrics: { enabled: !0, autoStart: !0 },
								obfuscate: void 0,
								page_action: { enabled: !0 },
								user_actions: { enabled: !0 },
								page_view_event: { enabled: !0, autoStart: !0 },
								page_view_timing: {
									enabled: !0,
									harvestTimeSeconds: 30,
									autoStart: !0,
								},
								privacy: { cookies_enabled: !0 },
								proxy: { assets: void 0, beacon: void 0 },
								session: { expiresMs: o.wk, inactiveMs: o.BB },
								session_replay: {
									autoStart: !0,
									enabled: !1,
									harvestTimeSeconds: 60,
									preload: !1,
									sampling_rate: 10,
									error_sampling_rate: 100,
									collect_fonts: !1,
									inline_images: !1,
									fix_stylesheets: !0,
									mask_all_inputs: !0,
									get mask_text_selector() {
										return e.mask_selector;
									},
									set mask_text_selector(t) {
										i(t)
											? (e.mask_selector = "".concat(t, ",").concat(u))
											: "" === t || null === t
												? (e.mask_selector = u)
												: (0, a.R)(5, t);
									},
									get block_class() {
										return "nr-block";
									},
									get ignore_class() {
										return "nr-ignore";
									},
									get mask_text_class() {
										return "nr-mask";
									},
									get block_selector() {
										return e.block_selector;
									},
									set block_selector(t) {
										i(t)
											? (e.block_selector += ",".concat(t))
											: "" !== t && (0, a.R)(6, t);
									},
									get mask_input_options() {
										return e.mask_input_options;
									},
									set mask_input_options(t) {
										t && "object" == typeof t
											? (e.mask_input_options = { ...t, password: !0 })
											: (0, a.R)(7, t);
									},
								},
								session_trace: {
									enabled: !0,
									harvestTimeSeconds: 10,
									autoStart: !0,
								},
								soft_navigations: {
									enabled: !0,
									harvestTimeSeconds: 10,
									autoStart: !0,
								},
								spa: { enabled: !0, harvestTimeSeconds: 10, autoStart: !0 },
								ssl: void 0,
							};
						},
						l = {},
						f = "All configuration objects require an agent identifier!";
					function g(e) {
						if (!e) throw new Error(f);
						if (!l[e])
							throw new Error("Configuration for ".concat(e, " was never set"));
						return l[e];
					}
					function p(e, t) {
						if (!e) throw new Error(f);
						l[e] = (0, c.a)(t, d());
						const r = (0, s.nY)(e);
						r && (r.init = l[e]);
					}
					function h(e, t) {
						if (!e) throw new Error(f);
						var r = g(e);
						if (r) {
							for (var n = t.split("."), i = 0; i < n.length - 1; i++)
								if ("object" != typeof (r = r[n[i]])) return;
							r = r[n[n.length - 1]];
						}
						return r;
					}
				},
				3371: (e, t, r) => {
					"use strict";
					r.d(t, { V: () => f, f: () => l });
					var n = r(8122),
						i = r(384),
						o = r(6154),
						a = r(9324);
					let s = 0;
					const c = {
							buildEnv: a.F3,
							distMethod: a.Xs,
							version: a.xv,
							originTime: o.WN,
						},
						u = {
							customTransaction: void 0,
							disabled: !1,
							isolatedBacklog: !1,
							loaderType: void 0,
							maxBytes: 3e4,
							onerror: void 0,
							origin: "" + o.gm.location,
							ptid: void 0,
							releaseIds: {},
							appMetadata: {},
							session: void 0,
							denyList: void 0,
							timeKeeper: void 0,
							obfuscator: void 0,
						},
						d = {};
					function l(e) {
						if (!e)
							throw new Error(
								"All runtime objects require an agent identifier!",
							);
						if (!d[e])
							throw new Error("Runtime for ".concat(e, " was never set"));
						return d[e];
					}
					function f(e, t) {
						if (!e)
							throw new Error(
								"All runtime objects require an agent identifier!",
							);
						(d[e] = { ...(0, n.a)(t, u), ...c }),
							Object.hasOwnProperty.call(d[e], "harvestCount") ||
								Object.defineProperty(d[e], "harvestCount", { get: () => ++s });
						const r = (0, i.nY)(e);
						r && (r.runtime = d[e]);
					}
				},
				9324: (e, t, r) => {
					"use strict";
					r.d(t, { F3: () => i, Xs: () => o, xv: () => n });
					const n = "1.269.0",
						i = "PROD",
						o = "CDN";
				},
				6154: (e, t, r) => {
					"use strict";
					r.d(t, {
						OF: () => c,
						RI: () => i,
						Vr: () => d,
						WN: () => l,
						bv: () => o,
						gm: () => a,
						mw: () => s,
						sb: () => u,
					});
					var n = r(1863);
					const i = "undefined" != typeof window && !!window.document,
						o =
							"undefined" != typeof WorkerGlobalScope &&
							(("undefined" != typeof self &&
								self instanceof WorkerGlobalScope &&
								self.navigator instanceof WorkerNavigator) ||
								("undefined" != typeof globalThis &&
									globalThis instanceof WorkerGlobalScope &&
									globalThis.navigator instanceof WorkerNavigator)),
						a = i
							? window
							: "undefined" != typeof WorkerGlobalScope &&
								(("undefined" != typeof self &&
									self instanceof WorkerGlobalScope &&
									self) ||
									("undefined" != typeof globalThis &&
										globalThis instanceof WorkerGlobalScope &&
										globalThis)),
						s = Boolean("hidden" === a?.document?.visibilityState),
						c = /iPad|iPhone|iPod/.test(a.navigator?.userAgent),
						u = c && "undefined" == typeof SharedWorker,
						d =
							((() => {
								const e = a.navigator?.userAgent?.match(
									/Firefox[/\s](\d+\.\d+)/,
								);
								Array.isArray(e) && e.length >= 2 && e[1];
							})(),
							!!a.navigator?.sendBeacon),
						l = Date.now() - (0, n.t)();
				},
				4777: (e, t, r) => {
					"use strict";
					r.d(t, { J: () => o });
					var n = r(944);
					const i = { agentIdentifier: "", ee: void 0 };
					class o {
						constructor(e) {
							try {
								if ("object" != typeof e) return (0, n.R)(8);
								(this.sharedContext = {}),
									Object.assign(this.sharedContext, i),
									Object.entries(e).forEach(([e, t]) => {
										Object.keys(i).includes(e) && (this.sharedContext[e] = t);
									});
							} catch (e) {
								(0, n.R)(9, e);
							}
						}
					}
				},
				1687: (e, t, r) => {
					"use strict";
					r.d(t, { Ak: () => c, Ze: () => l, x3: () => u });
					var n = r(7836),
						i = r(3606),
						o = r(860),
						a = r(2646);
					const s = {};
					function c(e, t) {
						const r = { staged: !1, priority: o.P[t] || 0 };
						d(e), s[e].get(t) || s[e].set(t, r);
					}
					function u(e, t) {
						e &&
							s[e] &&
							(s[e].get(t) && s[e].delete(t), g(e, t, !1), s[e].size && f(e));
					}
					function d(e) {
						if (!e) throw new Error("agentIdentifier required");
						s[e] || (s[e] = new Map());
					}
					function l(e = "", t = "feature", r = !1) {
						if ((d(e), !e || !s[e].get(t) || r)) return g(e, t);
						(s[e].get(t).staged = !0), f(e);
					}
					function f(e) {
						const t = Array.from(s[e]);
						t.every(([e, t]) => t.staged) &&
							(t.sort((e, t) => e[1].priority - t[1].priority),
							t.forEach(([t]) => {
								s[e].delete(t), g(e, t);
							}));
					}
					function g(e, t, r = !0) {
						const o = e ? n.ee.get(e) : n.ee,
							s = i.i.handlers;
						if (!o.aborted && o.backlog && s) {
							if (r) {
								const e = o.backlog[t],
									r = s[t];
								if (r) {
									for (let t = 0; e && t < e.length; ++t) p(e[t], r);
									Object.entries(r).forEach(([e, t]) => {
										Object.values(t || {}).forEach((t) => {
											t[0]?.on &&
												t[0]?.context() instanceof a.y &&
												t[0].on(e, t[1]);
										});
									});
								}
							}
							o.isolatedBacklog || delete s[t],
								(o.backlog[t] = null),
								o.emit("drain-" + t, []);
						}
					}
					function p(e, t) {
						var r = e[1];
						Object.values(t[r] || {}).forEach((t) => {
							var r = e[0];
							if (t[0] === r) {
								var n = t[1],
									i = e[3],
									o = e[2];
								n.apply(i, o);
							}
						});
					}
				},
				7836: (e, t, r) => {
					"use strict";
					r.d(t, { P: () => c, ee: () => u });
					var n = r(384),
						i = r(8990),
						o = r(3371),
						a = r(2646),
						s = r(5607);
					const c = "nr@context:".concat(s.W),
						u = (function e(t, r) {
							var n = {},
								s = {},
								d = {},
								l = !1;
							try {
								l = 16 === r.length && (0, o.f)(r).isolatedBacklog;
							} catch (e) {}
							var f = {
								on: p,
								addEventListener: p,
								removeEventListener: function (e, t) {
									var r = n[e];
									if (!r) return;
									for (var i = 0; i < r.length; i++)
										r[i] === t && r.splice(i, 1);
								},
								emit: function (e, r, n, i, o) {
									!1 !== o && (o = !0);
									if (u.aborted && !i) return;
									t && o && t.emit(e, r, n);
									for (var a = g(n), c = h(e), d = c.length, l = 0; l < d; l++)
										c[l].apply(a, r);
									var p = v()[s[e]];
									p && p.push([f, e, r, a]);
									return a;
								},
								get: m,
								listeners: h,
								context: g,
								buffer: function (e, t) {
									const r = v();
									if (((t = t || "feature"), f.aborted)) return;
									Object.entries(e || {}).forEach(([e, n]) => {
										(s[n] = t), t in r || (r[t] = []);
									});
								},
								abort: function () {
									(f._aborted = !0),
										Object.keys(f.backlog).forEach((e) => {
											delete f.backlog[e];
										});
								},
								isBuffering: function (e) {
									return !!v()[s[e]];
								},
								debugId: r,
								backlog: l
									? {}
									: t && "object" == typeof t.backlog
										? t.backlog
										: {},
								isolatedBacklog: l,
							};
							return (
								Object.defineProperty(f, "aborted", {
									get: () => {
										let e = f._aborted || !1;
										return e || (t && (e = t.aborted), e);
									},
								}),
								f
							);
							function g(e) {
								return e && e instanceof a.y
									? e
									: e
										? (0, i.I)(e, c, () => new a.y(c))
										: new a.y(c);
							}
							function p(e, t) {
								n[e] = h(e).concat(t);
							}
							function h(e) {
								return n[e] || [];
							}
							function m(t) {
								return (d[t] = d[t] || e(f, t));
							}
							function v() {
								return f.backlog;
							}
						})(void 0, "globalEE"),
						d = (0, n.Zm)();
					d.ee || (d.ee = u);
				},
				2646: (e, t, r) => {
					"use strict";
					r.d(t, { y: () => n });
					class n {
						constructor(e) {
							this.contextId = e;
						}
					}
				},
				9908: (e, t, r) => {
					"use strict";
					r.d(t, { d: () => n, p: () => i });
					var n = r(7836).ee.get("handle");
					function i(e, t, r, i, o) {
						o
							? (o.buffer([e], i), o.emit(e, t, r))
							: (n.buffer([e], i), n.emit(e, t, r));
					}
				},
				3606: (e, t, r) => {
					"use strict";
					r.d(t, { i: () => o });
					var n = r(9908);
					o.on = a;
					var i = (o.handlers = {});
					function o(e, t, r, o) {
						a(o || n.d, i, e, t, r);
					}
					function a(e, t, r, i, o) {
						o || (o = "feature"), e || (e = n.d);
						var a = (t[o] = t[o] || {});
						(a[r] = a[r] || []).push([e, i]);
					}
				},
				3878: (e, t, r) => {
					"use strict";
					function n(e, t) {
						return { capture: e, passive: !1, signal: t };
					}
					function i(e, t, r = !1, i) {
						window.addEventListener(e, t, n(r, i));
					}
					function o(e, t, r = !1, i) {
						document.addEventListener(e, t, n(r, i));
					}
					r.d(t, { DD: () => o, jT: () => n, sp: () => i });
				},
				5607: (e, t, r) => {
					"use strict";
					r.d(t, { W: () => n });
					const n = (0, r(9566).bz)();
				},
				9566: (e, t, r) => {
					"use strict";
					r.d(t, { LA: () => s, bz: () => a });
					var n = r(6154);
					const i = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";
					function o(e, t) {
						return e ? 15 & e[t] : (16 * Math.random()) | 0;
					}
					function a() {
						const e = n.gm?.crypto || n.gm?.msCrypto;
						let t,
							r = 0;
						return (
							e &&
								e.getRandomValues &&
								(t = e.getRandomValues(new Uint8Array(30))),
							i
								.split("")
								.map((e) =>
									"x" === e
										? o(t, r++).toString(16)
										: "y" === e
											? ((3 & o()) | 8).toString(16)
											: e,
								)
								.join("")
						);
					}
					function s(e) {
						const t = n.gm?.crypto || n.gm?.msCrypto;
						let r,
							i = 0;
						t &&
							t.getRandomValues &&
							(r = t.getRandomValues(new Uint8Array(e)));
						const a = [];
						for (var s = 0; s < e; s++) a.push(o(r, i++).toString(16));
						return a.join("");
					}
				},
				2614: (e, t, r) => {
					"use strict";
					r.d(t, {
						BB: () => a,
						H3: () => n,
						g: () => u,
						iL: () => c,
						tS: () => s,
						uh: () => i,
						wk: () => o,
					});
					const n = "NRBA",
						i = "SESSION",
						o = 144e5,
						a = 18e5,
						s = {
							STARTED: "session-started",
							PAUSE: "session-pause",
							RESET: "session-reset",
							RESUME: "session-resume",
							UPDATE: "session-update",
						},
						c = { SAME_TAB: "same-tab", CROSS_TAB: "cross-tab" },
						u = { OFF: 0, FULL: 1, ERROR: 2 };
				},
				1863: (e, t, r) => {
					"use strict";
					function n() {
						return Math.floor(performance.now());
					}
					r.d(t, { t: () => n });
				},
				944: (e, t, r) => {
					"use strict";
					function n(e, t) {
						"function" == typeof console.debug &&
							console.debug(
								"New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(
									e,
								),
								t,
							);
					}
					r.d(t, { R: () => n });
				},
				5284: (e, t, r) => {
					"use strict";
					r.d(t, { t: () => c, B: () => s });
					var n = r(7836),
						i = r(6154);
					const o = "newrelic";
					const a = new Set(),
						s = {};
					function c(e, t) {
						const r = n.ee.get(t);
						(s[t] ??= {}),
							e &&
								"object" == typeof e &&
								(a.has(t) ||
									(r.emit("rumresp", [e]),
									(s[t] = e),
									a.add(t),
									(function (e = {}) {
										try {
											i.gm.dispatchEvent(new CustomEvent(o, { detail: e }));
										} catch (e) {}
									})({ loaded: !0 })));
					}
				},
				8990: (e, t, r) => {
					"use strict";
					r.d(t, { I: () => i });
					var n = Object.prototype.hasOwnProperty;
					function i(e, t, r) {
						if (n.call(e, t)) return e[t];
						var i = r();
						if (Object.defineProperty && Object.keys)
							try {
								return (
									Object.defineProperty(e, t, {
										value: i,
										writable: !0,
										enumerable: !1,
									}),
									i
								);
							} catch (e) {}
						return (e[t] = i), i;
					}
				},
				6389: (e, t, r) => {
					"use strict";
					function n(e, t = 500, r = {}) {
						const n = r?.leading || !1;
						let i;
						return (...r) => {
							n &&
								void 0 === i &&
								(e.apply(this, r),
								(i = setTimeout(() => {
									i = clearTimeout(i);
								}, t))),
								n ||
									(clearTimeout(i),
									(i = setTimeout(() => {
										e.apply(this, r);
									}, t)));
						};
					}
					function i(e) {
						let t = !1;
						return (...r) => {
							t || ((t = !0), e.apply(this, r));
						};
					}
					r.d(t, { J: () => i, s: () => n });
				},
				5289: (e, t, r) => {
					"use strict";
					r.d(t, { GG: () => o, sB: () => a });
					var n = r(3878);
					function i() {
						return (
							"undefined" == typeof document ||
							"complete" === document.readyState
						);
					}
					function o(e, t) {
						if (i()) return e();
						(0, n.sp)("load", e, t);
					}
					function a(e) {
						if (i()) return e();
						(0, n.DD)("DOMContentLoaded", e);
					}
				},
				384: (e, t, r) => {
					"use strict";
					r.d(t, {
						NT: () => o,
						US: () => d,
						Zm: () => a,
						bQ: () => c,
						dV: () => s,
						nY: () => u,
						pV: () => l,
					});
					var n = r(6154),
						i = r(1863);
					const o = {
						beacon: "bam.nr-data.net",
						errorBeacon: "bam.nr-data.net",
					};
					function a() {
						return (
							n.gm.NREUM || (n.gm.NREUM = {}),
							void 0 === n.gm.newrelic && (n.gm.newrelic = n.gm.NREUM),
							n.gm.NREUM
						);
					}
					function s() {
						let e = a();
						return (
							e.o ||
								(e.o = {
									ST: n.gm.setTimeout,
									SI: n.gm.setImmediate,
									CT: n.gm.clearTimeout,
									XHR: n.gm.XMLHttpRequest,
									REQ: n.gm.Request,
									EV: n.gm.Event,
									PR: n.gm.Promise,
									MO: n.gm.MutationObserver,
									FETCH: n.gm.fetch,
									WS: n.gm.WebSocket,
								}),
							e
						);
					}
					function c(e, t) {
						let r = a();
						(r.initializedAgents ??= {}),
							(t.initializedAt = { ms: (0, i.t)(), date: new Date() }),
							(r.initializedAgents[e] = t);
					}
					function u(e) {
						let t = a();
						return t.initializedAgents?.[e];
					}
					function d(e, t) {
						a()[e] = t;
					}
					function l() {
						return (
							(function () {
								let e = a();
								const t = e.info || {};
								e.info = { beacon: o.beacon, errorBeacon: o.errorBeacon, ...t };
							})(),
							(function () {
								let e = a();
								const t = e.init || {};
								e.init = { ...t };
							})(),
							s(),
							(function () {
								let e = a();
								const t = e.loader_config || {};
								e.loader_config = { ...t };
							})(),
							a()
						);
					}
				},
				2843: (e, t, r) => {
					"use strict";
					r.d(t, { u: () => i });
					var n = r(3878);
					function i(e, t = !1, r, i) {
						(0, n.DD)(
							"visibilitychange",
							function () {
								if (t)
									return void ("hidden" === document.visibilityState && e());
								e(document.visibilityState);
							},
							r,
							i,
						);
					}
				},
				3434: (e, t, r) => {
					"use strict";
					r.d(t, { YM: () => c });
					var n = r(7836),
						i = r(5607);
					const o = "nr@original:".concat(i.W);
					var a = Object.prototype.hasOwnProperty,
						s = !1;
					function c(e, t) {
						return (
							e || (e = n.ee),
							(r.inPlace = function (e, t, n, i, o) {
								n || (n = "");
								const a = "-" === n.charAt(0);
								for (let s = 0; s < t.length; s++) {
									const c = t[s],
										u = e[c];
									d(u) || (e[c] = r(u, a ? c + n : n, i, c, o));
								}
							}),
							(r.flag = o),
							r
						);
						function r(t, r, n, s, c) {
							return d(t)
								? t
								: (r || (r = ""),
									(nrWrapper[o] = t),
									(function (e, t, r) {
										if (Object.defineProperty && Object.keys)
											try {
												return (
													Object.keys(e).forEach(function (r) {
														Object.defineProperty(t, r, {
															get: function () {
																return e[r];
															},
															set: function (t) {
																return (e[r] = t), t;
															},
														});
													}),
													t
												);
											} catch (e) {
												u([e], r);
											}
										for (var n in e) a.call(e, n) && (t[n] = e[n]);
									})(t, nrWrapper, e),
									nrWrapper);
							function nrWrapper() {
								var o, a, d, l;
								try {
									(a = this),
										(o = [...arguments]),
										(d = "function" == typeof n ? n(o, a) : n || {});
								} catch (t) {
									u([t, "", [o, a, s], d], e);
								}
								i(r + "start", [o, a, s], d, c);
								try {
									return (l = t.apply(a, o));
								} catch (e) {
									throw (i(r + "err", [o, a, e], d, c), e);
								} finally {
									i(r + "end", [o, a, l], d, c);
								}
							}
						}
						function i(r, n, i, o) {
							if (!s || t) {
								var a = s;
								s = !0;
								try {
									e.emit(r, n, i, t, o);
								} catch (t) {
									u([t, r, n, i], e);
								}
								s = a;
							}
						}
					}
					function u(e, t) {
						t || (t = n.ee);
						try {
							t.emit("internal-error", e);
						} catch (e) {}
					}
					function d(e) {
						return !(e && "function" == typeof e && e.apply && !e[o]);
					}
				},
				993: (e, t, r) => {
					"use strict";
					r.d(t, { ET: () => o, p_: () => i });
					var n = r(860);
					const i = {
							ERROR: "ERROR",
							WARN: "WARN",
							INFO: "INFO",
							DEBUG: "DEBUG",
							TRACE: "TRACE",
						},
						o = "log";
					n.K.logging;
				},
				3969: (e, t, r) => {
					"use strict";
					r.d(t, {
						TZ: () => n,
						XG: () => s,
						rs: () => i,
						xV: () => a,
						z_: () => o,
					});
					const n = r(860).K.metrics,
						i = "sm",
						o = "cm",
						a = "storeSupportabilityMetrics",
						s = "storeEventMetrics";
				},
				6630: (e, t, r) => {
					"use strict";
					r.d(t, { T: () => n });
					const n = r(860).K.pageViewEvent;
				},
				782: (e, t, r) => {
					"use strict";
					r.d(t, { T: () => n });
					const n = r(860).K.pageViewTiming;
				},
				6344: (e, t, r) => {
					"use strict";
					r.d(t, { G4: () => i });
					var n = r(2614);
					r(860).K.sessionReplay;
					const i = {
						RECORD: "recordReplay",
						PAUSE: "pauseReplay",
						REPLAY_RUNNING: "replayRunning",
						ERROR_DURING_REPLAY: "errorDuringReplay",
					};
					n.g.ERROR, n.g.FULL, n.g.OFF;
				},
				4234: (e, t, r) => {
					"use strict";
					r.d(t, { W: () => i });
					var n = r(7836);
					class i {
						constructor(e, t, r) {
							(this.agentIdentifier = e),
								(this.aggregator = t),
								(this.ee = n.ee.get(e)),
								(this.featureName = r),
								(this.blocked = !1);
						}
					}
				},
				7603: (e, t, r) => {
					"use strict";
					r.d(t, { j: () => P });
					var n = r(860),
						i = r(2555),
						o = r(3371),
						a = r(9908),
						s = r(7836),
						c = r(1687),
						u = r(5289),
						d = r(6154),
						l = r(944),
						f = r(3969),
						g = r(384),
						p = r(6344);
					const h = [
							"setErrorHandler",
							"finished",
							"addToTrace",
							"addRelease",
							"addPageAction",
							"setCurrentRouteName",
							"setPageViewName",
							"setCustomAttribute",
							"interaction",
							"noticeError",
							"setUserId",
							"setApplicationVersion",
							"start",
							p.G4.RECORD,
							p.G4.PAUSE,
							"log",
							"wrapLogger",
						],
						m = ["setErrorHandler", "finished", "addToTrace", "addRelease"];
					var v = r(1863),
						b = r(2614),
						y = r(993);
					var w = r(2646),
						R = r(3434);
					function A(e, t, r, n) {
						if (
							"object" != typeof t ||
							!t ||
							"string" != typeof r ||
							!r ||
							"function" != typeof t[r]
						)
							return (0, l.R)(29);
						const i = (function (e) {
								return (e || s.ee).get("logger");
							})(e),
							o = (0, R.YM)(i),
							a = new w.y(s.P);
						return (
							(a.level = n.level),
							(a.customAttributes = n.customAttributes),
							o.inPlace(t, [r], "wrap-logger-", a),
							i
						);
					}
					function x() {
						const e = (0, g.pV)();
						h.forEach((t) => {
							e[t] = (...r) =>
								(function (t, ...r) {
									let n = [];
									return (
										Object.values(e.initializedAgents).forEach((e) => {
											e && e.api
												? e.exposed && e.api[t] && n.push(e.api[t](...r))
												: (0, l.R)(38, t);
										}),
										n.length > 1 ? n : n[0]
									);
								})(t, ...r);
						});
					}
					const E = {};
					function _(e, t, g = !1) {
						t || (0, c.Ak)(e, "api");
						const h = {};
						var w = s.ee.get(e),
							R = w.get("tracer");
						(E[e] = b.g.OFF),
							w.on(p.G4.REPLAY_RUNNING, (t) => {
								E[e] = t;
							});
						var x = "api-",
							_ = x + "ixn-";
						function N(t, r, n, o) {
							const a = (0, i.Vp)(e);
							return (
								null === r
									? delete a.jsAttributes[t]
									: (0, i.x1)(e, {
											...a,
											jsAttributes: { ...a.jsAttributes, [t]: r },
										}),
								S(x, n, !0, o || null === r ? "session" : void 0)(t, r)
							);
						}
						function T() {}
						(h.log = function (
							e,
							{ customAttributes: t = {}, level: r = y.p_.INFO } = {},
						) {
							(0, a.p)(f.xV, ["API/log/called"], void 0, n.K.metrics, w),
								(function (e, t, r = {}, i = y.p_.INFO) {
									(0, a.p)(
										f.xV,
										["API/logging/".concat(i.toLowerCase(), "/called")],
										void 0,
										n.K.metrics,
										e,
									),
										(0, a.p)(
											y.ET,
											[(0, v.t)(), t, r, i],
											void 0,
											n.K.logging,
											e,
										);
								})(w, e, t, r);
						}),
							(h.wrapLogger = (
								e,
								t,
								{ customAttributes: r = {}, level: i = y.p_.INFO } = {},
							) => {
								(0, a.p)(
									f.xV,
									["API/wrapLogger/called"],
									void 0,
									n.K.metrics,
									w,
								),
									A(w, e, t, { customAttributes: r, level: i });
							}),
							m.forEach((e) => {
								h[e] = S(x, e, !0, "api");
							}),
							(h.addPageAction = S(x, "addPageAction", !0, n.K.genericEvents)),
							(h.setPageViewName = function (t, r) {
								if ("string" == typeof t)
									return (
										"/" !== t.charAt(0) && (t = "/" + t),
										((0, o.f)(e).customTransaction =
											(r || "http://custom.transaction") + t),
										S(x, "setPageViewName", !0)()
									);
							}),
							(h.setCustomAttribute = function (e, t, r = !1) {
								if ("string" == typeof e) {
									if (
										["string", "number", "boolean"].includes(typeof t) ||
										null === t
									)
										return N(e, t, "setCustomAttribute", r);
									(0, l.R)(40, typeof t);
								} else (0, l.R)(39, typeof e);
							}),
							(h.setUserId = function (e) {
								if ("string" == typeof e || null === e)
									return N("enduser.id", e, "setUserId", !0);
								(0, l.R)(41, typeof e);
							}),
							(h.setApplicationVersion = function (e) {
								if ("string" == typeof e || null === e)
									return N(
										"application.version",
										e,
										"setApplicationVersion",
										!1,
									);
								(0, l.R)(42, typeof e);
							}),
							(h.start = () => {
								try {
									(0, a.p)(f.xV, ["API/start/called"], void 0, n.K.metrics, w),
										w.emit("manual-start-all");
								} catch (e) {
									(0, l.R)(23, e);
								}
							}),
							(h[p.G4.RECORD] = function () {
								(0, a.p)(
									f.xV,
									["API/recordReplay/called"],
									void 0,
									n.K.metrics,
									w,
								),
									(0, a.p)(p.G4.RECORD, [], void 0, n.K.sessionReplay, w);
							}),
							(h[p.G4.PAUSE] = function () {
								(0, a.p)(
									f.xV,
									["API/pauseReplay/called"],
									void 0,
									n.K.metrics,
									w,
								),
									(0, a.p)(p.G4.PAUSE, [], void 0, n.K.sessionReplay, w);
							}),
							(h.interaction = function (e) {
								return new T().get("object" == typeof e ? e : {});
							});
						const k = (T.prototype = {
							createTracer: function (e, t) {
								var r = {},
									i = this,
									o = "function" == typeof t;
								return (
									(0, a.p)(
										f.xV,
										["API/createTracer/called"],
										void 0,
										n.K.metrics,
										w,
									),
									g ||
										(0, a.p)(_ + "tracer", [(0, v.t)(), e, r], i, n.K.spa, w),
									function () {
										if (
											(R.emit(
												(o ? "" : "no-") + "fn-start",
												[(0, v.t)(), i, o],
												r,
											),
											o)
										)
											try {
												return t.apply(this, arguments);
											} catch (e) {
												const t = "string" == typeof e ? new Error(e) : e;
												throw (R.emit("fn-err", [arguments, this, t], r), t);
											} finally {
												R.emit("fn-end", [(0, v.t)()], r);
											}
									}
								);
							},
						});
						function S(e, t, r, i) {
							return function () {
								return (
									(0, a.p)(
										f.xV,
										["API/" + t + "/called"],
										void 0,
										n.K.metrics,
										w,
									),
									i &&
										(0, a.p)(
											e + t,
											[(0, v.t)(), ...arguments],
											r ? null : this,
											i,
											w,
										),
									r ? void 0 : this
								);
							};
						}
						function j() {
							r.e(296)
								.then(r.bind(r, 8778))
								.then(({ setAPI: t }) => {
									t(e), (0, c.Ze)(e, "api");
								})
								.catch((e) => {
									(0, l.R)(27, e), w.abort();
								});
						}
						return (
							[
								"actionText",
								"setName",
								"setAttribute",
								"save",
								"ignore",
								"onEnd",
								"getContext",
								"end",
								"get",
							].forEach((e) => {
								k[e] = S(_, e, void 0, g ? n.K.softNav : n.K.spa);
							}),
							(h.setCurrentRouteName = g
								? S(_, "routeName", void 0, n.K.softNav)
								: S(x, "routeName", !0, n.K.spa)),
							(h.noticeError = function (t, r) {
								"string" == typeof t && (t = new Error(t)),
									(0, a.p)(
										f.xV,
										["API/noticeError/called"],
										void 0,
										n.K.metrics,
										w,
									),
									(0, a.p)(
										"err",
										[t, (0, v.t)(), !1, r, !!E[e]],
										void 0,
										n.K.jserrors,
										w,
									);
							}),
							d.RI ? (0, u.GG)(() => j(), !0) : j(),
							h
						);
					}
					var N = r(9417),
						T = r(8122);
					const k = {
							accountID: void 0,
							trustKey: void 0,
							agentID: void 0,
							licenseKey: void 0,
							applicationID: void 0,
							xpid: void 0,
						},
						S = {};
					var j = r(5284);
					const I = (e) => {
						const t = e.startsWith("http");
						(e += "/"), (r.p = t ? e : "https://" + e);
					};
					let O = !1;
					function P(e, t = {}, r, n) {
						let {
							init: a,
							info: c,
							loader_config: u,
							runtime: l = {},
							exposed: f = !0,
						} = t;
						l.loaderType = r;
						const p = (0, g.pV)();
						c || ((a = p.init), (c = p.info), (u = p.loader_config)),
							(0, N.xN)(e.agentIdentifier, a || {}),
							(function (e, t) {
								if (!e)
									throw new Error(
										"All loader-config objects require an agent identifier!",
									);
								S[e] = (0, T.a)(t, k);
								const r = (0, g.nY)(e);
								r && (r.loader_config = S[e]);
							})(e.agentIdentifier, u || {}),
							(c.jsAttributes ??= {}),
							d.bv && (c.jsAttributes.isWorker = !0),
							(0, i.x1)(e.agentIdentifier, c);
						const h = (0, N.D0)(e.agentIdentifier),
							m = [c.beacon, c.errorBeacon];
						O ||
							(h.proxy.assets && (I(h.proxy.assets), m.push(h.proxy.assets)),
							h.proxy.beacon && m.push(h.proxy.beacon),
							x(),
							(0, g.US)("activatedFeatures", j.B),
							(e.runSoftNavOverSpa &&=
								!0 === h.soft_navigations.enabled &&
								h.feature_flags.includes("soft_nav"))),
							(l.denyList = [
								...(h.ajax.deny_list || []),
								...(h.ajax.block_internal ? m : []),
							]),
							(l.ptid = e.agentIdentifier),
							(0, o.V)(e.agentIdentifier, l),
							(e.ee = s.ee.get(e.agentIdentifier)),
							void 0 === e.api &&
								(e.api = _(e.agentIdentifier, n, e.runSoftNavOverSpa)),
							void 0 === e.exposed && (e.exposed = f),
							(O = !0);
					}
				},
				8374: (e, t, r) => {
					r.nc = (() => {
						try {
							return document?.currentScript?.nonce;
						} catch (e) {}
						return "";
					})();
				},
				860: (e, t, r) => {
					"use strict";
					r.d(t, { K: () => n, P: () => i });
					const n = {
							ajax: "ajax",
							genericEvents: "generic_events",
							jserrors: "jserrors",
							logging: "logging",
							metrics: "metrics",
							pageAction: "page_action",
							pageViewEvent: "page_view_event",
							pageViewTiming: "page_view_timing",
							sessionReplay: "session_replay",
							sessionTrace: "session_trace",
							softNav: "soft_navigations",
							spa: "spa",
						},
						i = {
							[n.pageViewEvent]: 1,
							[n.pageViewTiming]: 2,
							[n.metrics]: 3,
							[n.jserrors]: 4,
							[n.spa]: 5,
							[n.ajax]: 6,
							[n.sessionTrace]: 7,
							[n.softNav]: 8,
							[n.sessionReplay]: 9,
							[n.logging]: 10,
							[n.genericEvents]: 11,
						};
				},
			},
			n = {};
		function i(e) {
			var t = n[e];
			if (void 0 !== t) return t.exports;
			var o = (n[e] = { exports: {} });
			return r[e](o, o.exports, i), o.exports;
		}
		(i.m = r),
			(i.d = (e, t) => {
				for (var r in t)
					i.o(t, r) &&
						!i.o(e, r) &&
						Object.defineProperty(e, r, { enumerable: !0, get: t[r] });
			}),
			(i.f = {}),
			(i.e = (e) =>
				Promise.all(Object.keys(i.f).reduce((t, r) => (i.f[r](e, t), t), []))),
			(i.u = (e) => "nr-rum-1.269.0.min.js"),
			(i.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t)),
			(e = {}),
			(t = "NRBA-1.269.0.PROD:"),
			(i.l = (r, n, o, a) => {
				if (e[r]) e[r].push(n);
				else {
					var s, c;
					if (void 0 !== o)
						for (
							var u = document.getElementsByTagName("script"), d = 0;
							d < u.length;
							d++
						) {
							var l = u[d];
							if (
								l.getAttribute("src") == r ||
								l.getAttribute("data-webpack") == t + o
							) {
								s = l;
								break;
							}
						}
					if (!s) {
						c = !0;
						var f = {
							296: "sha512-i4KEJHDaujlYHK9DbGPND8zdVRe9l0ad9BTL99qTq5tWCzlEMM/gJUQl4udPbBcyjIgTVN0mMc2mnDwVzfwwHw==",
						};
						((s = document.createElement("script")).charset = "utf-8"),
							(s.timeout = 120),
							i.nc && s.setAttribute("nonce", i.nc),
							s.setAttribute("data-webpack", t + o),
							(s.src = r),
							0 !== s.src.indexOf(window.location.origin + "/") &&
								(s.crossOrigin = "anonymous"),
							f[a] && (s.integrity = f[a]);
					}
					e[r] = [n];
					var g = (t, n) => {
							(s.onerror = s.onload = null), clearTimeout(p);
							var i = e[r];
							if (
								(delete e[r],
								s.parentNode && s.parentNode.removeChild(s),
								i && i.forEach((e) => e(n)),
								t)
							)
								return t(n);
						},
						p = setTimeout(
							g.bind(null, void 0, { type: "timeout", target: s }),
							12e4,
						);
					(s.onerror = g.bind(null, s.onerror)),
						(s.onload = g.bind(null, s.onload)),
						c && document.head.appendChild(s);
				}
			}),
			(i.r = (e) => {
				"undefined" != typeof Symbol &&
					Symbol.toStringTag &&
					Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }),
					Object.defineProperty(e, "__esModule", { value: !0 });
			}),
			(i.p = "https://js-agent.newrelic.com/"),
			(() => {
				var e = { 840: 0, 374: 0 };
				i.f.j = (t, r) => {
					var n = i.o(e, t) ? e[t] : void 0;
					if (0 !== n)
						if (n) r.push(n[2]);
						else {
							var o = new Promise((r, i) => (n = e[t] = [r, i]));
							r.push((n[2] = o));
							var a = i.p + i.u(t),
								s = new Error();
							i.l(
								a,
								(r) => {
									if (i.o(e, t) && (0 !== (n = e[t]) && (e[t] = void 0), n)) {
										var o = r && ("load" === r.type ? "missing" : r.type),
											a = r && r.target && r.target.src;
										(s.message =
											"Loading chunk " +
											t +
											" failed.\n(" +
											o +
											": " +
											a +
											")"),
											(s.name = "ChunkLoadError"),
											(s.type = o),
											(s.request = a),
											n[1](s);
									}
								},
								"chunk-" + t,
								t,
							);
						}
				};
				var t = (t, r) => {
						var n,
							o,
							[a, s, c] = r,
							u = 0;
						if (a.some((t) => 0 !== e[t])) {
							for (n in s) i.o(s, n) && (i.m[n] = s[n]);
							if (c) c(i);
						}
						for (t && t(r); u < a.length; u++)
							(o = a[u]), i.o(e, o) && e[o] && e[o][0](), (e[o] = 0);
					},
					r = (self["webpackChunk:NRBA-1.269.0.PROD"] =
						self["webpackChunk:NRBA-1.269.0.PROD"] || []);
				r.forEach(t.bind(null, 0)), (r.push = t.bind(null, r.push.bind(r)));
			})(),
			(() => {
				"use strict";
				i(8374);
				var e = i(944),
					t = i(6344),
					r = i(9566);
				class n {
					agentIdentifier;
					constructor(e = (0, r.LA)(16)) {
						this.agentIdentifier = e;
					}
					#e(t, ...r) {
						if ("function" == typeof this.api?.[t]) return this.api[t](...r);
						(0, e.R)(35, t);
					}
					addPageAction(e, t) {
						return this.#e("addPageAction", e, t);
					}
					setPageViewName(e, t) {
						return this.#e("setPageViewName", e, t);
					}
					setCustomAttribute(e, t, r) {
						return this.#e("setCustomAttribute", e, t, r);
					}
					noticeError(e, t) {
						return this.#e("noticeError", e, t);
					}
					setUserId(e) {
						return this.#e("setUserId", e);
					}
					setApplicationVersion(e) {
						return this.#e("setApplicationVersion", e);
					}
					setErrorHandler(e) {
						return this.#e("setErrorHandler", e);
					}
					finished(e) {
						return this.#e("finished", e);
					}
					addRelease(e, t) {
						return this.#e("addRelease", e, t);
					}
					start(e) {
						return this.#e("start", e);
					}
					recordReplay() {
						return this.#e(t.G4.RECORD);
					}
					pauseReplay() {
						return this.#e(t.G4.PAUSE);
					}
					addToTrace(e) {
						return this.#e("addToTrace", e);
					}
					setCurrentRouteName(e) {
						return this.#e("setCurrentRouteName", e);
					}
					interaction() {
						return this.#e("interaction");
					}
					log(e, t) {
						return this.#e("log", e, t);
					}
					wrapLogger(e, t, r) {
						return this.#e("wrapLogger", e, t, r);
					}
				}
				var o = i(860),
					a = i(9417);
				const s = Object.values(o.K);
				function c(e) {
					const t = {};
					return (
						s.forEach((r) => {
							t[r] = (function (e, t) {
								return !0 === (0, a.gD)(t, "".concat(e, ".enabled"));
							})(r, e);
						}),
						t
					);
				}
				var u = i(7603);
				var d = i(1687),
					l = i(4234),
					f = i(5289),
					g = i(6154),
					p = i(384);
				const h = (e) => g.RI && !0 === (0, a.gD)(e, "privacy.cookies_enabled");
				function m(e) {
					return (
						!!(0, p.dV)().o.MO &&
						h(e) &&
						!0 === (0, a.gD)(e, "session_trace.enabled")
					);
				}
				var v = i(6389);
				class b extends l.W {
					constructor(e, t, r, n = !0) {
						super(e, t, r),
							(this.auto = n),
							(this.abortHandler = void 0),
							(this.featAggregate = void 0),
							(this.onAggregateImported = void 0),
							!1 ===
								(0, a.gD)(
									this.agentIdentifier,
									"".concat(this.featureName, ".autoStart"),
								) && (this.auto = !1),
							this.auto
								? (0, d.Ak)(e, r)
								: this.ee.on(
										"manual-start-all",
										(0, v.J)(() => {
											(0, d.Ak)(this.agentIdentifier, this.featureName),
												(this.auto = !0),
												this.importAggregator();
										}),
									);
					}
					importAggregator(t = {}) {
						if (this.featAggregate || !this.auto) return;
						let r;
						this.onAggregateImported = new Promise((e) => {
							r = e;
						});
						const n = async () => {
							let n;
							try {
								if (h(this.agentIdentifier)) {
									const { setupAgentSession: e } = await i
										.e(296)
										.then(i.bind(i, 3861));
									n = e(this.agentIdentifier);
								}
							} catch (t) {
								(0, e.R)(20, t),
									this.ee.emit("internal-error", [t]),
									this.featureName === o.K.sessionReplay &&
										this.abortHandler?.();
							}
							try {
								if (!this.#t(this.featureName, n))
									return (
										(0, d.Ze)(this.agentIdentifier, this.featureName),
										void r(!1)
									);
								const { lazyFeatureLoader: e } = await i
										.e(296)
										.then(i.bind(i, 6103)),
									{ Aggregate: o } = await e(this.featureName, "aggregate");
								(this.featAggregate = new o(
									this.agentIdentifier,
									this.aggregator,
									t,
								)),
									r(!0);
							} catch (t) {
								(0, e.R)(34, t),
									this.abortHandler?.(),
									(0, d.Ze)(this.agentIdentifier, this.featureName, !0),
									r(!1),
									this.ee && this.ee.abort();
							}
						};
						g.RI ? (0, f.GG)(() => n(), !0) : n();
					}
					#t(e, t) {
						switch (e) {
							case o.K.sessionReplay:
								return m(this.agentIdentifier) && !!t;
							case o.K.sessionTrace:
								return !!t;
							default:
								return !0;
						}
					}
				}
				var y = i(6630);
				class w extends b {
					static featureName = y.T;
					constructor(e, t, r = !0) {
						super(e, t, y.T, r), this.importAggregator();
					}
				}
				var R = i(4777);
				class A extends R.J {
					constructor(e) {
						super(e), (this.aggregatedData = {});
					}
					store(e, t, r, n, i) {
						var o = this.getBucket(e, t, r, i);
						return (
							(o.metrics = (function (e, t) {
								t || (t = { count: 0 });
								return (
									(t.count += 1),
									Object.entries(e || {}).forEach(([e, r]) => {
										t[e] = x(r, t[e]);
									}),
									t
								);
							})(n, o.metrics)),
							o
						);
					}
					merge(e, t, r, n, i) {
						var o = this.getBucket(e, t, n, i);
						if (o.metrics) {
							var a = o.metrics;
							(a.count += r.count),
								Object.keys(r || {}).forEach((e) => {
									if ("count" !== e) {
										var t = a[e],
											n = r[e];
										n && !n.c
											? (a[e] = x(n.t, t))
											: (a[e] = (function (e, t) {
													if (!t) return e;
													t.c || (t = E(t.t));
													return (
														(t.min = Math.min(e.min, t.min)),
														(t.max = Math.max(e.max, t.max)),
														(t.t += e.t),
														(t.sos += e.sos),
														(t.c += e.c),
														t
													);
												})(n, a[e]));
									}
								});
						} else o.metrics = r;
					}
					storeMetric(e, t, r, n) {
						var i = this.getBucket(e, t, r);
						return (i.stats = x(n, i.stats)), i;
					}
					getBucket(e, t, r, n) {
						this.aggregatedData[e] || (this.aggregatedData[e] = {});
						var i = this.aggregatedData[e][t];
						return (
							i ||
								((i = this.aggregatedData[e][t] = { params: r || {} }),
								n && (i.custom = n)),
							i
						);
					}
					get(e, t) {
						return t
							? this.aggregatedData[e] && this.aggregatedData[e][t]
							: this.aggregatedData[e];
					}
					take(e) {
						for (var t = {}, r = "", n = !1, i = 0; i < e.length; i++)
							(t[(r = e[i])] = Object.values(this.aggregatedData[r] || {})),
								t[r].length && (n = !0),
								delete this.aggregatedData[r];
						return n ? t : null;
					}
				}
				function x(e, t) {
					return null == e
						? (function (e) {
								e ? e.c++ : (e = { c: 1 });
								return e;
							})(t)
						: t
							? (t.c || (t = E(t.t)),
								(t.c += 1),
								(t.t += e),
								(t.sos += e * e),
								e > t.max && (t.max = e),
								e < t.min && (t.min = e),
								t)
							: { t: e };
				}
				function E(e) {
					return { t: e, min: e, max: e, sos: e * e, c: 1 };
				}
				var _ = i(9908),
					N = i(2843),
					T = i(3878),
					k = i(782),
					S = i(1863);
				class j extends b {
					static featureName = k.T;
					constructor(e, t, r = !0) {
						super(e, t, k.T, r),
							g.RI &&
								((0, N.u)(
									() =>
										(0, _.p)("docHidden", [(0, S.t)()], void 0, k.T, this.ee),
									!0,
								),
								(0, T.sp)("pagehide", () =>
									(0, _.p)("winPagehide", [(0, S.t)()], void 0, k.T, this.ee),
								),
								this.importAggregator());
					}
				}
				var I = i(3969);
				class O extends b {
					static featureName = I.TZ;
					constructor(e, t, r = !0) {
						super(e, t, I.TZ, r), this.importAggregator();
					}
				}
				new (class extends n {
					constructor(t, r) {
						super(r),
							g.gm
								? ((this.sharedAggregator = new A({
										agentIdentifier: this.agentIdentifier,
									})),
									(this.features = {}),
									(0, p.bQ)(this.agentIdentifier, this),
									(this.desiredFeatures = new Set(t.features || [])),
									this.desiredFeatures.add(w),
									(this.runSoftNavOverSpa = [...this.desiredFeatures].some(
										(e) => e.featureName === o.K.softNav,
									)),
									(0, u.j)(this, t, t.loaderType || "agent"),
									this.run())
								: (0, e.R)(21);
					}
					get config() {
						return {
							info: this.info,
							init: this.init,
							loader_config: this.loader_config,
							runtime: this.runtime,
						};
					}
					run() {
						try {
							const t = c(this.agentIdentifier),
								r = [...this.desiredFeatures];
							r.sort((e, t) => o.P[e.featureName] - o.P[t.featureName]),
								r.forEach((r) => {
									if (!t[r.featureName] && r.featureName !== o.K.pageViewEvent)
										return;
									if (this.runSoftNavOverSpa && r.featureName === o.K.spa)
										return;
									if (!this.runSoftNavOverSpa && r.featureName === o.K.softNav)
										return;
									const n = (function (e) {
										switch (e) {
											case o.K.ajax:
												return [o.K.jserrors];
											case o.K.sessionTrace:
												return [o.K.ajax, o.K.pageViewEvent];
											case o.K.sessionReplay:
												return [o.K.sessionTrace];
											case o.K.pageViewTiming:
												return [o.K.pageViewEvent];
											default:
												return [];
										}
									})(r.featureName).filter((e) => !(e in this.features));
									n.length > 0 &&
										(0, e.R)(36, {
											targetFeature: r.featureName,
											missingDependencies: n,
										}),
										(this.features[r.featureName] = new r(
											this.agentIdentifier,
											this.sharedAggregator,
										));
								});
						} catch (t) {
							(0, e.R)(22, t);
							for (const e in this.features) this.features[e].abortHandler?.();
							const r = (0, p.Zm)();
							delete r.initializedAgents[this.agentIdentifier]?.api,
								delete r.initializedAgents[this.agentIdentifier]?.features,
								delete this.sharedAggregator;
							return r.ee.get(this.agentIdentifier).abort(), !1;
						}
					}
				})({ features: [w, j, O], loaderType: "lite" });
			})();
	})();
</script><link rel="stylesheet" href="/_astro/_slug_.DeZcIfaL.css">
<link rel="stylesheet" href="/_astro/_slug_.Bsth9Gmv.css"></head> <body class="alegra-body" data-astro-cid-37fxchfa style=""><noscript> <iframe title="Google Tag Manager" src="https://www.googletagmanager.com/ns.html?id=GTM-KKP69V" height="0" width="0" style="display:none;visibility:hidden; " data-astro-cid-37fxchfa>
			</iframe> </noscript> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="Z7VckK" prefix="s0" component-url="/_astro/OneTap.B5-zEWtT.js" component-export="default" renderer-url="/_astro/client.DTRSisMZ.js" props="{&quot;version&quot;:[0,&quot;international&quot;],&quot;data-astro-cid-37fxchfa&quot;:[0,true]}" ssr client="load" opts="{&quot;name&quot;:&quot;OneTap&quot;,&quot;value&quot;:true}" await-children><!--[--><div id="captcha-cloudflare"></div><!--[--><div id="onboarding-component"></div><!----><script src="https://accounts.google.com/gsi/client" async></script><!--]--><!--]--><!--astro:end--></astro-island> <main data-astro-cid-37fxchfa style=""> <header style="--backgroundGradient: ; --sectionPaddingTop: 0px; --sectionPaddingBottom: 0px; --sectionPaddingTopMobile: 1.5rem; --sectionPaddingBottomMobile: 1.5rem" data-astro-cid-pk7lj6de="true" class="alegra-section header scrolling  ">   <div class="alert-banner--container" id="global-alert-banner"> <div class="alegra-section--wrapper alert-banner--wrapper spacing-layout" data-astro-cid-voyrspms style="--lgDirection: row;--background: transparent;--roundedTop: 0px;--roundedBottom: 0px;--paddingTop: 0px;--paddingBottom: 0px;">  <div class="alert-banner" id="alert-banner-content"> <div class="alert-banner--content"> <p class="alert-banner--title" id="alert-title"></p> <p class="alert-banner--description alert-banner--desktop" id="alert-description-desktop"></p> <p class="alert-banner--description alert-banner--mobile" id="alert-description-mobile"></p> </div> <button class="alert-banner--close" aria-label="Cerrar alerta" id="alert-close-btn"> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 4L4 12M4 4L12 12" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </button> </div>  </div>  </div> <div class="header--container"> <script>(function(){const country = "international";
const scheduleInfo = {"peru":{"availableDays":["Mon","Tue","Wed","Thu","Fri"],"availableHours":["8:00","12:00","14:00","17:00"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["8:00","12:00","14:00","17:00"]},"mexico":{"availableDays":["Mon","Tue","Wed","Thu","Fri"],"availableHours":["8:00","17:30"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["8:00","17:00"]},"panama":{"availableDays":["Mon","Tue","Wed","Thu","Fri"],"availableHours":["8:00","12:00","14:00","17:30"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["00:00","12:59","13:00","23:59"]},"colombia":{"availableDays":["Mon","Tue","Wed","Thu","Fri","Sat"],"availableHours":["8:00","17:30"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["8:00","17:00"]},"argentina":{"availableDays":["Mon","Tue","Wed","Thu","Fri"],"availableHours":["8:30","15:30"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["8:00","15:30"]},"costarica":{"availableDays":["Mon","Tue","Wed","Thu","Fri"],"availableHours":["8:00","12:00","14:00","17:00"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["8:00","12:00","8:00","17:00"]},"rdominicana":{"availableDays":["Mon","Tue","Wed","Thu","Fri"],"availableHours":["8:00","17:30"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["8:00","17:00"]}};
const disableTopBanner = undefined;

	/*eslint no-mixed-spaces-and-tabs: ["error", "smart-tabs"]*/
	const CustomerServiceIsAvailable = (country, scheduleInfo) => {
		if (scheduleInfo[country]) {
			const currentHour = new Date()
				.toLocaleString("en-US", {
					hour: "2-digit",
					minute: "2-digit",
					hour12: false,
				})
				.replace(":", "");

			const isEarlyMorning =
				Number(currentHour) <
				Number(scheduleInfo[country].availableHours[0].replace(":", ""));

			const isLateNight =
				scheduleInfo[country].availableHours.length > 2
					? Number(currentHour) >
						Number(scheduleInfo[country].availableHours[3].replace(":", ""))
					: Number(currentHour) >
						Number(scheduleInfo[country].availableHours[1].replace(":", ""));

			const isNoon =
				scheduleInfo[country].availableHours.length > 2
					? Number(currentHour) >
							Number(
								scheduleInfo[country].availableHours[1].replace(":", ""),
							) &&
						Number(currentHour) <
							Number(scheduleInfo[country].availableHours[2].replace(":", ""))
					: null;

			const isAvailableSchedule =
				isEarlyMorning || isLateNight || isNoon ? false : true;

			const isAvailableDay = scheduleInfo[country].availableDays.includes(
				new Date().toLocaleString("en-US", { weekday: "short" }),
			);

			const isAvailableHoursOnWeekend = scheduleInfo[country]
				.weekendAvailableHours
				? scheduleInfo[country].weekendAvailableHours.includes(
						new Date()
							.toLocaleString("en-US", {
								hour: "2-digit",
								minute: "2-digit",
								hour12: false,
							})
							.replace(":", ""),
					)
				: null;

			if (
				(isAvailableDay && isAvailableSchedule) ||
				(isAvailableDay && isAvailableHoursOnWeekend)
			) {
				return true;
			} else {
				return false;
			}
		} else {
			return true;
		}
	};

	if (CustomerServiceIsAvailable(country, scheduleInfo)) {
		const topBannerContainer = document.querySelector(
			".header--top-banner--container",
		);
		if (!disableTopBanner && topBannerContainer) {
			topBannerContainer.classList.add("showed");
		}
	}
})();</script><script>(function(){const country = "international";

	// Optimized version of the cookie and phone number update logic
	const updatePhoneNumber = () => {
		const hasAppEmail = document.cookie
			.split("; ")
			.some((row) => row.startsWith("al-app-email="));

		if (hasAppEmail && country === "colombia") {
			const headerTopBanner = document.querySelector(
				".header--top-banner--container.showed",
			);

			if (headerTopBanner) {
				// Update phone numbers in text
				document
					.querySelectorAll(".header--top-banner--text")
					.forEach((element) => {
						element.innerHTML = element.innerHTML.replace(
							"323 254 0794",
							"323&nbsp;254&nbsp;0554",
						);
					});

				// Update phone number in link
				const phoneLink = document.querySelector(
					".top-banner--link-wrapper.header--top-banner--link",
				);
				if (phoneLink) {
					phoneLink.href = "tel:3232540554";
				}
			}
		}
	};

	updatePhoneNumber();
})();</script> <div class="alegra-section--wrapper header--container--wrapper spacing-layout" data-astro-cid-voyrspms style="--lgDirection: row;--background: transparent;--roundedTop: 0px;--roundedBottom: 0px;--paddingTop: 0px;--paddingBottom: 0px;">  <div class="navigation-logo--container">   <a id="navigation--link--home-page" href="/" class="logo-container block logo-container--not-mobile" aria-label="Alegra Home"><svg
	class="w-[100px] md:w-[166px]"
	xmlns="http://www.w3.org/2000/svg"
	width="167"
	height="42"
	viewBox="0 0 167 42"
	fill="none"
>
	<path
		d="M44.1655 35.523C42.7057 36.262 30.0716 38.8032 20.4654 36.2079C13.2923 34.2614 3.72211 28.6923 0.532056 26.7639C-0.0446777 26.4034 -0.170838 25.6284 0.243689 25.1058L12.0487 10.1467C12.5533 9.51594 13.5446 9.57001 13.9591 10.2549C15.8696 13.2827 20.7177 20.4739 26.467 25.3581C34.1989 31.9184 40.4528 33.7568 44.2016 34.1893C44.6702 34.2434 45.6074 34.7661 44.1655 35.523Z"
		fill="#00E0C7"></path>
	<path
		d="M40.7596 30.3143C39.5701 30.044 31.0273 25.5022 26.7018 19.4104C23.5838 15.0309 20.7902 7.62346 19.7629 4.73979C19.5286 4.09097 19.9252 3.42412 20.592 3.27993L33.8388 0.396268C34.6319 0.216039 35.3528 0.900912 35.2627 1.69392C34.9202 4.57759 34.3975 10.6874 35.3708 15.9861C36.7225 23.4656 39.462 27.5208 41.4265 29.5574C41.6788 29.8097 41.9672 30.5666 40.7777 30.3143H40.7596Z"
		fill="#00E0C7"></path>
	<path
		d="M42.1111 26.8539C41.5704 26.2051 38.7768 20.1494 38.939 14.9948C39.0472 11.4983 40.4349 6.65018 41.1378 4.41534C41.3361 3.76652 42.057 3.46013 42.6878 3.7485L50.3295 7.31703C51.0685 7.65947 51.2307 8.6327 50.672 9.22746C49.1941 10.7955 46.6709 13.6971 45.1209 16.743C42.7419 21.411 42.5436 24.7812 42.7779 26.7277C42.814 26.962 42.6518 27.5027 42.1111 26.8719V26.8539Z"
		fill="#00E0C7"></path>
	<path
		d="M45.2828 24.9437C45.2648 24.4571 46.1299 20.6903 48.0223 18.3833C49.2478 16.9055 51.4286 15.2654 52.6001 14.4363C53.0146 14.148 53.5914 14.2921 53.8257 14.7427L55.8442 18.6357C56.1146 19.1764 55.7721 19.8432 55.1774 19.9333C53.9158 20.1496 51.9152 20.5821 50.2571 21.3751C47.4996 22.6728 46.238 24.1507 45.6613 25.1239C45.5892 25.2501 45.3189 25.4303 45.3008 24.9437H45.2828Z"
		fill="#00E0C7"></path>
	<path
		class="logo--alegra-text"
		d="M72.2999 33.3241C70.5516 33.3241 69.0017 32.8915 67.6139 32.0264C66.2622 31.1613 65.1988 30.0259 64.4058 28.6021C63.6128 27.1602 63.2343 25.5562 63.2343 23.808C63.2343 22.0597 63.6489 20.5098 64.4959 19.086C65.361 17.6441 66.5145 16.4907 67.9563 15.6616C69.3982 14.7965 71.0383 14.364 72.8586 14.364C74.6789 14.364 76.319 14.7785 77.7608 15.6256C79.2026 16.4366 80.3561 17.554 81.1852 18.9778C82.0503 20.4016 82.4828 22.0057 82.4828 23.808V32.8735H79.0224V26.1329L80.284 25.1777C80.284 26.7097 79.9416 28.0794 79.2567 29.305C78.5899 30.5305 77.6527 31.5218 76.4632 32.2607C75.2917 32.9816 73.9039 33.3241 72.3359 33.3241H72.2999ZM72.8586 29.8637C73.994 29.8637 75.0033 29.5933 75.9225 29.0526C76.8236 28.512 77.5445 27.791 78.0672 26.8719C78.5899 25.9347 78.8422 24.9254 78.8422 23.844C78.8422 22.7626 78.5899 21.7353 78.0672 20.8162C77.5445 19.915 76.8416 19.1761 75.9225 18.6354C75.0213 18.0767 73.994 17.7883 72.8586 17.7883C71.7231 17.7883 70.7139 18.0767 69.7947 18.6354C68.9116 19.1761 68.1906 19.897 67.65 20.8162C67.1273 21.7173 66.875 22.7266 66.875 23.844C66.875 24.9614 67.1273 25.9347 67.65 26.8719C68.1906 27.773 68.9116 28.512 69.7947 29.0526C70.6958 29.5933 71.7231 29.8637 72.8586 29.8637Z"
	></path>
	<path
		class="logo--alegra-text"
		d="M86.952 6.5422H90.5926V32.8917H86.952V6.5422Z"></path>
	<path
		class="logo--alegra-text"
		d="M103.515 33.2881C101.695 33.2881 100.054 32.8915 98.6126 32.0805C97.1708 31.2515 96.0173 30.116 95.1883 28.6922C94.3592 27.2504 93.9267 25.5923 93.9267 23.7539C93.9267 22.0418 94.3052 20.4557 95.0621 19.0319C95.8191 17.5901 96.9005 16.4366 98.2702 15.6076C99.6399 14.7425 101.244 14.3099 103.064 14.3099C104.885 14.3099 106.435 14.7064 107.75 15.5175C109.084 16.3105 110.093 17.3918 110.814 18.7616C111.553 20.1133 111.914 21.6272 111.914 23.2853V24.7632H96.7743L97.4411 23.2853C97.3691 24.565 97.5853 25.7004 98.072 26.7097C98.5586 27.719 99.2795 28.53 100.217 29.1428C101.154 29.7375 102.235 30.0259 103.497 30.0259C104.632 30.0259 105.642 29.7736 106.561 29.287C107.498 28.8003 108.237 28.0614 108.778 27.0701L111.571 28.512C110.778 30.0619 109.697 31.2334 108.291 32.0445C106.885 32.8555 105.299 33.252 103.533 33.252L103.515 33.2881ZM97.6214 22.4202H108.273C108.219 21.465 107.967 20.6179 107.498 19.879C107.047 19.1401 106.435 18.5813 105.66 18.1848C104.903 17.7883 104.02 17.5901 103.046 17.5901C102.073 17.5901 101.136 17.8064 100.361 18.2209C99.6039 18.6354 98.9911 19.2122 98.5225 19.9511C98.072 20.69 97.7836 21.5191 97.6394 22.4202H97.6214Z"
	></path>
	<path
		class="logo--alegra-text"
		d="M122.944 41.6147C120.997 41.6147 119.267 41.2001 117.717 40.3531C116.167 39.524 114.978 38.2984 114.148 36.7124L117.212 35.0543C117.735 36.0456 118.474 36.8025 119.465 37.3793C120.456 37.974 121.592 38.2624 122.89 38.2624C124.187 38.2624 125.269 37.974 126.206 37.3793C127.161 36.8206 127.918 36.0095 128.459 34.9462C128.999 33.9189 129.27 32.6933 129.27 31.3056V27.5027L130.189 26.6556C130.189 27.737 129.901 28.7823 129.306 29.7916C128.747 30.7829 127.9 31.5759 126.801 32.2247C125.719 32.8375 124.404 33.1439 122.854 33.1439C121.159 33.1439 119.609 32.7474 118.204 31.9364C116.834 31.1073 115.716 29.9899 114.887 28.5841C114.076 27.1603 113.68 25.5562 113.68 23.79C113.68 22.0238 114.094 20.4918 114.941 19.068C115.807 17.6442 116.96 16.5087 118.402 15.6797C119.844 14.8146 121.484 14.382 123.304 14.382C125.124 14.382 126.765 14.7966 128.206 15.6436C129.648 16.4547 130.802 17.5721 131.631 18.9959C132.496 20.4197 132.928 22.0238 132.928 23.826V31.2695C132.928 33.3602 132.496 35.1805 131.631 36.7305C130.766 38.2984 129.594 39.506 128.098 40.335C126.602 41.2001 124.89 41.6327 122.98 41.6327L122.944 41.6147ZM123.232 29.7195C124.331 29.7195 125.341 29.4672 126.26 28.9446C127.161 28.4039 127.882 27.683 128.405 26.7638C128.945 25.8266 129.216 24.8173 129.216 23.7359C129.216 22.6546 128.945 21.6273 128.405 20.7441C127.882 19.843 127.179 19.1221 126.26 18.5994C125.359 18.0767 124.349 17.8244 123.232 17.8244C122.115 17.8244 121.123 18.0767 120.204 18.5994C119.321 19.1221 118.6 19.825 118.059 20.7441C117.519 21.6273 117.248 22.6185 117.248 23.7359C117.248 24.8534 117.519 25.8266 118.059 26.7638C118.6 27.6649 119.321 28.4039 120.204 28.9446C121.105 29.4672 122.115 29.7195 123.232 29.7195Z"
	></path>
	<path
		class="logo--alegra-text"
		d="M140.282 32.8916H136.641V22.1319C136.641 20.654 136.912 19.3383 137.452 18.1849C138.011 17.0314 138.822 16.1303 139.886 15.4634C140.967 14.7966 142.301 14.4722 143.869 14.4722C144.463 14.4722 145.022 14.5262 145.563 14.6524C146.121 14.7425 146.644 14.9047 147.113 15.139V18.7436C146.662 18.4732 146.194 18.275 145.671 18.1488C145.184 18.0227 144.68 17.9686 144.193 17.9686C142.985 17.9686 142.03 18.3651 141.327 19.1401C140.642 19.897 140.3 20.9424 140.3 22.2761V32.8916H140.282Z"
	></path>
	<path
		class="logo--alegra-text"
		d="M156.268 33.3241C154.52 33.3241 152.97 32.8915 151.582 32.0264C150.231 31.1613 149.167 30.0259 148.374 28.6021C147.581 27.1602 147.203 25.5562 147.203 23.808C147.203 22.0597 147.617 20.5098 148.464 19.086C149.329 17.6441 150.483 16.4907 151.925 15.6616C153.367 14.7965 155.007 14.364 156.827 14.364C158.647 14.364 160.287 14.7785 161.729 15.6256C163.171 16.4366 164.324 17.554 165.154 18.9778C166.019 20.4016 166.451 22.0057 166.451 23.808V32.8735H162.991V26.1329L164.252 25.1777C164.252 26.7097 163.91 28.0794 163.225 29.305C162.558 30.5305 161.621 31.5218 160.432 32.2607C159.26 32.9816 157.872 33.3241 156.304 33.3241H156.268ZM156.827 29.8637C157.962 29.8637 158.972 29.5933 159.891 29.0526C160.792 28.512 161.513 27.791 162.036 26.8719C162.558 25.9347 162.811 24.9254 162.811 23.844C162.811 22.7626 162.558 21.7353 162.036 20.8162C161.513 19.915 160.81 19.1761 159.891 18.6354C158.99 18.0767 157.962 17.7883 156.827 17.7883C155.692 17.7883 154.682 18.0767 153.763 18.6354C152.88 19.1761 152.159 19.897 151.618 20.8162C151.096 21.7173 150.843 22.7266 150.843 23.844C150.843 24.9614 151.096 25.9347 151.618 26.8719C152.159 27.773 152.88 28.512 153.763 29.0526C154.664 29.5933 155.692 29.8637 156.827 29.8637Z"
	></path>
</svg></a> <nav class="navigation"> <ul class="flex gap-4">  </ul> </nav>    <script>
	// setTimeout(() => {
	// 	let cookieValue = null;
	// 	const cookieName = "exp-launcher";

	// 	const cookies = document.cookie.split(";");

	// 	for (let i = 0; i < cookies.length; i++) {
	// 		const cookie = cookies[i].trim();

	// 		if (cookie.startsWith(cookieName + "=")) {
	// 			cookieValue = cookie.substring(cookieName.length + 1);
	// 			break;
	// 		}
	// 	}
	// 	if (cookieValue !== "testing") {
	// 		/** CONDICIONAL AGREGADO PARA EXP */

	// 	}
	// }, 800);

	// const parentDropdown = document.querySelector(
	// 	".dropdown-solutions--container",
	// );
	const dropdownItems = document.querySelectorAll(".dropdown-solutions--item");
	let currentURL = window.location.pathname;
	dropdownItems.forEach((item) => {
		const dropdownLink = item.querySelector(".dropdown-solution--link");
		let dropdownLinkURL = dropdownLink.getAttribute("href");
		currentURL = currentURL.endsWith("/")
			? currentURL.slice(0, -1)
			: currentURL;
		dropdownLinkURL = dropdownLinkURL.endsWith("/")
			? dropdownLinkURL.slice(0, -1)
			: dropdownLinkURL;
		if (currentURL === dropdownLinkURL) {
			dropdownLink.classList.add("active");
			item.classList.add("active");
			// const currentItem = document.querySelector(
			// 	".dropdown-solutions--item.active",
			// );
			// parentDropdown.insertBefore(currentItem, parentDropdown.firstChild);
		}
	});
</script> </div> <div class="ctas--container">   <div class="ctas--container-group">   </div>   </div>    </div>  <div class="header-responsive--container"> <div class="header-responsive--navigation--container"> <nav class="navigation"> <ul> <li class="navigation--responsive-list-item list-none"> <a id="navigation--link--home-page" class="navigation--item--responsive navigation--link label-2" href="/" target="_self">
Inicio
</a> </li>  </ul> </nav>  </div>  </div>  </div>  </header>    <script>(function(){const routes = [{"name":"international_general_home_routes","urls":[{"url":"/","default":true},{"url":"contabilidad/"},{"url":"recursos-contables/"}]},{"name":"international_contabilidad_home_routes","urls":[{"url":"contabilidad/","default":true},{"url":"contabilidad/reportes/"},{"url":"contabilidad/bancos/"}]},{"name":"international_tienda_home_routes","urls":[{"url":"tienda/","default":true}]},{"name":"colombia_general_home_routes","urls":[{"url":"colombia/","default":true},{"url":"colombia/contabilidad/"},{"url":"colombia/contabilidad/campaign/display/"},{"url":"colombia/contadores/"},{"url":"colombia/contabilidad/reportes/"},{"url":"colombia/contabilidad/bancos/"},{"url":"colombia/contabilidad/buzon-electronico/"},{"url":"colombia/pos/"},{"url":"colombia/tienda/"},{"url":"colombia/facturacion-electronica/"},{"url":"colombia/nomina-electronica/"},{"url":"colombia/contabilidad/portal-clientes/"},{"url":"colombia/facturacion-electronica/sector-salud/"},{"url":"colombia/enterprise/"}]},{"name":"colombia_contabilidad_home_routes","urls":[{"url":"colombia/contabilidad/","default":true},{"url":"colombia/contadores/"},{"url":"colombia/contabilidad/reportes/"},{"url":"colombia/contabilidad/migracion/aliaddo/"},{"url":"colombia/contabilidad/portal-clientes/"},{"url":"colombia/contabilidad/bancos/"},{"url":"colombia/contabilidad/buzon-electronico/"},{"url":"colombia/enterprise/"}]},{"name":"colombia_pos_home_routes","urls":[{"url":"colombia/pos/","default":true},{"url":"colombia/pos/farmacias/"},{"url":"colombia/pos/boutiques/"}]},{"name":"colombia_fe_home_routes","urls":[{"url":"colombia/facturacion-electronica/","default":true},{"url":"colombia/facturacion-electronica/sector-salud/"}]},{"name":"colombia_ne_home_routes","urls":[{"url":"colombia/nomina-electronica/","default":true}]},{"name":"colombia_contador_home_routes","urls":[{"url":"colombia/contadores/","default":true}]},{"name":"colombia_tienda_home_routes","urls":[{"url":"colombia/tienda/","default":true}]},{"name":"argentina_general_home_routes","urls":[{"url":"argentina/","default":true},{"url":"argentina/gestion/"},{"url":"argentina/gestion/reportes/"},{"url":"argentina/gestion/portal-clientes/"},{"url":"argentina/enterprise/"}]},{"name":"argentina_contabilidad_home_routes","urls":[{"url":"argentina/gestion/","default":true},{"url":"argentina/gestion/reportes/"},{"url":"argentina/gestion/portal-clientes/"},{"url":"argentina/enterprise/"}]},{"name":"argentina_pos_home_routes","urls":[{"url":"argentina/punto-venta/","default":true}]},{"name":"argentina_contador_home_routes","urls":[{"url":"argentina/contadores/","default":true}]},{"name":"argentina_tienda_home_routes","urls":[{"url":"argentina/tienda/","default":true}]},{"name":"es_general_home_routes","urls":[{"url":"es/","default":true},{"url":"es/gestion/reportes/"},{"url":"es/gestion/portal-clientes/"},{"url":"es/pais-vasco/"}]},{"name":"es_contabilidad_home_routes","urls":[{"url":"es/gestion/","default":true},{"url":"es/gestion/reportes/"},{"url":"es/gestion/portal-clientes/"}]},{"name":"es_pos_home_routes","urls":[{"url":"es/tpv/","default":true}]},{"name":"es_facturacion_home_routes","urls":[{"url":"es/facturacion/","default":true}]},{"name":"es_tienda_home_routes","urls":[{"url":"es/tienda/","default":true}]},{"name":"mexico_general_home_routes","urls":[{"url":"mexico/","default":true},{"url":"mexico/contabilidad/"},{"url":"mexico/contadores/"},{"url":"mexico/contabilidad/portal-clientes/"},{"url":"mexico/herramientas/validador-csd/"},{"url":"mexico/enterprise/"},{"url":"mexico/sistema-contabilidad/"},{"url":"mexico/sistema-multi-rfc/"}]},{"name":"mexico_contabilidad_home_routes","urls":[{"url":"mexico/contabilidad/","default":true},{"url":"mexico/contabilidad/reportes"},{"url":"mexico/contadores/"},{"url":"mexico/contabilidad/portal-clientes/"},{"url":"mexico/herramientas/validador-csd/"},{"url":"mexico/enterprise/"},{"url":"mexico/sistema-contabilidad/"},{"url":"mexico/sistema-multi-rfc/"}]},{"name":"mexico_pos_home_routes","urls":[{"url":"mexico/pos/","default":true}]},{"name":"mexico_contador_home_routes","urls":[{"url":"mexico/contadores/","default":true}]},{"name":"mexico_tienda_home_routes","urls":[{"url":"mexico/tienda/","default":true}]},{"name":"mexico_fe_home_routes","urls":[{"url":"mexico/facturacion-electronica/","default":true}]},{"name":"mexico_facturacion_home_routes","urls":[{"url":"mexico/facturacion-electronica/","default":true}]},{"name":"mexico_ne_home_routes","urls":[{"url":"mexico/nomina/","default":true}]},{"name":"mexico_calcula_home_routes","urls":[{"url":"mexico/calcula/","default":true}]},{"name":"peru_general_home_routes","urls":[{"url":"peru/","default":true},{"url":"peru/contabilidad/"},{"url":"peru/contabilidad/portal-clientes/"},{"url":"peru/enterprise/"}]},{"name":"peru_contabilidad_home_routes","urls":[{"url":"peru/contabilidad/","default":true},{"url":"peru/contabilidad/reportes/"},{"url":"peru/contabilidad/portal-clientes/"},{"url":"peru/enterprise/"}]},{"name":"peru_pos_home_routes","urls":[{"url":"peru/punto-venta/","default":true},{"url":"peru/boleta-electronica/"}]},{"name":"peru_contador_home_routes","urls":[{"url":"peru/contadores/","default":true}]},{"name":"peru_tienda_home_routes","urls":[{"url":"peru/tienda/","default":true}]},{"name":"panama_general_home_routes","urls":[{"url":"panama/","default":true},{"url":"panama/contabilidad/"},{"url":"panama/contabilidad/reportes/"},{"url":"panama/contabilidad/portal-clientes/"},{"url":"panama/enterprise/"}]},{"name":"panama_contabilidad_home_routes","urls":[{"url":"panama/contabilidad/","default":true},{"url":"panama/contabilidad/reportes/"},{"url":"panama/contabilidad/portal-clientes/"},{"url":"panama/enterprise/"}]},{"name":"panama_af_home_routes","urls":[{"url":"panama/facturacion/","default":true}]},{"name":"panama_contador_home_routes","urls":[{"url":"panama/contadores/","default":true}]},{"name":"panama_tienda_home_routes","urls":[{"url":"panama/tienda/","default":true}]},{"name":"costarica_general_home_routes","urls":[{"url":"costarica/","default":true},{"url":"costarica/contabilidad/"},{"url":"costarica/contabilidad/reportes/"},{"url":"costarica/contabilidad/portal-clientes/"},{"url":"costarica/enterprise/"}]},{"name":"costarica_contabilidad_home_routes","urls":[{"url":"costarica/contabilidad/","default":true},{"url":"costarica/contabilidad/reportes/"},{"url":"costarica/contabilidad/portal-clientes/"},{"url":"costarica/enterprise/"}]},{"name":"costarica_facturacion_home_routes","urls":[{"url":"costarica/facturacion/","default":true},{"url":"costarica/facturacion-electronica/"}]},{"name":"costarica_fe_home_routes","urls":[{"url":"costarica/facturacion-electronica/","default":true},{"url":"costarica/facturacion/"}]},{"name":"costarica_pos_home_routes","urls":[{"url":"costarica/pos/","default":true}]},{"name":"costarica_contador_home_routes","urls":[{"url":"costarica/contadores/","default":true}]},{"name":"costarica_tienda_home_routes","urls":[{"url":"costarica/tienda/","default":true}]},{"name":"rdominicana_general_home_routes","urls":[{"url":"rdominicana/","default":true},{"url":"rdominicana/contabilidad/"},{"url":"rdominicana/contadores/"},{"url":"rdominicana/contabilidad/reportes/"},{"url":"rdominicana/contabilidad/portal-clientes/"},{"url":"rdominicana/factura-electronica/"},{"url":"rdominicana/nomina/"},{"url":"rdominicana/enterprise/"}]},{"name":"rdominicana_contabilidad_home_routes","urls":[{"url":"rdominicana/contabilidad/","default":true},{"url":"rdominicana/contabilidad/reportes/"},{"url":"rdominicana/contabilidad/portal-clientes/"},{"url":"rdominicana/contadores/"},{"url":"rdominicana/factura-electronica/"},{"url":"rdominicana/enterprise/"}]},{"name":"rdominicana_fe_home_routes","urls":[{"url":"rdominicana/factura-electronica/","default":true}]},{"name":"rdominicana_pos_home_routes","urls":[{"url":"rdominicana/pos/","default":true},{"url":"rdominicana/pos/abarrotes/"}]},{"name":"rdominicana_contador_home_routes","urls":[{"url":"rdominicana/contadores/","default":true}]},{"name":"rdominicana_tienda_home_routes","urls":[{"url":"rdominicana/tienda/","default":true}]},{"name":"rdominicana_ne_home_routes","urls":[{"url":"rdominicana/nomina/","default":true}]},{"name":"venezuela_general_home_routes","urls":[{"url":"venezuela/","default":true},{"url":"venezuela/contabilidad/"},{"url":"venezuela/pos/"},{"url":"venezuela/facturacion-electronica/"}]},{"name":"venezuela_contabilidad_home_routes","urls":[{"url":"venezuela/contabilidad/","default":true}]},{"name":"venezuela_pos_home_routes","urls":[{"url":"venezuela/pos/","default":true}]},{"name":"venezuela_fe_home_routes","urls":[{"url":"venezuela/facturacion-electronica/","default":true}]}];
const version = "international";
const product = "general";
const environment = "production";
const apiBaseUrl = "https://alegra-cms.onrender.com/api";

	document.querySelector("header.header").classList.remove("scrolling");

	const HeaderScrollFixed = () => {
		const header = document.querySelector(".header");
		document.addEventListener("scroll", () => {
			if (window.scrollY >= 20) {
				header?.classList.add("scrolling");
			} else {
				header?.classList.remove("scrolling");
			}
		});
	};

	const HeaderResponsiveToggle = () => {
		const openResponsive = document.querySelector(
			"#responsive-hamburger--open",
		);
		const closeResponsive = document.querySelector(
			"#responsive-hamburger--close",
		);

		openResponsive?.addEventListener("click", () => {
			const navigationResponsiveContainer = document.querySelector(".header");
			navigationResponsiveContainer?.classList.toggle("responsive-open");
			const topBanner = document.querySelector(
				".header--top-banner--container.showed",
			);
			const header = document.querySelector(".header");

			if (
				navigationResponsiveContainer?.classList.contains("responsive-open")
			) {
				document.body.classList.remove("responsive--closed");
				document.body.classList.add("responsive--opened");
				if (topBanner) {
					header.classList.add("responsive--opened--w--top-banner");
				}
			} else {
				document.body.classList.remove("responsive--opened");
				document.body.classList.add("responsive--closed");
				if (topBanner) {
					header.classList.remove("responsive--opened--w--top-banner");
				}
			}
		});

		closeResponsive?.addEventListener("click", () => {
			const navigationResponsiveContainer = document.querySelector(".header");
			const topBanner = document.querySelector(
				".header--top-banner--container.showed",
			);

			navigationResponsiveContainer?.classList.toggle("responsive-open");
			if (
				navigationResponsiveContainer?.classList.contains("responsive-open")
			) {
				document.body.classList.remove("responsive--closed");
				document.body.classList.add("responsive--opened");
				if (topBanner) {
					document.body.classList.add("responsive--opened--w--top-banner");
				}
			} else {
				document.body.classList.remove("responsive--opened");
				document.body.classList.add("responsive--closed");
				if (topBanner) {
					document.body.classList.remove("responsive--opened--w--top-banner");
				}
			}
		});
	};

	const GetHomeLink = () => {
		const homeLinks = document?.querySelectorAll(
			"#navigation--link--home-page",
		);

		setTimeout(() => {
			const currentHome = localStorage.getItem("homePage");
			let versionToRoute = version;
			if (version === "spain") {
				versionToRoute = "es";
			}
			const routeEntry = routes.find(
				(route) => route.name === `${versionToRoute}_${product}_home_routes`,
			);
			const Routes = routeEntry?.urls;

			if (Routes) {
				const defaultRoute = Routes.find((route) => route.default === true);
				if (currentHome && currentHome !== "") {
					const home = Routes.find((route) => route.url === currentHome);
					if (!home) {
						localStorage.setItem("homePage", defaultRoute.url);
					}
				} else {
					localStorage.setItem("homePage", defaultRoute.url);
				}
			}

			// Split current path into segments (e.g. /rdominicana/facturacion/planes → ['rdominicana', 'facturacion', 'planes'])
			const segments = window.location.pathname
				.replace(/\/$/, "")
				.split("/")
				.filter(Boolean);

			const isPricingPage = /\/(precios|planes)(\/|$)/.test(
				window.location.pathname,
			);
			const isLandingPage = /\/(webinar|live)(\/|$)/.test(
				window.location.pathname,
			);
			const isValidVersion = segments[0] === version; // ensure the first segment matches the current version
			const storedHome = localStorage.getItem("homePage");
			// Only use storedHome for pricing pages if it belongs to the same version+product
			const currentPrefix = segments.slice(0, 2).join("/");
			const storedMatchesProduct = storedHome?.startsWith(currentPrefix);
			const parentPath =
				segments.length > 2
					? isPricingPage &&
						storedHome &&
						storedHome !== "/" &&
						storedMatchesProduct
						? "/" + storedHome // pricing/plans: stored home matches product → use it
						: isLandingPage && isValidVersion
							? "/" + segments[0] // webinar/live with valid version: go to version root (e.g. /rdominicana)
							: isLandingPage && storedHome && storedHome !== "/"
								? "/" + storedHome // webinar/live with invalid version: fall back to stored home
								: "/" + segments.slice(0, segments.length - 1).join("/") // default: go up one level (e.g. /rdominicana/pos)
					: "/" + segments.slice(0, Math.max(1, segments.length - 1)).join("/"); // 1-2 segments: go up one level

			homeLinks.forEach((element) => {
				element.setAttribute("href", parentPath);
			});
		}, 250);
	};

	const InitAlertBanner = () => {
		const API_URL = apiBaseUrl;
		const alertContainer = document.getElementById("global-alert-banner");
		const alertContent = document.getElementById("alert-banner-content");
		const alertTitle = document.getElementById("alert-title");
		const alertDescriptionDesktop = document.getElementById(
			"alert-description-desktop",
		);
		const alertDescriptionMobile = document.getElementById(
			"alert-description-mobile",
		);
		const closeButton = document.getElementById("alert-close-btn");

		// Check if top banner exists and adjust alert position
		const adjustAlertPosition = () => {
			const topBanner = document.querySelector(
				".header--top-banner--container.showed",
			);
			if (topBanner && alertContainer) {
				alertContainer.style.top = "6rem";
			} else if (alertContainer) {
				alertContainer.style.top = "4rem";
			}
		};

		// Fetch alert data from Strapi
		fetch(`${API_URL}/alerta-activa?populate=deep`)
			.then((response) => response.json())
			.then((data) => {
				const alertData = data?.data;
				if (!alertData || !alertData) {
					return;
				}

				const { settings, alerta } = alertData;
				if (!alerta || !alerta.data) {
					return;
				}

				const alertAttributes = alerta.data;
				const messageAlert = alertAttributes.messageAlert;

				const {
					active = true,
					testing = false,
					allVersions,
					productsExcluded = [],
					productsIncluded = [],
					versionsExcluded = [],
					versionsIncluded = [],
				} = settings;

				// Check if alert is active
				if (!active) {
					return;
				}

				// Check testing environment
				if (testing && environment !== "testing") {
					return;
				}

				// Map country to version name
				let versionToCheck = version;
				if (version === "spain") {
					versionToCheck = "es";
				}

				// Version validation
				let versionMatch = false;
				if (allVersions) {
					versionMatch = !versionsExcluded.includes(versionToCheck);
				} else {
					versionMatch = versionsIncluded.includes(versionToCheck);
				}

				// Product validation
				let productMatch = false;
				if (productsIncluded.length === 0 && productsExcluded.length === 0) {
					productMatch = true;
				} else if (productsIncluded.length > 0) {
					productMatch = productsIncluded.includes(product);
				} else if (productsExcluded.length > 0) {
					productMatch = !productsExcluded.includes(product);
				}

				// Show alert if conditions match
				if (versionMatch && productMatch && messageAlert) {
					const alertType = alertAttributes.type || "info";

					// Set content
					alertTitle.textContent = messageAlert.title || "";
					alertDescriptionDesktop.innerHTML = messageAlert.description || "";
					alertDescriptionMobile.innerHTML =
						messageAlert.mobileDescription || messageAlert.description || "";

					// Set alert type class
					alertContent.classList.add(`alert-banner--${alertType}`);

					// Adjust position based on top banner
					adjustAlertPosition();

					// Show alert with transition
					setTimeout(() => {
						alertContainer.classList.add("show");
					}, 100);

					// Close button functionality
					closeButton.addEventListener("click", () => {
						alertContainer.classList.remove("show");
						alertContainer.classList.add("hide");

						// Remove from DOM after transition
						setTimeout(() => {
							alertContainer.style.display = "none";
						}, 300);
					});
				}
			})
			.catch((error) => {
				console.warn("Error fetching alert data:", error);
				// Silently fail - don't show alert if API is down
			});
	};

	HeaderScrollFixed();
	HeaderResponsiveToggle();
	GetHomeLink();
	InitAlertBanner();
})();</script> <script>
	(function () {
		var banner = document.querySelector(".hw-sticky-banner");
		if (!banner) return;

		function updateBannerTop() {
			var header = document.querySelector(".header");
			if (!header) return;
			banner.style.top = header.offsetHeight + "px";
		}

		updateBannerTop();

		var header = document.querySelector(".header");
		if (header && window.ResizeObserver) {
			new ResizeObserver(updateBannerTop).observe(header);
		}
		window.addEventListener("resize", updateBannerTop);
	})();
</script> <section style="--backgroundGradient: ; --sectionPaddingTop: 4rem; --sectionPaddingBottom: 4rem; --sectionPaddingTopMobile: 1.5rem; --sectionPaddingBottomMobile: 1.5rem" data-astro-cid-pk7lj6de="true" class="alegra-section bg-section home-country-selector--container ">  <img src="/_astro/CurveBg.DhEw3YOi_ZuUW9h.svg" alt="Background" loading="lazy" decoding="async" fetchpriority="auto" width="1280" height="314" class="bg-image"> <div class="alegra-section--wrapper section-wrapper home-country-selector--wrapper spacing-layout" data-astro-cid-voyrspms style="--lgDirection: row;--background: transparent;--roundedTop: 0px;--roundedBottom: 0px;--paddingTop: 0px;--paddingBottom: 0px;">  <h3 class="home-country-selector--heading">Selecciona el país donde se encuentra tu empresa</h3> <div class="home-country-selector--content"> <div class="logo-container"><svg
	class="w-[100px] md:w-[166px]"
	xmlns="http://www.w3.org/2000/svg"
	width="167"
	height="42"
	viewBox="0 0 167 42"
	fill="none"
>
	<path
		d="M44.1655 35.523C42.7057 36.262 30.0716 38.8032 20.4654 36.2079C13.2923 34.2614 3.72211 28.6923 0.532056 26.7639C-0.0446777 26.4034 -0.170838 25.6284 0.243689 25.1058L12.0487 10.1467C12.5533 9.51594 13.5446 9.57001 13.9591 10.2549C15.8696 13.2827 20.7177 20.4739 26.467 25.3581C34.1989 31.9184 40.4528 33.7568 44.2016 34.1893C44.6702 34.2434 45.6074 34.7661 44.1655 35.523Z"
		fill="#00E0C7"></path>
	<path
		d="M40.7596 30.3143C39.5701 30.044 31.0273 25.5022 26.7018 19.4104C23.5838 15.0309 20.7902 7.62346 19.7629 4.73979C19.5286 4.09097 19.9252 3.42412 20.592 3.27993L33.8388 0.396268C34.6319 0.216039 35.3528 0.900912 35.2627 1.69392C34.9202 4.57759 34.3975 10.6874 35.3708 15.9861C36.7225 23.4656 39.462 27.5208 41.4265 29.5574C41.6788 29.8097 41.9672 30.5666 40.7777 30.3143H40.7596Z"
		fill="#00E0C7"></path>
	<path
		d="M42.1111 26.8539C41.5704 26.2051 38.7768 20.1494 38.939 14.9948C39.0472 11.4983 40.4349 6.65018 41.1378 4.41534C41.3361 3.76652 42.057 3.46013 42.6878 3.7485L50.3295 7.31703C51.0685 7.65947 51.2307 8.6327 50.672 9.22746C49.1941 10.7955 46.6709 13.6971 45.1209 16.743C42.7419 21.411 42.5436 24.7812 42.7779 26.7277C42.814 26.962 42.6518 27.5027 42.1111 26.8719V26.8539Z"
		fill="#00E0C7"></path>
	<path
		d="M45.2828 24.9437C45.2648 24.4571 46.1299 20.6903 48.0223 18.3833C49.2478 16.9055 51.4286 15.2654 52.6001 14.4363C53.0146 14.148 53.5914 14.2921 53.8257 14.7427L55.8442 18.6357C56.1146 19.1764 55.7721 19.8432 55.1774 19.9333C53.9158 20.1496 51.9152 20.5821 50.2571 21.3751C47.4996 22.6728 46.238 24.1507 45.6613 25.1239C45.5892 25.2501 45.3189 25.4303 45.3008 24.9437H45.2828Z"
		fill="#00E0C7"></path>
	<path
		class="logo--alegra-text"
		d="M72.2999 33.3241C70.5516 33.3241 69.0017 32.8915 67.6139 32.0264C66.2622 31.1613 65.1988 30.0259 64.4058 28.6021C63.6128 27.1602 63.2343 25.5562 63.2343 23.808C63.2343 22.0597 63.6489 20.5098 64.4959 19.086C65.361 17.6441 66.5145 16.4907 67.9563 15.6616C69.3982 14.7965 71.0383 14.364 72.8586 14.364C74.6789 14.364 76.319 14.7785 77.7608 15.6256C79.2026 16.4366 80.3561 17.554 81.1852 18.9778C82.0503 20.4016 82.4828 22.0057 82.4828 23.808V32.8735H79.0224V26.1329L80.284 25.1777C80.284 26.7097 79.9416 28.0794 79.2567 29.305C78.5899 30.5305 77.6527 31.5218 76.4632 32.2607C75.2917 32.9816 73.9039 33.3241 72.3359 33.3241H72.2999ZM72.8586 29.8637C73.994 29.8637 75.0033 29.5933 75.9225 29.0526C76.8236 28.512 77.5445 27.791 78.0672 26.8719C78.5899 25.9347 78.8422 24.9254 78.8422 23.844C78.8422 22.7626 78.5899 21.7353 78.0672 20.8162C77.5445 19.915 76.8416 19.1761 75.9225 18.6354C75.0213 18.0767 73.994 17.7883 72.8586 17.7883C71.7231 17.7883 70.7139 18.0767 69.7947 18.6354C68.9116 19.1761 68.1906 19.897 67.65 20.8162C67.1273 21.7173 66.875 22.7266 66.875 23.844C66.875 24.9614 67.1273 25.9347 67.65 26.8719C68.1906 27.773 68.9116 28.512 69.7947 29.0526C70.6958 29.5933 71.7231 29.8637 72.8586 29.8637Z"
	></path>
	<path
		class="logo--alegra-text"
		d="M86.952 6.5422H90.5926V32.8917H86.952V6.5422Z"></path>
	<path
		class="logo--alegra-text"
		d="M103.515 33.2881C101.695 33.2881 100.054 32.8915 98.6126 32.0805C97.1708 31.2515 96.0173 30.116 95.1883 28.6922C94.3592 27.2504 93.9267 25.5923 93.9267 23.7539C93.9267 22.0418 94.3052 20.4557 95.0621 19.0319C95.8191 17.5901 96.9005 16.4366 98.2702 15.6076C99.6399 14.7425 101.244 14.3099 103.064 14.3099C104.885 14.3099 106.435 14.7064 107.75 15.5175C109.084 16.3105 110.093 17.3918 110.814 18.7616C111.553 20.1133 111.914 21.6272 111.914 23.2853V24.7632H96.7743L97.4411 23.2853C97.3691 24.565 97.5853 25.7004 98.072 26.7097C98.5586 27.719 99.2795 28.53 100.217 29.1428C101.154 29.7375 102.235 30.0259 103.497 30.0259C104.632 30.0259 105.642 29.7736 106.561 29.287C107.498 28.8003 108.237 28.0614 108.778 27.0701L111.571 28.512C110.778 30.0619 109.697 31.2334 108.291 32.0445C106.885 32.8555 105.299 33.252 103.533 33.252L103.515 33.2881ZM97.6214 22.4202H108.273C108.219 21.465 107.967 20.6179 107.498 19.879C107.047 19.1401 106.435 18.5813 105.66 18.1848C104.903 17.7883 104.02 17.5901 103.046 17.5901C102.073 17.5901 101.136 17.8064 100.361 18.2209C99.6039 18.6354 98.9911 19.2122 98.5225 19.9511C98.072 20.69 97.7836 21.5191 97.6394 22.4202H97.6214Z"
	></path>
	<path
		class="logo--alegra-text"
		d="M122.944 41.6147C120.997 41.6147 119.267 41.2001 117.717 40.3531C116.167 39.524 114.978 38.2984 114.148 36.7124L117.212 35.0543C117.735 36.0456 118.474 36.8025 119.465 37.3793C120.456 37.974 121.592 38.2624 122.89 38.2624C124.187 38.2624 125.269 37.974 126.206 37.3793C127.161 36.8206 127.918 36.0095 128.459 34.9462C128.999 33.9189 129.27 32.6933 129.27 31.3056V27.5027L130.189 26.6556C130.189 27.737 129.901 28.7823 129.306 29.7916C128.747 30.7829 127.9 31.5759 126.801 32.2247C125.719 32.8375 124.404 33.1439 122.854 33.1439C121.159 33.1439 119.609 32.7474 118.204 31.9364C116.834 31.1073 115.716 29.9899 114.887 28.5841C114.076 27.1603 113.68 25.5562 113.68 23.79C113.68 22.0238 114.094 20.4918 114.941 19.068C115.807 17.6442 116.96 16.5087 118.402 15.6797C119.844 14.8146 121.484 14.382 123.304 14.382C125.124 14.382 126.765 14.7966 128.206 15.6436C129.648 16.4547 130.802 17.5721 131.631 18.9959C132.496 20.4197 132.928 22.0238 132.928 23.826V31.2695C132.928 33.3602 132.496 35.1805 131.631 36.7305C130.766 38.2984 129.594 39.506 128.098 40.335C126.602 41.2001 124.89 41.6327 122.98 41.6327L122.944 41.6147ZM123.232 29.7195C124.331 29.7195 125.341 29.4672 126.26 28.9446C127.161 28.4039 127.882 27.683 128.405 26.7638C128.945 25.8266 129.216 24.8173 129.216 23.7359C129.216 22.6546 128.945 21.6273 128.405 20.7441C127.882 19.843 127.179 19.1221 126.26 18.5994C125.359 18.0767 124.349 17.8244 123.232 17.8244C122.115 17.8244 121.123 18.0767 120.204 18.5994C119.321 19.1221 118.6 19.825 118.059 20.7441C117.519 21.6273 117.248 22.6185 117.248 23.7359C117.248 24.8534 117.519 25.8266 118.059 26.7638C118.6 27.6649 119.321 28.4039 120.204 28.9446C121.105 29.4672 122.115 29.7195 123.232 29.7195Z"
	></path>
	<path
		class="logo--alegra-text"
		d="M140.282 32.8916H136.641V22.1319C136.641 20.654 136.912 19.3383 137.452 18.1849C138.011 17.0314 138.822 16.1303 139.886 15.4634C140.967 14.7966 142.301 14.4722 143.869 14.4722C144.463 14.4722 145.022 14.5262 145.563 14.6524C146.121 14.7425 146.644 14.9047 147.113 15.139V18.7436C146.662 18.4732 146.194 18.275 145.671 18.1488C145.184 18.0227 144.68 17.9686 144.193 17.9686C142.985 17.9686 142.03 18.3651 141.327 19.1401C140.642 19.897 140.3 20.9424 140.3 22.2761V32.8916H140.282Z"
	></path>
	<path
		class="logo--alegra-text"
		d="M156.268 33.3241C154.52 33.3241 152.97 32.8915 151.582 32.0264C150.231 31.1613 149.167 30.0259 148.374 28.6021C147.581 27.1602 147.203 25.5562 147.203 23.808C147.203 22.0597 147.617 20.5098 148.464 19.086C149.329 17.6441 150.483 16.4907 151.925 15.6616C153.367 14.7965 155.007 14.364 156.827 14.364C158.647 14.364 160.287 14.7785 161.729 15.6256C163.171 16.4366 164.324 17.554 165.154 18.9778C166.019 20.4016 166.451 22.0057 166.451 23.808V32.8735H162.991V26.1329L164.252 25.1777C164.252 26.7097 163.91 28.0794 163.225 29.305C162.558 30.5305 161.621 31.5218 160.432 32.2607C159.26 32.9816 157.872 33.3241 156.304 33.3241H156.268ZM156.827 29.8637C157.962 29.8637 158.972 29.5933 159.891 29.0526C160.792 28.512 161.513 27.791 162.036 26.8719C162.558 25.9347 162.811 24.9254 162.811 23.844C162.811 22.7626 162.558 21.7353 162.036 20.8162C161.513 19.915 160.81 19.1761 159.891 18.6354C158.99 18.0767 157.962 17.7883 156.827 17.7883C155.692 17.7883 154.682 18.0767 153.763 18.6354C152.88 19.1761 152.159 19.897 151.618 20.8162C151.096 21.7173 150.843 22.7266 150.843 23.844C150.843 24.9614 151.096 25.9347 151.618 26.8719C152.159 27.773 152.88 28.512 153.763 29.0526C154.664 29.5933 155.692 29.8637 156.827 29.8637Z"
	></path>
</svg></div> <div class="countries-container"> <a href="/argentina/" class="country-link body-2 "> <img src="https://cdn1.alegra.com/websites/flags/argentina-circular-flag.webp" alt="Alegra Argentina" loading="lazy" decoding="async" fetchpriority="auto" width="23" height="12"> <span>Argentina</span>  </a><a href="/colombia/" class="country-link body-2 "> <img src="https://cdn1.alegra.com/websites/flags/colombia-circular-flag.webp" alt="Alegra Colombia" loading="lazy" decoding="async" fetchpriority="auto" width="23" height="12"> <span>Colombia</span> <span class="country--check--container"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" fill="none"> <path fill-rule="evenodd" clip-rule="evenodd" d="M11.6868 0.313073C11.8821 0.508335 11.8821 0.824917 11.6868 1.02018L5.02014 7.68685C4.82488 7.88211 4.50829 7.88211 4.31303 7.68685L0.979699 4.35351C0.784436 4.15825 0.784436 3.84167 0.979699 3.64641C1.17496 3.45114 1.49154 3.45114 1.68681 3.64641L4.66659 6.62619L10.9797 0.313073C11.175 0.11781 11.4915 0.11781 11.6868 0.313073Z" fill="#30ABA9"></path> </svg> </span> </a><a href="/costarica/" class="country-link body-2 "> <img src="https://cdn1.alegra.com/websites/flags/costarica-circular-flag.webp" alt="Alegra Costa Rica" loading="lazy" decoding="async" fetchpriority="auto" width="23" height="12"> <span>Costa Rica</span>  </a><a href="/es/" class="country-link body-2 "> <img src="https://cdn1.alegra.com/websites/flags/spain-circular-flag.webp" alt="Alegra España" loading="lazy" decoding="async" fetchpriority="auto" width="23" height="12"> <span>España</span>  </a><a href="/mexico/" class="country-link body-2 "> <img src="https://cdn1.alegra.com/websites/flags/mexico-circular-flag.webp" alt="Alegra México" loading="lazy" decoding="async" fetchpriority="auto" width="23" height="12"> <span>México</span>  </a><a href="/panama/" class="country-link body-2 "> <img src="https://cdn1.alegra.com/websites/flags/panama-circular-flag.webp" alt="Alegra Panamá" loading="lazy" decoding="async" fetchpriority="auto" width="23" height="12"> <span>Panamá</span>  </a><a href="/peru/" class="country-link body-2 "> <img src="https://cdn1.alegra.com/websites/flags/peru-circular-flag.webp" alt="Alegra Perú" loading="lazy" decoding="async" fetchpriority="auto" width="23" height="12"> <span>Perú</span>  </a><a href="/rdominicana/" class="country-link body-2 "> <img src="https://cdn1.alegra.com/websites/flags/rdominicana-circular-flag.webp" alt="Alegra R. Dominicana" loading="lazy" decoding="async" fetchpriority="auto" width="23" height="12"> <span>R. Dominicana</span>  </a><a href="/venezuela/" class="country-link body-2 "> <img src="https://cdn-websites.alegra.com/reusable-images/flags/circle-flag-ven.svg" alt="Alegra Venezuela" loading="lazy" decoding="async" fetchpriority="auto" width="23" height="12"> <span>Venezuela</span>  </a> </div> </div>  </div>   </section>     <script type="module">document.querySelectorAll("[data-country-selector]").forEach(t=>{const a=t.querySelector("[data-trigger]"),i=272,o=()=>t.hasAttribute("data-open"),d=()=>{a&&(window.innerHeight-a.getBoundingClientRect().bottom<i?t.setAttribute("data-flip",""):t.removeAttribute("data-flip")),t.setAttribute("data-open",""),a?.setAttribute("aria-expanded","true")},n=()=>{t.removeAttribute("data-open"),a?.setAttribute("aria-expanded","false")};a?.addEventListener("click",e=>{e.stopPropagation(),o()?n():d()}),document.addEventListener("click",e=>{t.contains(e.target)||n()}),document.addEventListener("keydown",e=>{e.key==="Escape"&&n()})});</script><script>(()=>{var a=(s,i,o)=>{let r=async()=>{await(await s())()},t=typeof i.value=="object"?i.value:void 0,c={rootMargin:t==null?void 0:t.rootMargin},n=new IntersectionObserver(e=>{for(let l of e)if(l.isIntersecting){n.disconnect(),r();break}},c);for(let e of o.children)n.observe(e)};(self.Astro||(self.Astro={})).visible=a;window.dispatchEvent(new Event("astro:visible"));})();</script><footer style="--backgroundGradient: ; --sectionPaddingTop: 0px; --sectionPaddingBottom: 0px; --sectionPaddingTopMobile: 1.5rem; --sectionPaddingBottomMobile: 1.5rem" data-astro-cid-pk7lj6de="true" class="alegra-section footer "> <div class="separator-line lg:hidden"></div><div class="alegra-section--wrapper footer--wrapper spacing-layout" data-astro-cid-voyrspms style="--lgDirection: row;--background: transparent;--roundedTop: 0px;--roundedBottom: 0px;--paddingTop: 0px;--paddingBottom: 0px;"> <div class="separator-line hidden lg:block"></div> <section class="columns-container-mobile columns-container-desktop"> <div class="country-selector-column"> <div class="country-selector--container"> <h6 class="list-title heading-4">Alegra</h6> <div class="country-selector" data-country-selector data-astro-cid-3jltwwr5> <button class="current-country" type="button" aria-haspopup="menu" aria-expanded="false" data-trigger data-astro-cid-3jltwwr5> <img src="https://cdn1.alegra.com/websites/flags/international-rectangular-flag.webp" alt="Alegra Internacional" loading="lazy" data-astro-cid-3jltwwr5="true" decoding="async" fetchpriority="auto" width="40" height="23"> <span class="country-name country-name--selected" data-astro-cid-3jltwwr5>Internacional</span> <svg class="chevron" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 20 20" fill="none" aria-hidden="true" data-astro-cid-3jltwwr5> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.99995 12.7083L5.34717 7.125H14.6527L9.99995 12.7083Z" fill="#64748B" data-astro-cid-3jltwwr5></path> </svg> </button> <div class="countries-list" role="menu" data-dropdown data-astro-cid-3jltwwr5> <a href="/colombia/" role="menuitem" class="country-to-select border-b border-b-slate-100" data-astro-cid-3jltwwr5> <img src="https://cdn1.alegra.com/websites/flags/colombia-rectangular-flag.webp" alt="Alegra Colombia" data-astro-cid-3jltwwr5="true" loading="lazy" decoding="async" fetchpriority="auto" width="40" height="23"> <span class="country-name" data-astro-cid-3jltwwr5>Colombia</span> </a><a href="/venezuela/" role="menuitem" class="country-to-select border-b border-b-slate-100" data-astro-cid-3jltwwr5> <img src="https://cdn-websites.alegra.com/reusable-images/flags/rectangular-flag-ven.svg" alt="Alegra Venezuela" data-astro-cid-3jltwwr5="true" loading="lazy" decoding="async" fetchpriority="auto" width="40" height="23"> <span class="country-name" data-astro-cid-3jltwwr5>Venezuela</span> </a><a href="/rdominicana/" role="menuitem" class="country-to-select border-b border-b-slate-100" data-astro-cid-3jltwwr5> <img src="https://cdn1.alegra.com/websites/flags/rdominicana-rectangular-flag.webp" alt="Alegra R. Dominicana" data-astro-cid-3jltwwr5="true" loading="lazy" decoding="async" fetchpriority="auto" width="40" height="23"> <span class="country-name" data-astro-cid-3jltwwr5>R. Dominicana</span> </a><a href="/costarica/" role="menuitem" class="country-to-select border-b border-b-slate-100" data-astro-cid-3jltwwr5> <img src="https://cdn1.alegra.com/websites/flags/costarica-rectangular-flag.webp" alt="Alegra Costa Rica" data-astro-cid-3jltwwr5="true" loading="lazy" decoding="async" fetchpriority="auto" width="40" height="23"> <span class="country-name" data-astro-cid-3jltwwr5>Costa Rica</span> </a><a href="/peru/" role="menuitem" class="country-to-select border-b border-b-slate-100" data-astro-cid-3jltwwr5> <img src="https://cdn1.alegra.com/websites/flags/peru-rectangular-flag.webp" alt="Alegra Perú" data-astro-cid-3jltwwr5="true" loading="lazy" decoding="async" fetchpriority="auto" width="40" height="23"> <span class="country-name" data-astro-cid-3jltwwr5>Perú</span> </a><a href="/panama/" role="menuitem" class="country-to-select border-b border-b-slate-100" data-astro-cid-3jltwwr5> <img src="https://cdn1.alegra.com/websites/flags/panama-rectangular-flag.webp" alt="Alegra Panamá" data-astro-cid-3jltwwr5="true" loading="lazy" decoding="async" fetchpriority="auto" width="40" height="23"> <span class="country-name" data-astro-cid-3jltwwr5>Panamá</span> </a><a href="/mexico/" role="menuitem" class="country-to-select border-b border-b-slate-100" data-astro-cid-3jltwwr5> <img src="https://cdn1.alegra.com/websites/flags/mexico-rectangular-flag.webp" alt="Alegra México" data-astro-cid-3jltwwr5="true" loading="lazy" decoding="async" fetchpriority="auto" width="40" height="23"> <span class="country-name" data-astro-cid-3jltwwr5>México</span> </a><a href="/argentina/" role="menuitem" class="country-to-select border-b border-b-slate-100" data-astro-cid-3jltwwr5> <img src="https://cdn1.alegra.com/websites/flags/argentina-rectangular-flag.webp" alt="Alegra Argentina" data-astro-cid-3jltwwr5="true" loading="lazy" decoding="async" fetchpriority="auto" width="40" height="23"> <span class="country-name" data-astro-cid-3jltwwr5>Argentina</span> </a><a href="/es/" role="menuitem" class="country-to-select" data-astro-cid-3jltwwr5> <img src="https://cdn1.alegra.com/websites/flags/spain-rectangular-flag.webp" alt="Alegra España" data-astro-cid-3jltwwr5="true" loading="lazy" decoding="async" fetchpriority="auto" width="40" height="23"> <span class="country-name" data-astro-cid-3jltwwr5>España</span> </a> </div> </div>   </div> <div class="logos--container logos--container--international">  <div class="logos--cqr--iso--container">    </div>  <div class="logos--carbono--neutro--container"> <img src="https://cdn-websites.alegra.com/logos/footer/logo-sello-Carbono-Neutro-2025.webp" loading="lazy" height="117" width="80" alt="Carbono Neutro"> </div> </div> </div>  <astro-island uid="2u8zDi" prefix="s1" component-url="/_astro/MobileColumns.BbaPK8Jt.js" component-export="default" renderer-url="/_astro/client.DTRSisMZ.js" props="{&quot;linksColumns&quot;:[1,[]]}" ssr client="visible" opts="{&quot;name&quot;:&quot;MobileColumns&quot;,&quot;value&quot;:true}" await-children><section class="footer--mobile-columns--container"><!--[--><!--]--></section><!--astro:end--></astro-island> </section>  </div> <div class="sub-footer--container" data-astro-cid-gb4slomv> <div class="cookies-link--container flex justify-center mb-3" data-astro-cid-gb4slomv> <p class="cookies-link body-3 font-normal text-slate-500 text-center mx-auto w-full lg:w-11/12" data-astro-cid-gb4slomv> Al navegar en los sitios webs propiedad de Alegra, se acepta el uso de Cookies según nuestros  <a class="font-semibold" href="/legal/terminos-y-condiciones/" data-astro-cid-gb4slomv> términos y condiciones </a> </p> </div> <div class="separator-line" data-astro-cid-gb4slomv></div> <div class="sub-footer mobile-skeleton desktop-skeleton" data-astro-cid-gb4slomv> <a class="font-inter font-medium text-sm-primary-alegra-600 text-base flex items-center gap-[4px]" href="/quienes-somos/cuidando-el-planeta/" target="_self" data-astro-cid-gb4slomv> <span class="text-center lg:text-left lg:underline sub-footer--saving-planet-copy" data-astro-cid-gb4slomv><svg viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.46967 0.46967C8.76256 0.176777 9.23744 0.176777 9.53033 0.46967L15.5303 6.46967C15.8232 6.76256 15.8232 7.23744 15.5303 7.53033L9.53033 13.5303C9.23744 13.8232 8.76256 13.8232 8.46967 13.5303C8.17678 13.2374 8.17678 12.7626 8.46967 12.4697L13.1893 7.75H1C0.585786 7.75 0.25 7.41421 0.25 7C0.25 6.58579 0.585786 6.25 1 6.25H13.1893L8.46967 1.53033C8.17678 1.23744 8.17678 0.762563 8.46967 0.46967Z" fill="#30ABA9"/></svg> Tus facturas electrónicas ayudan a sembrar árboles 🌳</span> </a> <p class="font-inter font-normal text-slate-500 body-3" data-astro-cid-gb4slomv>
COPYRIGHT © 2026 Soluciones Alegra S.A.S.
</p>  </div> </div>   </footer>   <script>(function(){const country = "international";
const scheduleInfo = {"peru":{"availableDays":["Mon","Tue","Wed","Thu","Fri"],"availableHours":["8:00","12:00","14:00","17:00"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["8:00","12:00","14:00","17:00"]},"mexico":{"availableDays":["Mon","Tue","Wed","Thu","Fri"],"availableHours":["8:00","17:30"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["8:00","17:00"]},"panama":{"availableDays":["Mon","Tue","Wed","Thu","Fri"],"availableHours":["8:00","12:00","14:00","17:30"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["00:00","12:59","13:00","23:59"]},"colombia":{"availableDays":["Mon","Tue","Wed","Thu","Fri","Sat"],"availableHours":["8:00","17:30"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["8:00","17:00"]},"argentina":{"availableDays":["Mon","Tue","Wed","Thu","Fri"],"availableHours":["8:30","15:30"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["8:00","15:30"]},"costarica":{"availableDays":["Mon","Tue","Wed","Thu","Fri"],"availableHours":["8:00","12:00","14:00","17:00"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["8:00","12:00","8:00","17:00"]},"rdominicana":{"availableDays":["Mon","Tue","Wed","Thu","Fri"],"availableHours":["8:00","17:30"],"weekendAvailableHours":["00:00","23:59"],"availableHoursWhatsapp":["8:00","17:00"]}};

	/*eslint no-mixed-spaces-and-tabs: ["error", "smart-tabs"]*/
	const CustomerServiceIsAvailable = (country, scheduleInfo) => {
		if (scheduleInfo[country]) {
			const currentHour = new Date()
				.toLocaleString("en-US", {
					hour: "2-digit",
					minute: "2-digit",
					hour12: false,
				})
				.replace(":", "");

			const isEarlyMorning =
				Number(currentHour) <
				Number(scheduleInfo[country].availableHours[0].replace(":", ""));

			const isLateNight =
				scheduleInfo[country].availableHours.length > 2
					? Number(currentHour) >
						Number(scheduleInfo[country].availableHours[3].replace(":", ""))
					: Number(currentHour) >
						Number(scheduleInfo[country].availableHours[1].replace(":", ""));

			const isNoon =
				scheduleInfo[country].availableHours.length > 2
					? Number(currentHour) >
							Number(
								scheduleInfo[country].availableHours[1].replace(":", ""),
							) &&
						Number(currentHour) <
							Number(scheduleInfo[country].availableHours[2].replace(":", ""))
					: null;

			const isAvailableSchedule =
				isEarlyMorning || isLateNight || isNoon ? false : true;

			const isAvailableDay = scheduleInfo[country].availableDays.includes(
				new Date().toLocaleString("en-US", { weekday: "short" }),
			);

			if (isAvailableDay && isAvailableSchedule) {
				return true;
			} else {
				return false;
			}
		} else {
			return true;
		}
	};

	if (CustomerServiceIsAvailable(country, scheduleInfo)) {
		const whatsappButton = document.querySelector(
			".whatsapp-button--container",
		);

		const isWeekend = new Date().getDay() % 6 === 0;
		if (isWeekend === false || isWeekend === "false") {
			if (whatsappButton) {
				whatsappButton.classList.add("showed");
			}
		}
	}

	// const formatDate = (date) => {
	// 	var d = new Date(date),
	// 		month = "" + (d.getMonth() + 1),
	// 		day = "" + d.getDate(),
	// 		year = d.getFullYear();

	// 	if (month.length < 2) month = "0" + month;
	// 	if (day.length < 2) day = "0" + day;

	// 	return [year, month, day].join("-");
	// };

	// window.dataLayer = window.dataLayer || [];
	// document
	// 	.querySelector(".whatsapp-button--container")
	// 	.addEventListener("click", () => {
	// 		window.dataLayer.push({
	// 			event: "cta-lp-contact-whatsapp",
	// 			contactDate: formatDate(new Date()),
	// 			page_url: window.location.pathname,
	// 		});
	// 	});
})();</script> <script>
	(function () {
		var banner = document.getElementById("bottom-banner");
		var closeBtn = document.getElementById("bottom-banner-close");

		if (!banner || !closeBtn) return;

		closeBtn.addEventListener("click", function () {
			banner.style.display = "none";
		});
	})();
</script> <script>
	(function () {
		var overlay = document.getElementById("hw-exit-popup-overlay");
		if (!overlay) return;

		document.addEventListener(
			"mouseleave",
			function (e) {
				if (e.clientY <= 0) {
					overlay.classList.add("is-open");
				}
			},
			{ once: true },
		);

		["hw-exit-dismiss", "hw-exit-close"].forEach(function (id) {
			document.getElementById(id)?.addEventListener("click", function () {
				overlay.classList.remove("is-open");
			});
		});

		overlay.addEventListener("click", function (e) {
			if (e.target === overlay) {
				overlay.classList.remove("is-open");
			}
		});
	})();
</script> <style>#navigation--link--home-page {
  visibility: hidden;
}
.alegra-body {
  height: 100vh;
}
.alegra-section.bg-section {
  width: 100%;
  height: 100vh;
  background: linear-gradient(63deg, #50EEA2 -23.74%, rgba(253, 255, 255, 0.00) 45.37%);
}
.alegra-section.bg-section .section-wrapper {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
.ctas--container-group .button--base.login--header-cta {
  display: block;
}
.logo-container svg {
  width: 100%;
  max-width: 200px;
}
@media (min-width: 1024px) {
  .alegra-section.bg-section {
    height: 102vh;
  }
  .alegra-section.bg-section .section-wrapper {
    flex-direction: row;
    gap: 8rem;
  }
}
</style>  </main>    <script>(function(){const isHomepage = undefined;

	const switchButton = document.querySelector(".button--switch-mode");
	const darkMode = document.querySelector("body");

	switchButton?.addEventListener("click", () => {
		darkMode?.classList.toggle("dark--mode");
	});

	if (isHomepage) {
		let homepage = window.location.pathname;
		if (homepage.charAt(0) === "/") {
			homepage = homepage.substring(1);
			if (homepage.charAt(homepage.length - 1) !== "/") {
				homepage = homepage + "/";
			}
		}
		localStorage.setItem("homePage", homepage);
	}
})();</script> <script>(function(){const environment = "production";

	const linksToApp = document.querySelectorAll("a");

	linksToApp.forEach((element) => {
		if (environment === "testing") {
			if (element.href.includes("app.alegra.com")) {
				element.href = element.href.replace(
					"app.alegra.com",
					"hopper.alegra.com",
				);
			}
			if (element.href.includes("facturacion.alegra.com")) {
				element.href = element.href.replace(
					"facturacion.alegra.com",
					"almost-only-invoices.alegra.com",
				);
			}
			if (element.href.includes("calcula.alegra.com")) {
				element.href = element.href.replace(
					"calcula.alegra.com",
					"almost-calcula.alegra.com",
				);
			}
			if (element.href.includes("nomina.alegra.com")) {
				element.href = element.href.replace(
					"nomina.alegra.com",
					"almost-nomina.alegra.com",
				);
			}
		}

		const userAgent = navigator.userAgent;

		function isMobile() {
			return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
				userAgent,
			);
		}
		if (
			element.href.includes("app.alegra.com") ||
			element.href.includes("facturacion.alegra.com") ||
			element.href.includes("hopper.alegra.com") ||
			element.href.includes("almost-only-invoices.alegra.com") ||
			element.href.includes("nomina.alegra.com") ||
			element.href.includes("calcula.alegra.com") ||
			element.href.includes("almost-calcula.alegra.com")
		) {
			if (isMobile()) {
				if (element.href.includes("?")) {
					element.href =
						element.href +
						"&origin=mobile" +
						"&from_url=" +
						window.location.href;
				} else {
					element.href =
						element.href +
						"?origin=mobile" +
						"&from_url=" +
						window.location.href;
				}
			} else {
				if (element.href.includes("?")) {
					element.href =
						element.href +
						"&origin=desktop" +
						"&from_url=" +
						window.location.href;
				} else {
					element.href =
						element.href +
						"?origin=desktop" +
						"&from_url=" +
						window.location.href;
				}
			}
		}
	});
})();</script> <script>
	document.addEventListener("click", (event) => {
		if (!(event.target instanceof Element)) {
			return;
		}

		const link = event.target.closest("a[href]");
		if (!link) {
			return;
		}

		const isLoginCta = link.matches('a[href*="alegra.com/user/login"]');
		const isRegisterCta = link.matches(
			'a[href*="alegra.com/user/register"], a[href*="alegra.com/register"]',
		);

		if (!isLoginCta && !isRegisterCta) {
			return;
		}

		window.dataLayer = window.dataLayer || [];
		window.dataLayer.push({
			event: isLoginCta ? "cta-ingresar" : "cta-crear-cuenta",
			Texto: (link.textContent || "").trim(),
			Enlace: link.href,
			Producto: link.dataset.producto || undefined,
		});
	});
</script> <script>(function(){const product = "general";
const version = "international";
const abbreviation = undefined;
const isHomepage = undefined;

	let originProduct = localStorage.getItem("originProduct");
	let originCountry = localStorage.getItem("originCountry");
	let originCountryHS = localStorage.getItem("originCountryHS");
	const productToStorage = {
		general: "ECOSYSTEM",
		facturacion: "AF",
		contabilidad: "CONTABILIDAD",
		tienda: "TIENDA",
		ne: "NE",
		fe: "FE",
		contador: "CONTADOR",
		pos: "POS",
	};

	if (isHomepage) {
		if (!originProduct || originProduct !== productToStorage[product]) {
			localStorage.setItem("originProduct", productToStorage[product]);
		}

		if (!originCountry || originCountry !== version) {
			localStorage.setItem("originCountry", version);
		}

		if (!originCountryHS || originCountryHS !== abbreviation) {
			localStorage.setItem("originCountryHS", abbreviation);
		}
	}
})();</script> </body></html>