Как анимировать появление\скрытие блока?
если кратко то свойство display: none;  не анимируеться нужно думать что то по типу width c 0px и до необходимого значения анимировать что то по типу такогоsnippet
Как вариант использовать удобную библиотеку animate.css