Tried to make it as simple yet as awesome as possible. I think it does pretty well at meeting those requirements

If you only use one direction it is in less than 40 lines of CSS!

Related: