Здравствуйте, есть задача сделать анимацию элемента при наведении на него. Нужно чтобы когда наводишь на элемент он должен плавно вращаться, все это я сделал в css, 
вот набросок.  Но есть проблема, когда мы отводим мышку от элемента он резко останавливается и возвращается в свое изначальное положение.
Вопрос:  Есть ли возможность  сделать как-то чтобы это было плавно, то есть когда мы отводим мышку от элемента, вращение плавно заканчивается и сам элемент остается в том же положении (с тем же углом поворота), может это можно сделать на JS (всю анимацию - поворот, и вычисление текущего положения и т.д). Подскажите какое либо решение данной проблемы или реализацию подобной анимации?