Quote Originariamente inviata da abellos
posso fare la stessa cosa con l'uso dei css per allineare i due div?
Ciao, direi proprio di sì; anzi, ad oggi mi pare inutilmente ingombrante l'uso di JavaScript/jQuery per una cosa del genere.

Se hai solo quei due div sulla pagina, potresti applicare flex al body; vedo che già lo hai usato per allineare i contenuti dentro i div.

In tal caso hai bisogno di specificare un'altezza 100% e rimuovere i margini per html e body.
Vai quindi ad applicare flex su body dando una direzione in colonna con flex-direction.
Per allineare centralmente in orizzontale puoi usare align-items:center come hai già fatto per i contenuti.
A questo punto basterà applicare margin:auto al primo div così che questo si centri anche verticalmente e spinga in basso il secondo div.

Qui il CSS minimo indispensabile:
codice:
html, body {
  height: 100%;
  margin: 0;
}
body {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#div_form {
  margin: auto;
}
Ovviamente ricorda di rimuovere lo script, non servirà più.

Vedi se può andare.