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

uKnight Week

Join us for uKnight Week!
Feb 27, 2025

International Admitted Student Webinar

8:00 am–9:00 am
Our international admissions team is excited to host weekly webinars for admitted students to talk about the steps to complete the enrollment process. With time for questions!
Feb 27, 2025

Chapel: Breathe, Be Still, Create

9:50 am–10:10 am
Chapel Sanctuary
Feb 27, 2025

Chemistry Seminar with Emeritus, Roger DeKock

11:15 am–12:05 pm
SB 343
Feb 27, 2025

Fostering International Student Success Book Club

12:30 pm–1:30 pm
Meeter Ctr Conference Room
Feb 27, 2025

Japanese Culture Session 6

4:00 pm–5:00 pm
Hiemenga Classroom 432
Feb 27, 2025

PHC Healthcare Jobs Panel

4:00 pm–5:00 pm
Science Building Lab 343
Feb 27, 2025

Calvin Professional Networking Event

5:30 pm–7:30 pm
Engage with Calvin Alumni Board members, master's students, and young alumni!
Feb 27, 2025

Opening Reception of "An Exhibition of Otto Selles & Tiffany Krampe"

6:00 pm–9:00 pm
Center Art Gallery in the Covenant Fine Arts Center
Feb 27, 2025

SAO Open Mic Night

8:00 pm–9:30 pm
Hekman Collab Space 102
Feb 27, 2025

D1 Hockey Conference Playoffs

8:30 pm–11:00 pm
Adrian, MI