, 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); })(); Climbing Wall Open Hours | °ÄÃÅÁùºÏ²Ê¿ª½±¼Ç¼×ÊÁÏ

°ÄÃÅÁùºÏ²Ê¿ª½±¼Ç¼×ÊÁÏ

Skip to main content

Events Calendar

Climbing Wall Open Hours

S M T W T F S
29
 
30
 
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
 

Climbing Wall Open Hours

  • 9:00 am - 12:00 pm
Image
Static photo of °ÄÃÅÁùºÏ²Ê¿ª½±¼Ç¼×ÊÁÏ's indoor rock wall

All spots are filled for Saturday's open climb.

The Calvin Climbing Center, located in the Spoelhof Fieldhouse Complex, will be open throughout Homecoming and Family Weekend! With 40+ routes and 16 climbing ropes, you're bound to have a good time. 

How long can I climb?

Climbing times are set for one hour to allow as many families as possible the opportunity to try out the climbing wall.

Who can climb?

Climbers ages 8 and up are welcome! Early elementary school climbers must be able to fit properly in a full-body harness to be allowed to climb. Final decisions will be at the discretion of the climbing staff based on safety.

Who is belaying me?

Calvin Climbing Center staff will be available to belay new climbers, or to provide instruction for families climbing together. If your Calvin student has already received belay certification, they will also be able to belay for your family. 

What should I wear?

Wear comfortable clothing that allows flexibility of movement, as well as close-toed shoes.

All participants must complete a waiver to climb. Climbers under age 18 must have a waiver signed by a parent/guardian. See the Climbing Center website to print out the waiver in advance, or leave time to fill out the waiver when you arrive.