, 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); })(); Calvin Community Symphony Concert | Â鶹Çø

Â鶹Çø

Skip to main content

Events Calendar

Calvin Community Symphony Concert

S M T W T F S
23
 
24
 
25
 
26
 
27
 
28
 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30
 
31
 
1
 
2
 
3
 
4
 
5
 

Calvin Community Symphony Concert

  • Sat, Mar 08, 2025
  • 2:00 pm–3:30 pm
FREE

Covenant Fine Arts Center Auditorium

Image
Untitled design

The Calvin Community Symphony is celebrating 30 years of making music in the West Michigan Community! This exciting concert features many local musicians and a wide variety of music sure to delight classical music aficionados and novices alike. Previous CCS conductors John P. Varineau and Robert Nordling return to the podium to lead the symphony. Local violinist Letitia Jap will perform the Saint-Saens virtuosic Introduction and Rondo Capriccioso, and the CCS will premiere a beautiful work by local composer Kyle Nester. To end this celebratory concert, Scott Vanden Berg will conduct Beethoven’s powerful and passionate Fifth Symphony. There’s nothing like hearing the most recognizable opening four notes in classical music live. Come celebrate with the CCS! CCS concerts are general admission and free to attend. There will be an opportunity to make a tax-deductible donation to support the symphony. Your patronage is greatly appreciated by the musicians and all who enjoy the music. 

Repertoire:

  • Symphonic Dances Op.45, I. non allegro by Sergei Rachmaninoff
    • Guest conductor Robert Nordling
  • Pelléas et Mélisande Suite, Op. 80, I. Prelude by Gabriel Fauré
    • Guest conductor John Varineau
  • Introduction and Rondo Capriccioso, Op. 28 by Camille Saint-Saëns
    • Featuring violinist Letitia Jap
  • Foundation Overture by Kyle Nester
    • World premier
  • Symphony No.5, Op.67 by Ludwig van Beethoven