, 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 Calendar | Â鶹Çø

Â鶹Çø

Skip to main content

Events Calendar

Jan 31, 2025

Calvin Discovery Day

8:00 am–2:30 pm
Spoelhof University Center Atrium
Prospective students and guests, spend a day discovering all that Calvin offers. Personalize your experience with breakout activities, class visits, and more.
Jan 31, 2025

Chapel: Student Worship Team

10:30 am–10:50 am
Chapel Sanctuary
Jan 31, 2025

Hunter Woodhall - They Told Me I Couldn’t Walk, So I Decided to Run

12:30 pm–1:30 pm
Covenant Fine Arts Center Auditorium
*This speaker will be joining us virtually. Hunter Woodhall will inspire us with his journey to winning a gold medal at the 2024 Paralympics and encourage us to overcome our own obstacles.
Jan 31, 2025

Biology Seminar with Zhe Ren

2:45 pm–3:30 pm
Bunker Interpretive Center
Jan 31, 2025

School of Health Seminar Series

2:45 pm–3:35 pm
Science Building 110
Fetal Origins of Adult Disease (FOAD): Lessons about Obesity from the Dutch Hunger Winter of 1945
Jan 31, 2025

Japanese Culture Session 2

4:00 pm–5:00 pm
Hiemenga Classroom 432
Jan 31, 2025

RPG Night

6:00 pm–10:30 pm
Commons Annex Alumni Association Board Room
Jan 31, 2025

Washington, D.C. Alumni Gathering

6:30 pm–8:30 pm
Meet President Elzinga in D.C.!
Jan 31, 2025

Legally Blonde Movie Night

7:30 pm–10:30 pm
Covenant Fine Arts Recital Hall
Jan 31, 2025

Calvin Theatre Company: Birthday Candles by Noah Haidle

7:30 pm–9:30 pm
$9-19
Grand Rapids premiere of this Broadway hit, by a Grand Rapids-born playwright.
Jan 31, 2025

D3 Hockey vs Davenport

7:30 pm–10:00 pm
Eagles Ice Center
Jan 31, 2025

SAO Dodgeball Tournament

8:00 pm–10:30 pm
Join us for the SAO's annual dodgeball tournament!