HamSter: Для меня в данном контексте не очевидно как с помощью элемента с псевдоклассом - :hover повлиять на свойства другого элемента, и все это сделать средствами CSS. Возможно с помощью псевдоэлементов что-то получится изобразить, не уверен.
Явный самопис, причем ничего сложного - просто переключает классы, а анимация свойством transition в css прописана.
Причем в переключаемых классах только свойство left для фиксированного элемента (скрытого светлого меню - их для каждой верхней категории несколько).