, 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); })(); School of Graduate and Continuing Studies | »Æ´óÏɸßÊÖÂÛ̳

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

Skip to main content

School of Graduate and Continuing Studies

Your learning continues here.

Accessible. Affordable. Professional. 

The School of Graduate and Continuing Studies is committed to lifelong education for adult learners. We connect the best of the Christian liberal arts tradition with professional expertise to prepare you for the next stage in your career.  

The School of Graduate and Continuing Studies makes a Calvin education accessible and affordable to learners from across the world and at every stage of life. We offer certificate, degree, and professional development programs that go beyond the traditional classroom to meet the needs of adult learners, both online and on campus.

Levels of Study

Image
Graduate student

Graduate Programs

Achieve your goals through a master's degree or graduate certificate online or on campus.

Image
Degree Completion at »Æ´óÏɸßÊÖÂÛ̳ - woman's smiling face

Adult Undergrad Programs

Our adult undergraduate programs remove barriers for returning to school.

Image
A group of students sit together with laptops.

Professional Development

Enhance your knowledge and skills with our short courses for professionals, online and in person.

Explore All Graduate and Continuing Studies Programs

Delivery Mode
Online
Degree Options
Graduate Certificate

Post-BA Secondary Teaching Certification

Degree Options
Concentration

Project GreenER

Delivery Mode
On Campus
Degree Options
Microcredential

Delivery Mode
Online
Degree Options
Graduate Certificate

Speech Pathology and Audiology, dual degree BA-MA

Delivery Mode
On Campus
Degree Options
BA
Dual Degree
MA
Major

Teaching as a Christian Practice

Delivery Mode
On Campus
Online
Degree Options
Microcredential

Understanding and Assessing Pain

Delivery Mode
Online
Degree Options
Microcredential

Wayfinder Program

Degree Options
Cohort