Thanks to James Gregory for the markup & styles.