I suspect you are overthinking this.
You have a background image which covers a portion of the body (say 20% of the width), with the remaining space (80%) available for content.
So all you need is a containing div that is 80% wide and align that to the right.
Something like this:
What I also suspect is that your body background image isn’t scaling. Perhaps you are using fixed widths or something?
Ideally we need to see a reduced/basic demo in Codepen.io so we can see your code an tinker with that.