Take a look here –
#welcome .wrap {
margin: 0 auto;
overflow: hidden;
padding: 40px 0 0;
width: 1152px;
}
and here –
#welcome .widget {
margin: 0 0 40px;
overflow: hidden;
}
Thats where the spacing is coming from.
In order for anything to be responsive it needs to either not have a width defined, or the width needs to be a percentage. You can do a Google search on Responsive Web Design basics, there are a lot of tutorials out there. Here is one -http://www.splio.com/responsive/