, 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); })(); Climate change lecture series - News & Stories | 麻豆区

麻豆区

Skip to main content

Calvin News

Climate change lecture series

Tue, Oct 26, 2010
Matt Kucinski

On Thursday, October 28 and Thursday, November 18, Calvin College will be hosting a pair of lectures on climate change--the first two in the "Thinking About and Responding to Climate Change" lecture series.

On Thursday, October 28, Tom Ackerman, a professor of atmospheric sciences at the University of Washington, will deliver a lecture titled: "Responding to Climate Change: The Potential and Risks of Geoengineering Options."

Ackerman's lecture considers some of the possible geoengineering climate interventions along with some of the ethical and legal questions that will be associated with their use.

Ackerman '70 has extensive and distinguished experience in climate research including both observational and modeling studies. He has also previously served as the Chief Scientist of the Department of Energy's Atmospheric Radiation Measurement (ARM) Program, which is the largest ground-based atmospheric observing program in the world. And he currently serves on the science teams of two different NASA satellite-observing systems.

On Thursday, November 18, Steven Bouma-Prediger, a professor and chair of the religion department at Hope College, will deliver a lecture titled: "Ethical Issues in Climate Change: A Theological Perspective."

Bouma's lecture examines the ethical implications that climate change has for Christians, specifically for those living in the developed world, with respect to what actions need to be taken to address or limit its likely impacts.

Both lectures will begin at 7:30 p.m. in Calvin's Science Building (Room 110) and are sponsored by the Calvin Center for Christian Scholarship, Integrated Science Research Institute and Calvin College.

For more info on the lecture series, contact Ken Piers at 616-526-6491.


Authors: