, 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

Jun 06, 2025

The Calvin Prison Initiative Conference on Higher Education in Prison

8:00 am–12:00 pm
Prince Conference Center
Jun 09, 2025

Summer Orientation

On-Campus Summer Orientation is for students who can travel to campus (or live within 250 miles) during the summer.
Jun 10–Jun 12, 2025

Preserve | Nature Camp | Week 2: Water Wonder

9:00 am–4:00 pm
Bunker Interpretive Center
Explore nature, play games, and get creative!
Jun 11, 2025

CALL Event: B is for Blandford Walking Tour

2:00 pm–3:30 pm
$20
The common theme of a Grand Rapids Walking Tour? A love for everything Grand Rapids...its history, culture, entertainment, vibe, tastes, and exciting growth. It is the trifecta of exercise, education, and entertainment. Each walk lasts about 60–90 minutes: we walk a little, gather at a site, and talk, etc.
Jun 13, 2025

Summer Visit Day

9:30 am–1:00 pm
Spoelhof University Center
Discover Calvin and our beautiful 400-acre campus this summer!
Jun 16, 2025

Empowering Christian School Leaders: Navigating Changes in Literacy

8:00 am–4:00 pm
Meeter Center Lecture Hall
Calvin School of Education would like to warmly invite you to campus for a summer workshop!  Join us for a time of learning and collaborating with other Christian school leaders as we navigate changes in literacy instruction and guide teachers through curriculum and pedagogy decisions related to ongoing research.
Jun 17, 2025

Empowering Christian School Leaders: Navigating Changes in Literacy

8:00 am–4:00 pm
Meeter Center Lecture Hall
Jun 17–Jun 19, 2025

Preserve | Nature Camp | Week 3: Natural Communities

9:00 am–4:00 pm
Bunker Interpretive Center
Explore nature, play games, and get creative!
Jun 17, 2025

Heritage Class Hangout

10:00 am–11:30 am
Hekman Library
Let's get together!