Liebe(r) Chewie,
ein DIV ist ein Blockelement. Blockelemente erzeugen am Ende eine neue Zeile. Wenn Du ein DIV floaten lässt, dann erzeugt es keine neue Zeile.
Dein main_content erzeugt eine neue Zeile, weshalb die sidebar unterhalb davon steht. Wenn das sidebar-DIV vor dem main_content-DIV stünde, dann würde es rechts von main_content erscheinen.
Wenn Du aber (was sinnvoll wäre) den Content im Quelltext zuerst notieren würdest, dann wäre das besser (Barrierefreiheit, SuMa-optimierend etc.). Du musst dann nur noch eine neue CSS-Lösung (wer floatet wo?) für den main_header und die sidebar finden.
Liebe Grüße aus Ellwangen,
Felix Riesterer.