var sectionScroller={initUponDetection:function(){domMutationUtils.newElementDetection.detectNewElements('section[data-pagebuilder="section"].horizontal-scroll, section[data-pagebuilder="section"].horizontal-scroller, section[data-pagebuilder="section"].section-scroller, section[data-pagebuilder="section"].section-scroll',(function(newScrollerElements){$(newScrollerElements).each((function(i,e){sectionScroller.lazyLoad(e),sectionScroller.init(e)}))}))},init:function(section){if(section&&!$(section).hasClass("scrollable-section")){(section=$(section)).addClass("scrollable-section"),section.wrapInner('<div class="scrollable-content"></div>');var $scrollableContent=section.find(".scrollable-content"),$scrollbar=$('<div class="section-scrollbar"></div>'),$thumb=$('<div class="section-scrollbar-thumb"></div>');$scrollbar.append($thumb),section.append($scrollbar);var updateThumb=function(){var scrollWidth=$scrollableContent.get(0).scrollWidth,clientWidth=$scrollableContent.innerWidth(),scrollLeft=$scrollableContent.scrollLeft(),thumbWidth=$scrollbar.innerWidth()*(clientWidth/scrollWidth),thumbPosition=scrollLeft/(scrollWidth-clientWidth)*($scrollbar.innerWidth()-thumbWidth);scrollWidth>clientWidth?($scrollbar.show(),$thumb.css("width",thumbWidth+"px"),$thumb.css("transform","translateX("+thumbPosition+"px)"),$scrollbar.removeClass("inactive")):$scrollbar.addClass("inactive")};updateThumb(),$scrollableContent.on("scroll",updateThumb),$(window).on("resize",updateThumb),$thumb.on("mousedown",(function(e){e.preventDefault();var startX=e.pageX,thumbWidth=$thumb.width(),startScrollLeft=$scrollableContent.scrollLeft();$(document).on("mousemove.thumb",(function(e){var distance=e.pageX-startX,scrollWidth=$scrollableContent.get(0).scrollWidth-$scrollableContent.innerWidth(),scrollDistance=distance/($scrollbar.innerWidth()-thumbWidth)*scrollWidth;$scrollableContent.scrollLeft(startScrollLeft+scrollDistance)})),$(document).on("mouseup.thumb",(function(){$(document).off(".thumb")}))}))}},lazyLoad:function(section){if(section){var elem=$(section).find("[data-src].lazy");$(elem).lazy({scrollDirection:"vertical",effect:"fadeIn",visibleOnly:!0,enableThrottle:!0,throttle:250,afterLoad:function(element){element.removeClass("lazy")},onFinishedAll:function(){$(elem).removeClass("lazy")}})}}};"complete"==document.readyState||"interactive"==document.readyState?sectionScroller.initUponDetection():$(window).on("load",sectionScroller.initUponDetection);