It looks like you missed adding <div class="row">
inside of the .container
before adding your columns. I'd give this a shot first giving you the following code.
<div class="container">
<div class="row">
<div class="col-lg-4 col-lg-offset-3">
...
</div>
</div>
</div>
<hr>
<footer>
...
</footer>
Alternatively
Since nothing in life is ever easy, it could also be that you have some elements in your form (Position absolute and floated elements) that aren't being counted in the calculation of height on the div
above the footer.
If this is the case, adding a <div class="clearfix"></div>
before the closing tag of the main div
should do it.
Result should look something like this..
<div class="col-lg-4 col-lg-offset-3">
...
<div class="clearfix"></div>
</div>
<hr>
<footer>
...
</footer>