$(".accordion .collapse").on('shown.bs.collapse', function(e){
if($(".main-menu") != $(this)){
// get clicked item
$clickedElement = $($(e.target).data('bs.collapse')._triggerArray);
clickedElementOffsetTop = $clickedElement.offset().top;
// add additional offset for top fixed elements
headerOffset = $(".main-header-top").outerHeight();
// check if element is outside viewport
if(clickedElementOffsetTop - headerOffset < $(window).scrollTop()){
$('html, body').animate({
scrollTop: clickedElementOffsetTop - headerOffset
}, 300);
}
}
});