Adding to Nils Kaspersson's solution, I am resolving for the width of the vertical scrollbar as well. I am using 16px
as an example, which is subtracted from the view-port width. This will avoid the horizontal scrollbar from appearing.
width: calc(100vw - 16px);
left: calc(-1 * (((100vw - 16px) - 100%) / 2));