, 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); })(); Custodial Services Facilities | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Custodial Services

About Us

Our team is committed to the upkeep of campus buildings. We provide cleaning, recycling/waste pick-up, and support services for all facilities on campus. Additionally, we are responsible for setting up, tearing down, and cleaning for campus events, inspections, and delivery services.

Custodial Service Contacts

Sandy Palmatter - Academic Custodial Director

Emily Taylor - Residential Custodial Director

Stanley Stanley - KE Apartments Custodial Manager

Recycling Program

Responding to God's call to care for creation, ÃÛÌÒapp initiated a recycling program in the early 1980s. What started as a basic program to collect glass, metal, plastic and paper products has grown into a service able to handle a wide range of materials from Styrofoam to construction debris. We are always looking to expand in new directions, so if you have an idea you want to share, please look for contact information below.The recycling program at ÃÛÌÒapp is managed by Grounds department staff. In addition to commonly recycled items such as paper, glass, metal and plastic, resident students and staff can recycle a variety of other materials. The university’s Recycling Coordinator oversees the program and records totals on a yearly basis.

Recycling Contact

Nicholas Koppenol - Recycling Coordinator