, 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); })(); About Us The de Vries Institute | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

About Us

The de Vries Institute for Global Faculty Development (dVI) aims to expand the capacity of Christian faculty members to integrate the Christian faith with their work as scholars in meaningful, authentic, and transformative ways.

DVI carries out this mission not only among faculty at ÃÛÌÒapp and ÃÛÌÒapp Theological Seminary, but with Christian faculty and institutions worldwide who are committed to a vital synergy between Christian faith and academic life.

A generous gift from the estate of Rimmer and Ruth de Vries made possible the founding of dVI as an institute of ÃÛÌÒapp.


Matthew Lundberg

Matthew D. Lundberg

Director, de Vries Institute for Global Faculty Development; Professor of Religion
616-526-8875
David Smith

David I. Smith

Professor | Director, Kuyers Institute for Christian Teaching and Learning | Coordinator, De Vries Institute for Global Faculty Development
616-526-8609
Laurie Lemmen

Laurie Lemmen

Professional Studies Manager, de Vries Institute and School of Graduate and Continuing Studies
616-526-8744
Margie Styf portrait in front of greenery

Margie Styf

Administrative Assistant
616-526-6555
Jordan Ballor

Jordan Ballor

Coordinator, Kuyper Prize and Conference
DSCF2494.JPG

Ralph Stearley

Professor Emeritus, De Vries Senior Contributing Scholar
616-526-6370
Naomi van Rijn

Naomi van Rijn

De Vries Instructional Fellow