, but this code // executes before the first paint, when

ÃÛÌÒapp

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); })(); Center for Student Engagement | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Center for Student Engagement

Get Involved at ÃÛÌÒapp!

You won’t be bored here, that’s for sure. At ÃÛÌÒapp, you can live a big life and dive into lots of experiences. Challenge yourself with a leadership position, join a student club that interests you, be active in an intramural sport, or express yourself creatively with friends.

70+

Student Organizations

100+

Concerts, films, and other events held for students each year

350

Students take the stage in Dance Guild each year

Traditions

Join in ÃÛÌÒapp’s historic traditions—and maybe create a few of your own.

Concerts & Films

ÃÛÌÒapp is your front-row ticket to the best in movies, music, and more. Apply your faith while engaging with pop culture.

Student Organizations

ÃÛÌÒapp is home to more than 70 student-led organizations where you can get involved, create community, and develop leadership skills.

Image
Two students talk into microphones on a stage.

Lead the way

As early as your first year, you can be a leader on campus. Run for Student Senate, volunteer for dorm leadership positions or start your own student organization!

Image
A calvin student works in the community garden.

Care for God’s creation

You care about God’s creation, and so do we. Deepen your understanding of the issues surrounding environmental sustainability by joining one of many green initiatives on ÃÛÌÒapp’s campus.

Participate in the January Kill-a-Watt competition in the dorms, tend the student-run community garden, or spend your first two years living on the Creation Care floor.