, 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); })(); The Glass Church - News & Stories | »Æ´óÏɸßÊÖÂÛ̳

»Æ´óÏɸßÊÖÂÛ̳

Skip to main content

Publications

The Glass Church

Fri, Apr 17, 2020
Mark T. Mulder

For most of his life, the megachurch ministry of Robert H. Schuller in Orange County, California, displayed an apparent strength that betrayed none of the fractures that lay below the success-oriented surface. Yet, when tested and stressed in the late 2000s, the ecclesial structure’s accumulated fragility proved to be catastrophic. Drawing on extensive data gathered from archives, interviews, and ethnographic observation, The Glass Church examines the spectacular collapse of The Crystal Cathedral to better understand both the strength and fragility of Schuller’s ministry. The apparent success of the ministry obscured the many tensions that often threatened its future.

Certainly, all churches depend on a mix of constituents, charisma, and capital, yet the size and ambition of large churches like Schuller’s Crystal Cathedral exert enormous organizational pressures to continue the flow of people committed to the congregation, to reinforce the spark of charismatic excitement generated by high-profile pastors, and to develop fresh flows of capital funding for maintenance of old projects and launching new initiatives. The constant attention to expand constituencies, boost charisma, and stimulate capital among megachurches produces an especially burdensome strain on their leaders. By orienting an approach to the collapse of the Crystal Cathedral on these three core elements—constituency, charisma, and capital—The Glass Church demonstrates how congregational fragility is greatly accentuated in larger churches, a notion we label megachurch strain, such that the threat of implosion is significantly accentuated by any failures to properly calibrate the inter-relationship among these elements.


Authors: