element position should be adjusted as the viewport is moved