"You're not going to be able to remove the viewport unit dependencies. By default, block-level elements take up only as much vertical room as the content requires. In this case, there is no content so the elements shrink to literally nothingness. If you want there to be content-less height you use vh
. Or even if you want there to be contentful height, you use vh
to set that initial full-height containing block." - just_13eck