, 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); })(); People | Â鶹Çø

Â鶹Çø

Skip to main content

People

Gregory Braun

Gregory Braun

Adjunct Professor of Advertising Director, MMSC Student Advertising & Media Agency
616-526-6473
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

Private Lesson Instructor(Violin)
Haley Weesie Profile Pic

Haley Kornoelje

Program Coordinator
(616) 526-6496
Hannah Brenton

Hannah Brenton

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

Hannah Daniels

Associate Director of Admissions, Events
616-526-6106
Hannah Patterson

Hannah Patterson

Programming and Communications Coordinator
526-6625