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

ÃÛÌÒapp

Skip to main content

Carrie Hoeksema

Adjunct Faculty (Women's Chorale)

Biography

Carrie Hoeksema joined the enthusiastic ÃÛÌÒapp choral community in 2024, after serving as Director of Choirs for 35 years for Kentwood Public Schools. Carrie conducts the ÃÛÌÒapp Women’s Chorale, where she makes a difference in singers lives through thoughtful and inspiring literature choices while creating an impactful classroom atmosphere of connectivity and caring.

During her tenure in Kentwood, Carrie conducted the MSVMA SSAA State Honors Choir in 2001 and 2017. Her Varsity Voices were selected as Outstanding Ensemble for the Michigan Youth Arts Festival in 2009 and 2010 and runners up many times, including 2024, and served as the Master Class clinic choir for ACDA-MI State Conventions in 2003, 2004, and 2006. Carrie earned her Bachelor of Music Education Degree from CMU, under Dr. Nina Nash Robertson and her Master of Music Degree in Choral Conducting from MSU, under the extraordinary leadership of Dr. Charles K. Smith. She and her husband, Sid, are the proud parents of Georgi Hoeksema and Gwyneth and Luke McGinnis.