You have a min-width or just width applied to nav and other elements which causes them escape the body tag if there width is bigger than it. This is causing your page to look weird on phone widths To fix replace all min widths and widths on the overflowing tags with max-width and set min width to 100%.
Tip: Next time check with dev tools the size of each element going true from html to to p tag and check there sizes by looking at the orange area that gets highlighted if the above element is bigger you got a (stack)overflow.
Tip: Next time check with dev tools the size of each element going true from html to to p tag and check there sizes by looking at the orange area that gets highlighted if the above element is bigger you got a (stack)overflow.
Also thanks to your issue I found out that you could set a min-width on the body tag so on to small displays the pages does not get quashed