footer does not respect css stylesheet

It’s just css misunderstanding. if you want to select elementname.classname it means you are selecting elements by type of certain class like in fixed example below, but you’ve put a space between footer and .footer and this way rule expects markup like this

<footer> <div class="footer"></div> </footer>

This should work.

footer.footer {  
    background-color: #3a9dca;
}
footer .footermenu ul { /* i've added footer prefix here just for explicity - it was right before as well but it wasn't more specific as it is now */
    list-style-type: none;
}