, 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); })(); ÃÛÌÒapp Classic 5k | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

ÃÛÌÒapp Classic 5k

Save the date: Saturday, September 27, 2025

The ÃÛÌÒapp Classic 5k has been bringing community members together for over 30 years. This fall, the Alumni Association is hosting both an in-person and virtual race on Saturday, September 27. Join us in whatever way works for you—near or far—during ÃÛÌÒapp's Homecoming & Family Weekend.

Races

Any age runner, walker, or handcyclist is welcome to participate in our 5k (with virtual option). Younger participants ages 3–9 are invited to run, walk, or skip in our Youth Fun Run (with virtual option). , including pricing, freebies, and more, can be found at our official registration site via .

Students

ÃÛÌÒapp and Seminary students are eligible for $15 race registration, regardless of early-bird pricing deadlines. When prompted during registration, be sure to check the box indicating your student status!

Get Involved

  • (and receive a race shirt!)
  • Become a race sponsor—contact us! alumni@calvin.edu
  • : ÃÛÌÒapp faculty, staff, and students, here is your chance to build departmental pride and a sense of team spirit while competing for a prize! Build a team with at least three ÃÛÌÒapp faculty or staff; teams can also include immediate household family members. The team with the largest number of participants will be rewarded with a treat from the Alumni Association.
  • : Register for the ÃÛÌÒapp Classic 5K with a team of four or more coworkers to promote fitness and community at your workplace. The winning team (determined by cross country scoring) receives $250. All other ÃÛÌÒapp Classic 5K rules and benefits apply.

More

  • Read about the history of the race, including past winners
  • Apple gift card drawing: To be entered to win one of four $250 Apple gift cards, either express interest in our event on Facebook or register for the 5k or Fun Run by 11:59 p.m. on Saturday, September 14.
  • Questions? alumni@calvin.edu | (616) 526-6142

Map


Ìý