margin: 0 auto adds an equal amount of margin to its left and right. This often does have the effect of getting the element centered, but may or may not be what you really need; e.g. it doesn't work if you need real margins, or if you want to nest aligned boxes.
For center tags, browsers to this day use a separate vendor-prefixed property, e.g. text-align: -moz-center. It is still much easier to use than whatever margin/float/flexbox/grid hack standard CSS has come up with, but -moz-center seems to be doomed to an eternal life as a non-standard (albeit ubiquitous) property.
(I remember that not so long ago even Google would set -moz-center on their search page. Such a great opportunity to standardize existing practice, left unexploited for 27 years and counting.)
<td valign="middle"> <center>
<hr style="width: 500px; margin-bottom: 40px; margin-top: 10px;">
</center>
Also, if anyone reads this, can you go to my site and tell me if the little pokemon minigame in the bottom right corner works for you? It usually works for me but sometimes if I open the site in Chrome on guest mode, it just loads a blank screen, but then if I resize the window it starts working. Sigh. <hr style="max-width:500px;margin:10px auto 40px">
(I’d also go max-width instead of width for the sake of narrower viewports.)[1] https://tonsky.me/blog/centering/apple_sign_in_business@2x.w...