Agree with Matt, this drastic of a swing isn't likely due to changing your H1, H2s in CSS.
Can you please clarify "used the css to overwrite the secondary headings as h2 tags." ?
Lots of people use multiple H1s or H2s on a page due to formatting reasons. They like the way all of the H2s look (font size, weight, font, etc.) but the best way to go about this is to make custom CSS changes that modify ALL Header tags to look the same. This way you can use proper H1, H2, H3, H4, etc. and it won't look like a wonky cascading sub-title issue.
Some things to check regarding your ranking:
1. Google Search Console for server & index issues
2. Dropped 301s
3. New spammy backlinks
4. Any search console warnings