Принцип довольно простой. Если обратить внимание на разметку страницу то видно, что эти блоки расположены абсолютно. При смене фильтра вы считаете новые положения для всех блоков, после этого вам остается лишь сделать анимацию через css transitions или через jquery.animate, как вам больше нравится. То есть, если блок остался - он едет от старого места на новое. Если блок новый - он просто получает анимацию расширения