More specific margin CSS
Bugfixes

Refactored the scroll detection to use an indexed array. Before if the
first section didn't start at the top, scroll positioning was offset by
however far down the first section was. It now was start and finish
points for each section.