Well, people with wider screens are going to have more side-to-side space than vertical space, unless your wrapper can grow sideways (flex-width).
One thing you could try is from the other direction: give the body % padding and let the #wrapper loose as far as width. like
padding: 10%; /*or something*/
/*no width or margins*/
your vertical margins can be %'s as well. They don't have to be px.