, 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); })(); Contact Us - Campus Safety | Âé¶¹Çø

Âé¶¹Çø

Skip to main content

Contact Us

Campus Safety office location:

Campus Safety is located in the Mail & Printing Services Building #200.ÌýÌýÌý
To find us, please turn north into our parking lot from Knollcrest Circle Drive and park to your left. We are on the second floor on the east side of the building. Please use the side door; the stairs to our office are immediately in front of you.

Email:Ìý safety@calvin.eduÌýÌý
Emergencies: (616) 526-3333ÌýÌý
24 hour dispatch: (616) 526-6452ÌýÌý
Safety escorts: (616) 526-6452ÌýÌý
Front desk: (616) 526-6451 (Hours: 8AM - 5:00PM M-F [4:30PM, Summer])ÌýÌý
Ìý

Map

Staff

william corner

William Corner

Director of Campus Safety
526-6751
tyson moore

Tyson Moore

Assistant Director
simon bennett

Simon Bennett

Physical Security Specialist
616-526-7835
Collins

Frank Collins

Campus Safety Officer
mary dekker

Mary Dekker

Campus Safety Officer
nate ewen

Nate Ewen

Campus Safety Officer
Image not found

Jeffrey Hawke

Campus Safety Officer
Timothy Hoornstra

Timothy Hoornstra

Campus Safety Officer
james potter

James Potter

Campus Safety Officer
Cheryl Roels

Cheryl Roels

Administrative Assistant
Lee thomet

Lee Thomet

Campus Safety Officer