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

Â鶹Çø

Skip to main content

Camps at Calvin

Something for everyone to explore

Make the most of summer! Â鶹Çø offers a variety of camps for kids and youth, ages 5–18, designed to help bridge the gap between school years—while learning and having fun! NOTE: Contact information is available on each camp registration form.

Summer Camps

  • Chemistry Camps feature demonstrations and hands-on experiments designed to teach introductory chemical concepts. You’ll tackle sophisticated topics—like acids and bases, fat analysis of foods, and reactivity of metals—in a fun and intellectually challenging way.
  • Geo Camp explores different facets of geology, geography, and the environment: from drones to minerals to dunes to maps.
  • H.E.A.L.T.H. Camp, this free day camp is for boys and girls! Students will learn about their own health and explore jobs in the healthcare field.
  • Knollcrest Music Camps inspires personalized artistic development through formative, practical opportunities within an enriching, inclusive community. Students will refine their musicianship and enjoy the opportunity to play great music together.
  • Nature Camps in the Calvin Ecosystem Preserve & Native Gardens provide fun, hands-on learning adventures for kids ages six to fourteen. Immersed in the outdoors, campers develop a greater appreciation, understanding, and respect for God’s amazing creation.
  • allow children ages 5–18 to develop their athletic skills for both play and competition. Sports camps encourage teamwork, cooperation, a sense of adventure, and lots of fun.
    • Girl’s sports
    • Boy’s sports

Related Programs

  • Math Circle is an opportunity for 6th–8th grade students (typically 11–13 years old) to engage with exciting problems and topics in mathematics. Meetings are led by a professor in the Calvin math department and typically begin with a warm-up activity or game that leads into the day's problem or topic.
  • College Access Programs offer unique programs for students 9th–12th grade to grow and prepare for college life. We invite you to explore them all and see which might be a good fit.