:root { --ngi-events-blue: #006BFF; --ngi-events-green: #00FE07; --ngi-events-ink: #071735; --ngi-events-paper: #ffffff; --ngi-events-mist: #f3f7ff; --ngi-events-line: rgba(7, 23, 53, .13); }

body.ngi-events-page { overflow-x: clip; }

body.ngi-events-page .entry-header, body.ngi-events-page .page-header, body.ngi-events-page .entry-title { display: none !important; }

body.ngi-events-page .site-content, body.ngi-events-page .site-main, body.ngi-events-page main#content, body.ngi-events-page .content-area, body.ngi-events-page .entry-content { padding-top: 0px !important; padding-bottom: 0px !important; margin-top: 0px !important; margin-bottom: 0px !important; }

.ngi-events-hub, .ngi-events-hub * { box-sizing: border-box; }

.ngi-events-hub { position: relative; left: 50%; width: 100vw; max-width: 100vw; overflow: clip; font-size: 16px; line-height: 1.5; color: var(--ngi-events-ink); background: var(--ngi-events-paper); -webkit-font-smoothing: antialiased; margin: 0px 0px 0px -50vw !important; font-family: Calibri, "Trebuchet MS", Arial, sans-serif !important; }

.ngi-events-hub h1, .ngi-events-hub h2, .ngi-events-hub h3, .ngi-events-hub p { margin: 0px; font-family: inherit !important; }

.ngi-events-hub a, .ngi-events-hub button, .ngi-events-hub input, .ngi-events-hub select { font: inherit !important; }

.ngi-events-hub button, .ngi-events-hub a { -webkit-tap-highlight-color: transparent; }

.ngi-events-hub button { cursor: pointer; }

.ngi-events-hub a:focus-visible, .ngi-events-hub button:focus-visible, .ngi-events-hub select:focus-visible { outline-offset: 4px; outline: 3px solid var(--ngi-events-green) !important; }

.ngi-events-shell { width: min(1240px, 100% - 80px); margin: 0px auto; }

.ngi-events-skip { position: fixed; z-index: 100001; top: 12px; left: 12px; padding: 12px 18px; transform: translateY(-150%); transition: transform 0.2s; color: var(--ngi-events-ink) !important; background: var(--ngi-events-green) !important; }

.ngi-events-skip:focus { transform: translateY(0px); }

.ngi-events-hero { position: relative; min-height: 760px; padding: 82px 0px 76px; color: var(--ngi-events-paper); background: var(--ngi-events-blue); isolation: isolate; }

.ngi-events-hero::before { position: absolute; z-index: -2; inset: 0px; content: ""; background: linear-gradient(125deg, rgba(7, 23, 53, 0.2), transparent 45%), repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.055) 0px, rgba(255, 255, 255, 0.055) 1px, transparent 1px, transparent 10vw), repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.043) 0px, rgba(255, 255, 255, 0.043) 1px, transparent 1px, transparent 10vw); mask-image: linear-gradient(to right, rgb(0, 0, 0), transparent 72%); }

.ngi-events-hero::after { position: absolute; z-index: -1; right: -14vw; top: -26vw; width: 63vw; aspect-ratio: 1 / 1; border: 1px solid rgba(255, 255, 255, 0.24); border-radius: 50%; box-shadow: rgba(255, 255, 255, 0.043) 0px 0px 0px 8vw, rgba(255, 255, 255, 0.03) 0px 0px 0px 16vw, rgba(255, 255, 255, 0.024) 0px 0px 0px 24vw; content: ""; }

.ngi-events-hero__signal { position: absolute; right: 0px; bottom: 38px; display: flex; align-items: end; gap: 7px; height: 64px; padding-right: 22px; opacity: 0.75; }

.ngi-events-hero__signal span { display: block; width: 3px; height: 16px; background: var(--ngi-events-green); animation: 1.5s ease-in-out 0s infinite alternate none running ngi-signal; }

.ngi-events-hero__signal span:nth-child(2) { height: 36px; animation-delay: -0.35s; }

.ngi-events-hero__signal span:nth-child(3) { height: 58px; animation-delay: -0.8s; }

.ngi-events-hero__signal span:nth-child(4) { height: 28px; animation-delay: -0.55s; }

.ngi-events-hero__signal span:nth-child(5) { height: 46px; animation-delay: -0.2s; }

@keyframes ngi-signal { 
  100% { transform: scaleY(0.42); opacity: 0.5; }
}

.ngi-events-hero__layout { display: grid; grid-template-columns: minmax(0px, 0.88fr) minmax(520px, 1.12fr); align-items: center; gap: clamp(44px, 7vw, 105px); }

.ngi-events-hero__copy { position: relative; z-index: 1; }

.ngi-events-kicker, .ngi-events-section-label { display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 700; line-height: 1; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 22px !important; }

.ngi-events-kicker span { position: relative; display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--ngi-events-green); box-shadow: rgba(0, 254, 7, 0.16) 0px 0px 0px 6px; }

.ngi-events-hero h1 { max-width: 600px; font-size: clamp(62px, 6.2vw, 100px) !important; font-weight: 700 !important; line-height: 0.86 !important; letter-spacing: -0.065em !important; color: var(--ngi-events-paper) !important; }

.ngi-events-hero h1 span { display: block; font-weight: 300; }

.ngi-events-hero__intro { max-width: 500px; font-size: clamp(18px, 1.55vw, 23px); line-height: 1.45; color: rgba(255, 255, 255, 0.82); margin-top: 30px !important; }

