First: The initial state of the element(s) involved in the transition. You can use element.getBoundingClientRect() for this • Last: The final state of the element(s). • Invert: Since the element is in the last position, we want to create the illusion that its in the first position, by using transform to modify its position and dimensions. • Play: With the element inverted (and pretending to be in the first position), we can move it back to its last position by setting its transform to none. https://aerotwist.com/blog/flip-your-animations/