more OOP, added transitions
added cursor:pointer for .icon & .text