.ngi-events-now { display: grid; grid-template-columns: 86px minmax(0px, 1fr); gap: 22px; align-items: stretch; max-width: 570px; margin-top: 45px; border-top: 1px solid rgba(255, 255, 255, 0.26); border-bottom: 1px solid rgba(255, 255, 255, 0.26); padding: 23px 0px; }

.ngi-events-now__date { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 92px; color: var(--ngi-events-ink); background: var(--ngi-events-green); }

.ngi-events-now__date span { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; }

.ngi-events-now__date strong { font-size: 38px; line-height: 0.98; }

.ngi-events-now__content > p { margin-bottom: 7px; font-size: 11px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ngi-events-green); }

.ngi-events-now__content h2 { max-width: 400px; font-size: clamp(22px, 2vw, 30px) !important; font-weight: 600 !important; line-height: 1.05 !important; letter-spacing: -0.025em !important; color: var(--ngi-events-paper) !important; }

.ngi-events-now__meta { display: flex; flex-wrap: wrap; gap: 6px 15px; margin-top: 10px; font-size: 13px; color: rgba(255, 255, 255, 0.7); }

.ngi-events-now__meta span + span::before { margin-right: 15px; color: var(--ngi-events-green); content: "•"; }

.ngi-events-now__content button, .ngi-events-now__content a { display: inline-flex; align-items: center; gap: 13px; margin-top: 16px; border: 0px !important; padding: 0px !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.2 !important; text-decoration: none !important; color: var(--ngi-events-paper) !important; background: transparent !important; box-shadow: none !important; }

.ngi-events-now__content button span, .ngi-events-now__content a span { display: grid; width: 27px; height: 27px; border-radius: 50%; place-items: center; color: var(--ngi-events-ink); background: var(--ngi-events-green); transition: transform 0.25s; }

.ngi-events-now__content button:hover, .ngi-events-now__content button:focus, .ngi-events-now__content a:hover, .ngi-events-now__content a:focus { color: var(--ngi-events-green) !important; background: transparent !important; }

.ngi-events-now__content button:hover span, .ngi-events-now__content a:hover span { transform: rotate(45deg); }

.ngi-calendar { position: relative; z-index: 2; width: 100%; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: 28px; padding: clamp(25px, 3.1vw, 45px); color: var(--ngi-events-ink); background: rgba(255, 255, 255, 0.96); box-shadow: rgba(7, 23, 53, 0.28) 0px 34px 80px; backdrop-filter: blur(18px); }

.ngi-calendar::before { position: absolute; right: -14px; top: 42px; width: 14px; height: 44%; background: var(--ngi-events-green); content: ""; }

.ngi-calendar__topline { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 32px; }

.ngi-calendar__eyebrow { display: block; margin-bottom: 4px; font-size: 11px; font-weight: 700; line-height: 1; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ngi-events-blue); }

.ngi-calendar__topline h2 { font-size: clamp(28px, 2.7vw, 42px) !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: -0.04em !important; color: var(--ngi-events-ink) !important; }

.ngi-calendar__nav { display: flex; align-items: center; gap: 7px; }

.ngi-calendar__nav button { display: grid; min-width: 38px; height: 38px; place-items: center; transition: color 0.2s, background 0.2s, border-color 0.2s; border: 1px solid var(--ngi-events-line) !important; border-radius: 50% !important; padding: 0px !important; font-size: 12px !important; font-weight: 700 !important; color: var(--ngi-events-ink) !important; background: var(--ngi-events-paper) !important; box-shadow: none !important; }

.ngi-calendar__nav button[data-ngi-calendar-today] { width: auto; border-radius: 999px !important; padding: 0px 13px !important; }

.ngi-calendar__nav button:hover, .ngi-calendar__nav button:focus { border-color: var(--ngi-events-blue) !important; color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; }

.ngi-calendar__nav svg { width: 18px; height: 18px; fill: none; stroke: currentcolor; stroke-width: 1.8; }

.ngi-calendar__weekdays, .ngi-calendar__grid { display: grid; grid-template-columns: repeat(7, minmax(0px, 1fr)); }

.ngi-calendar__weekdays { margin-bottom: 8px; }

.ngi-calendar__weekdays span { padding: 8px 0px; font-size: 10px; font-weight: 700; text-align: center; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(7, 23, 53, 0.45); }

.ngi-calendar__grid { gap: 4px; }

.ngi-calendar__blank, .ngi-calendar__day { aspect-ratio: 1 / 0.88; }

.ngi-calendar__day { position: relative; display: grid; place-items: center; transition: transform 0.2s, color 0.2s, background 0.2s; border: 0px !important; border-radius: 12px !important; padding: 0px !important; font-size: 14px !important; font-weight: 600 !important; color: var(--ngi-events-ink) !important; background: transparent !important; box-shadow: none !important; }

.ngi-calendar__day:hover, .ngi-calendar__day:focus { transform: translateY(-2px); color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; }

.ngi-calendar__day.is-today { box-shadow: inset 0 0 0 1px var(--ngi-events-blue) !important; }

.ngi-calendar__day.has-event { font-weight: 700 !important; color: var(--ngi-events-blue) !important; background: rgba(0, 107, 255, 0.08) !important; }

.ngi-calendar__day.has-event:hover, .ngi-calendar__day.has-event:focus, .ngi-calendar__day.is-selected { color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; }

.ngi-calendar__day i { position: absolute; bottom: 7px; width: 5px; height: 5px; border-radius: 50%; background: var(--ngi-events-green); box-shadow: rgba(0, 254, 7, 0.2) 0px 0px 0px 2px; }

.ngi-calendar__footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 24px; border-top: 1px solid var(--ngi-events-line); padding-top: 19px; font-size: 12px; }

.ngi-calendar__footer span { display: flex; align-items: center; gap: 8px; color: rgba(7, 23, 53, 0.62); }

