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

ÃÛÌÒapp

Skip to main content

People

mellema

Gregory Mellema

Professor Emeritus
526-6414
Buteyn CHOICE

Gwen Buteyn

Former Education Field Placement Administrative Assistant
616-526-6206
Hadassa Ribeiro Agostini Da Costa

Hadassa Agostini Ribeiro Da Costa

Student Office Assistant
Haijin Choi Headshot

Haijin Choi

Lesson Instructor (Violin)
Hayley Weesies

Haley Kornoelje

Plaster Creek Stewards Project Coordinator
616-526-6496
Hannah Atsma

Hannah Atsma

Biology Lab Services Manager
616-526-6080
Hannah Brenton Headshot

Hannah Brenton

Student Success Specialist
616-526-6595
Hanna Van't Hof

Hannah Daniels

Associate Director of Admissions, Events
616-526-6106

Hannah DeBoer

Lesson Instructor (Voice)