, 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

Feb 21–Feb 22, 2025

Siblings Weekend 2025

Calvin's annual Siblings Weekend—for siblings, cousins, young friends, and other future Knights!
Feb 21–Feb 28, 2025

uKnight Week

Join us for uKnight Week!
Feb 21, 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.
Feb 21, 2025

MIAA Swim & Dive Championships

10:00 am–12:30 pm
Venema Aquatic Center Pool
Feb 21, 2025

Chapel: Student Worship Team

10:30 am–10:50 am
Chapel Sanctuary
Feb 21, 2025

Indoor Track & Field at GVSU Big Meet

1:00 pm–5:00 pm
Allendale, MI
Feb 21, 2025

Biology Seminar with Meghan Sheehan

2:45 pm–3:30 pm
SB 110
Feb 21, 2025

MIAA Swim & Dive Championships

5:00 pm–8:00 pm
Venema Aquatic Center Pool
Feb 21, 2025

RPG Night

6:00 pm–10:30 pm
Commons Annex Alumni Association Board Room
Feb 21, 2025

Siblings Weekend Improv Show

7:00 pm–8:15 pm
Covenant Fine Arts Recital Hall
Feb 21, 2025

Poetry Jam

7:00 pm–9:00 pm
Hekman Collab Space 102
Feb 21, 2025

D3 Hockey vs Schoolcraft

7:30 pm–10:00 pm
Eagles Ice Center
Feb 21, 2025

Symphonic Band Concert

7:30 pm–9:00 pm
Covenant Fine Arts Center Auditorium
FREE
Feb 21, 2025

SAO Movie: Moana II

8:30 pm–10:15 pm
Covenant Fine Arts Recital Hall
Feb 21, 2025

Siblings Weekend Improv Show

9:30 pm–10:45 pm
Hekman Collab Space 102
Join us for a show on the stage in the Hekman Library, lower level (under Peet's).