Нашел собственное решение. Надеюсь, что это может помочь кому-то еще Работает на мобильных устройствах, планшетах и IE, FireFox, Safari и Chrome:
<div class="MyDiv" onclick="ScrollToCard()">Find Me</div>
function ScrollToCard(CardIndex)
{
var myDiv = document.getElementById('col2');
var myDivrect = myDiv.getBoundingClientRect();
var szCardId = CardIndex.toString(10);
var Card = document.getElementById(szCardId);
var Cardrect = Card.getBoundingClientRect();
var CardHeight = Cardrect.height;
var CardWidth = Cardrect.width;
var DefaultTopSpace = 25;
var MarginLeft = 10;
var MarginRight = 10;
var CardsPerRow = Math.round(myDivrect.width / (CardWidth + MarginLeft + MarginRight ));
var Distance = (DefaultTopSpace + ((CardHeight + DefaultTopSpace ) * (CardIndex-1)/CardsPerRow)) ;
var Offset = 0;
if(CardsPerRow== 2)
Offset = CardHeight;
if(CardsPerRow== 3)
Offset = CardHeight;
Distance = Distance - Offset;
myDiv.scrollTo({
top: Distance,
left: 0,
behavior: 'smooth'
});