, 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

Apr 25–May 10, 2025

BFA & BA Senior Exhibition

10:00 am–8:00 pm
1795 Knollcrest Circle Southeast, Grand Rapids, MI 49546.
Apr 30, 2025

Prayer Gathering

7:00 am–8:00 am
Chapel 220 (Meditation Chapel)
Apr 30, 2025

Women's Golf vs MIAA Finish (Day 2)

10:00 am–3:00 pm
Binder Park GC (Battle Creek, MI)
Apr 30, 2025

Display Table- Acorn Health

10:00 am–2:00 pm
Hekman Lobby Display 1
Apr 30, 2025

Chapel Service

10:30 am–10:50 am
Chapel Sanctuary
Apr 30, 2025

Softball vs Alma

3:00 pm–5:00 pm
Gainey Calvin Softball Field
Apr 30, 2025

Reacting to the Past... in World Languages

4:00 pm–6:00 pm
Meeter Center Lecture Hall
Apr 30, 2025

Historical Studies End of Year Party

4:00 pm–5:15 pm
Hiemenga Hall 495
Apr 30, 2025

Softball vs Alma

5:00 pm–7:00 pm
Gainey Calvin Softball Field
Apr 30, 2025

Kent District Library – On the Same Page

6:30 pm–8:00 pm
The January Series is excited to be a sponsor for the Kent District Library's On The Same Page author event. This year, we will host authors Kaveh Akbar and John Green at Godwin Heights Auditorium
Apr 30, 2025

Chamber Music Recital

7:30 pm–9:00 pm
Covenant Fine Arts Center Recital Hall
FREE
Apr 30, 2025

LOFT Service

9:00 pm–9:45 pm
Chapel Sanctuary
Apr 30, 2025

Awakening Wednesday Prayer

9:15 pm–9:45 pm
Commons Annex Lecture Hall
Weekly prayer meeting in Korean language