.ngi-calendar__footer strong { font-weight: 700; color: var(--ngi-events-blue); }

.ngi-calendar__legend-dot { display: block; width: 7px; height: 7px; border-radius: 50%; background: var(--ngi-events-green); }

.ngi-events-jump { border-bottom: 1px solid var(--ngi-events-line); background: var(--ngi-events-paper); }

.ngi-events-jump .ngi-events-shell { display: flex; align-items: center; justify-content: center; }

.ngi-events-jump a { display: flex; align-items: center; gap: 12px; min-height: 76px; border-right: 1px solid var(--ngi-events-line); padding: 0px 42px; font-size: 13px; font-weight: 700; transition: color 0.2s, background 0.2s; text-decoration: none !important; color: var(--ngi-events-ink) !important; background: var(--ngi-events-paper) !important; }

.ngi-events-jump a:first-child { border-left: 1px solid var(--ngi-events-line); }

.ngi-events-jump a span { font-size: 10px; letter-spacing: 0.1em; color: var(--ngi-events-blue); }

.ngi-events-jump a:hover, .ngi-events-jump a:focus { color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; }

.ngi-events-jump a:hover span, .ngi-events-jump a:focus span { color: var(--ngi-events-green); }

.ngi-events-section { position: relative; padding: clamp(88px, 9vw, 145px) 0px; }

.ngi-events-section-label { margin-bottom: 17px !important; color: var(--ngi-events-blue); }

.ngi-events-heading { display: grid; grid-template-columns: minmax(0px, 1.55fr) minmax(260px, 0.65fr); align-items: end; gap: 60px; margin-bottom: 55px; }

.ngi-events-heading h2, .ngi-moments__intro h2 { max-width: 800px; font-size: clamp(44px, 5vw, 76px) !important; font-weight: 600 !important; line-height: 0.94 !important; letter-spacing: -0.055em !important; color: var(--ngi-events-ink) !important; }

.ngi-events-heading h2 em, .ngi-moments__intro h2 em { font-weight: 300; font-style: normal; color: var(--ngi-events-blue); }

.ngi-events-heading > p, .ngi-moments__intro > p { font-size: 17px; line-height: 1.65; color: rgba(7, 23, 53, 0.68); }

.ngi-events-filter { display: grid; grid-template-columns: minmax(210px, 0.7fr) minmax(210px, 0.7fr) auto 1fr; align-items: end; gap: 12px; margin-bottom: 34px; border-top: 1px solid var(--ngi-events-line); border-bottom: 1px solid var(--ngi-events-line); padding: 18px 0px; }

.ngi-events-filter label { display: grid; gap: 7px; }

.ngi-events-filter label > span { font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ngi-events-blue); }

.ngi-events-filter select { width: 100%; height: 46px; border: 1px solid var(--ngi-events-line) !important; border-radius: 0px !important; padding: 0px 36px 0px 14px !important; font-size: 14px !important; font-weight: 600 !important; color: var(--ngi-events-ink) !important; background-color: var(--ngi-events-paper) !important; box-shadow: none !important; }

.ngi-events-filter__reset { height: 46px; border: 1px solid var(--ngi-events-blue) !important; border-radius: 0px !important; padding: 0px 20px !important; font-size: 13px !important; font-weight: 700 !important; color: var(--ngi-events-blue) !important; background: transparent !important; box-shadow: none !important; }

.ngi-events-filter__reset:hover, .ngi-events-filter__reset:focus { color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; }

.ngi-events-filter__count { place-self: center end; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(7, 23, 53, 0.52); }

.ngi-event-grid { display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 22px; }

.ngi-event-card { grid-column: span 4; min-width: 0px; border: 1px solid var(--ngi-events-line); background: var(--ngi-events-paper); transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s; }

.ngi-event-card[hidden] { display: none !important; }

.ngi-events-hub [hidden] { display: none !important; }

.ngi-event-card:hover { border-color: var(--ngi-events-blue); transform: translateY(-7px); box-shadow: rgba(7, 23, 53, 0.12) 0px 24px 55px; }

.ngi-event-card--lead { display: grid; grid-column: span 8; grid-template-columns: minmax(0px, 1.05fr) minmax(320px, 0.95fr); }

.ngi-event-card--lead:only-child { grid-column: 1 / -1; }

.ngi-event-card__visual { position: relative; min-height: 264px; overflow: hidden; background: var(--ngi-events-blue); }

.ngi-event-card--lead .ngi-event-card__visual { min-height: 100%; }

.ngi-event-card__visual img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1); }

.ngi-event-card:hover .ngi-event-card__visual img { transform: scale(1.045); }

.ngi-event-card__visual.has-image::after { position: absolute; inset: 0px; background: linear-gradient(to top, rgba(7, 23, 53, 0.32), transparent 54%); content: ""; }

.ngi-event-card__pattern { position: absolute; inset: 0px; overflow: hidden; background: repeating-linear-gradient(135deg, rgba(255,255,255,.07) 0 1px, transparent 1px 24px),
		var(--ngi-events-blue); }

.ngi-event-card__pattern::before, .ngi-event-card__pattern::after, .ngi-event-card__pattern span { position: absolute; border: 1px solid rgba(255, 255, 255, 0.32); border-radius: 50%; content: ""; }

.ngi-event-card__pattern::before { width: 260px; height: 260px; right: -65px; top: -60px; }

.ngi-event-card__pattern::after { width: 190px; height: 190px; right: -30px; top: -25px; }

.ngi-event-card__pattern span:nth-child(1) { width: 118px; height: 118px; right: 7px; top: 10px; background: var(--ngi-events-green); border: 0px; opacity: 0.9; }

