html.gf-event-popup-lock,
html.gf-event-popup-lock body { overflow: hidden !important; }

.gf-event-popup {
	--gfp-bg: #f4f1ee;
	--gfp-text: #171214;
	--gfp-accent: #cb2525;
	--gfp-backdrop: #000;
	--gfp-backdrop-opacity: .58;
	--gfp-width: 720px;
	--gfp-radius: 24px;
	--gfp-image-x: 50%;
	--gfp-image-y: 50%;
	--gfp-content-padding: 40px;
	--gfp-media-height: 390px;
	--gfp-heading-size: 40px;
	--gfp-mobile-heading-size: 32px;
	--gfp-mobile-image-height: 150px;
	--gfp-mobile-gap: 8px;
	--gfp-heading-max: 16ch;
	--gfp-heading-weight: 700;
	--gfp-heading-transform: none;
	--gfp-heading-line: .98;
	--gfp-heading-spacing: -3px;
	--gfp-close-size: 40px;
	--gfp-close-inset: 14px;
	--gfp-close-color: #171214;
	--gfp-close-bg: #171214;
	position: fixed;
	z-index: 999999;
	inset: 0;
	display: flex;
	padding: 28px;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity .28s ease, visibility .28s ease;
}
.gf-event-popup--center { align-items: center; justify-content: center; }
.gf-event-popup--bottom-right { align-items: flex-end; justify-content: flex-end; }
.gf-event-popup.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.gf-event-popup__backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--gfp-backdrop) !important;
	opacity: var(--gfp-backdrop-opacity);
	backdrop-filter: blur(7px);
	cursor: default;
}
.gf-event-popup__dialog {
	position: relative;
	width: min(var(--gfp-width), calc(100vw - 56px));
	max-width: 100%;
	max-height: calc(100dvh - 56px);
	display: grid;
	grid-template-columns: minmax(220px, .88fr) minmax(320px, 1.12fr);
	overflow: auto;
	overscroll-behavior: contain;
	border: 1px solid color-mix(in srgb, var(--gfp-text) 10%, transparent);
	border-radius: var(--gfp-radius);
	background: var(--gfp-bg);
	color: var(--gfp-text);
	box-shadow: 0 32px 110px rgba(0, 0, 0, .35);
	transform: translateY(22px) scale(.985);
	transition: transform .34s cubic-bezier(.22, 1, .36, 1);
}
.gf-event-popup.is-open .gf-event-popup__dialog { transform: none; }
.gf-event-popup--image-top .gf-event-popup__dialog { grid-template-columns: 1fr; width: min(680px, calc(100vw - 56px)); }
.gf-event-popup--text-only .gf-event-popup__dialog { grid-template-columns: 1fr; width: min(620px, calc(100vw - 56px)); }
.gf-event-popup--elementor .gf-event-popup__dialog { display: block; width: min(var(--gfp-width), calc(100vw - 56px)); background: var(--gfp-bg); }
.gf-event-popup__elementor { width: 100%; min-width: 0; overflow: hidden; border-radius: inherit; }
.gf-event-popup__media { min-height: var(--gfp-media-height); overflow: hidden; background: #ddd6cd; }
.gf-event-popup--image-top .gf-event-popup__media { min-height: min(var(--gfp-media-height), 280px); max-height: 320px; }
.gf-event-popup__media img {
	width: 100%;
	height: 100%;
	min-height: inherit;
	display: block;
	object-fit: cover;
	object-position: var(--gfp-image-x) var(--gfp-image-y);
}
.gf-event-popup__content {
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--gfp-content-padding);
}
.gf-event-popup__eyebrow {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 20px;
	color: var(--gfp-accent);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.gf-event-popup__eyebrow::before { content: ''; width: 3px; height: 14px; background: currentColor; }
.gf-event-popup__heading {
	max-width: var(--gfp-heading-max);
	margin: 0;
	color: inherit;
	font-family: "Lexend Deca", Arial, Helvetica, sans-serif;
	font-size: var(--gfp-heading-size);
	font-weight: var(--gfp-heading-weight);
	line-height: var(--gfp-heading-line);
	letter-spacing: var(--gfp-heading-spacing);
	text-transform: var(--gfp-heading-transform);
}
.gf-event-popup__body {
	max-width: 44ch;
	margin: 24px 0 0;
	color: color-mix(in srgb, var(--gfp-text) 68%, transparent);
	font: 500 14px/1.58 "Lexend Deca", Arial, Helvetica, sans-serif;
}
.gf-event-popup__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; margin-top: 28px; }
.gf-event-popup__button {
	min-height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 34px;
	padding: 7px 8px 7px 22px;
	border: 1px solid var(--gfp-text) !important;
	border-radius: 999px !important;
	background: var(--gfp-text) !important;
	color: var(--gfp-bg) !important;
	font: 800 12px/1 "Lexend Deca", Arial, Helvetica, sans-serif !important;
	letter-spacing: .12em;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background .22s, border-color .22s, color .22s;
}
.gf-event-popup__arrow {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	flex: 0 0 28px;
	transition: transform .22s;
}
.gf-event-popup__arrow svg { width: 100%; height: 100%; display: block; }
.gf-event-popup__button:hover,
.gf-event-popup__button:focus-visible { border-color: var(--gfp-accent) !important; background: var(--gfp-accent) !important; color: #fff !important; }
.gf-event-popup__button:hover .gf-event-popup__arrow { transform: translateX(3px); }
.gf-event-popup__dismiss {
	min-height: 38px;
	margin: 0 !important;
	padding: 0 3px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: color-mix(in srgb, var(--gfp-text) 65%, transparent) !important;
	font: 650 12px/1.3 "Lexend Deca", Arial, Helvetica, sans-serif !important;
	text-decoration: underline;
	text-underline-offset: 4px;
	cursor: pointer;
}
.gf-event-popup__dismiss:hover { color: var(--gfp-text) !important; }
.gf-event-popup__close {
	-webkit-appearance: none !important;
	appearance: none !important;
	position: absolute;
	z-index: 3;
	top: var(--gfp-close-inset);
	right: var(--gfp-close-inset);
	width: var(--gfp-close-size) !important;
	height: var(--gfp-close-size) !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	aspect-ratio: 1;
	display: grid !important;
	place-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid transparent !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--gfp-close-color) !important;
	font: inherit !important;
	line-height: 0 !important;
	transform: none;
	overflow: visible !important;
	cursor: pointer;
}
.gf-event-popup__close::before,.gf-event-popup__close::after{display:none!important;content:none!important}
.gf-event-popup__close svg{width:50%;height:50%;display:block;pointer-events:none}
.gf-event-popup--close-solid .gf-event-popup__close{background:var(--gfp-close-bg)!important;color:var(--gfp-bg)!important;box-shadow:0 8px 24px rgba(0,0,0,.14)!important}
.gf-event-popup--close-outline .gf-event-popup__close{border-color:color-mix(in srgb,var(--gfp-close-color) 28%,transparent)!important;background:color-mix(in srgb,var(--gfp-bg) 82%,transparent)!important;backdrop-filter:blur(8px)}
.gf-event-popup--close-outside .gf-event-popup__close{top:0;right:0;transform:translate(35%,-35%);background:var(--gfp-close-bg)!important;color:var(--gfp-bg)!important;box-shadow:0 8px 24px rgba(0,0,0,.2)!important}
.gf-event-popup__close:hover,
.gf-event-popup__close:focus-visible { border-color:var(--gfp-accent)!important;background:var(--gfp-accent)!important;color:#fff!important;outline:2px solid #fff;outline-offset:2px; }

@media (max-width: 767px) {
	.gf-event-popup { align-items: flex-end; justify-content: center; padding: var(--gfp-mobile-gap); }
	.gf-event-popup__dialog,
	.gf-event-popup--image-top .gf-event-popup__dialog,
	.gf-event-popup--text-only .gf-event-popup__dialog {
		width: 100%;
		max-height: calc(100dvh - var(--gfp-mobile-gap) - var(--gfp-mobile-gap));
		grid-template-columns: minmax(0, 1fr);
		border-radius: min(var(--gfp-radius), 22px);
	}
	.gf-event-popup__media { min-height: var(--gfp-mobile-image-height); height: var(--gfp-mobile-image-height); }
	.gf-event-popup--mobile-no-image .gf-event-popup__media { display: none; }
	.gf-event-popup__content { padding: 22px 16px 18px; }
	.gf-event-popup__eyebrow { margin-bottom: 11px; font-size: 9px; }
	.gf-event-popup__heading { max-width: var(--gfp-heading-max); font-size: var(--gfp-mobile-heading-size); line-height: var(--gfp-heading-line); }
	.gf-event-popup__body { margin-top: 12px; font-size: 13px; line-height: 1.48; }
	.gf-event-popup__actions { align-items: stretch; gap: 8px; margin-top: 16px; }
	.gf-event-popup__button { width: 100%; min-height: 50px; gap: 16px; padding-left: 17px; font-size: 10px !important; }
	.gf-event-popup__dismiss { min-height: 32px; font-size: 11px !important; }
	.gf-event-popup__close { top:min(var(--gfp-close-inset),10px);right:min(var(--gfp-close-inset),10px);width:min(var(--gfp-close-size),42px)!important;height:min(var(--gfp-close-size),42px)!important; }
	.gf-event-popup--close-outside .gf-event-popup__close{top:8px;right:8px;transform:none}
}

@media (max-width: 380px), (max-height: 620px) {
	.gf-event-popup__media { min-height: min(var(--gfp-mobile-image-height), 120px); height: min(var(--gfp-mobile-image-height), 120px); }
	.gf-event-popup__content { padding: 18px 14px 14px; }
	.gf-event-popup__heading { font-size: min(var(--gfp-mobile-heading-size), 29px); }
	.gf-event-popup__body { margin-top: 12px; }
	.gf-event-popup__actions { margin-top: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.gf-event-popup,
	.gf-event-popup__dialog,
	.gf-event-popup__button,
	.gf-event-popup__arrow { transition: none !important; }
}
