Wewnątrz footer-botom p znajduje się padding-bottom:
.footer-bottom p {
padding-bottom: 0.9em;
}
Aczkolwiek moim zdaniem bez tego padding-bottom-u wygląda źle.
Div z klasą "newsletter-opt-in" zaś ma także id="Stretch5" do którego przypisano wysokość: 30em.
Ona ustanawia wysokość danego diva, co sprawia, że pod frame znajduje się jeszcze pewna przestrzeń.
Usuń height: 30em dla #stretch5, ale nie będzie to wyglądać dobrze.
Podobnie height dla frame ustanawia niejako marginesy.
Bo jeśli np stworzysz div, wewnątrz napiszesz tytuł, nadasz tytułowi margines top i bottom 5rem załóżmy, tytuł będzie miał powiedzmy line-height 2rem, to cały div wyniesie 12rem wysokości z tytułem wyśrodkowanym w pionie.
Ten sam efekt możesz osiągnąć nadając divowi 12 rem height, i dla tego samego tytułu padding-top: 5rem, a wysokość diva 12 rem sprawi, że jeszcze 5 rem pod tytułem będzie się wyświetlać wolnej przestrzeni.