.ngi-event-card__pattern span:nth-child(2) { width: 54px; height: 54px; left: 35px; bottom: 35px; }

.ngi-event-card__pattern span:nth-child(3) { width: 15px; height: 15px; left: 96px; bottom: 96px; background: var(--ngi-events-green); border: 0px; }

.ngi-event-card__date { position: absolute; z-index: 2; left: 20px; top: 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 68px; height: 76px; color: var(--ngi-events-ink); background: var(--ngi-events-green); }

.ngi-event-card__date span { font-size: 10px; font-weight: 700; letter-spacing: 0.11em; }

.ngi-event-card__date strong { font-size: 29px; line-height: 1; }

.ngi-event-card__live { position: absolute; z-index: 2; right: 17px; top: 17px; padding: 7px 10px; font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ngi-events-paper); background: var(--ngi-events-blue); }

.ngi-event-card__body { display: flex; flex-direction: column; align-items: flex-start; min-height: 318px; padding: 28px; }

.ngi-event-card--lead .ngi-event-card__body { justify-content: center; min-height: 440px; padding: clamp(34px, 4vw, 58px); }

.ngi-event-card__taxonomy { font-size: 10px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: var(--ngi-events-blue); margin-bottom: 11px !important; }

.ngi-event-card h3 { font-size: clamp(25px, 2.3vw, 36px) !important; font-weight: 600 !important; line-height: 1.03 !important; letter-spacing: -0.035em !important; color: var(--ngi-events-ink) !important; }

.ngi-event-card__excerpt { display: -webkit-box; overflow: hidden; font-size: 15px; line-height: 1.55; color: rgba(7, 23, 53, 0.66); -webkit-line-clamp: 3; -webkit-box-orient: vertical; margin-top: 14px !important; }

.ngi-event-card__facts { display: grid; gap: 8px; width: 100%; margin-top: 23px; border-top: 1px solid var(--ngi-events-line); padding-top: 17px; }

.ngi-event-card__facts span { display: flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 600; color: rgba(7, 23, 53, 0.72); }

.ngi-event-card__facts svg { width: 16px; height: 16px; fill: none; stroke: var(--ngi-events-blue); stroke-width: 1.7; }

.ngi-event-card__open { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: auto; text-align: left; border: 0px !important; border-radius: 0px !important; padding: 22px 0px 0px !important; font-size: 14px !important; font-weight: 700 !important; color: var(--ngi-events-ink) !important; background: transparent !important; box-shadow: none !important; }

.ngi-event-card__open span { display: grid; width: 33px; height: 33px; border-radius: 50%; place-items: center; color: var(--ngi-events-paper); background: var(--ngi-events-blue); transition: color 0.2s, background 0.2s, transform 0.2s; }

.ngi-event-card__open:hover, .ngi-event-card__open:focus { color: var(--ngi-events-blue) !important; background: transparent !important; }

.ngi-event-card__open:hover span, .ngi-event-card__open:focus span { color: var(--ngi-events-ink); background: var(--ngi-events-green); transform: rotate(45deg); }

.ngi-events-load { display: flex; align-items: center; gap: 16px; margin: 42px auto 0px; border: 1px solid var(--ngi-events-blue) !important; border-radius: 0px !important; padding: 15px 23px !important; font-size: 13px !important; font-weight: 700 !important; color: var(--ngi-events-blue) !important; background: transparent !important; box-shadow: none !important; }

.ngi-events-load:hover, .ngi-events-load:focus { color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; }

.ngi-events-empty, .ngi-moments-placeholder { display: grid; grid-column: 1 / -1; grid-template-columns: auto minmax(0px, 1fr); align-items: center; gap: 34px; min-height: 280px; border: 1px solid var(--ngi-events-line); padding: clamp(30px, 5vw, 70px); background: var(--ngi-events-mist); }

.ngi-events-empty__date { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 120px; height: 140px; font-size: 13px; font-weight: 700; letter-spacing: 0.13em; color: var(--ngi-events-ink); background: var(--ngi-events-green); }

.ngi-events-empty__date strong { font-size: 58px; line-height: 1; letter-spacing: -0.05em; }

.ngi-events-empty h3, .ngi-moments-placeholder h3 { font-size: clamp(30px, 3.4vw, 49px) !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: -0.04em !important; color: var(--ngi-events-ink) !important; }

.ngi-events-empty p:not(.ngi-events-section-label), .ngi-moments-placeholder p:not(.ngi-events-section-label) { max-width: 620px; color: rgba(7, 23, 53, 0.67); margin-top: 13px !important; }

.ngi-events-empty a { display: inline-flex; gap: 13px; margin-top: 20px; font-weight: 700; text-decoration: none !important; color: var(--ngi-events-blue) !important; }

.ngi-events-empty a:hover, .ngi-events-empty a:focus { color: var(--ngi-events-ink) !important; }

.ngi-events-no-results { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 110px; margin-top: 20px; border: 1px dashed var(--ngi-events-blue); color: var(--ngi-events-ink); background: rgba(0, 107, 255, 0.04); }

.ngi-events-no-results strong { color: var(--ngi-events-blue); }

.ngi-events-ribbon { overflow: hidden; border-top: 1px solid var(--ngi-events-ink); border-bottom: 1px solid var(--ngi-events-ink); padding: 24px 0px; color: var(--ngi-events-ink); background: var(--ngi-events-green); }

.ngi-events-ribbon__track { display: flex; align-items: center; gap: 27px; width: max-content; animation: 32s linear 0s infinite normal none running ngi-ribbon; }

