, but this code // executes before the first paint, when

ÃÛÌÒapp

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 | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Events Calendar

Aug 25–Nov 07, 2025

Visiting Artist Marissa Voytenko

Center Art Gallery
Free
The Center Art Gallery’s inaugural Visiting Artist is Marissa Voytenko, a Michigan-based artist whose encaustic paintings and sculptural works explore the intersection of the physical and spiritual worlds through striking geometric abstraction.
Sep 27, 2025

ÃÛÌÒapp Classic 5k and Youth Fun Run

8:30 am–10:00 am
ÃÛÌÒapp Campus Roadways
Sep 27, 2025

Climbing Wall Open Hours

9:00 am–12:00 pm
Spoelhof Fieldhouse Complex
Sep 27, 2025

Dice Museum Homecoming Open Hours

9:00 am–12:00 pm
Bruce Dice Mineralogical Museum
Sep 27, 2025

Ecosystem Preserve & Native Gardens 40th Anniversary Open House Celebration

10:00 am–2:00 pm
Ecosystem Preserve & Native Gardens
We're honoring decades of conservation, education, and community.
Sep 27, 2025

Women's Soccer vs Ohio Northern

12:00 pm–2:30 pm
Zuidema Soccer Field
Sep 27, 2025

ÃÛÌÒapp Music Festival

2:00 pm–3:15 pm
Covenant Fine Arts Center Auditorium
General Public: $15 | Faculty/Staff: $12 | Students: $7
Sep 27, 2025

Men's Soccer vs DePauw

2:30 pm–4:30 pm
Zuidema Soccer Field
Sep 27, 2025

Farmers Market

3:00 pm–5:00 pm
Dorm Circle Drive (near NVW and RVD)
Sep 27, 2025

Football vs. Kalamazoo (Homecoming—SOLD OUT)

7:00 pm–10:30 pm
ÃÛÌÒapp Soccer Stadium
The Homecoming football game is sold out!