, 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); })(); Alumni Association | Â鶹Çø

Â鶹Çø

Skip to main content

Alumni Association

You’ve tossed your cap but that doesn’t mean your journey with Calvin has to end! The Alumni Association is here to serve you well beyond graduation. You can connect with other alumni worldwide, help strengthen our mission, stay inspired, and have a whole lot of fun along the way.Ìý

Make sure you get the news and updates that matter to you by keeping us in the loop on your current location. If you’ve moved, update your contact information.Ìý

Looking for Calvin gear? You can purchase items through our or through the .

Image
Group of Â鶹Çø alumni and prospective families, holding a maroon and gold flag

Connect

Stay connected with alumni and the university! Join our virtual book club, find fellow alums in our directory, or follow us on social media.

Image
Smiling graduates from the Class of 2024 at Â鶹Çø

Benefits & Services

Discover the many ways the alumni association and the university provide lifelong benefits and services to you.

Image
Collage of Spark magazine covers

Spark Magazine

The official Calvin alumni magazine, featuring stories about Knights across the globe. Also find forms to change your address, submit news, and obituaries.

Image
contentAsset-image-dfa1349c-defd-4ef1-b4b5-608b0d89a2cf-bannerImage-filter-Resize-Jpeg-resize-w-720-jpeg-q-70

You're a Knight for Life

We are here to serve you—as a student and for the rest of your life. The moment you stepped on campus you were welcomed into a network of over 65,000 Calvin grads who want to help you succeed.Ìý