https://medium.com/@kenoyekitoye/understanding-and-mastering-css-transitions-and-animations-cd6d1a41814d