Сделано отвратительно, согласен.
position: fixed подойдет если нужно чтобы элемент всегда был на одном месте
Если нужно именно так, как в вашем примере, чтобы он сначала был на своем месте а после определенного прокрута прилеплялся то js, а именно:
- получаем значение отступа элемента от верхнего края
- отслеживаем событие скролинга страницы
- если скролинг относительно верха превышает расстояние отступа элемента от верха, ставим тот же position: fixed js-ом
- в обратном порядке снимаем position: fixed