Added css for tip container and feedback styling.
Restructured a lot of the JS code and added functionality.
Added more customizable semantics.