mobile browsers these days have annoying address bars / toolbars / etc that interfere with the viewport height, so if you have some 100vh
elements they get partially obscured... to get the TRUE height of the viewport use:
Math.min(document.documentElement.clientHeight, window.screen.height, window.innerHeight);