How would I removed the 20px of #main above the post without screwing up the front page?
When I look at http://ajgalestest.wordpress.com/ right now, I don't see #main extending above the featured posts area, but the "#content" and ".featured-posts" areas to have extra spacing at the top, albeit a little bit hidden. Here is an example screenshot I took with Chrome showing the space taken up by the "#content" area on the home page for example: http://cl.ly/GAC7/o
Also, since you have made so many modifications already, there are a lot of different ways this spacing question could be viewed or answered. Here is some CSS for how I would remove some of that extra, hidden spacing that I found and that I think you're referring to:
#main,
.featured-posts,
.page-template-showcase-php #content {
margin: 0;
padding: 0;
overflow: hidden;
}
.featured-posts {
height: 298px;
}
.featured-posts section.featured-post {
top:0;
}
#content .feature-slider {
top: -25px;
}
#text-5 {
margin-left:0 !important;
}
section.recent-posts {
margin-right: 0 !important;
}
Note that a lot of these rules are overrides for what you already have in your Appearance → Custom Design → CSS page, and so for some of them you can just edit your CSS and remove the things that aren't needed. For example, you could remove the "margin-left" line from the "#text-5" block completely instead of setting the margin back to "0" with the "!important" attribute.
Also, the !important attribute should be avoided if possible. Sometimes it really is needed, but if you start adding it too many times, then you keep overriding and overriding and overriding different little things and often what happens is that CSS becomes unmanageable at that point.