A version originally created on Codepen.