, 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); })(); Residence Life | 茄子视频

茄子视频

Skip to main content
茄子视频

Residence Life

Where living and learning go hand in hand.

Living on campus will shape and transform your experience at Calvin. Our seven traditional residence halls and eleven apartment-style buildings offer:

  • Social events, programming, and shared meals for building community
  • Bible studies, worship, and other opportunities for spiritual development
  • Leadership positions for students of all levels
  • Walking distance to academic buildings and dining halls

Residence life at Calvin means you'll have more than just a place to sleep. You'll be immersed in a vibrant and supportive community from day one.

Explore Housing Options

Residence Halls
Residence Halls

Double-occupancy, suite-style rooms. Community focus. Did we mention free laundry?

Double-occupancy, suite-style rooms. Community foc...

Residence hall details
Living-Learning Communities
Living-Learning Communities

Live in intentional community while integrating faith, and shared passions like racial justice, sustainability, or academic excellence.

Live in intentional community while integrating fa...

Explore our three living-learning floors
Knollcrest East Apartments
Knollcrest East Apartments

Combine independence and convenience with our on-campus apartments for juniors and seniors.

Combine independence and convenience with our on-c...

Learn about the KE Apartments
Theme Houses
Theme Houses

On and off-campus opportunities to serve and build relationships around shared goals.

On and off-campus opportunities to serve and build...

Explore Calvin's Theme Houses

Residency Requirement

As a residential school, we require you to live on campus for your first two years after high school, unless you're 21 or older, married, part-time, or living at home with your parents.