, but this code // executes before the first paint, when

ÇÑ×ÓÊÓÆµ

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Events List | ÇÑ×ÓÊÓÆµ

ÇÑ×ÓÊÓÆµ

Skip to main content

Events List

May 03, 2025

Baseball at Hope

1:00 pm–4:00 pm
Holland, MI
May 03, 2025

Softball at Hope

1:00 pm–3:00 pm
Holland, MI
May 03, 2025

Softball at Hope

3:00 pm–5:00 pm
Holland, MI
May 03, 2025

Baseball at Hope

4:00 pm–7:00 pm
Holland, MI
May 03, 2025

Alumni Choir Concert

7:30 pm
Mayflower Congregational Church
The Calvin Alumni Choir presents "Love Abounds," an evening of music at Mayflower Congregational Church.
May 04, 2025

Spring Sunday Vespers

6:00 pm–8:00 pm
Seminary Heidelberg Chapel
May 05–May 17, 2025

CAA/CALL Travel: Heritage of Germany

From Luther and Bach to Dresden and Berlin
May 05, 2025

Digital Commons Scholars Celebration

12:00 pm–1:30 pm
Hekman Collab Space 102
Learn how Hekman’s institutional repository is promoting greater access to Calvin scholars’ work and join the reception highlighting faculty publications this year
May 05, 2025

Late Knight Breakfast

9:30 pm–11:00 pm
Commons Dining Hall
Add a moment of levity, good conversation, and breakfast food to your exam week with Late Knight Breakfast. For those with a meal plan, use an extra swipe to get in (since it is a shortened week, you likely have one) and those without meal plan can get in for free.
May 06, 2025

Track & Field at GVSU Field Events

11:00 am–5:00 pm
Allendale, MI