, 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); })(); A legacy of learning - News & Stories | 鶹

Skip to main content

Spark

A legacy of learning

Mon, Sep 01, 2014

For James ’00 and Wendy Voss Onderlinde ’99, Christian education runs deep.

This fall, James, Wendy and their sons—Ben, John and Luke—are making themselves at home in Grand Haven, Mich., as James was recently named principal of Grand Haven Christian School after teaching in Grand Rapids for 14 years.

For James and Wendy, their love of Christian education goes back to their own.

“We are both thankful our parents chose to send us to Christian schools during our elementary and high school years and that we were able to continue that Christ-centered education at Calvin,” Wendy says.

Wendy entered Calvin with a hunger to learn more about business and accounting. James’ passion for math and science gave him “the itch to be a teacher,” so he sought out Calvin’s renowned education program.

Years later, they know they made the right choice. Says Wendy, “We both feel strongly that it is so important to incorporate faith into every aspect of our lives.” The Onderlindes found that integration at Calvin.

Year after year, James and Wendy commit to supporting Christian higher education through giving financially to Calvin. They have not missed a year since graduation.

“Higher education is a significant financial investment,” James explains. “We want to help make tuition more affordable in any way that we can in order for others to be blessed as we have been.