Bootstrap 3 modal posición vertical centro

Esta es una pregunta de dos partes:

¿Cómo puede colocar el modal verticalmente en el centro cuando no conoce la altura exacta del modal?

¿Es posible centrar el modal y tener un desbordamiento: automático en el cuerpo modal, pero solo si el modal excede la altura de la pantalla?

He intentado usar esto:

.modal-dialog {
  height: 80% !important;
  padding-top:10%;
}

.modal-content {
  height: 100% !important;
  overflow:visible;
}

.modal-body {
  height: 80%;
  overflow: auto;
}

Esto me da el resultado que necesito cuando el contenido es mucho más grande que el tamaño de la pantalla vertical, pero para contenidos modales pequeños es prácticamente inutilizable.

Respuestas a la pregunta(10)

Su respuesta a la pregunta