, 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

Nov 17–Feb 21, 2026

ÃÛÌÒapp Architectural History

Center Art Gallery
Free
Explore ÃÛÌÒapp’s architectural history and future through this Center Art Gallery exhibition.
Feb 14, 2026

Preserve | Weekend Wonder

10:00 am–11:30 am
Bunker Interpretive Center
Discover nature year-round through Weekend Wonder—a monthly Saturday series of expert-led programs for curious adults and kids alike.
Feb 14, 2026

Rockford vs UW-Stevens Point (Men's Volleyball)

12:00 pm–2:00 pm
Hoogenboom Gymnasium - all
Feb 14, 2026

Adrian vs St Norbert (Men's Volleyball)

2:30 pm–4:30 pm
Hoogenboom Gymnasium - all
Feb 14, 2026

Men's Basketball vs Trine

3:00 pm–5:00 pm
Van Noord Arena Main Gym
Feb 14, 2026

Women's Lacrosse vs Carthage (@ NMU)

3:00 pm–5:00 pm
Marquette, MI
Feb 14, 2026

D3 Hockey at Adrian

3:00 pm–5:30 pm
Adrian, MI
Feb 14, 2026

ÃÛÌÒapp vs Rockford (Men's Volleyball)

6:30 pm–8:30 pm
Van Noord Arena Main Gym