I only checked the code of the home.html file:
Instead of the generic div.header and div#myTopNav, you might use the dedicated HEADER and NAV elements.
CODE
<i class="fa fa-fw fa-home"></i>
The above seems to be used by the Font-awesome library to create menu icons. The I element seems semantically unsuitable there, and all the CSS classes make it look a bit bloated. Instead you might use CSS background-images on the A elements for the icons, along with a little padding-left to create space.
It's safest to specify a CSS background-color with together with the text color. If say a CSS background-image doesn't load, you may otherwise end up with white text color on a white background.
Some of the CSS comments seem a bit redundant, basically saying the same as the CSS rules themselves.
Using px units for font size used to be problematic, at least before browsers added zoom and minimum font-size user settings.
https://www.w3.org/TR/2024/CRD-css-values-3...bsolute-lengths says that absolute length units like px "are mainly useful when the output environment is known" (such as for print stylesheets), while
https://www.w3.org/TR/css-fonts-3/#font-size-prop says that "Use of percentage values, or values in ems, leads to more robust and cascadable style sheets."