You can make layout changes with CSS3 as you can animate margin, position, width, height...
The problem is triggering those layout changes. but you can use help from JS to trigger those animations via a class change.
For your example, you could do this :
CSS :
.item {
width: 150px;
height: 150px;
margin: 20px;
overflow: auto;
transition: all 0.5s ease-out;
}
.first {
margin-top:-170px;
}
JS :
setTimeout(function () {
document.querySelector('.first').classList.remove("first");
}, 2 * 1000)