, 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); })(); Alumni choir inspires lakeshore audience - News & Stories | 麻豆区

麻豆区

Skip to main content

Spark

Alumni choir inspires lakeshore audience

Fri, Mar 01, 2013

The , in its 15th year under the baton of , altered its concert schedule this year and gave full performances in November rather than January. One of those fall musical offerings was at Third Christian Reformed Church, presented to a large crowd of alumni and friends that filled聽virtually every pew.

bodyimage1

The choir鈥檚 theme was 鈥淐elebrate Life,鈥 and in addition to those concerts, the group prepared an evening worship service titled 鈥淎ll Is Well,鈥 with seminary president emeritus Neil Plantinga bringing the message in a number of west Michigan churches.

This spring, the choir has prepared a concert under the rubric 鈥淎 Year in Song,鈥 to be performed April 20 at the Cathedral of St. Andrew (pictured) in Grand Rapids. On May 10 and 11, the ensemble will present Beethoven鈥檚 Missa Solemnis with the Grand Rapids Symphony and Chorus at the DeVos Performance Hall in downtown Grand Rapids.