As the guy with the sophomoric monicker
said, you've got some unneeded CSS complexity. You have some serious problems with functionality that should be met before worrying about the layout.
Your form is poorly formed (pun not intended). The submit button does not submit the data to the server. It opens the user's mail client with a MAILTO: tag. No data is submitted.
On a separate level, you will need to write the backend (server-side) script(s) to handle the data from the form.
For some hints, you may be interested in these snippets. One illustrates a hybrid method of vertically centering
your page. This might be an alternative to extending the vertical. Another is a vertical navbar
much like yours. It is fully functional html with CSS to embellish the look and allow for further layout control. There is no js.
1. make it functional html
1a. write the backend scripts
2. lay it out with stylesheets
3. embellish with js