It seems to me like what is moving your design around or causing misalignment is that the flex aspect of it all understandably shrinks or expands with the text. For example, Site Information is one row while Explore The Archive is two. You can get around that by adding a line break or, in other areas of the site, set a min-height that it has to have, so it doesn't become smaller when less text is there, like it does right now. Similarly, if you don't want it to become huge with more text and become misaligned, you might want to add a max-height and make it so a scrollbar appears with overflow: auto.
What could also be helpful is toying around with display: inline-block;.
In regards to the font issue with Firefox, I have faced similar issues in the past and it seems important to supply Firefox with a different font format (woff, woff2) other than ttf. You can use
FontSquirrel to turn your ttf into the other formats if you don't already have the woff formats.
This is how I had to implement my custom font so it worked for FF:
@font-face {
font-family: 'rainyhearts';
src: url('https://daintyeco.neocities.org/about/rainyhearts-webfont.woff2') format('woff2'),
url('https://daintyeco.neocities.org/about/rainyhearts-webfont.woff') format('woff'),
url('https://daintyeco.neocities.org/about/rainyhearts-webfont.ttf') format('truetype'),
url('https://daintyeco.neocities.org/about/rainyhearts-webfont.svg#rainyhearts') format('svg');
font-weight: normal;
font-style: normal;