В комментариях же всё объясняется:
.row:hover {
// Next row, slides are above their columns, giving downward motion on hover
& ~ .row .slide { transform: translateY(-100%); }
// Current row, slides to the right of their columns, giving left motion on hover
.slide { transform: translateX(100%); }
// Current row, next slides, slides to the left of their columns, giving right motion on hover
& .col:hover ~ .col .slide { transform: translateX(-100%); }
// Current slide
.col:hover .slide {
transform: none;
visibility: visible;
transition-delay: 0s;
}
}
Коротко говоря, всё на селекторах.