Scusami ma non ti capisco: se nel CSS hai scritto:

.primo

nell'html DEVI scrivere

class="primo"

E non può esserci neanche un solo carattere di differenza...

E poi come "chissà perchè non veniva centrato", mi sa che hai bisogno di andarti a rileggere come funzionano i posizionamenti dei css, perchè non hai le idee molto chiare...