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

North Park vs Adrian (Men's Volleyball)

9:30 am–11:30 am
Hoogenboom Gymnasium - all
Feb 15, 2025

Indoor Track & Field at GVSU Big Meet

10:00 am–5:00 pm
Allendale, MI
Feb 15, 2025

Calvin vs Rockford (Men's Volleyball)

10:00 am–12:00 pm
Van Noord Arena Main Gym
Feb 15, 2025

North Park vs St. Norbert (Men's Volleyball)

12:00 pm–2:00 pm
Hoogenboom Gymnasium - all
Feb 15, 2025

North Park vs St. Norbert (Men's Volleyball)

12:00 pm–2:00 pm
Hoogenboom Gymnasium - all
Feb 15, 2025

Women's Basketball at Kalamazoo

1:00 pm–3:00 pm
Kalamazoo, MI
Feb 15, 2025

Men's Lacrosse vs Edgewood

1:00 pm–3:00 pm
Zuidema Soccer Field
Feb 15, 2025

Adrian vs St Norbert (Men's Volleyball)

2:30 pm–4:30 pm
Hoogenboom Gymnasium - all
Feb 15, 2025

Adrian vs St Norbert (Men's Volleyball)

2:30 pm–4:30 pm
Hoogenboom Gymnasium - all
Feb 15, 2025

Women's Tennis vs Cornerstone

3:00 pm–5:00 pm
Tennis & Track Main Floor (track & courts)
Feb 15, 2025

Men's Basketball vs Kalamazoo

3:00 pm–5:00 pm
Van Noord Arena Main Gym
Feb 15, 2025

D1 Hockey at Davenport

3:00 pm–5:30 pm
Patterson Ice Center
Feb 15, 2025

Orchestra Concerto Concert

3:30 pm–5:00 pm
Covenant Fine Arts Center Auditorium
FREE
Feb 15, 2025

Rockford vs North Park (Men's Volleyball)

5:00 pm–7:00 pm
Hoogenboom Gymnasium - all
Feb 15, 2025

Chinese New Year Gala

5:30 pm–7:00 pm
Covenant Fine Arts Recital Hall
Feb 15, 2025

Engineering Unlimited's Wii Sports Resort Night

6:30 pm–8:30 pm
Engineering Building Lobby
Feb 15, 2025

Winter Formal

8:00 pm–11:00 pm
Amway Grand
20-25
Feb 15, 2025

D3 Hockey at UM-Flint

8:00 pm–10:30 pm
Flint, MI