.ngi-events-ribbon__track span { font-size: clamp(23px, 2.4vw, 38px); font-weight: 700; line-height: 1; letter-spacing: -0.025em; white-space: nowrap; }

.ngi-events-ribbon__track i { display: block; width: 11px; height: 11px; border-radius: 50%; background: var(--ngi-events-blue); }

@keyframes ngi-ribbon { 
  100% { transform: translateX(-50%); }
}

.ngi-moments { color: var(--ngi-events-paper); background: var(--ngi-events-ink); }

.ngi-moments::before { position: absolute; right: -80px; top: 70px; width: 310px; height: 310px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 50%; box-shadow: rgba(255, 255, 255, 0.024) 0px 0px 0px 62px, rgba(255, 255, 255, 0.02) 0px 0px 0px 124px; content: ""; }

.ngi-moments .ngi-events-section-label { color: var(--ngi-events-green); }

.ngi-moments__intro { display: grid; grid-template-columns: auto minmax(0px, 1.3fr) minmax(260px, 0.55fr); align-items: end; gap: 40px; margin-bottom: 58px; }

.ngi-moments__number { display: grid; width: 100px; height: 100px; border: 1px solid rgba(255, 255, 255, 0.23); place-items: center; font-size: 33px; font-weight: 700; color: var(--ngi-events-green); }

.ngi-moments__intro h2 { color: var(--ngi-events-paper) !important; }

.ngi-moments__intro h2 em { color: var(--ngi-events-green); }

.ngi-moments__intro > p { color: rgba(255, 255, 255, 0.63); }

.ngi-moments-grid { display: grid; grid-auto-rows: 255px; grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 15px; }

.ngi-moment { position: relative; display: block; grid-column: span 4; overflow: hidden; text-align: left; border: 0px !important; border-radius: 0px !important; padding: 0px !important; color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; box-shadow: none !important; }

.ngi-moment--feature { grid-area: span 2 / span 8; }

.ngi-moment:nth-child(5n+4) { grid-column: span 8; }

.ngi-moment img { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; transition: transform 0.75s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.3s; }

.ngi-moment__overlay { position: absolute; inset: 0px; background: linear-gradient(to top, rgba(7, 23, 53, 0.96), rgba(7, 23, 53, 0.05) 70%); transition: background 0.3s; }

.ngi-moment__content { position: absolute; right: 0px; bottom: 0px; left: 0px; display: grid; gap: 7px; padding: 25px; }

.ngi-moment__content small { font-size: 10px; font-style: normal; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ngi-events-green); }

.ngi-moment__content strong { font-size: clamp(22px, 2.3vw, 35px); font-weight: 600; line-height: 1; letter-spacing: -0.035em; }

.ngi-moment__content em { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255, 255, 255, 0.22); padding-top: 11px; font-size: 12px; font-style: normal; color: rgba(255, 255, 255, 0.7); }

.ngi-moment__content em i { display: grid; width: 27px; height: 27px; border-radius: 50%; place-items: center; font-style: normal; color: var(--ngi-events-ink); background: var(--ngi-events-green); transition: transform 0.25s; }

.ngi-moment:hover, .ngi-moment:focus { color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; }

.ngi-moment:hover img, .ngi-moment:focus img { filter: saturate(1.07); transform: scale(1.055); }

.ngi-moment:hover .ngi-moment__content em i, .ngi-moment:focus .ngi-moment__content em i { transform: rotate(45deg); }

.ngi-moment__graphic { position: absolute; inset: 0px; overflow: hidden; background: repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 1px, transparent 1px 18px),
		var(--ngi-events-blue); }

.ngi-moment__graphic::before, .ngi-moment__graphic i { position: absolute; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 50%; content: ""; }

.ngi-moment__graphic::before { width: 250px; height: 250px; right: -60px; top: -70px; }

.ngi-moment__graphic i:nth-child(1) { width: 160px; height: 160px; right: -15px; top: -26px; }

.ngi-moment__graphic i:nth-child(2) { width: 70px; height: 70px; right: 30px; top: 18px; background: var(--ngi-events-green); border: 0px; }

.ngi-moment__graphic i:nth-child(3) { width: 26px; height: 26px; left: 30px; bottom: 30px; }

.ngi-moments-placeholder { color: var(--ngi-events-ink); background: var(--ngi-events-paper); }

.ngi-moments-placeholder__visual { position: relative; width: min(340px, 34vw); height: 245px; overflow: hidden; background: var(--ngi-events-blue); }

.ngi-moments-placeholder__visual::before, .ngi-moments-placeholder__visual span { position: absolute; border: 1px solid rgba(255, 255, 255, 0.32); border-radius: 50%; content: ""; }

.ngi-moments-placeholder__visual::before { width: 320px; height: 320px; right: -100px; top: -90px; }

.ngi-moments-placeholder__visual span:nth-child(1) { width: 240px; height: 240px; right: -60px; top: -50px; }

.ngi-moments-placeholder__visual span:nth-child(2) { width: 150px; height: 150px; right: -15px; top: -5px; }

.ngi-moments-placeholder__visual span:nth-child(3) { width: 72px; height: 72px; right: 24px; top: 34px; border: 0px; background: var(--ngi-events-green); }

.ngi-moments-placeholder__visual span:nth-child(4) { width: 28px; height: 28px; left: 34px; bottom: 34px; }

.ngi-events-cta { position: relative; padding: 72px 0px; color: var(--ngi-events-ink); background: var(--ngi-events-green); }

.ngi-events-cta::after { position: absolute; right: 5vw; top: 50%; width: 190px; height: 190px; border: 1px solid rgba(7, 23, 53, 0.16); border-radius: 50%; box-shadow: rgba(7, 23, 53, 0.043) 0px 0px 0px 40px, rgba(7, 23, 53, 0.024) 0px 0px 0px 80px; content: ""; transform: translateY(-50%); }

