Noob Question: Dealing with Vikings

I am in the metal leagues.

What’s the best way to counter Vikings. What’s the best counter when on the Viking is on ground and best counter when the Viking is in the air.

Just about any ground Zerg unit counters vikings. When the vikings are in the air and you are using air as well, vipers are the move if there’s a lot of vikings. Infestors are also great (ground unit).

Spellcasters go a long way in dealing with large clumps of units.