#1 - Your DOCTYPE is still screwed up which is a direct result of you
Find/replacing TAG elements.
I'm not convinced that Richard has progressed beyond the "any doctype
will do" mentality that he has previously exhibited to actually
understanding that the html markup must match the doctype if he wants
cross browser consistency.
#2 - just looking at 'View Source' in Firefox I can see that you have
closing </li> tags with no opening <li> tags, and some others.
That would be the broken tag soup I was referring to earlier then.
#3 - If you would include line breaks in appropriate places your HTML
output would be much easier to read. ie: after closing tags for
starters.
But if people can read his html they might copy it ....
From his pov, he doesn't want his precious html stolen. From our pov, we
don't want people using his html as an example of how to write html.
#4 - If you want your table cells to match width then you will need to
size them accordingly, they won't magically match.
I'm guessing he's using multiple tables and each table is auto allocating
column widths. This should be fixable with css using:
table tr td:first-child {width:n px} /* col 1 */
table tr td:first-child + td {width:n px} /* col 2 */
table tr td:first-child + td + td {width:n px} /* col 3 */
table tr td:first-child + td + td + td {width:n px} /* col 4 */
..... continuing the "+ td" chain for each additional column
It might look a bit fiddly as css, but it saves having to mess about with
the table markup at all.
Of course, fixing it with CSS will require that his doctype and his markup
match each other so that all browsers can apply the css to a consistent
dom, rather than their browser specific handling of any broken markup.