So how much of the speed up is due to removing the unnecessary nested tables, how much is due to reducing the page weight, and how much due to the 'Utilitarian CSS'?
I know modern web dev (e.g. OOCSS) encourages lots of classes everywhere, but when you have a highly regular structure with many repeated elements (i.e. potentially hundreds per page on article pages), it really pays off to use descendent selectors instead of adding multiple classes to every element. Certainly in terms of page weight. I doubt rendering time would differ much.
A few other things you could do to reduce page weight:
- Remove any nested elements that are not absolutely necessary. e.g. why do you need the two nested divs inside each list item? Just set the paragraph margins. You don't need grid or flex either — it's just a plain list.
- Remove the inline SVG. Use <img src="arrow.svg">, or make it a background image on the link, so it is only downloaded once, instead of being inlined potentially hundreds of times. (220 bytes x 300 = 60 KB) If you must inline it, then optimise it: you can get it down to half the size.
- The inline onclick handlers on links should be added by an eventListener in the JS file instead of repeated on every link. You can use CSS attribute selectors to detect which type of link was clicked instead of adding different classes to the different link types.