, 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); })(); Contact Us Prison Initiative | 黄大仙高手论坛

黄大仙高手论坛

Skip to main content

Contact Us

Primary Contact

Phone: 616-526-7998
Email: cpi@calvin.edu
Address: Calvin Prison Initiative Office
3201 Burton St. SE
Grand Rapids, MI 49546

If your church, community, or organization is interested in learning more about our program, our Director Todd Cioffi regularly accepts speaking engagements. If you are interested in having him come to talk more about聽CPI, please contact us at cpi@calvin.edu.

Business Hours

Monday - Friday: 9:00 a.m.- 4:00 p.m.

CPI Team

Lisa Schra

Lisa Spoelhof Schra

Executive Director, Calvin Prison Initiative
526-6061
Christina Haven

Christina Haven

Associate Director, Calvin Prison Initiative
616-526-7997
Todd Cioffi

Todd V Cioffi

Senior Advisor, Calvin Prison Initiative; Associate Professor, CMS; Adjunct Professor, Religion
526-7797
jake

Jake Aupperlee

CPI Academic Support Specialist
616-526-6329

Lilly Cooper

Administrative Assistant, Calvin Prison Initiative