pandaa, этот ответ не работает, потому что align-item - такого св-во не существует, тут опечатка.
Обидно, когда я трудился проверял в jsfiddle и подбирал ответ, и подобрал наиболее лаконичный, а задающий вопрос даже не проверяет ни мой ответ, ни ответ, который он выбирает решением на работоспособность.
origami1024, благодарю, что заметили и указали на опечатку. Поправила.
Отчего же 2 строки лишние?
Явное указание что элементы выстроены в ряд и выравнивание в верстке совсем не лишние.
По своему опыту могу сказать, что задавая блоку flex - элементы внутри не встают сразу ровно