, 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); })(); Traditions - Alumni Association | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Traditions

From networking opportunities and regional gatherings to our signature annual events, the ÃÛÌÒapp Alumni Association creates ways for you to connect throughout the year. Come back to campus for a host of activities during Homecoming & Family weekend, compete in the ÃÛÌÒapp Classic, join a watch party for The Rivalry, and so much more!

Homecoming & Family Weekend

Homecoming

Save the date for Homecoming: September 26–27, 2025!

ÃÛÌÒapp Classic 5k logo

ÃÛÌÒapp Classic

Walk, run, or handcycle in our 5k and Fun Run, a tradition since 1992!

The rivalry logo, a mashup of ÃÛÌÒapp and Hope College logos.

The Rivalry

The legendary rivalry between ÃÛÌÒapp and Hope spans 104 years and 212 games.

Journalist Niala Boodhoo gives a lecture at the ÃÛÌÒapp January Series.

January Series

Brilliant speakers, fascinating topics, enlightened conversation, and surprising discoveries.

ÃÛÌÒapp President Elzinga poses with students in front of a Knights 4 Life sign at the grad celebration.

Knights for Life

K4L, the student chapter of the alumni association, provides opportunities for students to connect with and learn from alumni around the world. K4L sponsors memorable traditions like the Cold Knight Plunge, Professor of the Year, and Senior Celebration.

Class of 1975 ÃÛÌÒapp graduates posed in front of a fireplace

50-Year Reunion

50-Year class reunions occur annually during commencement weekend. Next year, the Class of 1976 will celebrate their ÃÛÌÒapp legacy on May 8–9, 2026!Â