Potresti calcolare e settare le distanza con javascript(jquery piu facilemente per settare il marigine).
Oppure con togliendo display:flex e aggiungendo
codice:
 margin:calc(30%) auto 
vedo che bene o male si centra.

PS
flex o flexbox a seconda del browser funzioneranno o meno. Non vuol dire che devi eslcudere una regola o l'altra.
Puoi usare i prefissi a seconda del browser come vedi negli esempi qui
-webkit-flex, -ms-flex