, 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); })(); Homeschooled Students | °ÄÃÅÁùºÏ²Ê¿ª½±¼Ç¼×ÊÁÏ

°ÄÃÅÁùºÏ²Ê¿ª½±¼Ç¼×ÊÁÏ

Skip to main content

Homeschooled Students

Learn everything you need to know about applying as a homeschooled student.

Rising high school juniors and seniors

Interested in getting a head start on your college career? Consider taking courses at °ÄÃÅÁùºÏ²Ê¿ª½±¼Ç¼×ÊÁÏ as a high school junior or senior. Experience for yourself what college-level courses at Calvin are like through our dual enrollment program.

Start early. Start with Calvin.

Graduating seniors

How to apply

To apply to Calvin, please submit the following:

  • OR
  • High school transcript – send your transcript(s) directly to your admissions counselor or admissions@calvin.edu.
  • Official college/university transcripts – if you’ve done any college or university course work.
Test optional
Students may choose to apply as test optional. This means you are not required to submit SAT, ACT, or CLT scores in order to be considered for admission. Test scores are still required for early admission to the nursing or speech pathology programs. Find out more about applying as test optional.

For application deadlines, visit Facts & StandardsÌý»

Transcript requirements

Your transcript must contain:
  • Your cumulative GPA
  • Semester-by-semester coursework and GPA
  • A grade for each course
  • Very brief course descriptions
    • Include the type of curriculum and/or textbooks used
  • Indication of any completed college or co-op coursework
Your transcript must be signed by a parent and sent directly to your admissions counselor or admissions@calvin.edu.

°ÄÃÅÁùºÏ²Ê¿ª½±¼Ç¼×ÊÁÏ does not discriminate with regard to age, race, color, national origin, gender, or disability in any of its educational programs or activities.