Live music, waterfront festivals, farmer markets, and community gatherings across downtown and riverfront parks.
/* 1. Real-Time Community Calendar Header & Wrapper Clean-up */
.snb-events-hub-wrapper .snb-events-hero,
.community-calendar-header,
[data-section="community-calendar"] header {
background: #ffffff !important;
color: #0f172a !important;
border: 1px solid #e2e8f0 !important;
box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05) !important;
}.snb-events-hub-wrapper .snb-events-hero span:first-child,
.community-calendar-header .badge {
background: #ecfdf5 !important;
color: #047857 !important;
border: 1px solid #a7f3d0 !important;
display: inline-block !important;
padding: 4px 14px !important;
border-radius: 9999px !important;
margin-bottom: 14px !important;
}.snb-events-hub-wrapper .snb-events-hero h1,
.snb-events-hub-wrapper .snb-events-hero h2,
.community-calendar-header h1,
.community-calendar-header h2,
.community-calendar-header .calendar-title {
color: #0f172a !important;
text-shadow: none !important;
-webkit-text-stroke: 0 !important;
background: transparent !important;
filter: none !important;
box-shadow: none !important;
font-weight: 800 !important;
letter-spacing: -0.025em !important;
}.snb-events-hub-wrapper .snb-events-hero p,
.community-calendar-header p,
.community-calendar-header .calendar-subtitle {
color: #475569 !important;
text-shadow: none !important;
background: transparent !important;
filter: none !important;
line-height: 1.6 !important;
}/* City Filter Buttons in Light Calendar */
.snb-events-city-filters button.snb-city-btn {
background: #f1f5f9 !important;
color: #334155 !important;
border: 1px solid #cbd5e1 !important;
}
.snb-events-city-filters button.snb-city-btn.active {
background: #0f172a !important;
color: #ffffff !important;
border-color: #0f172a !important;
}/* 2. Official Partner Spotlight Card (Light Container with High-Contrast Typography) */
.snb-sponsor-banner-wrap,
.partner-spotlight-card,
[data-widget="partner-spotlight"] {
width: 100% !important;
margin: 30px 0 !important;
}.snb-sponsor-banner-wrap > div,
.partner-spotlight-card {
background: #ffffff !important;
background: linear-gradient(135deg, #fffdf7 0%, #ffffff 50%, #f8fafc 100%) !important;
border: 1.5px solid #fde68a !important;
border-radius: 16px !important;
padding: 24px 30px !important;
box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.06) !important;
}.snb-sponsor-banner-wrap div > div:first-child > div:first-child {
background: #fef3c7 !important;
color: #92400e !important;
border: 1px solid #fcd34d !important;
}
.snb-sponsor-banner-wrap svg {
color: #d97706 !important;
}/* Heading: High Contrast #0f172a (17.2:1 contrast ratio) */
.snb-sponsor-banner-wrap h3,
.snb-sponsor-banner-wrap h4,
.partner-spotlight-card h3,
.partner-spotlight-card h4,
.partner-spotlight-card .partner-heading {
color: #0f172a !important;
font-weight: 800 !important;
text-shadow: none !important;
letter-spacing: -0.015em !important;
margin: 0 0 6px 0 !important;
opacity: 1 !important;
}/* Subtext: #475569 (>4.5:1 WCAG AA compliance) */
.snb-sponsor-banner-wrap p,
.partner-spotlight-card p,
.partner-spotlight-card .partner-subtext {
color: #475569 !important;
font-size: 14px !important;
line-height: 1.55 !important;
text-shadow: none !important;
opacity: 1 !important;
}/* 3. CTA Button */
.snb-sponsor-banner-wrap a[href*="pricing"],
.snb-sponsor-banner-wrap a[href*="promote"],
.partner-spotlight-card a.sponsor-button,
a.sponsor-button {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
gap: 8px !important;
background-color: #2563eb !important;
color: #ffffff !important;
font-weight: 700 !important;
font-size: 14px !important;
padding: 12px 24px !important;
border-radius: 12px !important;
text-decoration: none !important;
min-height: 44px !important;
box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25) !important;
transition: all 0.2s ease !important;
}.snb-sponsor-banner-wrap a[href*="pricing"]:hover,
.snb-sponsor-banner-wrap a[href*="promote"]:hover,
.partner-spotlight-card a.sponsor-button:hover,
a.sponsor-button:hover {
background-color: #1d4ed8 !important;
box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35) !important;
transform: translateY(-1px) !important;
}.snb-sponsor-banner-wrap a[href*="pricing"]:focus,
a.sponsor-button:focus {
outline: 2px solid #2563eb !important;
outline-offset: 2px !important;
}
(function() {
function fixPartnerSpotlight() {
var banner = document.querySelector('.snb-sponsor-banner-wrap');
if (!banner) return;
// 1. Upgrade heading from h4 to h3 if needed and ensure high contrast
var heading = banner.querySelector('h4, h3');
if (heading && heading.tagName === 'H4') {
var h3 = document.createElement('h3');
h3.innerHTML = heading.innerHTML;
h3.style.cssText = 'margin: 0 0 6px 0; color: #0f172a; font-size: 20px; font-weight: 800; letter-spacing: -0.015em;';
heading.parentNode.replaceChild(h3, heading);
heading = h3;
} else if (heading) {
heading.style.color = '#0f172a';
}
// 2. Fix subtext contrast
var subtext = banner.querySelector('p');
if (subtext) {
subtext.style.color = '#475569';
}
// 3. Fix button href, aria-label, and styling
var btn = banner.querySelector('a');
if (btn) {
btn.setAttribute('href', '/pricing/');
btn.setAttribute('aria-label', 'Become a Featured Sponsor');
btn.classList.add('sponsor-button');
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', fixPartnerSpotlight);
} else {
fixPartnerSpotlight();
}
setTimeout(fixPartnerSpotlight, 500);
})();