, but this code // executes before the first paint, when

app

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); })(); Recently Awarded Grants Grants | app

app

Skip to main content

Recently Awarded Grants

Name, Dept.Summary
Vander Woude, Judith
SPAUD
Funding audiological equipment, Carls Foundation
Warners, David
Biology
Sourcing E. coli contamination of Plaster Creek, Michigan Department of Environmental Quality
Looyenga, Brendan
Chemistry & Biochemistry
Mechanism for Acute Activation of GLUT1, NIH-NIDDK
Looyenga, Brendan
Chemistry & Biochemistry
Arnold & Mabel Beckman Foundation Scholars Program, Arnold & Mabel Beckman Foundation
VanderLeest, Steve
Engineering
US Patent 8,836,672 “System and Method for Improving Machine Vision in the Presence of Ambient Light”, US Patent and Trademark Office
Koop, Jan
Mathematics & Statistics
Improving Teacher Quality Title II Supplement, MI Dept. of Education
Arnoys, Eric
Chemistry & Biochemistry
The Mechanism for the Acute Activation of GLUT1, NIH
Van Dyke, Christina
Philosophy
Research Fellowship at the Center for Philosophy of Religion, University of Notre Dame, Center for Philosophy of Religion, Notre Dame
Van Dyke, Christina
Philosophy
(Ever?)Lasting Happiness: Immortality and the Afterlife ($75,000 grant via the Immortality Project at University of California-Riverside, Immortality Project at University of California-Riverside
Warners, David
Biology
Plaster Creek Watershed Restoration Project 2, Michigan Department of Environmental Quality
Warners, David
Biology
Reducing Stormwater in Lower Grand Rier Watershed through Green Team Training and Regional Rainscaping Planning, Environmental Protection Agency