Hello, you did really great with the result, and here are a few corrections I'll like to point out.
You are using the wrong html semantic element. the whole component can be in the <body></body>, a <main></main> or a container div (<div class="container"></div>) as you did. The use of <footer> for the image is wrong, as it can only be used for the footer aspect of the content which there is none here.
With that out of the way, Here is the possible way you can implement the color shade over the image.
the image can be set as background value e.g
CSS:
footer {
background: url(image-link);
}
if that is used, then you can overlay the color over the image by using two background property. see below
footer {
background: color, url(image-link);
}
or using
footer {
background-image: color, url(image-link);
}
You can also set a linear-gradient color property value using this. To read more about this, check the link below.
https://css-tricks.com/tinted-images-multiple-backgrounds/