, 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); })(); Performances and concerts Event Services | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Performances and concerts

Perfect acoustics, beautiful architecture, the latest technology, and spaces tailor-made for any style and any crowd have turned ÃÛÌÒapp into a great place to perform or catch a show in West Michigan.

From local sensations to national headliners, ÃÛÌÒapp has the venue, the tech and the team to make every performance and every concert unforgettable. Browse our many venues below and you’re sure to find the exact space you’ve been dreaming of.

Ìý

Top venues

Van Noord Arena

The arena floor can be tailored to fit any event’s unique needs, from a conference to a banquet. State-of-the-art technology, lighting, sound, video and broadcast capacity make Van Noord Arena perfect for any corporate gathering.

Covenant Fine Arts Center

With a small recital hall and a larger auditorium—one with stunning acoustics lauded by acts like William Close and the Earth Harp Collective—the Covenant Fine Arts Center has space to suit many needs. The building also features several open spaces ideal for refreshments and merchandise tables.

University Chapel

With a round stage at the center, unique, purposeful architecture, the latest lighting, technology, audio and video, and an ornate pipe organ, the University Chapel will make your special event unforgettable.

Hoogenboom Health and Recreation Center

Need high-tech audio, visual and lighting systems combined with customizable seating and stage setups? The Hoogenboom may be the venue you’re looking for. Perfect for a mid-sized concert, this flexible space has hosted musical acts ranging from Ingrid Michaelson to The Head and The Heart.

Ìý

Start Planning