Hey Red Pangilinan, nice job and welcome!
First things first, your solution looks really good, exactly what the design wanted.
Your footer does look a bit over-engineered, but nothing crazy. What you can do is after you're done, open up the console and turn CSS properties on and off, if it doesn't make a difference it doesn't need to be there.
For example, the container for your social icons has a margin bottom, even though the content are at the top anyways, you can see that turning off that property doesn't change anything.
But don't worry about long HTML, that's the nature of a markup language. There may be some room for optimization, but you'll get there with time.
Edit: By the way, if you want to have an easier time with naming your classes, you may want to look into BEM, or other conventions like it.