, 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); })(); Hekman Library Construction at Calvin | »Æ´óÏɸßÊÖÂÛ̳

»Æ´óÏɸßÊÖÂÛ̳

Skip to main content

Hekman Library

The (Commons Union Phase 1) construction is complete.

Ìý

Phase 1 ✔

Image
Campus Ministries new office space within the Commons Union.

The newly renovated space provides a central location for:

  • Campus Ministries,
  • the Career Center,
  • Career Services,
  • the Center for Student Success,
  • the Center for Intercultural Student Development,
  • TRIO Programming,
  • the Coordinator for Sexuality Programming and Student Support,
  • Campus Involvement and Leadership,
  • the CIT Helpdesk,
  • Honors and Cohort Programs,
  • the Service-Learning Center,
  • Student Senate,
  • Chimes,
  • Dialogue,
  • Nexus Peer Financial Coaching,
  • and other students organizations.

The renovation created large gathering spaces, the Commons Union, and study spaces for students. Heritage Hall remains on the 200 level, adjacent to renovated spaces for learning and collaboration.

Image
Students gather and study in the Commons Union lobby and enjoy the vibe of Peets Coffee.

The 300 level of the library features updated library staff offices, new circulation and reference desks, Calvin’s Rhetoric Center, a new computer classroom, updated group study rooms, and additional seating and study spaces for library visitors.

Image
Tables and chairs fill the study area of the Commons Union for small group work and team meetings.