, 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); })(); Ralph Stearley | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Dr. Ralph Stearley

Professor Emeritus, De Vries Senior Contributing Scholar

Biography

Current teaching

  • Intersections of Theology and Science (ÃÛÌÒapp Seminary; co-taught with professor Mary Vanden Berg)
  • Paleontology (GEO/BIO 313)

Education

  • Hometown: Kansas City, Missouri
  • Completed a BA in anthropology at the University of Missouri, 1975
  • Earned an MS in geology from the University of Utah
  • Received his PhD in geology and paleontology from the University of Michigan, 1990

Professional Experience

  • Ongoing paleontological work focuses on the Neogene record of fish faunas, particularly in western North America, correlated with changes through time in drainage basin dynamics and ecology.  A particular emphasis is the development in time and space of salmonid ecosystems.  These studies are accompanied by detailed studies of the anatomy and taxonomy of our modern salmonid fishes (whitefishes, chars, trouts, and salmons).
  • Current work also involves writing articles and books about fossil discoveries and what they are telling us, related to the historic Christian faith. 
  • Past research has included studies of nearshore marine invertebrate ecology as well as the biogeography of Ice-Age mammals, including the excavation of the Ada Bible Church Mastodon in nearby Cascade, Michigan.

Academic Interests

  • paleontology
  • biogeography
  • history of science
  • relationships of science and theology

Publications