.ngi-events-cta__inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 50px; }

.ngi-events-cta .ngi-events-section-label { color: var(--ngi-events-ink); }

.ngi-events-cta h2 { max-width: 780px; font-size: clamp(37px, 4vw, 62px) !important; font-weight: 600 !important; line-height: 0.95 !important; letter-spacing: -0.045em !important; color: var(--ngi-events-ink) !important; }

.ngi-events-cta a { display: flex; flex: 0 0 auto; align-items: center; gap: 22px; min-height: 56px; padding: 0px 9px 0px 24px; font-size: 14px; font-weight: 700; transition: color 0.2s, background 0.2s; border: 2px solid var(--ngi-events-ink) !important; text-decoration: none !important; color: var(--ngi-events-paper) !important; background: var(--ngi-events-ink) !important; }

.ngi-events-cta a span { display: grid; width: 38px; height: 38px; place-items: center; color: var(--ngi-events-ink); background: var(--ngi-events-green); }

.ngi-events-cta a:hover, .ngi-events-cta a:focus { color: var(--ngi-events-ink) !important; background: transparent !important; }

.ngi-event-modal[hidden] { display: none !important; }

.ngi-event-modal { position: fixed; z-index: 100000; inset: 0px; display: grid; padding: 28px; place-items: center; }

.ngi-event-modal__backdrop { position: absolute; inset: 0px; background: rgba(7, 23, 53, 0.82); backdrop-filter: blur(9px); }

.ngi-event-modal__dialog { position: relative; display: grid; grid-template-columns: minmax(300px, 0.85fr) minmax(400px, 1.15fr); width: min(1040px, 100%); max-height: min(790px, -56px + 100vh); overflow: auto; background: var(--ngi-events-paper); box-shadow: rgba(0, 0, 0, 0.38) 0px 35px 110px; }

.ngi-event-modal__close { position: absolute; z-index: 3; right: 17px; top: 17px; display: grid; width: 42px; height: 42px; place-items: center; border: 0px !important; border-radius: 50% !important; padding: 0px !important; font-size: 27px !important; font-weight: 300 !important; line-height: 1 !important; color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; box-shadow: rgba(7, 23, 53, 0.18) 0px 8px 24px !important; }

.ngi-event-modal__close:hover, .ngi-event-modal__close:focus { color: var(--ngi-events-ink) !important; background: var(--ngi-events-green) !important; }

.ngi-event-modal__media { position: sticky; top: 0px; min-height: 620px; background: var(--ngi-events-blue); }

.ngi-event-modal__media img { width: 100%; height: 100%; object-fit: cover; }

.ngi-event-modal__media.is-graphic { background: repeating-linear-gradient(135deg, rgba(255,255,255,.08) 0 1px, transparent 1px 25px),
		var(--ngi-events-blue); }

.ngi-event-modal__media.is-graphic::before, .ngi-event-modal__media.is-graphic::after { position: absolute; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 50%; content: ""; }

.ngi-event-modal__media.is-graphic::before { width: 380px; height: 380px; right: -120px; top: -100px; box-shadow: rgba(255, 255, 255, 0.04) 0px 0px 0px 65px; }

.ngi-event-modal__media.is-graphic::after { width: 95px; height: 95px; right: 22px; top: 45px; border: 0px; background: var(--ngi-events-green); }

.ngi-event-modal__body { padding: clamp(38px, 5vw, 70px); }

.ngi-event-modal__status { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ngi-events-blue); margin-bottom: 14px !important; }

.ngi-event-modal__body > h2 { font-size: clamp(38px, 4.2vw, 62px) !important; font-weight: 600 !important; line-height: 0.92 !important; letter-spacing: -0.052em !important; color: var(--ngi-events-ink) !important; }

.ngi-event-modal__meta { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 1px; margin: 30px 0px; background: var(--ngi-events-line); }

.ngi-event-modal__meta span { display: grid; gap: 3px; min-height: 78px; padding: 15px; font-size: 13px; font-weight: 600; color: var(--ngi-events-ink); background: var(--ngi-events-mist); }

.ngi-event-modal__meta small { font-size: 9px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ngi-events-blue); }

.ngi-event-modal__description { font-size: 16px; line-height: 1.65; color: rgba(7, 23, 53, 0.72); }

.ngi-event-modal__description p + p { margin-top: 12px; }

.ngi-event-modal__gallery { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 7px; margin-top: 28px; }

.ngi-event-modal__gallery img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }

.ngi-event-modal__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 33px; }

.ngi-event-modal__actions a, .ngi-event-modal__actions button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; border: 1px solid var(--ngi-events-blue) !important; border-radius: 0px !important; padding: 0px 20px !important; font-size: 13px !important; font-weight: 700 !important; text-decoration: none !important; color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; box-shadow: none !important; }

.ngi-event-modal__actions a:hover, .ngi-event-modal__actions a:focus, .ngi-event-modal__actions button:hover, .ngi-event-modal__actions button:focus { border-color: var(--ngi-events-ink) !important; color: var(--ngi-events-ink) !important; background: var(--ngi-events-green) !important; }

body.ngi-event-modal-open { overflow: hidden !important; }

@media (max-width: 1100px) {
  .ngi-events-shell { width: min(100% - 48px, 1040px); }
  .ngi-events-hero { min-height: 0px; }
  .ngi-events-hero__layout { grid-template-columns: minmax(0px, 0.82fr) minmax(460px, 1.18fr); gap: 42px; }
  .ngi-events-hero h1 { font-size: clamp(58px, 6.3vw, 78px) !important; }
  .ngi-event-card { grid-column: span 6; }
  .ngi-event-card--lead { grid-column: 1 / -1; }
  .ngi-moments__intro { grid-template-columns: auto minmax(0px, 1fr); }
  .ngi-moments__intro > p { grid-column: 2; }
}

