Your page is in <div class="container" > and that contains two elements the <section id="mainContainer"> followed by <aside id="rightContainer">. In the normal flow of things mainContainer is rendered first and then rightContainer. You have nothing I can see to take rightContainer out of the flow so it appears the way you wanted it to. In fact the name says it should be to the right.
If you cut and paste the <aside id="rightContainer"> to appear in <divclass="container" > before section id="mainContainer"> it becomes closer to what you what.