Hola, que tal?

Tengo una duda, casi problema con CSS y es que no logro mi prometido... tengo un 'momento' en mi página en que se aparecerá un recuadro blanco con
x contenido y el resto de la página se tornara con un recubrimiento opaco.. todo logrado y trabajando bien hasta aquí.
La idea es que el recuadro ya mencionado quede en medio de la pantalla del visitante, este centro variando claro a partir de la resolución de cada visitante. de forma
horizontal ya lo logré fácilmente con margin: auto; pero no logro hacerlo con vertical align.
Aquí una imagen para apreciarlo mejor:

y Aquí el CSS:
div#fade {
background: url(../images/fade.png) repeat !important;
height: 100%;
width: 100%;
position: fixed;
bottom: 0;
z-index: 99;
}
div#f_content {
width: 500px;
height: 300px;
background-color: #FFF;
margin: auto;
margin-top: 200px;
}
Como ven tengo margin-top pero no quiero fijar un valor (200px en este caso) ya que si por ejemplo el monitor del visitante es considerablemente grande se verá más hacia arriba y no como en esta imagen basada en otro monitor más pequeño y con la medida ajustada al caso.
Aclaro que
#fade es el "recubrimiento" opaco de la página otrogado a travéz de una acción especifica, y
#f_content es el recuadro blanco que quiero ALINEAR VERTICALMENTE.
Gracias desde ya!