@media (max-width: 900px) {
  .ngi-events-hero { padding: 66px 0px 70px; }
  .ngi-events-hero__layout { grid-template-columns: 1fr; gap: 55px; }
  .ngi-events-hero__copy { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(330px, 0.8fr); gap: 0px 38px; align-items: end; }
  .ngi-events-kicker, .ngi-events-hero h1, .ngi-events-hero__intro { grid-column: 1; }
  .ngi-events-now { grid-area: 1 / 2 / span 3; align-self: end; margin-top: 0px; }
  .ngi-events-heading { grid-template-columns: 1fr; gap: 24px; }
  .ngi-events-heading > p { max-width: 680px; }
  .ngi-events-filter { grid-template-columns: 1fr 1fr auto; }
  .ngi-events-filter__count { grid-column: 1 / -1; justify-self: start; }
  .ngi-moments-grid { grid-auto-rows: 230px; }
  .ngi-moment, .ngi-moment:nth-child(5n+4) { grid-column: span 6; }
  .ngi-moment--feature { grid-column: 1 / -1; }
  .ngi-events-cta__inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 700px) {
  .ngi-events-shell { width: calc(100% - 32px); }
  .ngi-events-hero { padding: 45px 0px 48px; }
  .ngi-events-hero::before { mask-image: linear-gradient(rgb(0, 0, 0), transparent 80%); }
  .ngi-events-hero::after { right: -45vw; top: -20vw; width: 105vw; }
  .ngi-events-hero__copy { display: block; }
  .ngi-events-kicker { margin-bottom: 17px !important; }
  .ngi-events-hero h1 { font-size: clamp(52px, 17.2vw, 72px) !important; line-height: 0.88 !important; }
  .ngi-events-hero__intro { margin-top: 22px !important; font-size: 17px; }
  .ngi-events-now { grid-template-columns: 72px minmax(0px, 1fr); gap: 17px; margin-top: 31px; padding: 20px 0px; }
  .ngi-events-now__date { min-height: 84px; }
  .ngi-events-now__date strong { font-size: 32px; }
  .ngi-events-now__content h2 { font-size: 22px !important; }
  .ngi-events-now__meta { display: grid; gap: 3px; }
  .ngi-events-now__meta span + span::before { display: none; }
  .ngi-calendar { border-radius: 20px; padding: 22px 15px; }
  .ngi-calendar::before { right: -7px; width: 7px; }
  .ngi-calendar__topline { align-items: flex-start; margin-bottom: 23px; }
  .ngi-calendar__topline h2 { font-size: 27px !important; }
  .ngi-calendar__nav { gap: 4px; }
  .ngi-calendar__nav button { min-width: 34px; height: 34px; }
  .ngi-calendar__nav button[data-ngi-calendar-today] { display: none; }
  .ngi-calendar__weekdays span { font-size: 8px; }
  .ngi-calendar__grid { gap: 2px; }
  .ngi-calendar__blank, .ngi-calendar__day { aspect-ratio: 1 / 1; }
  .ngi-calendar__day { border-radius: 9px !important; font-size: 12px !important; }
  .ngi-calendar__day i { bottom: 4px; width: 4px; height: 4px; }
  .ngi-events-jump { overflow-x: auto; scrollbar-width: none; }
  .ngi-events-jump::-webkit-scrollbar { display: none; }
  .ngi-events-jump .ngi-events-shell { width: max-content; min-width: 100%; justify-content: flex-start; margin: 0px; padding-left: 16px; }
  .ngi-events-jump a { min-height: 64px; padding: 0px 22px; white-space: nowrap; }
  .ngi-events-section { padding: 82px 0px; }
  .ngi-events-heading, .ngi-moments__intro { margin-bottom: 37px; }
  .ngi-events-heading h2, .ngi-moments__intro h2 { font-size: clamp(41px, 13vw, 54px) !important; }
  .ngi-events-filter { grid-template-columns: 1fr; align-items: stretch; gap: 13px; }
  .ngi-events-filter__reset { width: 100%; }
  .ngi-event-grid { grid-template-columns: 1fr; gap: 18px; }
  .ngi-event-card, .ngi-event-card--lead { display: block; grid-column: 1; }
  .ngi-event-card__visual, .ngi-event-card--lead .ngi-event-card__visual { min-height: 235px; }
  .ngi-event-card__body, .ngi-event-card--lead .ngi-event-card__body { justify-content: flex-start; min-height: 0px; padding: 27px 23px; }
  .ngi-event-card h3 { font-size: 29px !important; }
  .ngi-event-card__open { margin-top: 16px; }
  .ngi-events-empty, .ngi-moments-placeholder { grid-template-columns: 1fr; gap: 25px; padding: 30px 24px; }
  .ngi-events-empty__date { width: 86px; height: 100px; }
  .ngi-events-empty__date strong { font-size: 44px; }
  .ngi-events-no-results { align-items: flex-start; flex-direction: column; padding: 22px; }
  .ngi-events-ribbon { padding: 19px 0px; }
  .ngi-events-ribbon__track { gap: 18px; }
  .ngi-moments::before { display: none; }
  .ngi-moments__intro { grid-template-columns: 1fr; gap: 23px; }
  .ngi-moments__number { width: 76px; height: 76px; font-size: 27px; }
  .ngi-moments__intro > p { grid-column: 1; }
  .ngi-moments-grid { grid-auto-rows: 260px; grid-template-columns: 1fr; }
  .ngi-moment, .ngi-moment--feature, .ngi-moment:nth-child(5n+4) { grid-area: auto / 1; }
  .ngi-moment--feature { min-height: 390px; }
  .ngi-moment__content { padding: 22px; }
  .ngi-moment__content strong { font-size: 29px; }
  .ngi-moments-placeholder__visual { width: 100%; height: 220px; }
  .ngi-events-cta { padding: 65px 0px; }
  .ngi-events-cta::after { display: none; }
  .ngi-events-cta__inner { gap: 30px; }
  .ngi-events-cta h2 { font-size: 42px !important; }
  .ngi-events-cta a { width: 100%; justify-content: space-between; }
  .ngi-event-modal { align-items: end; padding: 0px; }
  .ngi-event-modal__dialog { display: block; width: 100%; max-height: 92vh; }
  .ngi-event-modal__media { position: relative; min-height: 240px; height: 34vh; }
  .ngi-event-modal__body { padding: 33px 22px 45px; }
  .ngi-event-modal__body > h2 { font-size: 39px !important; }
  .ngi-event-modal__meta { grid-template-columns: 1fr; }
  .ngi-event-modal__gallery { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .ngi-event-modal__actions a, .ngi-event-modal__actions button { width: 100%; }
}

@media (max-width: 390px) {
  .ngi-events-hero h1 { font-size: 49px !important; }
  .ngi-calendar { padding-right: 10px; padding-left: 10px; }
  .ngi-calendar__topline h2 { font-size: 23px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .ngi-events-hub *, .ngi-events-hub ::before, .ngi-events-hub ::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

.ngi-events-cta { color: var(--ngi-events-paper); background: var(--ngi-events-blue); }

.ngi-events-cta::after { border-color: rgba(0, 254, 7, 0.38); box-shadow: rgba(0, 254, 7, 0.09) 0px 0px 0px 40px, rgba(0, 254, 7, 0.043) 0px 0px 0px 80px; }

.ngi-events-cta .ngi-events-section-label { color: var(--ngi-events-green); }

.ngi-events-cta h2 { color: var(--ngi-events-paper) !important; }

.ngi-events-now__content > a, .ngi-events-now__content > button, .ngi-events-empty a, .ngi-events-cta a, .ngi-event-modal__actions a, .ngi-event-modal__actions button { display: inline-flex; align-items: center; justify-content: center; gap: 0px; min-height: 66px; letter-spacing: 0.02em; text-align: center; text-transform: uppercase; border: 2px solid transparent !important; border-radius: 4px !important; padding: 16px 36px !important; font-family: Calibri, Arial, sans-serif !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1 !important; text-decoration: none !important; box-shadow: none !important; transition: transform 0.2s, box-shadow 0.2s, background 0.2s, color 0.2s !important; }

.ngi-events-now__content > a, .ngi-events-now__content > button, .ngi-events-cta a { border-color: var(--ngi-events-green) !important; color: var(--ngi-events-blue) !important; background: var(--ngi-events-green) !important; }

.ngi-events-empty a, .ngi-event-modal__actions a, .ngi-event-modal__actions button { border-color: var(--ngi-events-blue) !important; color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; }

.ngi-events-now__content > a span, .ngi-events-now__content > button span, .ngi-events-empty a span, .ngi-events-cta a span { display: none !important; }

.ngi-events-now__content > a:hover, .ngi-events-now__content > a:focus, .ngi-events-now__content > button:hover, .ngi-events-now__content > button:focus, .ngi-events-empty a:hover, .ngi-events-empty a:focus, .ngi-events-cta a:hover, .ngi-events-cta a:focus, .ngi-event-modal__actions a:hover, .ngi-event-modal__actions a:focus, .ngi-event-modal__actions button:hover, .ngi-event-modal__actions button:focus { transform: translateY(-2px); box-shadow: rgba(0, 107, 255, 0.22) 0px 12px 28px !important; }

.ngi-events-now__content > a:hover, .ngi-events-now__content > a:focus, .ngi-events-now__content > button:hover, .ngi-events-now__content > button:focus, .ngi-events-cta a:hover, .ngi-events-cta a:focus { border-color: var(--ngi-events-green) !important; color: var(--ngi-events-blue) !important; background: var(--ngi-events-green) !important; }

.ngi-events-empty a:hover, .ngi-events-empty a:focus, .ngi-event-modal__actions a:hover, .ngi-event-modal__actions a:focus, .ngi-event-modal__actions button:hover, .ngi-event-modal__actions button:focus { border-color: var(--ngi-events-blue) !important; color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; }

@media (max-width: 767px) {
  .ngi-events-now__content > a, .ngi-events-now__content > button, .ngi-events-empty a, .ngi-events-cta a, .ngi-event-modal__actions a, .ngi-event-modal__actions button { width: 100%; min-width: 0px; padding-right: 24px !important; padding-left: 24px !important; }
}

.ngi-events-cta { color: var(--ngi-events-blue); background: var(--ngi-events-green); }

.ngi-events-cta::after { border-color: rgba(0, 107, 255, 0.24); box-shadow: rgba(0, 107, 255, 0.07) 0px 0px 0px 40px, rgba(0, 107, 255, 0.035) 0px 0px 0px 80px; }

.ngi-events-cta .ngi-events-section-label, .ngi-events-cta h2 { color: var(--ngi-events-blue) !important; }

.ngi-events-cta a, .ngi-events-cta a:hover, .ngi-events-cta a:focus { border-color: var(--ngi-events-blue) !important; color: var(--ngi-events-paper) !important; background: var(--ngi-events-blue) !important; }