, 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 10, 2025

Track & Field at St. Francis Last Chance

8:00 am–8:00 pm
Joliet, IL
May 10, 2025

Preserve | Plein Air Painting Workshop

9:00 am–12:00 pm
Bunker Interpretive Center
A graduation weekend painting workshop
May 10, 2025

Master's Hooding

10:00 am–11:00 am
Covenant Fine Arts Center Auditorium
May 10, 2025

Bruce Dice Mineralogical Museum Open Hours

11:00 am–1:00 pm
Dice Museum
May 10, 2025

Lunch option - Commencement weekend

11:00 am–1:00 pm
Purchase required by Thursday, May 8
Although the student dining halls officially close following the last exam period, Creative Dining Services has generously offered to partner with us to provide dinner in the Commons on Friday evening and lunch on Saturday.
May 10, 2025

Commencement - Class of 2025

2:00 pm
Van Noord Arena - Spoelhof Fieldhouse Complex
Congratulations, Class of 2025!
May 11, 2025

Spring Sunday Vespers

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

Medieval devotion mini-colloquium

9:00 am–12:00 pm
Meeter Center Lecture Hall
May 12, 2025

Town Hall

2:30 pm–4:30 pm
Chapel Sanctuary
May 13, 2025

International Parent Webinar

8:00 am–9:00 am
Our international admissions team is excited to host this webinar for parents and guardians of students admitted to Calvin. NOTE: All webinars are in ET.