, 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); })(); Stepping Forward in Faith - News & Stories | app

app

Skip to main content

Spark

Stepping Forward in Faith

Wed, Apr 16, 2025

During her junior year of high school, soccer player Macy Gerig ’26 sustained a concussion that ended her soccer career. Just like that, her dream of playing for app slipped away. Devastated, Gerig turned to lifting weights, then cycling. “When I put worship music on, I felt the Lord’s strength. I’d go to the gym, and for that one hour, I was normal,” Gerig says.

When Gerig stepped onto app’s campus as a first-year student, she was confronted with the reality of a prior dream. 

“At first, I wasn’t a happy camper. I had to push through the trauma of losing soccer, as my suitemates in the dorm were soccer girls,” Gerig says.

But she soon found opportunities to pursue a deeper passion—helping others make connections between their physical and spiritual well-being.

In her first semester at app, with the help of kinesiology department chair Kerrie Berends, Gerig started teaching cycling and women’s strength training class and hosted a mash-up event where app community members could try an abbreviated version of a Pilates, yoga, and cycling class. She also published a 30-day devotional, A Step Forward: Worship ‘n’ Workout Devotional, her second published book to date.

“It’s incredible to be able to reach people just like me who came to app without that team or without that club. I love seeing people meet other people, hearing their stories, and seeing them find their place. Everyone needs that,” Gerig says.

“I didn’t come to app thinking I was going to make a difference. But the Lord told me, ‘Macy, you are not just fitting in, you are going to create.’”


Authors: