the issue was 100vw ignores the width of vertical scroolbar, the width of which changes from os to os, browser to browser