, 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); })(); Bringing the beach to campus - News & Stories | 麻豆区

麻豆区

Skip to main content

Spark

Bringing the beach to campus

Tue, Sep 01, 2020

This summer a dune appeared on Calvin鈥檚 campus.

For nearly two decades, Deanna van Dijk, professor of geology, geography, and environmental studies and head of the First- Year Research in Earth Sciences program, has been taking students to the Lake Michigan dunes for valuable hands-on research experience. But this year, she had a problem to solve: how to get her class to the dunes frequently throughout the semester given the risks associated with travel and COVID-19. She started thinking about ways to reduce risks when a bold idea crossed her mind.

鈥淪ome ideas you don鈥檛 know where they come from; my mind went, 鈥榃ell, we are trying to bring students to the dunes, but could we bring dunes to students?鈥 It seemed like a really crazy idea, and I knew that to make that work it would be an awful lot of sand to place somewhere on campus,鈥 she said.

A lot of sand? Try 300 cubic yards or 800 tons.

The sand was delivered by a local landscaping company to the east side of campus and spread over existing topography just northeast of the Prince Conference Center and given an artificial dune shape until the wind began pushing the sand into more natural shapes for research purposes.