, 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); })(); Crow headed to Grove City Hall of Fame - News & Stories | 鶹

Skip to main content

Calvin News

Crow headed to Grove City Hall of Fame

Wed, Feb 13, 2008
Myrna Anderson

Bob Crow, dean of student development at Calvin, is a 1983 graduate of Grove City College in his native Pennsylvania, and he is described on the Grove City Hall of Fame Web site as “undoubtedly Grove City College's most heralded men's basketball player in recent decades.”

For his part Crow is humble about the praise headed his way, but also honored.

“In some ways my career at Grove City seems like a long time ago,” he says. “But there is no doubt that playing intercollegiate athletics at Grove City was a formative experience for me. I learned a lot in the classroom certainly, but also learned a lot playing basketball, and made a lot of good friends. It will be fun to return to the campus this weekend to catch up with old faces.”

The second all-time leading scorer in Grove City history with 1,450 points, Crow twice led the Wolverines in scoring and averaged 18 points per game as a senior.

Following graduation, Crow joined the Athletes in Action international team, playing in Europe and Latin America. In 1984-85, Crow played professionally in France and earned the league's Player of the Year award after averaging 32 points per game.

He graduated with a B.A. in religion and sociology in 1983 and added his master's degree at Slippery Rock University.

Crow came to Calvin in 1998 as dean of student development, having also served at Calvin prior to that as a resident director from 1987 to 1989. He continues to hone his basketball skills each week with a group of faculty and staff who play lunchtime basketball in the Calvin Fieldhouse.