Hey Sean, good effort on the site! To answer your questions:
you’re on the right track here, yes it was caused by the border and the hover effect. Adding a border increases you element height which increased it’s wrapper/parent hence taking up more space and pushing the content down.
Ideally in this case, I would set the default state to already have a transparent border. This is so that when you hover you don’t alter the element’s height, just the border color.
The state that you’re looking for here is “'Current” not “Visited”. While you can’t manually select the “Current” state. You can bring it up automatically by being on the page of the current link destination. I.e. Go to the article page and click on the article link. Beside your class name there should be a green “current” state added.
you don’t have to repeat this on all 3 links. as long as they share the same class name the current state will apply to all.