Pues como te decía, se debe a que utilizas la propiedad "visibility" para ocultarlo. Cambia a "display: none".
Más info sobre esas dos propiedades y sus diferencias:
visibility:
hidden: La caja es invisible (totalmente transparente), pero sigue afectando la composición. Invisible para el ojo, pero para los demás elementos de la página sigue estando en su lugar.
Display:
hidden: el elemento "desaparece" de la vista y de la página. Ni el ojo la ve ni los otros elementos, así que su lugar es ocupado.
Espero haber sido más claro ahora.
Un saludo