, 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); })(); Flat Iron Lake Preserve | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Flat Iron Lake Preserve

Image
FILP
The Flat Iron Lake Nature Preserve is in Kent County's Oakfield Township, approximately 30 miles northeast of Grand Rapids. The nature preserve was the idea of , who owned much of the property surrounding Flat Iron Lake and wished to see the land preserved for green space and scientific study.

The project was completed in Fall 2009 with the donation of the final pieces of property, and the creation of an endowment to support the preserve’s long-term maintenance.

This 68 acre preserve includes these features:

  • 25 acre kettle lake,
  • 13 acre deciduous forest with vernal pools,
  • 18 acre created prairie,
  • Lake house used for ÃÛÌÒapp classes, as a  facility, and retreat center.

The Flat Iron Lake Preserve is under the direction of Dr. James Skillen, Director of the ÃÛÌÒapp Ecosystem Preserve & Native Gardens.

Interested in learning more? Find out what it's like to live next to the prairie by reading . 

Location

48838

43.12367, -85.38363

Related Places