The gap below your image is because your image is rendered as an inline element by default. If you change the display property of the div it's nested in (the one with class of main-img), it will remedy this. This article on Geeks for Geeks does a great job of explaining why this happens: https://www.geeksforgeeks.org/how-to-get-rid-of-the-gap-under-the-image/
Marked as helpful