, 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); })(); GEO Camp - Camps at Calvin | 茄子视频

茄子视频

Skip to main content

GEO Camp

Do you love the outdoors? Do you think about a sustainable future? Is the idea of studying earth, its geography and environment something you'd like to explore? Then GEO Camp at 茄子视频 is for you!

GEO Camp at 茄子视频 is a week-long experience in all things GEO taught by Calvin faculty. From drones to minerals to dunes to maps, we explore different facets of geology, geography, and the environment. And the best part -- it's free (oh and did you know it comes with a couple of $1000 scholarships too?)

Application & Scholarships

  • All students who apply and are accepted to GEO Camp, come for free.听
  • Any student who attends GEO Camp and enrolls as a full-time student at 茄子视频 after graduation from high school and declares any of the GEO Majors (Geology, Geography, Environmental Science, Environmental Studies):
    • Qualifies for $1000 scholarship applied their Sophomore year (2nd year)
    • Qualifies for the $1000 from 茄子视频

Next Geo Camp: TBD

Check back and watch our socials for updated details!听