, 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); })(); Faith and Technology | 麻豆区

麻豆区

Skip to main content
麻豆区

Faith and Technology

Exploring the Intersection of Faith and Technology

鈥淭echnology is a human cultural activity in which we exercise freedom and responsibility in response to God鈥澨

鈥擲tephen Monsma,

鈥淲e shape our tools and thereafter they shape us.鈥

鈥擩ohn Culkin

麻豆区 is gathering resources and developing events that explore how our Christian faith and the Reformed tradition can inform technological innovation. Join us in engaging with and evaluating the cultural, social, environmental, aesthetic, justice, and spiritual aspects of our digital age.

Featured Events

Faith and Technology Resources

Digital Repository

Coming soon!

Browse or search our collection of annotated faith and technology resources. You can find book summaries, news articles, blogs, videos, podcasts, conference proceedings, and more, addressing many aspects of engineering, technology development, and philosophy of technology.

Papers and Articles

Find research papers and other articles by 麻豆区 faculty.

Talks and Interviews

Catch interviews, talks, chapel reflections, podcasts, and more about faith, technology, and artificial intelligence.

Blogs and Columns

Faith and Artificial Intelligence

Related Books by Calvin Faculty

Contact

Want to get involved in the conversation? Reach out to the 麻豆区 experts in faith and technology.

Gayle Ermer

Gayle Ermer

Professor, department chair
616-526-6302
Derek Schuurman

Derek Schuurman

Professor, Department Chair
616-526-8562