I saved your code with the filename index2.html - dropping the s - and Moz loaded the page fine (minus the graphics and CSS of course, since I saved the HTML file on my local machine).
If you're page is just straight HTML, javascript and CSS, then there is no need for any other file extension than .html or .htm.
the actual source has a virtual include - hence the shtml. I am learning that this could be a server issue. The server included the code and then sent the "new" source to the browser as text???
Working web site is not the one that looks the same in a few graphical browsers, but the one that adequately delivers its content to any device accessing it.
Bookmarks