Охххх. Я очень сомневаюсь, что такие кульбиты можно сделать чистым CSS. Я попробую на досуге, но кроме как CSSgrid или репозициец с помощью JS тут не сделать.
на flexbox это сделать проще простого, надо только определиться какие блоки и куда должны будут смещаться при изменении размеров окна. неплохой мануал по флексам
вот у вас на картинках цифры, есть такое свойство - order, оно определяет положение блока во флекс контейнере, меняйте их для каждого блока при изменении экрана