diff --git a/README.md b/README.md
index cf80b65..32daa87 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
 ![compatibility](http://alvarotrigo.com/multiScroll/imgs/compatible.gif)
 
 ---
-![multiScroll.js version](http://img.shields.io/badge/multiscroll.js-v0.1.9-brightgreen.svg)
+![multiScroll.js version](http://img.shields.io/badge/multiscroll.js-v0.2.2-brightgreen.svg)
 [![License](http://img.shields.io/badge/License-MIT-blue.svg)](http://opensource.org/licenses/MIT)
 [![PayPal Donate](https://img.shields.io/badge/donate-PayPal.me-ff69b4.svg)](https://www.paypal.me/alvarotrigo/9.95)
 &nbsp;&nbsp; **|**&nbsp;&nbsp; *3.7Kb gziped* &nbsp;&nbsp;**|**&nbsp;&nbsp; *Created by [@imac2](https://twitter.com/imac2)*
@@ -292,6 +292,13 @@ $.fn.multiscroll.moveTo('firstSection');
 $.fn.multiscroll.moveTo(3);
 ```
 
+### setMouseWheelScrolling
+Adds or remove the possibility of scrolling through sections by using mouse wheel (which is active by default).
+
+```javascript
+$.fn.multiscroll.setMouseWheelScrolling(false);
+```
+
 ### setKeyboardScrolling
 Adds or remove the possibility of scrolling through sections by using the keyboard arrow keys (which is active by default).
 
@@ -365,7 +372,7 @@ Example:
 
 ```javascript
 	$('#multiscroll').multiscroll({
-		onLeave: function(index, direction){
+		onLeave: function(index, nextIndex, direction){
 			//after leaving section 2
 			if(index == '2' && direction =='down'){
 				alert("Going to section 3!");
diff --git a/bower.json b/bower.json
index 8a4b0a2..bfc75b8 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
 {
   "name": "multiscroll.js",
-  "version": "0.1.9",
+  "version": "0.2.2",
   "homepage": "http://alvarotrigo.com/multiScroll/",
   "authors": [
     "Alvaro Trigo https://github.com/alvarotrigo"
diff --git a/dist/jquery.multiscroll.css b/dist/jquery.multiscroll.css
index b08d7f8..dc946cc 100644
--- a/dist/jquery.multiscroll.css
+++ b/dist/jquery.multiscroll.css
@@ -1,5 +1,5 @@
 /*!
- * multiscroll.js 0.2.0
+ * multiscroll.js 0.2.2
  * https://github.com/alvarotrigo/multiscroll.js
  * @license MIT licensed
  *
diff --git a/dist/jquery.multiscroll.extensions.min.js b/dist/jquery.multiscroll.extensions.min.js
index 609b418..3bded64 100644
--- a/dist/jquery.multiscroll.extensions.min.js
+++ b/dist/jquery.multiscroll.extensions.min.js
@@ -1,8 +1,8 @@
 /*!
- * multiscroll.js 0.2.0 - Extensions 0.0.6
+ * multiscroll.js 0.2.2 - Extensions 0.0.7
  * https://github.com/alvarotrigo/multiscroll.js
  * @license MIT licensed
  *
  * Copyright (C) 2016 alvarotrigo.com - A project by Alvaro Trigo
  */
-!function(e,t,n,o,i){e.fn.multiscroll=function(s){var l=e.fn.multiscroll;l.shared={afterRender:C};var a="multiscroll-wrapper",r="."+a,c=(e("html, body"),e("body"));s=e.extend({verticalCentered:!0,scrollingSpeed:700,easing:"easeInOutCubic",menu:!1,sectionsColor:[],anchors:[],navigation:!1,navigationPosition:"right",navigationColor:"#000",navigationTooltips:[],loopBottom:!1,loopTop:!1,css3:!1,autoScrolling:!0,paddingTop:0,paddingBottom:0,fixedElements:null,normalScrollElements:null,keyboardScrolling:!0,touchSensitivity:5,responsiveWidth:null,responsiveHeight:null,responsiveExpand:!1,responsiveCombine:!1,scrollOverflow:!1,scrollOverflowOptions:null,sectionSelector:".ms-section",leftSelector:".ms-left",rightSelector:".ms-right",afterLoad:null,onLeave:null,afterRender:null,afterResize:null},s);var d,f,m=600,v=navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/),u="ontouchstart"in t||navigator.msMaxTouchPoints>0||navigator.maxTouchPoints,h={};".ms-right"!==s.rightSelector&&e(s.rightSelector).addClass("ms-right"),".ms-left"!==s.leftSelector&&e(s.leftSelector).addClass("ms-left");var p,g,w=e(".ms-left").find(".ms-section").length,x=!1,b=e(t).height(),S=e(t).width();function C(){e.isFunction(s.afterRender)&&s.afterRender.call(this),s.scrollOverflow&&l.scrollOverflow.iscrollHandler.afterLoad()}function y(){var n=t.location.hash.replace("#","");if(n.length){var o=_("responsiveExpand","isResponsive")?e(".ms-left").find('[data-panel="ms-left"][data-anchor="'+n+'"]'):e(".ms-left").find('[data-anchor="'+n+'"]');("undefined"==typeof lastScrolledDestiny||n!==lastScrolledDestiny)&&I(o)}}e(this).length&&(l.getMultiscrollData=function(){return{options:s,internals:{isTouch:u,isTouchDevice:v,isReallyTouch:G,getEventsPage:V,numberSections:w,setLastScrollDestiny:q,setURLHash:W,activateMenuElement:R,activateNavDots:H,getYmovement:z,removeMouseWheelHandler:L,addMouseWheelHandler:D,removeTouchHandler:F,addTouchHandler:X,transformContainer:B,c:ee}}}),K("responsiveExpand"),K("scrollOverflow"),K("responsiveCombine"),D(),X(),s.css3&&(s.css3=function(){var e,o=n.createElement("p"),s={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};for(var l in n.body.insertBefore(o,null),s)o.style[l]!==i&&(o.style[l]="translate3d(1px,1px,1px)",e=t.getComputedStyle(o).getPropertyValue(s[l]));return n.body.removeChild(o),e!==i&&e.length>0&&"none"!==e}()),e("html, body").css({overflow:"hidden",height:"100%"}),e(this).addClass(a),".ms-section"!==s.sectionSelector&&e(s.sectionSelector).each(function(){e(this).addClass("ms-section")}),s.navigation&&(e("body").append('<div id="multiscroll-nav"><ul></ul></div>'),(p=e("#multiscroll-nav")).css("color",s.navigationColor),p.addClass(s.navigationPosition)),e(".ms-right, .ms-left").css({width:"50%",position:"absolute",height:"100%","-ms-touch-action":"none"}),e(".ms-right").css({right:"1px",top:"0","-ms-touch-action":"none","touch-action":"none"}),e(".ms-left").css({left:"0",top:"0","-ms-touch-action":"none","touch-action":"none"}),e(".ms-left .ms-section, .ms-right .ms-section").each(function(){var t,n=e(this).index();if((s.paddingTop||s.paddingBottom)&&e(this).css("padding",s.paddingTop+" 0 "+s.paddingBottom+" 0"),void 0!==s.sectionsColor[n]&&e(this).css("background-color",s.sectionsColor[n]),void 0!==s.anchors[n]&&e(this).attr("data-anchor",s.anchors[n]),s.verticalCentered&&(t=e(this)).addClass("ms-table").wrapInner('<div class="ms-tableCell" style="height: '+A(t)+'px" />'),e(this).closest(".ms-left").length&&s.navigation){var o="";s.anchors.length&&(o=s.anchors[n]);var i=s.navigationTooltips[n];void 0===i&&(i=""),s.navigation&&p.find("ul").append('<li data-tooltip="'+i+'"><a href="#'+o+'"><span></span></a></li>')}}),e(".ms-right").html(e(".ms-right").find(".ms-section").get().reverse()),e(".ms-left .ms-section, .ms-right .ms-section").each(function(){var t=e(this).index();e(this).css({height:"100%"}),!t&&s.navigation&&p.find("li").eq(t).find("a").addClass("active")}).promise().done(function(){e(".ms-left .ms-section.active").length||(e(".ms-right").find(".ms-section").last().addClass("active"),e(".ms-left").find(".ms-section").first().addClass("active")),Q("responsiveExpand")&&(l.responsiveExpand.setIndex("ms-left"),l.responsiveExpand.setIndex("ms-right"),l.responsiveExpand.init()),Q("responsiveCombine")&&l.responsiveCombine.init(),Q("scrollOverflow")&&(l.scrollOverflow.init(),d=l.scrollOverflow.iscrollHandler.init(s)),s.navigation&&p.css("margin-top","-"+p.height()/2+"px"),C(),E(),Z(),e(t).on("load",function(){var n,o;n=t.location.hash.replace("#",""),o=e('.ms-left .ms-section[data-anchor="'+n+'"]'),n.length&&I(o)})}),e(t).on("hashchange",y),e(n).keydown(function(t){if(clearTimeout(g),!s.autoScrolling)return;var o=e(n.activeElement);if(!o.is("textarea")&&!o.is("input")&&!o.is("select")&&s.keyboardScrolling){var i=t.which;e.inArray(i,[40,38,32,33,34])>-1&&t.preventDefault(),g=setTimeout(function(){!function(t){var n=t.shiftKey;switch(t.which){case 38:case 33:l.moveSectionUp();break;case 32:if(n){l.moveSectionUp();break}case 40:case 34:l.moveSectionDown();break;case 36:l.moveTo(1);break;case 35:l.moveTo(e(".ms-left .ms-section").length);break;default:;}}(t)},150)}}),e(n).mousedown(function(e){if(1==e.button)return e.preventDefault(),!1}),e(n).on("click","#multiscroll-nav a",function(t){t.preventDefault();var n=e(this).parent().index();I(e(".ms-left .ms-section").eq(n))}),e(n).on({mouseenter:function(){var t=e(this).data("tooltip");e('<div class="multiscroll-tooltip '+s.navigationPosition+'">'+t+"</div>").hide().appendTo(e(this)).fadeIn(200)},mouseleave:function(){e(this).find(".multiscroll-tooltip").fadeOut(200,function(){e(this).remove()})}},"#multiscroll-nav li"),s.normalScrollElements&&(e(n).on("mouseenter",s.normalScrollElements,function(){l.setMouseWheelScrolling(!1)}),e(n).on("mouseleave",s.normalScrollElements,function(){l.setMouseWheelScrolling(!0)})),e(t).on("resize",function(){if(v){var i=e(n.activeElement);if(!i.is("textarea")&&!i.is("input")&&!i.is("select")){var s=e(t).height();o.abs(s-O)>20*o.max(O,s)/100&&(T(!0),O=s)}}else clearTimeout(f),f=setTimeout(function(){T(!0)},350)});var O=b;function T(n){b=e(t).height(),S=e(t).width(),e(".ms-tableCell").each(function(){e(this).css({height:A(e(this).parent())})}),s.scrollOverflow&&d.createScrollBarForAll(),s.scrollOverflow&&l.scrollOverflow.iscrollHandler.afterLoad(),E(),e.isFunction(s.afterResize)&&s.afterResize.call(this)}function E(){s.css3&&s.autoScrolling?(B(e(".ms-left"),"translate3d(0px, -"+e(".ms-left").find(".ms-section.active").position().top+"px, 0px)",!1),B(e(".ms-right"),"translate3d(0px, -"+e(".ms-right").find(".ms-section.active").position().top+"px, 0px)",!1)):s.autoScrolling?(e(".ms-left").css("top",-e(".ms-left").find(".ms-section.active").position().top),e(".ms-right").css("top",-e(".ms-right").find(".ms-section.active").position().top)):e("html,body").scrollTop(e(".ms-left").find(".ms-section.active").position().top)}function I(t){var n=t.index(),o=e(".ms-right").find(".ms-section").eq(w-1-n),i=t.data("anchor"),a=e(".ms-left .ms-section.active").index()+1,r=z(t);x=!0;var c={left:t.position().top};if(_("responsiveExpand","isResponsive")||(c.right=o.position().top),_("responsiveExpand","isResponsive")||o.addClass("active").siblings().removeClass("active"),t.addClass("active").siblings().removeClass("active"),W(i),_("responsiveExpand","isResponsive"))l.responsiveExpand.performMovement(t),setTimeout(function(){x=!1},s.scrollingSpeed);else if(s.css3){e.isFunction(s.onLeave)&&s.onLeave.call(this,a,n+1,r),s.scrollOverflow&&l.scrollOverflow.iscrollHandler.onLeave();var d="translate3d(0px, -"+c.left+"px, 0px)",f="translate3d(0px, -"+c.right+"px, 0px)";B(e(".ms-left"),d,!0),B(e(".ms-right"),f,!0),setTimeout(function(){e.isFunction(s.afterLoad)&&s.afterLoad.call(this,i,n+1),s.scrollOverflow&&l.scrollOverflow.iscrollHandler.afterLoad(),setTimeout(function(){x=!1},m)},s.scrollingSpeed)}else e.isFunction(s.onLeave)&&s.onLeave.call(this,a,n+1,r),e(".ms-left").animate({top:-c.left},s.scrollingSpeed,s.easing,function(){e.isFunction(s.afterLoad)&&s.afterLoad.call(this,i,n+1),s.scrollOverflow&&l.scrollOverflow.iscrollHandler.afterLoad(),setTimeout(function(){x=!1},m)}),e(".ms-right").animate({top:-c.right},s.scrollingSpeed,s.easing);lastScrolledDestiny=i,R(i),H(i,n)}function L(){n.addEventListener?(n.removeEventListener("mousewheel",k,!1),n.removeEventListener("wheel",k,!1)):n.detachEvent("onmousewheel",k)}function D(){n.addEventListener?(n.addEventListener("mousewheel",k,!1),n.addEventListener("wheel",k,!1)):n.attachEvent("onmousewheel",k)}function k(n){e(r).trigger("onMouseWheel",[n,S]),n=t.event||n;var i=o.max(-1,o.min(1,n.wheelDelta||-n.deltaY||-n.detail));return x||M(i<0?"down":"up"),!1}function M(t){var n="down"===t?l.moveSectionDown:l.moveSectionUp;if(s.scrollOverflow){var o=l.scrollOverflow.iscrollHandler.scrollable(e.fn.multiscroll.scrollOverflow.g_overedPanel()),i="down"===t?"bottom":"top";if(o.length>0){if(!l.scrollOverflow.iscrollHandler.isScrolled(i,o))return!0;n()}else n()}else n()}function B(e,t,n){var o;e.toggleClass("ms-easing",n),e.css({"-webkit-transform":o=t,"-moz-transform":o,"-ms-transform":o,transform:o})}function H(t,n){s.navigation&&(e("#multiscroll-nav").find(".active").removeClass("active"),t?e("#multiscroll-nav").find('a[href="#'+t+'"]').addClass("active"):e("#multiscroll-nav").find("li").eq(n).find("a").addClass("active"))}function R(t){s.menu&&(e(s.menu).find(".active").removeClass("active"),e(s.menu).find('[data-menuanchor="'+t+'"]').addClass("active"))}function z(t){return e(".ms-left .ms-section.active").index()>t.index()?"up":"down"}function W(e){s.anchors.length&&(location.hash=e),Z()}function Z(){var t=e(".ms-left .ms-section.active"),n=t.data("anchor"),o=t.index(),i=String(o);if(s.anchors.length&&(i=n),void 0!==i){i=i.replace("/","-").replace("#","");var l=new RegExp("\\b\\s?ms-viewing-[^\\s]+\\b","g");e("body")[0].className=e("body")[0].className.replace(l,""),e("body").addClass("ms-viewing-"+i)}}function A(e){var t=b;if(s.paddingTop||s.paddingBottom){var n=parseInt(e.css("padding-top"))+parseInt(e.css("padding-bottom"));t=b-n}return t}l.silentScroll=E,l.moveSectionUp=function(){var t=e(".ms-left .ms-section.active").prev(".ms-section");!t.length&&s.loopTop&&(t=e(".ms-left .ms-section").last()),t.length&&I(t)},l.moveSectionDown=function(){var t=e(".ms-left .ms-section.active").next(".ms-section");!t.length&&s.loopBottom&&(t=e(".ms-left .ms-section").first()),t.length&&I(t)},l.moveTo=function(t){I(isNaN(t)?e('.ms-left [data-anchor="'+t+'"]'):e(".ms-left .ms-section").eq(t-1))},l.setKeyboardScrolling=function(e){s.keyboardScrolling=e},l.setMouseWheelScrolling=function(e){e?D():L()},l.setScrollingSpeed=function(e){s.scrollingSpeed=e};var P=0,j=0;function Y(n){var i=n.originalEvent;if(G(i)){n.preventDefault();e(".ms-left .ms-section.active");if(!x){var l=V(i);j=l.y,l.x,o.abs(P-j)>e(t).height()/100*s.touchSensitivity&&(P>j?M("down"):j>P&&M("up"))}}}function G(e){return void 0===e.pointerType||"mouse"!=e.pointerType}function N(t){var n=t.originalEvent;if(e(r).trigger("onTouch",[n,S]),G(n)){var o=V(n);P=o.y,o.x}}function X(){if(v||u){var t=U();e(n).off("touchstart "+t.down).on("touchstart "+t.down,N),e(n).off("touchmove "+t.move).on("touchmove "+t.move,Y)}}function F(){if(v||u){var t=U();e(n).off("touchstart "+t.down),e(n).off("touchmove "+t.move)}}function U(){return t.PointerEvent?{down:"pointerdown",move:"pointermove"}:{down:"MSPointerDown",move:"MSPointerMove"}}function V(e){var t=[];return t.y=void 0!==e.pageY&&(e.pageY||e.pageX)?e.pageY:e.touches[0].pageY,t.x=void 0!==e.pageX&&(e.pageY||e.pageX)?e.pageX:e.touches[0].pageX,u&&G(e)&&void 0!==e.touches&&(t.y=e.touches[0].pageY,t.x=e.touches[0].pageX),t}function q(e){lastScrolledDestiny=e}function K(e){var n="ms_"+e+"Extension";h[e]=s[e+"Key"],l[e]=void 0!==t[n]?new t[n]:null,l[e]&&l[e].c(e)}function Q(e){return s[e]&&l[e]}function _(e,t,n){var o=Array.isArray(n)?n.join(", "):n;return!!Q(e)&&l[e][t](o)}function J(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function n(e){var n,o,i,s,l,a,r="",c=0;for(e=e.replace(/[^A-Za-z0-9+/=]/g,"");c<e.length;)n=t.indexOf(e.charAt(c++))<<2|(s=t.indexOf(e.charAt(c++)))>>4,o=(15&s)<<4|(l=t.indexOf(e.charAt(c++)))>>2,i=(3&l)<<6|(a=t.indexOf(e.charAt(c++))),r+=String.fromCharCode(n),64!=l&&(r+=String.fromCharCode(o)),64!=a&&(r+=String.fromCharCode(i));return r=function(e){var t,n="",o=0,i=0,s=0;for(;o<e.length;)(i=e.charCodeAt(o))<128?(n+=String.fromCharCode(i),o++):i>191&&i<224?(s=e.charCodeAt(o+1),n+=String.fromCharCode((31&i)<<6|63&s),o+=2):(s=e.charCodeAt(o+1),t=e.charCodeAt(o+2),n+=String.fromCharCode((15&i)<<12|(63&s)<<6|63&t),o+=3);return n}(r)}function o(e){return e.slice(3).slice(0,-3)}return function(e){var t=e.split("_");if(t.length>1){var i=t[1];return e.replace(o(t[1]),"").split("_")[0]+"_"+n(i.slice(3).slice(0,-3))}return o(e)}(n(e))}function $(e){var t=function(){if(n.domain.length){for(var e=n.domain.replace(/^(www\.)/,"").split(".");e.length>2;)e.shift();return e.join(".").replace(/(^\.*)|(\.*$)/g,"")}return""}(),o=["localhost","127.0.0.1","jshell.net","UDdDQU5ZNlNN"],i=o[0],s=o[1],l=o[2],a=J(o[3]),r=[i,s,l].indexOf(t)<0&&0!==t.length,c=void 0!==h[e]&&h[e].length;if(!c&&r)return!1;var d=c?J(h[e]):"",f=(d=d.split("_")).length>1&&d[1].indexOf(e,d[1].length-e.length)>-1;return!(d[0].indexOf(t,d[0].length-t.length)<0&&r&&a!=d[0])&&f||!r}function ee(e){if(Q(e)&&l[e]){var t=J("MTIzPGRpdiBzdHlsZT0iei1pbmRleDo5OTk5OTk5O3Bvc2l0aW9uOmZpeGVkOyB0b3A6IDIwcHg7IGxlZnQ6MjBweDsgYmFja2dyb3VuZDpyZWQ7IHBhZGRpbmc6IDdweCAxNXB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtZmFtaWx5OiBhcmlhbDsgY29sb3I6ICNmZmY7IGRpc3BsYXk6IGlubGluZS1ibG9jazsiPjxhIGhyZWY9Imh0dHA6Ly9hbHZhcm90cmlnby5jb20vbXVsdGlTY3JvbGwvZXh0ZW5zaW9ucy8iIHN0eWxlPSJjb2xvcjogI2ZmZjsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7Ij5VbmxpY2Vuc2VkIG11bHRpU2Nyb2xsLmpzIEV4dGVuc2lvbjwvYT48L2Rpdj4xMjM="),n=o.random()<.5;if(!$(e)){var i=function(){"9999999"!==(n?c.find("div").first():c.find("div").last()).css("z-index")&&(n?c.prepend(t):c.append(t))};i(),setInterval(i,2e3)}}}l.destroy=function(){l.setKeyboardScrolling(!1),l.setMouseWheelScrolling(!1),F(),e(t).off("hashchange",y).off("resize",doneResizing),e(n).off("mouseenter","#multiscroll-nav li").off("mouseleave","#multiscroll-nav li").off("click","#multiscroll-nav a")},l.build=function(){l.setKeyboardScrolling(!0),l.setMouseWheelScrolling(!0),e(t).on("hashchange",y).on("resize",doneResizing),e(n).on("mouseenter","#multiscroll-nav li").on("mouseleave","#multiscroll-nav li").on("click","#multiscroll-nav a")},l.extensionCall=_}}(jQuery,window,document,Math);
\ No newline at end of file
+!function(e,t,n,o,i){e.fn.multiscroll=function(s){var l=e.fn.multiscroll;l.shared={afterRender:O};var a="multiscroll-wrapper",r="."+a,c=(e("html, body"),e("body"));s=e.extend({verticalCentered:!0,scrollingSpeed:700,easing:"easeInOutCubic",menu:!1,sectionsColor:[],anchors:[],navigation:!1,navigationPosition:"right",navigationColor:"#000",navigationTooltips:[],loopBottom:!1,loopTop:!1,css3:!1,autoScrolling:!0,paddingTop:0,paddingBottom:0,fixedElements:null,normalScrollElements:null,keyboardScrolling:!0,touchSensitivity:5,responsiveWidth:null,responsiveHeight:null,responsiveExpand:!1,responsiveCombine:!1,scrollOverflow:!1,scrollOverflowOptions:null,sectionSelector:".ms-section",leftSelector:".ms-left",rightSelector:".ms-right",afterLoad:null,onLeave:null,afterRender:null,afterResize:null},s);var d,m,v=600,f=navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/),u="ontouchstart"in t||navigator.msMaxTouchPoints>0||navigator.maxTouchPoints,h={};".ms-right"!==s.rightSelector&&e(s.rightSelector).addClass("ms-right"),".ms-left"!==s.leftSelector&&e(s.leftSelector).addClass("ms-left");var p,g,x=e(".ms-left").find(".ms-section").length,w=!1,b=e(t).height(),S=e(t).width(),C=function(){var e;e=t.PointerEvent?{down:"pointerdown",move:"pointermove"}:{down:"MSPointerDown",move:"MSPointerMove"};return e}(),y={touchmove:"ontouchmove"in t?"touchmove":C.move,touchstart:"ontouchstart"in t?"touchstart":C.down};function O(){e.isFunction(s.afterRender)&&s.afterRender.call(this),s.scrollOverflow&&l.scrollOverflow.iscrollHandler.afterLoad()}function T(){var n=t.location.hash.replace("#","");if(n.length){var o=$("responsiveExpand","isResponsive")?e(".ms-left").find('[data-panel="ms-left"][data-anchor="'+n+'"]'):e(".ms-left").find('[data-anchor="'+n+'"]');("undefined"==typeof lastScrolledDestiny||n!==lastScrolledDestiny)&&k(o)}}e(this).length&&(l.getMultiscrollData=function(){return{options:s,internals:{isTouch:u,isTouchDevice:f,isReallyTouch:F,getEventsPage:K,numberSections:x,setLastScrollDestiny:Q,setURLHash:z,activateMenuElement:A,activateNavDots:Z,getYmovement:P,removeMouseWheelHandler:M,addMouseWheelHandler:B,removeTouchHandler:q,addTouchHandler:V,transformContainer:W,c:ne}}}),_("responsiveExpand"),_("scrollOverflow"),_("responsiveCombine"),B(),V(),s.css3&&(s.css3=function(){var e,o=n.createElement("p"),s={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};for(var l in n.body.insertBefore(o,null),s)o.style[l]!==i&&(o.style[l]="translate3d(1px,1px,1px)",e=t.getComputedStyle(o).getPropertyValue(s[l]));return n.body.removeChild(o),e!==i&&e.length>0&&"none"!==e}()),e("html, body").css({overflow:"hidden",height:"100%"}),e(this).addClass(a),".ms-section"!==s.sectionSelector&&e(s.sectionSelector).each(function(){e(this).addClass("ms-section")}),s.navigation&&(e("body").append('<div id="multiscroll-nav"><ul></ul></div>'),(p=e("#multiscroll-nav")).css("color",s.navigationColor),p.addClass(s.navigationPosition)),e(".ms-right, .ms-left").css({width:"50%",position:"absolute",height:"100%","-ms-touch-action":"none"}),e(".ms-right").css({right:"1px",top:"0","-ms-touch-action":"none","touch-action":"none"}),e(".ms-left").css({left:"0",top:"0","-ms-touch-action":"none","touch-action":"none"}),e(".ms-left .ms-section, .ms-right .ms-section").each(function(){var t,n=e(this).index();if((s.paddingTop||s.paddingBottom)&&e(this).css("padding",s.paddingTop+" 0 "+s.paddingBottom+" 0"),void 0!==s.sectionsColor[n]&&e(this).css("background-color",s.sectionsColor[n]),void 0!==s.anchors[n]&&e(this).attr("data-anchor",s.anchors[n]),s.verticalCentered&&(t=e(this)).addClass("ms-table").wrapInner('<div class="ms-tableCell" style="height: '+Y(t)+'px" />'),e(this).closest(".ms-left").length&&s.navigation){var o="";s.anchors.length&&(o=s.anchors[n]);var i=s.navigationTooltips[n];void 0===i&&(i=""),s.navigation&&p.find("ul").append('<li data-tooltip="'+i+'"><a href="#'+o+'"><span></span></a></li>')}}),e(".ms-right").html(e(".ms-right").find(".ms-section").get().reverse()),e(".ms-left .ms-section, .ms-right .ms-section").each(function(){var t=e(this).index();e(this).css({height:"100%"}),!t&&s.navigation&&p.find("li").eq(t).find("a").addClass("active")}).promise().done(function(){e(".ms-left .ms-section.active").length||(e(".ms-right").find(".ms-section").last().addClass("active"),e(".ms-left").find(".ms-section").first().addClass("active")),J("responsiveExpand")&&(l.responsiveExpand.setIndex("ms-left"),l.responsiveExpand.setIndex("ms-right"),l.responsiveExpand.init()),J("responsiveCombine")&&l.responsiveCombine.init(),J("scrollOverflow")&&(l.scrollOverflow.init(),d=l.scrollOverflow.iscrollHandler.init(s)),s.navigation&&p.css("margin-top","-"+p.height()/2+"px"),O(),D(),j(),e(t).on("load",function(){var n,o;n=t.location.hash.replace("#",""),o=e('.ms-left .ms-section[data-anchor="'+n+'"]'),n.length&&k(o)})}),e(t).on("hashchange",T),e(n).keydown(function(t){if(clearTimeout(g),!s.autoScrolling)return;var o=e(n.activeElement);if(!o.is("textarea")&&!o.is("input")&&!o.is("select")&&s.keyboardScrolling){var i=t.which;e.inArray(i,[40,38,32,33,34])>-1&&t.preventDefault(),g=setTimeout(function(){!function(t){var n=t.shiftKey;switch(t.which){case 38:case 33:l.moveSectionUp();break;case 32:if(n){l.moveSectionUp();break}case 40:case 34:l.moveSectionDown();break;case 36:l.moveTo(1);break;case 35:l.moveTo(e(".ms-left .ms-section").length);break;default:;}}(t)},150)}}),e(n).mousedown(function(e){if(1==e.button)return e.preventDefault(),!1}),e(n).on("click","#multiscroll-nav a",function(t){t.preventDefault();var n=e(this).parent().index();k(e(".ms-left .ms-section").eq(n))}),e(n).on({mouseenter:function(){var t=e(this).data("tooltip");e('<div class="multiscroll-tooltip '+s.navigationPosition+'">'+t+"</div>").hide().appendTo(e(this)).fadeIn(200)},mouseleave:function(){e(this).find(".multiscroll-tooltip").fadeOut(200,function(){e(this).remove()})}},"#multiscroll-nav li"),s.normalScrollElements&&(e(n).on("mouseenter",s.normalScrollElements,function(){l.setMouseWheelScrolling(!1)}),e(n).on("mouseleave",s.normalScrollElements,function(){l.setMouseWheelScrolling(!0)})),e(t).on("resize",L);var E=b;function L(){if(f){var i=e(n.activeElement);if(!i.is("textarea")&&!i.is("input")&&!i.is("select")){var s=e(t).height();o.abs(s-E)>20*o.max(E,s)/100&&(I(!0),E=s)}}else clearTimeout(m),m=setTimeout(function(){I(!0)},350)}function I(n){b=e(t).height(),S=e(t).width(),e(".ms-tableCell").each(function(){e(this).css({height:Y(e(this).parent())})}),s.scrollOverflow&&d.createScrollBarForAll(),s.scrollOverflow&&l.scrollOverflow.iscrollHandler.afterLoad(),D(),e.isFunction(s.afterResize)&&s.afterResize.call(this)}function D(){s.css3&&s.autoScrolling?(W(e(".ms-left"),"translate3d(0px, -"+e(".ms-left").find(".ms-section.active").position().top+"px, 0px)",!1),W(e(".ms-right"),"translate3d(0px, -"+e(".ms-right").find(".ms-section.active").position().top+"px, 0px)",!1)):s.autoScrolling?(e(".ms-left").css("top",-e(".ms-left").find(".ms-section.active").position().top),e(".ms-right").css("top",-e(".ms-right").find(".ms-section.active").position().top)):e("html,body").scrollTop(e(".ms-left").find(".ms-section.active").position().top)}function k(t){var n=t.index(),o=e(".ms-right").find(".ms-section").eq(x-1-n),i=t.data("anchor"),a=e(".ms-left .ms-section.active").index()+1,r=P(t);w=!0;var c={left:t.position().top};if($("responsiveExpand","isResponsive")||(c.right=o.position().top),$("responsiveExpand","isResponsive")||o.addClass("active").siblings().removeClass("active"),t.addClass("active").siblings().removeClass("active"),z(i),$("responsiveExpand","isResponsive"))l.responsiveExpand.performMovement(t),setTimeout(function(){w=!1},s.scrollingSpeed);else if(s.css3){e.isFunction(s.onLeave)&&s.onLeave.call(this,a,n+1,r),s.scrollOverflow&&l.scrollOverflow.iscrollHandler.onLeave();var d="translate3d(0px, -"+c.left+"px, 0px)",m="translate3d(0px, -"+c.right+"px, 0px)";W(e(".ms-left"),d,!0),W(e(".ms-right"),m,!0),setTimeout(function(){e.isFunction(s.afterLoad)&&s.afterLoad.call(this,i,n+1),s.scrollOverflow&&l.scrollOverflow.iscrollHandler.afterLoad(),setTimeout(function(){w=!1},v)},s.scrollingSpeed)}else e.isFunction(s.onLeave)&&s.onLeave.call(this,a,n+1,r),e(".ms-left").animate({top:-c.left},s.scrollingSpeed,s.easing,function(){e.isFunction(s.afterLoad)&&s.afterLoad.call(this,i,n+1),s.scrollOverflow&&l.scrollOverflow.iscrollHandler.afterLoad(),setTimeout(function(){w=!1},v)}),e(".ms-right").animate({top:-c.right},s.scrollingSpeed,s.easing);lastScrolledDestiny=i,A(i),Z(i,n)}function M(){n.addEventListener?(n.removeEventListener("mousewheel",H,!1),n.removeEventListener("wheel",H,!1)):n.detachEvent("onmousewheel",H)}function B(){n.addEventListener?(n.addEventListener("mousewheel",H,!1),n.addEventListener("wheel",H,!1)):n.attachEvent("onmousewheel",H)}function H(n){e(r).trigger("onMouseWheel",[n,S]),n=t.event||n;var i=o.max(-1,o.min(1,n.wheelDelta||-n.deltaY||-n.detail));return w||R(i<0?"down":"up"),!1}function R(t){var n="down"===t?l.moveSectionDown:l.moveSectionUp;if(s.scrollOverflow){var o=l.scrollOverflow.iscrollHandler.scrollable(e.fn.multiscroll.scrollOverflow.g_overedPanel()),i="down"===t?"bottom":"top";if(o.length>0){if(!l.scrollOverflow.iscrollHandler.isScrolled(i,o))return!0;n()}else n()}else n()}function W(e,t,n){var o;e.toggleClass("ms-easing",n),e.css({"-webkit-transform":o=t,"-moz-transform":o,"-ms-transform":o,transform:o})}function Z(t,n){s.navigation&&(e("#multiscroll-nav").find(".active").removeClass("active"),t?e("#multiscroll-nav").find('a[href="#'+t+'"]').addClass("active"):e("#multiscroll-nav").find("li").eq(n).find("a").addClass("active"))}function A(t){s.menu&&(e(s.menu).find(".active").removeClass("active"),e(s.menu).find('[data-menuanchor="'+t+'"]').addClass("active"))}function P(t){return e(".ms-left .ms-section.active").index()>t.index()?"up":"down"}function z(e){s.anchors.length&&(location.hash=e),j()}function j(){var t=e(".ms-left .ms-section.active"),n=t.data("anchor"),o=t.index(),i=String(o);if(s.anchors.length&&(i=n),void 0!==i){i=i.replace("/","-").replace("#","");var l=new RegExp("\\b\\s?ms-viewing-[^\\s]+\\b","g");e("body")[0].className=e("body")[0].className.replace(l,""),e("body").addClass("ms-viewing-"+i)}}function Y(e){var t=b;if(s.paddingTop||s.paddingBottom){var n=parseInt(e.css("padding-top"))+parseInt(e.css("padding-bottom"));t=b-n}return t}l.silentScroll=D,l.moveSectionUp=function(){var t=e(".ms-left .ms-section.active").prev(".ms-section");!t.length&&s.loopTop&&(t=e(".ms-left .ms-section").last()),t.length&&k(t)},l.moveSectionDown=function(){var t=e(".ms-left .ms-section.active").next(".ms-section");!t.length&&s.loopBottom&&(t=e(".ms-left .ms-section").first()),t.length&&k(t)},l.moveTo=function(t){k(isNaN(t)?e('.ms-left [data-anchor="'+t+'"]'):e(".ms-left .ms-section").eq(t-1))},l.setKeyboardScrolling=function(e){s.keyboardScrolling=e},l.setMouseWheelScrolling=function(e){e?B():M()},l.setScrollingSpeed=function(e){s.scrollingSpeed=e};var G=0,N=0;function X(n){if(F(n)){event.preventDefault();e(".ms-left .ms-section.active");if(!w){var i=K(n);N=i.y,i.x,o.abs(G-N)>e(t).height()/100*s.touchSensitivity&&(G>N?R("down"):N>G&&R("up"))}}}function F(e){return void 0===e.pointerType||"mouse"!=e.pointerType}function U(t){if(e(r).trigger("onTouch",[t,S]),F(t)){var n=K(t);G=n.y,n.x}}function V(){(u||f)&&(n.removeEventListener(y.touchstart,U),n.removeEventListener(y.touchmove,X,{passive:!1}),n.addEventListener(y.touchstart,U),n.addEventListener(y.touchmove,X,{passive:!1}))}function q(){(u||f)&&(n.removeEventListener(y.touchstart,U),n.removeEventListener(y.touchmove,X,{passive:!1}))}function K(e){var t=[];return t.y=void 0!==e.pageY&&(e.pageY||e.pageX)?e.pageY:e.touches[0].pageY,t.x=void 0!==e.pageX&&(e.pageY||e.pageX)?e.pageX:e.touches[0].pageX,u&&F(e)&&void 0!==e.touches&&(t.y=e.touches[0].pageY,t.x=e.touches[0].pageX),t}function Q(e){lastScrolledDestiny=e}function _(e){var n="ms_"+e+"Extension";h[e]=s[e+"Key"],l[e]=void 0!==t[n]?new t[n]:null,l[e]&&l[e].c(e)}function J(e){return s[e]&&l[e]}function $(e,t,n){var o=Array.isArray(n)?n.join(", "):n;return!!J(e)&&l[e][t](o)}function ee(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function n(e){var n,o,i,s,l,a,r="",c=0;for(e=e.replace(/[^A-Za-z0-9+/=]/g,"");c<e.length;)n=t.indexOf(e.charAt(c++))<<2|(s=t.indexOf(e.charAt(c++)))>>4,o=(15&s)<<4|(l=t.indexOf(e.charAt(c++)))>>2,i=(3&l)<<6|(a=t.indexOf(e.charAt(c++))),r+=String.fromCharCode(n),64!=l&&(r+=String.fromCharCode(o)),64!=a&&(r+=String.fromCharCode(i));return r=function(e){var t,n="",o=0,i=0,s=0;for(;o<e.length;)(i=e.charCodeAt(o))<128?(n+=String.fromCharCode(i),o++):i>191&&i<224?(s=e.charCodeAt(o+1),n+=String.fromCharCode((31&i)<<6|63&s),o+=2):(s=e.charCodeAt(o+1),t=e.charCodeAt(o+2),n+=String.fromCharCode((15&i)<<12|(63&s)<<6|63&t),o+=3);return n}(r)}function o(e){return e.slice(3).slice(0,-3)}return function(e){var t=e.split("_");if(t.length>1){var i=t[1];return e.replace(o(t[1]),"").split("_")[0]+"_"+n(i.slice(3).slice(0,-3))}return o(e)}(n(e))}function te(e){var t=function(){if(n.domain.length){for(var e=n.domain.replace(/^(www\.)/,"").split(".");e.length>2;)e.shift();return e.join(".").replace(/(^\.*)|(\.*$)/g,"")}return""}(),o=["localhost","127.0.0.1","jshell.net","UDdDQU5ZNlNN"],i=o[0],s=o[1],l=o[2],a=ee(o[3]),r=[i,s,l].indexOf(t)<0&&0!==t.length,c=void 0!==h[e]&&h[e].length;if(!c&&r)return!1;var d=c?ee(h[e]):"",m=(d=d.split("_")).length>1&&d[1].indexOf(e,d[1].length-e.length)>-1;return!(d[0].indexOf(t,d[0].length-t.length)<0&&r&&a!=d[0])&&m||!r}function ne(e){if(J(e)&&l[e]){var t=ee("MTIzPGRpdiBzdHlsZT0iei1pbmRleDo5OTk5OTk5O3Bvc2l0aW9uOmZpeGVkOyB0b3A6IDIwcHg7IGxlZnQ6MjBweDsgYmFja2dyb3VuZDpyZWQ7IHBhZGRpbmc6IDdweCAxNXB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtZmFtaWx5OiBhcmlhbDsgY29sb3I6ICNmZmY7IGRpc3BsYXk6IGlubGluZS1ibG9jazsiPjxhIGhyZWY9Imh0dHA6Ly9hbHZhcm90cmlnby5jb20vbXVsdGlTY3JvbGwvZXh0ZW5zaW9ucy8iIHN0eWxlPSJjb2xvcjogI2ZmZjsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7Ij5VbmxpY2Vuc2VkIG11bHRpU2Nyb2xsLmpzIEV4dGVuc2lvbjwvYT48L2Rpdj4xMjM="),n=o.random()<.5;if(!te(e)){var i=function(){"9999999"!==(n?c.find("div").first():c.find("div").last()).css("z-index")&&(n?c.prepend(t):c.append(t))};i(),setInterval(i,2e3)}}}l.destroy=function(){l.setKeyboardScrolling(!1),l.setMouseWheelScrolling(!1),q(),e(t).off("hashchange",T).off("resize",L),e(n).off("mouseenter","#multiscroll-nav li").off("mouseleave","#multiscroll-nav li").off("click","#multiscroll-nav a")},l.build=function(){l.setKeyboardScrolling(!0),l.setMouseWheelScrolling(!0),e(t).on("hashchange",T).on("resize",L),e(n).on("mouseenter","#multiscroll-nav li").on("mouseleave","#multiscroll-nav li").on("click","#multiscroll-nav a")},l.extensionCall=$}}(jQuery,window,document,Math);
\ No newline at end of file
diff --git a/dist/jquery.multiscroll.js b/dist/jquery.multiscroll.js
index 7467598..4135ae6 100644
--- a/dist/jquery.multiscroll.js
+++ b/dist/jquery.multiscroll.js
@@ -1,5 +1,5 @@
 /*!
- * multiscroll.js 0.2.0
+ * multiscroll.js 0.2.2
  * https://github.com/alvarotrigo/multiscroll.js
  * @license MIT licensed
  *
@@ -65,6 +65,11 @@
         var isMoving = false;
         var nav;
         var windowHeight = $(window).height();
+        var MSPointer = getMSPointer();
+        var events = {
+            touchmove: 'ontouchmove' in window ? 'touchmove' :  MSPointer.move,
+            touchstart: 'ontouchstart' in window ? 'touchstart' :  MSPointer.down
+        };
 
         //timeouts
         var resizeId;
@@ -347,7 +352,7 @@
 
                 //if the keyboard is NOT visible
                 if (!activeElement.is('textarea') && !activeElement.is('input') && !activeElement.is('select')) {
-                    var currentHeight = $window.height();
+                    var currentHeight = $(window).height();
 
                     //making sure the change in the viewport size is enough to force a rebuild. (20 % of the window to avoid problems when hidding scroll bars)
                     if( Math.abs(currentHeight - previousHeight) > (20 * Math.max(previousHeight, currentHeight) / 100) ){
@@ -755,8 +760,7 @@
         * This way, the touchstart and the touch moves shows an small difference between them which is the
         * used one to determine the direction.
         */
-        function touchMoveHandler(event){
-            var e = event.originalEvent;
+        function touchMoveHandler(e){
 
             if(isReallyTouch(e)){
                 //preventing the easing on iOS devices
@@ -797,8 +801,7 @@
         /**
         * Handler to get he coordinates of the starting touch
         */
-        function touchStartHandler(event){
-            var e = event.originalEvent;
+        function touchStartHandler(e){
 
             if(isReallyTouch(e)){
                 var touchEvents = getEventsPage(e);
@@ -812,12 +815,12 @@
         * Adds the possibility to auto scroll through sections on touch devices.
         */
         function addTouchHandler(){
-            if(isTouch){
-                //Microsoft pointers
-                MSPointer = getMSPointer();
+            if(isTouch || isTouchDevice){
+                document.removeEventListener(events.touchstart, touchStartHandler);
+                document.removeEventListener(events.touchmove, touchMoveHandler, {passive: false});
 
-                $(document).off('touchstart ' +  MSPointer.down).on('touchstart ' + MSPointer.down, touchStartHandler);
-                $(document).off('touchmove ' + MSPointer.move).on('touchmove ' + MSPointer.move, touchMoveHandler);
+                document.addEventListener(events.touchstart, touchStartHandler);
+                document.addEventListener(events.touchmove, touchMoveHandler, {passive: false});
             }
         }
 
@@ -825,12 +828,9 @@
         * Removes the auto scrolling for touch devices.
         */
         function removeTouchHandler(){
-            if(isTouch){
-                //Microsoft pointers
-                MSPointer = getMSPointer();
-
-                $(document).off('touchstart ' + MSPointer.down);
-                $(document).off('touchmove ' + MSPointer.move);
+            if(isTouch || isTouchDevice){
+                document.removeEventListener(events.touchstart, touchStartHandler);
+                document.removeEventListener(events.touchmove, touchMoveHandler, {passive: false});
             }
         }
 
@@ -865,7 +865,7 @@
             events.x = (typeof e.pageX !== 'undefined' && (e.pageY || e.pageX) ? e.pageX : e.touches[0].pageX);
 
             //in touch devices with scrollBar:true, e.pageY is detected, but we have to deal with touch events. #1008
-            if(isTouch && isReallyTouch(e)){
+            if(isTouch && isReallyTouch(e) && typeof e.touches !== 'undefined'){
                 events.y = e.touches[0].pageY;
                 events.x = e.touches[0].pageX;
             }
@@ -883,7 +883,7 @@
 
             $(window)
                 .off('hashchange', hashChangeHandler)
-                .off('resize', doneResizing);
+                .off('resize', resizeHandler);
 
             $(document)
                 .off('mouseenter', '#multiscroll-nav li')
@@ -901,7 +901,7 @@
 
             $(window)
                 .on('hashchange', hashChangeHandler)
-                .on('resize', doneResizing);
+                .on('resize', resizeHandler);
 
             $(document)
                 .on('mouseenter', '#multiscroll-nav li', navMouseEnterHandler)
diff --git a/dist/jquery.multiscroll.min.css b/dist/jquery.multiscroll.min.css
index 9918216..b768586 100644
--- a/dist/jquery.multiscroll.min.css
+++ b/dist/jquery.multiscroll.min.css
@@ -1,5 +1,5 @@
 /*!
- * multiscroll.js 0.2.0
+ * multiscroll.js 0.2.2
  * https://github.com/alvarotrigo/multiscroll.js
  * @license MIT licensed
  *
diff --git a/dist/jquery.multiscroll.min.css.map b/dist/jquery.multiscroll.min.css.map
index dbbe37e..a268916 100644
--- a/dist/jquery.multiscroll.min.css.map
+++ b/dist/jquery.multiscroll.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["jquery.multiscroll.css"],"names":[],"mappings":";;;;;;AAOM,KAAN,KACI,OAAQ,EACR,QAAS,EACT,SAAS,OACT,4BAA6B,cAEjC,YACI,SAAU,SACV,mBAAoB,WACpB,gBAAiB,WACjB,WAAY,WAEhB,qBACI,QAAS,MACT,MAAO,KAEX,cACI,QAAS,WACT,eAAgB,OAChB,MAAO,KACP,OAAQ,KAEZ,WACI,mBAAoB,IAAI,IAAK,SAC7B,gBAAiB,IAAI,IAAK,SAC1B,cAAe,IAAI,IAAK,SACxB,WAAY,IAAI,IAAK,SAEzB,iBACI,SAAU,MACV,QAAS,IACT,WAAY,MACZ,IAAK,IACL,QAAS,EAEb,uBACI,MAAO,KAEX,sBACI,KAAM,KAEV,oBACE,OAAQ,EACR,QAAS,EAEX,oBACI,QAAS,MACT,MAAO,KACP,OAAQ,KACR,OAAQ,IACR,SAAS,SAEb,sBACI,QAAS,MACT,SAAU,SACV,QAAS,EACT,MAAO,KACP,OAAQ,KACR,OAAQ,QACR,gBAAiB,KAErB,iCACI,WAAY,KAEhB,sBACI,IAAK,IACL,KAAM,IACN,MAAO,IACP,OAAQ,IACR,OAAQ,IAAI,MAAM,KAClB,WAAY,cACZ,sBAAuB,IACvB,mBAAoB,IACpB,cAAe,IACf,SAAU,SACV,QAAS,EAEb,qBACI,SAAU,SACV,MAAO,KACP,UAAW,KACX,YAAa,MAAO,UAAW,WAC/B,IAAK,KACL,YAAa,OACb,UAAW,MAEf,2BACI,MAAO,KAEX,0BACI,KAAM,KAEV,wBACI,QAAS,KAEb,eACI,SAAU,OACV,SAAU,SAEd,aACI,SAAU,OAEd,kBACI,OAAQ","file":"jquery.multiscroll.min.css","sourcesContent":["/*!\r\n * multiscroll.js 0.2.0\r\n * https://github.com/alvarotrigo/multiscroll.js\r\n * @license MIT licensed\r\n *\r\n * Copyright (C) 2016 alvarotrigo.com - A project by Alvaro Trigo\r\n */\r\nhtml, body {\r\n    margin: 0;\r\n    padding: 0;\r\n    overflow:hidden;\r\n    -webkit-tap-highlight-color: rgba(0,0,0,0);\r\n}\r\n.ms-section {\r\n    position: relative;\r\n    -webkit-box-sizing: border-box;\r\n    -moz-box-sizing: border-box;\r\n    box-sizing: border-box;\r\n}\r\n.ms-section.ms-table{\r\n    display: table;\r\n    width: 100%;\r\n}\r\n.ms-tableCell {\r\n    display: table-cell;\r\n    vertical-align: middle;\r\n    width: 100%;\r\n    height: 100%;\r\n}\r\n.ms-easing {\r\n    -webkit-transition: all 0.7s ease-out;\r\n    -moz-transition: all 0.7s ease-out;\r\n    -o-transition: all 0.7s ease-out;\r\n    transition: all 0.7s ease-out;\r\n}\r\n#multiscroll-nav {\r\n    position: fixed;\r\n    z-index: 100;\r\n    margin-top: -32px;\r\n    top: 50%;\r\n    opacity: 1;\r\n}\r\n#multiscroll-nav.right {\r\n    right: 17px;\r\n}\r\n#multiscroll-nav.left {\r\n    left: 17px;\r\n}\r\n#multiscroll-nav ul{\r\n  margin: 0;\r\n  padding: 0;\r\n}\r\n#multiscroll-nav li{\r\n    display: block;\r\n    width: 14px;\r\n    height: 13px;\r\n    margin: 7px;\r\n    position:relative;\r\n}\r\n#multiscroll-nav li a{\r\n    display: block;\r\n    position: relative;\r\n    z-index: 1;\r\n    width: 100%;\r\n    height: 100%;\r\n    cursor: pointer;\r\n    text-decoration: none;\r\n}\r\n#multiscroll-nav li .active span{\r\n    background: #333;\r\n}\r\n#multiscroll-nav span{\r\n    top: 2px;\r\n    left: 2px;\r\n    width: 8px;\r\n    height: 8px;\r\n    border: 1px solid #000;\r\n    background: rgba(0, 0, 0, 0);\r\n    -webkit-border-radius: 50%;\r\n    -moz-border-radius: 50%;\r\n    border-radius: 50%;\r\n    position: absolute;\r\n    z-index: 1;\r\n}\r\n.multiscroll-tooltip {\r\n    position: absolute;\r\n    color: #fff;\r\n    font-size: 14px;\r\n    font-family: arial, helvetica, sans-serif;\r\n    top: -2px;\r\n    white-space: nowrap;\r\n    max-width: 220px;\r\n}\r\n.multiscroll-tooltip.right {\r\n    right: 20px;\r\n}\r\n.multiscroll-tooltip.left {\r\n    left: 20px;\r\n}\r\n.ms-responsive .ms-hide{\r\n    display: none;\r\n}\r\n.ms-scrollable {\r\n    overflow: hidden;\r\n    position: relative;\r\n}\r\n.ms-scroller{\r\n    overflow: hidden;\r\n}\r\n.iScrollIndicator{\r\n    border: 0 !important;\r\n}\r\n"]}
\ No newline at end of file
+{"version":3,"sources":["jquery.multiscroll.css"],"names":[],"mappings":";;;;;;AAOM,KAAN,KACI,OAAQ,EACR,QAAS,EACT,SAAS,OACT,4BAA6B,cAEjC,YACI,SAAU,SACV,mBAAoB,WACpB,gBAAiB,WACjB,WAAY,WAEhB,qBACI,QAAS,MACT,MAAO,KAEX,cACI,QAAS,WACT,eAAgB,OAChB,MAAO,KACP,OAAQ,KAEZ,WACI,mBAAoB,IAAI,IAAK,SAC7B,gBAAiB,IAAI,IAAK,SAC1B,cAAe,IAAI,IAAK,SACxB,WAAY,IAAI,IAAK,SAEzB,iBACI,SAAU,MACV,QAAS,IACT,WAAY,MACZ,IAAK,IACL,QAAS,EAEb,uBACI,MAAO,KAEX,sBACI,KAAM,KAEV,oBACE,OAAQ,EACR,QAAS,EAEX,oBACI,QAAS,MACT,MAAO,KACP,OAAQ,KACR,OAAQ,IACR,SAAS,SAEb,sBACI,QAAS,MACT,SAAU,SACV,QAAS,EACT,MAAO,KACP,OAAQ,KACR,OAAQ,QACR,gBAAiB,KAErB,iCACI,WAAY,KAEhB,sBACI,IAAK,IACL,KAAM,IACN,MAAO,IACP,OAAQ,IACR,OAAQ,IAAI,MAAM,KAClB,WAAY,cACZ,sBAAuB,IACvB,mBAAoB,IACpB,cAAe,IACf,SAAU,SACV,QAAS,EAEb,qBACI,SAAU,SACV,MAAO,KACP,UAAW,KACX,YAAa,MAAO,UAAW,WAC/B,IAAK,KACL,YAAa,OACb,UAAW,MAEf,2BACI,MAAO,KAEX,0BACI,KAAM,KAEV,wBACI,QAAS,KAEb,eACI,SAAU,OACV,SAAU,SAEd,aACI,SAAU,OAEd,kBACI,OAAQ","file":"jquery.multiscroll.min.css","sourcesContent":["/*!\r\n * multiscroll.js 0.2.2\r\n * https://github.com/alvarotrigo/multiscroll.js\r\n * @license MIT licensed\r\n *\r\n * Copyright (C) 2016 alvarotrigo.com - A project by Alvaro Trigo\r\n */\r\nhtml, body {\r\n    margin: 0;\r\n    padding: 0;\r\n    overflow:hidden;\r\n    -webkit-tap-highlight-color: rgba(0,0,0,0);\r\n}\r\n.ms-section {\r\n    position: relative;\r\n    -webkit-box-sizing: border-box;\r\n    -moz-box-sizing: border-box;\r\n    box-sizing: border-box;\r\n}\r\n.ms-section.ms-table{\r\n    display: table;\r\n    width: 100%;\r\n}\r\n.ms-tableCell {\r\n    display: table-cell;\r\n    vertical-align: middle;\r\n    width: 100%;\r\n    height: 100%;\r\n}\r\n.ms-easing {\r\n    -webkit-transition: all 0.7s ease-out;\r\n    -moz-transition: all 0.7s ease-out;\r\n    -o-transition: all 0.7s ease-out;\r\n    transition: all 0.7s ease-out;\r\n}\r\n#multiscroll-nav {\r\n    position: fixed;\r\n    z-index: 100;\r\n    margin-top: -32px;\r\n    top: 50%;\r\n    opacity: 1;\r\n}\r\n#multiscroll-nav.right {\r\n    right: 17px;\r\n}\r\n#multiscroll-nav.left {\r\n    left: 17px;\r\n}\r\n#multiscroll-nav ul{\r\n  margin: 0;\r\n  padding: 0;\r\n}\r\n#multiscroll-nav li{\r\n    display: block;\r\n    width: 14px;\r\n    height: 13px;\r\n    margin: 7px;\r\n    position:relative;\r\n}\r\n#multiscroll-nav li a{\r\n    display: block;\r\n    position: relative;\r\n    z-index: 1;\r\n    width: 100%;\r\n    height: 100%;\r\n    cursor: pointer;\r\n    text-decoration: none;\r\n}\r\n#multiscroll-nav li .active span{\r\n    background: #333;\r\n}\r\n#multiscroll-nav span{\r\n    top: 2px;\r\n    left: 2px;\r\n    width: 8px;\r\n    height: 8px;\r\n    border: 1px solid #000;\r\n    background: rgba(0, 0, 0, 0);\r\n    -webkit-border-radius: 50%;\r\n    -moz-border-radius: 50%;\r\n    border-radius: 50%;\r\n    position: absolute;\r\n    z-index: 1;\r\n}\r\n.multiscroll-tooltip {\r\n    position: absolute;\r\n    color: #fff;\r\n    font-size: 14px;\r\n    font-family: arial, helvetica, sans-serif;\r\n    top: -2px;\r\n    white-space: nowrap;\r\n    max-width: 220px;\r\n}\r\n.multiscroll-tooltip.right {\r\n    right: 20px;\r\n}\r\n.multiscroll-tooltip.left {\r\n    left: 20px;\r\n}\r\n.ms-responsive .ms-hide{\r\n    display: none;\r\n}\r\n.ms-scrollable {\r\n    overflow: hidden;\r\n    position: relative;\r\n}\r\n.ms-scroller{\r\n    overflow: hidden;\r\n}\r\n.iScrollIndicator{\r\n    border: 0 !important;\r\n}\r\n"]}
\ No newline at end of file
diff --git a/dist/jquery.multiscroll.min.js b/dist/jquery.multiscroll.min.js
index 884aaeb..dfd59cf 100644
--- a/dist/jquery.multiscroll.min.js
+++ b/dist/jquery.multiscroll.min.js
@@ -1,9 +1,9 @@
 /*!
- * multiscroll.js 0.2.0
+ * multiscroll.js 0.2.2
  * https://github.com/alvarotrigo/multiscroll.js
  * @license MIT licensed
  *
  * Copyright (C) 2016 alvarotrigo.com - A project by Alvaro Trigo
  */
-!function(z,R,F,Y,I){z.fn.multiscroll=function(v){var o=z.fn.multiscroll;v=z.extend({verticalCentered:!0,scrollingSpeed:700,easing:"easeInQuart",menu:!1,sectionsColor:[],anchors:[],navigation:!1,navigationPosition:"right",navigationColor:"#000",navigationTooltips:[],loopBottom:!1,loopTop:!1,css3:!1,paddingTop:0,paddingBottom:0,fixedElements:null,normalScrollElements:null,keyboardScrolling:!0,touchSensitivity:5,sectionSelector:".ms-section",leftSelector:".ms-left",rightSelector:".ms-right",afterLoad:null,onLeave:null,afterRender:null,afterResize:null},v);var h=600,n=navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/),i="ontouchstart"in R||0<navigator.msMaxTouchPoints||navigator.maxTouchPoints;".ms-right"!==v.rightSelector&&z(v.rightSelector).addClass("ms-right"),".ms-left"!==v.leftSelector&&z(v.leftSelector).addClass("ms-left");var s,a,l,u=z(".ms-left").find(".ms-section").length,g=!1,r=z(R).height();function e(){var e=R.location.hash.replace("#","");if(e.length){var t=z(".ms-left").find('[data-anchor="'+e+'"]');("undefined"==typeof lastScrolledDestiny||e!==lastScrolledDestiny)&&S(t)}}function t(e){e.preventDefault();var t=z(this).parent().index();S(z(".ms-left .ms-section").eq(t))}function c(){var e=z(this).data("tooltip");z('<div class="multiscroll-tooltip '+v.navigationPosition+'">'+e+"</div>").hide().appendTo(z(this)).fadeIn(200)}function m(){z(this).find(".multiscroll-tooltip").fadeOut(200,function(){z(this).remove()})}w(),L(),v.css3&&(v.css3=function(){var e,t=F.createElement("p"),n={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};for(var o in F.body.insertBefore(t,null),n)t.style[o]!==I&&(t.style[o]="translate3d(1px,1px,1px)",e=R.getComputedStyle(t).getPropertyValue(n[o]));return F.body.removeChild(t),e!==I&&0<e.length&&"none"!==e}()),z("html, body").css({overflow:"hidden",height:"100%"}),".ms-section"!==v.sectionSelector&&z(v.sectionSelector).each(function(){z(this).addClass("ms-section")}),v.navigation&&(z("body").append('<div id="multiscroll-nav"><ul></ul></div>'),(s=z("#multiscroll-nav")).css("color",v.navigationColor),s.addClass(v.navigationPosition)),z(".ms-right, .ms-left").css({width:"50%",position:"absolute",height:"100%","-ms-touch-action":"none"}),z(".ms-right").css({right:"1px",top:"0","-ms-touch-action":"none","touch-action":"none"}),z(".ms-left").css({left:"0",top:"0","-ms-touch-action":"none","touch-action":"none"}),z(".ms-left .ms-section, .ms-right .ms-section").each(function(){var e,t=z(this).index();if((v.paddingTop||v.paddingBottom)&&z(this).css("padding",v.paddingTop+" 0 "+v.paddingBottom+" 0"),void 0!==v.sectionsColor[t]&&z(this).css("background-color",v.sectionsColor[t]),void 0!==v.anchors[t]&&z(this).attr("data-anchor",v.anchors[t]),v.verticalCentered&&(e=z(this)).addClass("ms-table").wrapInner('<div class="ms-tableCell" style="height: '+C(e)+'px" />'),z(this).closest(".ms-left").length&&v.navigation){var n="";v.anchors.length&&(n=v.anchors[t]);var o=v.navigationTooltips[t];void 0===o&&(o=""),v.navigation&&s.find("ul").append('<li data-tooltip="'+o+'"><a href="#'+n+'"><span></span></a></li>')}}),z(".ms-right").html(z(".ms-right").find(".ms-section").get().reverse()),z(".ms-left .ms-section, .ms-right .ms-section").each(function(){var e=z(this).index();z(this).css({height:"100%"}),!e&&v.navigation&&s.find("li").eq(e).find("a").addClass("active")}).promise().done(function(){z(".ms-left .ms-section.active").length||(z(".ms-right").find(".ms-section").last().addClass("active"),z(".ms-left").find(".ms-section").first().addClass("active")),v.navigation&&s.css("margin-top","-"+s.height()/2+"px"),z.isFunction(v.afterRender)&&v.afterRender.call(this),p(),y(),z(R).on("load",function(){var e,t;e=R.location.hash.replace("#",""),t=z('.ms-left .ms-section[data-anchor="'+e+'"]'),e.length&&S(t)})}),z(R).on("hashchange",e),z(F).keydown(function(e){clearTimeout(l);var t=z(F.activeElement);if(!t.is("textarea")&&!t.is("input")&&!t.is("select")&&v.keyboardScrolling){var n=e.which;-1<z.inArray(n,[40,38,32,33,34])&&e.preventDefault(),l=setTimeout(function(){!function(e){var t=e.shiftKey;switch(e.which){case 38:case 33:o.moveSectionUp();break;case 32:if(t){o.moveSectionUp();break}case 40:case 34:o.moveSectionDown();break;case 36:o.moveTo(1);break;case 35:o.moveTo(z(".ms-left .ms-section").length);break;default:;}}(e)},150)}}),z(F).mousedown(function(e){if(1==e.button)return e.preventDefault(),!1}),z(F).on("click","#multiscroll-nav a",t),z(F).on({mouseenter:c,mouseleave:m},"#multiscroll-nav li"),v.normalScrollElements&&(z(F).on("mouseenter",v.normalScrollElements,function(){o.setMouseWheelScrolling(!1)}),z(F).on("mouseleave",v.normalScrollElements,function(){o.setMouseWheelScrolling(!0)})),z(R).on("resize",function(){if(n){var e=z(F.activeElement);if(!e.is("textarea")&&!e.is("input")&&!e.is("select")){var t=$window.height();Y.abs(t-d)>20*Y.max(d,t)/100&&(f(!0),d=t)}}else clearTimeout(a),a=setTimeout(function(){f(!0)},350)});var d=r;function f(e){r=z(R).height(),z(".ms-tableCell").each(function(){z(this).css({height:C(z(this).parent())})}),v.scrollOverflow&&scrollBarHandler.createScrollBarForAll(),p(),z.isFunction(v.afterResize)&&v.afterResize.call(this)}function p(){v.css3?(b(z(".ms-left"),"translate3d(0px, -"+z(".ms-left").find(".ms-section.active").position().top+"px, 0px)",!1),b(z(".ms-right"),"translate3d(0px, -"+z(".ms-right").find(".ms-section.active").position().top+"px, 0px)",!1)):(z(".ms-left").css("top",-z(".ms-left").find(".ms-section.active").position().top),z(".ms-right").css("top",-z(".ms-right").find(".ms-section.active").position().top))}function S(e){var t=e.index(),n=z(".ms-right").find(".ms-section").eq(u-1-t),o=e.data("anchor"),i=z(".ms-left .ms-section.active").index()+1,s=function(e){var t=z(".ms-left .ms-section.active").index(),n=e.index();if(n<t)return"up";return"down"}(e);g=!0;var a,l,r,c=e.position().top,m=n.position().top;if(n.addClass("active").siblings().removeClass("active"),e.addClass("active").siblings().removeClass("active"),function(e){v.anchors.length&&(location.hash=e);y()}(o),v.css3){z.isFunction(v.onLeave)&&v.onLeave.call(this,i,t+1,s);var d="translate3d(0px, -"+c+"px, 0px)",f="translate3d(0px, -"+m+"px, 0px)";b(z(".ms-left"),d,!0),b(z(".ms-right"),f,!0),setTimeout(function(){z.isFunction(v.afterLoad)&&v.afterLoad.call(this,o,t+1),setTimeout(function(){g=!1},h)},v.scrollingSpeed)}else z.isFunction(v.onLeave)&&v.onLeave.call(this,i,t+1,s),z(".ms-left").animate({top:-c},v.scrollingSpeed,v.easing,function(){z.isFunction(v.afterLoad)&&v.afterLoad.call(this,o,t+1),setTimeout(function(){g=!1},h)}),z(".ms-right").animate({top:-m},v.scrollingSpeed,v.easing);lastScrolledDestiny=o,a=o,v.menu&&(z(v.menu).find(".active").removeClass("active"),z(v.menu).find('[data-menuanchor="'+a+'"]').addClass("active")),l=o,r=t,v.navigation&&(z("#multiscroll-nav").find(".active").removeClass("active"),l?z("#multiscroll-nav").find('a[href="#'+l+'"]').addClass("active"):z("#multiscroll-nav").find("li").eq(r).find("a").addClass("active"))}function w(){F.addEventListener?(F.addEventListener("mousewheel",x,!1),F.addEventListener("wheel",x,!1)):F.attachEvent("onmousewheel",x)}function x(e){e=R.event||e;var t=Y.max(-1,Y.min(1,e.wheelDelta||-e.deltaY||-e.detail));return g||(t<0?o.moveSectionDown():o.moveSectionUp()),!1}function b(e,t,n){var o;e.toggleClass("ms-easing",n),e.css({"-webkit-transform":o=t,"-moz-transform":o,"-ms-transform":o,transform:o})}function y(){var e=z(".ms-left .ms-section.active"),t=e.data("anchor"),n=e.index(),o=String(n);v.anchors.length&&(o=t),o=o.replace("/","-").replace("#","");var i=new RegExp("\\b\\s?ms-viewing-[^\\s]+\\b","g");z("body")[0].className=z("body")[0].className.replace(i,""),z("body").addClass("ms-viewing-"+o)}function C(e){var t=r;if(v.paddingTop||v.paddingBottom){var n=parseInt(e.css("padding-top"))+parseInt(e.css("padding-bottom"));t=r-n}return t}o.moveSectionUp=function(){var e=z(".ms-left .ms-section.active").prev(".ms-section");!e.length&&v.loopTop&&(e=z(".ms-left .ms-section").last()),e.length&&S(e)},o.moveSectionDown=function(){var e=z(".ms-left .ms-section.active").next(".ms-section");!e.length&&v.loopBottom&&(e=z(".ms-left .ms-section").first()),e.length&&S(e)},o.moveTo=function(e){S(isNaN(e)?z('.ms-left [data-anchor="'+e+'"]'):z(".ms-left .ms-section").eq(e-1))},o.setKeyboardScrolling=function(e){v.keyboardScrolling=e},o.setMouseWheelScrolling=function(e){e?w():F.addEventListener?(F.removeEventListener("mousewheel",x,!1),F.removeEventListener("wheel",x,!1)):F.detachEvent("onmousewheel",x)},o.setScrollingSpeed=function(e){v.scrollingSpeed=e};var T=0,E=0;function M(e){var t=e.originalEvent;if(P(t)){e.preventDefault();z(".ms-left .ms-section.active");if(!g){var n=D(t);E=n.y,n.x,Y.abs(T-E)>z(R).height()/100*v.touchSensitivity&&(E<T?o.moveSectionDown():T<E&&o.moveSectionUp())}}}function P(e){return void 0===e.pointerType||"mouse"!=e.pointerType}function k(e){var t=e.originalEvent;if(P(t)){var n=D(t);T=n.y,n.x}}function L(){i&&(MSPointer=B(),z(F).off("touchstart "+MSPointer.down).on("touchstart "+MSPointer.down,k),z(F).off("touchmove "+MSPointer.move).on("touchmove "+MSPointer.move,M))}function B(){return R.PointerEvent?{down:"pointerdown",move:"pointermove"}:{down:"MSPointerDown",move:"MSPointerMove"}}function D(e){var t=[];return t.y=void 0!==e.pageY&&(e.pageY||e.pageX)?e.pageY:e.touches[0].pageY,t.x=void 0!==e.pageX&&(e.pageY||e.pageX)?e.pageX:e.touches[0].pageX,i&&P(e)&&(t.y=e.touches[0].pageY,t.x=e.touches[0].pageX),t}o.destroy=function(){o.setKeyboardScrolling(!1),o.setMouseWheelScrolling(!1),i&&(MSPointer=B(),z(F).off("touchstart "+MSPointer.down),z(F).off("touchmove "+MSPointer.move)),z(R).off("hashchange",e).off("resize",doneResizing),z(F).off("mouseenter","#multiscroll-nav li").off("mouseleave","#multiscroll-nav li").off("click","#multiscroll-nav a")},o.build=function(){o.setKeyboardScrolling(!0),o.setMouseWheelScrolling(!0),L(),z(R).on("hashchange",e).on("resize",doneResizing),z(F).on("mouseenter","#multiscroll-nav li",c).on("mouseleave","#multiscroll-nav li",m).on("click","#multiscroll-nav a",t)}}}(jQuery,window,document,Math);
+!function(R,Y,I,W,X){R.fn.multiscroll=function(f){var o=R.fn.multiscroll;f=R.extend({verticalCentered:!0,scrollingSpeed:700,easing:"easeInQuart",menu:!1,sectionsColor:[],anchors:[],navigation:!1,navigationPosition:"right",navigationColor:"#000",navigationTooltips:[],loopBottom:!1,loopTop:!1,css3:!1,paddingTop:0,paddingBottom:0,fixedElements:null,normalScrollElements:null,keyboardScrolling:!0,touchSensitivity:5,sectionSelector:".ms-section",leftSelector:".ms-left",rightSelector:".ms-right",afterLoad:null,onLeave:null,afterRender:null,afterResize:null},f);var h=600,n=navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/),i="ontouchstart"in Y||0<navigator.msMaxTouchPoints||navigator.maxTouchPoints;".ms-right"!==f.rightSelector&&R(f.rightSelector).addClass("ms-right"),".ms-left"!==f.leftSelector&&R(f.leftSelector).addClass("ms-left");var s,a,l,u=R(".ms-left").find(".ms-section").length,p=!1,r=R(Y).height(),e=function(){var e;e=Y.PointerEvent?{down:"pointerdown",move:"pointermove"}:{down:"MSPointerDown",move:"MSPointerMove"};return e}(),t={touchmove:"ontouchmove"in Y?"touchmove":e.move,touchstart:"ontouchstart"in Y?"touchstart":e.down};function c(){var e=Y.location.hash.replace("#","");if(e.length){var t=R(".ms-left").find('[data-anchor="'+e+'"]');("undefined"==typeof lastScrolledDestiny||e!==lastScrolledDestiny)&&y(t)}}function m(e){e.preventDefault();var t=R(this).parent().index();y(R(".ms-left .ms-section").eq(t))}function d(){var e=R(this).data("tooltip");R('<div class="multiscroll-tooltip '+f.navigationPosition+'">'+e+"</div>").hide().appendTo(R(this)).fadeIn(200)}function v(){R(this).find(".multiscroll-tooltip").fadeOut(200,function(){R(this).remove()})}w(),z(),f.css3&&(f.css3=function(){var e,t=I.createElement("p"),n={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};for(var o in I.body.insertBefore(t,null),n)t.style[o]!==X&&(t.style[o]="translate3d(1px,1px,1px)",e=Y.getComputedStyle(t).getPropertyValue(n[o]));return I.body.removeChild(t),e!==X&&0<e.length&&"none"!==e}()),R("html, body").css({overflow:"hidden",height:"100%"}),".ms-section"!==f.sectionSelector&&R(f.sectionSelector).each(function(){R(this).addClass("ms-section")}),f.navigation&&(R("body").append('<div id="multiscroll-nav"><ul></ul></div>'),(s=R("#multiscroll-nav")).css("color",f.navigationColor),s.addClass(f.navigationPosition)),R(".ms-right, .ms-left").css({width:"50%",position:"absolute",height:"100%","-ms-touch-action":"none"}),R(".ms-right").css({right:"1px",top:"0","-ms-touch-action":"none","touch-action":"none"}),R(".ms-left").css({left:"0",top:"0","-ms-touch-action":"none","touch-action":"none"}),R(".ms-left .ms-section, .ms-right .ms-section").each(function(){var e,t=R(this).index();if((f.paddingTop||f.paddingBottom)&&R(this).css("padding",f.paddingTop+" 0 "+f.paddingBottom+" 0"),void 0!==f.sectionsColor[t]&&R(this).css("background-color",f.sectionsColor[t]),void 0!==f.anchors[t]&&R(this).attr("data-anchor",f.anchors[t]),f.verticalCentered&&(e=R(this)).addClass("ms-table").wrapInner('<div class="ms-tableCell" style="height: '+L(e)+'px" />'),R(this).closest(".ms-left").length&&f.navigation){var n="";f.anchors.length&&(n=f.anchors[t]);var o=f.navigationTooltips[t];void 0===o&&(o=""),f.navigation&&s.find("ul").append('<li data-tooltip="'+o+'"><a href="#'+n+'"><span></span></a></li>')}}),R(".ms-right").html(R(".ms-right").find(".ms-section").get().reverse()),R(".ms-left .ms-section, .ms-right .ms-section").each(function(){var e=R(this).index();R(this).css({height:"100%"}),!e&&f.navigation&&s.find("li").eq(e).find("a").addClass("active")}).promise().done(function(){R(".ms-left .ms-section.active").length||(R(".ms-right").find(".ms-section").last().addClass("active"),R(".ms-left").find(".ms-section").first().addClass("active")),f.navigation&&s.css("margin-top","-"+s.height()/2+"px"),R.isFunction(f.afterRender)&&f.afterRender.call(this),b(),E(),R(Y).on("load",function(){var e,t;e=Y.location.hash.replace("#",""),t=R('.ms-left .ms-section[data-anchor="'+e+'"]'),e.length&&y(t)})}),R(Y).on("hashchange",c),R(I).keydown(function(e){clearTimeout(l);var t=R(I.activeElement);if(!t.is("textarea")&&!t.is("input")&&!t.is("select")&&f.keyboardScrolling){var n=e.which;-1<R.inArray(n,[40,38,32,33,34])&&e.preventDefault(),l=setTimeout(function(){!function(e){var t=e.shiftKey;switch(e.which){case 38:case 33:o.moveSectionUp();break;case 32:if(t){o.moveSectionUp();break}case 40:case 34:o.moveSectionDown();break;case 36:o.moveTo(1);break;case 35:o.moveTo(R(".ms-left .ms-section").length);break;default:;}}(e)},150)}}),R(I).mousedown(function(e){if(1==e.button)return e.preventDefault(),!1}),R(I).on("click","#multiscroll-nav a",m),R(I).on({mouseenter:d,mouseleave:v},"#multiscroll-nav li"),f.normalScrollElements&&(R(I).on("mouseenter",f.normalScrollElements,function(){o.setMouseWheelScrolling(!1)}),R(I).on("mouseleave",f.normalScrollElements,function(){o.setMouseWheelScrolling(!0)})),R(Y).on("resize",S);var g=r;function S(){if(n){var e=R(I.activeElement);if(!e.is("textarea")&&!e.is("input")&&!e.is("select")){var t=R(Y).height();W.abs(t-g)>20*W.max(g,t)/100&&(x(!0),g=t)}}else clearTimeout(a),a=setTimeout(function(){x(!0)},350)}function x(e){r=R(Y).height(),R(".ms-tableCell").each(function(){R(this).css({height:L(R(this).parent())})}),f.scrollOverflow&&scrollBarHandler.createScrollBarForAll(),b(),R.isFunction(f.afterResize)&&f.afterResize.call(this)}function b(){f.css3?(T(R(".ms-left"),"translate3d(0px, -"+R(".ms-left").find(".ms-section.active").position().top+"px, 0px)",!1),T(R(".ms-right"),"translate3d(0px, -"+R(".ms-right").find(".ms-section.active").position().top+"px, 0px)",!1)):(R(".ms-left").css("top",-R(".ms-left").find(".ms-section.active").position().top),R(".ms-right").css("top",-R(".ms-right").find(".ms-section.active").position().top))}function y(e){var t=e.index(),n=R(".ms-right").find(".ms-section").eq(u-1-t),o=e.data("anchor"),i=R(".ms-left .ms-section.active").index()+1,s=function(e){var t=R(".ms-left .ms-section.active").index(),n=e.index();if(n<t)return"up";return"down"}(e);p=!0;var a,l,r,c=e.position().top,m=n.position().top;if(n.addClass("active").siblings().removeClass("active"),e.addClass("active").siblings().removeClass("active"),function(e){f.anchors.length&&(location.hash=e);E()}(o),f.css3){R.isFunction(f.onLeave)&&f.onLeave.call(this,i,t+1,s);var d="translate3d(0px, -"+c+"px, 0px)",v="translate3d(0px, -"+m+"px, 0px)";T(R(".ms-left"),d,!0),T(R(".ms-right"),v,!0),setTimeout(function(){R.isFunction(f.afterLoad)&&f.afterLoad.call(this,o,t+1),setTimeout(function(){p=!1},h)},f.scrollingSpeed)}else R.isFunction(f.onLeave)&&f.onLeave.call(this,i,t+1,s),R(".ms-left").animate({top:-c},f.scrollingSpeed,f.easing,function(){R.isFunction(f.afterLoad)&&f.afterLoad.call(this,o,t+1),setTimeout(function(){p=!1},h)}),R(".ms-right").animate({top:-m},f.scrollingSpeed,f.easing);lastScrolledDestiny=o,a=o,f.menu&&(R(f.menu).find(".active").removeClass("active"),R(f.menu).find('[data-menuanchor="'+a+'"]').addClass("active")),l=o,r=t,f.navigation&&(R("#multiscroll-nav").find(".active").removeClass("active"),l?R("#multiscroll-nav").find('a[href="#'+l+'"]').addClass("active"):R("#multiscroll-nav").find("li").eq(r).find("a").addClass("active"))}function w(){I.addEventListener?(I.addEventListener("mousewheel",C,!1),I.addEventListener("wheel",C,!1)):I.attachEvent("onmousewheel",C)}function C(e){e=Y.event||e;var t=W.max(-1,W.min(1,e.wheelDelta||-e.deltaY||-e.detail));return p||(t<0?o.moveSectionDown():o.moveSectionUp()),!1}function T(e,t,n){var o;e.toggleClass("ms-easing",n),e.css({"-webkit-transform":o=t,"-moz-transform":o,"-ms-transform":o,transform:o})}function E(){var e=R(".ms-left .ms-section.active"),t=e.data("anchor"),n=e.index(),o=String(n);f.anchors.length&&(o=t),o=o.replace("/","-").replace("#","");var i=new RegExp("\\b\\s?ms-viewing-[^\\s]+\\b","g");R("body")[0].className=R("body")[0].className.replace(i,""),R("body").addClass("ms-viewing-"+o)}function L(e){var t=r;if(f.paddingTop||f.paddingBottom){var n=parseInt(e.css("padding-top"))+parseInt(e.css("padding-bottom"));t=r-n}return t}o.moveSectionUp=function(){var e=R(".ms-left .ms-section.active").prev(".ms-section");!e.length&&f.loopTop&&(e=R(".ms-left .ms-section").last()),e.length&&y(e)},o.moveSectionDown=function(){var e=R(".ms-left .ms-section.active").next(".ms-section");!e.length&&f.loopBottom&&(e=R(".ms-left .ms-section").first()),e.length&&y(e)},o.moveTo=function(e){y(isNaN(e)?R('.ms-left [data-anchor="'+e+'"]'):R(".ms-left .ms-section").eq(e-1))},o.setKeyboardScrolling=function(e){f.keyboardScrolling=e},o.setMouseWheelScrolling=function(e){e?w():I.addEventListener?(I.removeEventListener("mousewheel",C,!1),I.removeEventListener("wheel",C,!1)):I.detachEvent("onmousewheel",C)},o.setScrollingSpeed=function(e){f.scrollingSpeed=e};var k=0,B=0;function D(e){if(M(e)){event.preventDefault();R(".ms-left .ms-section.active");if(!p){var t=F(e);B=t.y,t.x,W.abs(k-B)>R(Y).height()/100*f.touchSensitivity&&(B<k?o.moveSectionDown():k<B&&o.moveSectionUp())}}}function M(e){return void 0===e.pointerType||"mouse"!=e.pointerType}function P(e){if(M(e)){var t=F(e);k=t.y,t.x}}function z(){(i||n)&&(I.removeEventListener(t.touchstart,P),I.removeEventListener(t.touchmove,D,{passive:!1}),I.addEventListener(t.touchstart,P),I.addEventListener(t.touchmove,D,{passive:!1}))}function F(e){var t=[];return t.y=void 0!==e.pageY&&(e.pageY||e.pageX)?e.pageY:e.touches[0].pageY,t.x=void 0!==e.pageX&&(e.pageY||e.pageX)?e.pageX:e.touches[0].pageX,i&&M(e)&&void 0!==e.touches&&(t.y=e.touches[0].pageY,t.x=e.touches[0].pageX),t}o.destroy=function(){o.setKeyboardScrolling(!1),o.setMouseWheelScrolling(!1),(i||n)&&(I.removeEventListener(t.touchstart,P),I.removeEventListener(t.touchmove,D,{passive:!1})),R(Y).off("hashchange",c).off("resize",S),R(I).off("mouseenter","#multiscroll-nav li").off("mouseleave","#multiscroll-nav li").off("click","#multiscroll-nav a")},o.build=function(){o.setKeyboardScrolling(!0),o.setMouseWheelScrolling(!0),z(),R(Y).on("hashchange",c).on("resize",S),R(I).on("mouseenter","#multiscroll-nav li",d).on("mouseleave","#multiscroll-nav li",v).on("click","#multiscroll-nav a",m)}}}(jQuery,window,document,Math);
 //# sourceMappingURL=jquery.multiscroll.min.js.map
diff --git a/dist/jquery.multiscroll.min.js.map b/dist/jquery.multiscroll.min.js.map
index b16ad03..1d1a0db 100644
--- a/dist/jquery.multiscroll.min.js.map
+++ b/dist/jquery.multiscroll.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["jquery.multiscroll.js"],"names":["$","window","document","Math","undefined","fn","multiscroll","options","MS","extend","verticalCentered","scrollingSpeed","easing","menu","sectionsColor","anchors","navigation","navigationPosition","navigationColor","navigationTooltips","loopBottom","loopTop","css3","paddingTop","paddingBottom","fixedElements","normalScrollElements","keyboardScrolling","touchSensitivity","sectionSelector","leftSelector","rightSelector","afterLoad","onLeave","afterRender","afterResize","scrollDelay","isTouchDevice","navigator","userAgent","match","isTouch","msMaxTouchPoints","addClass","nav","resizeId","keydownId","numberSections","find","length","isMoving","windowHeight","height","hashChangeHandler","sectionAnchor","location","hash","replace","section","lastScrolledDestiny","scrollPage","navClickHandler","e","preventDefault","index","this","parent","eq","navMouseEnterHandler","tooltip","data","hide","appendTo","fadeIn","navMouseLeaveHandler","fadeOut","remove","addMouseWheelHandler","addTouchHandler","has3d","el","createElement","transforms","webkitTransform","OTransform","msTransform","MozTransform","transform","t","body","insertBefore","style","getComputedStyle","getPropertyValue","removeChild","support3d","css","overflow","each","append","width","position","-ms-touch-action","right","top","touch-action","left","element","sectionIndex","attr","wrapInner","getTableHeight","closest","link","html","get","reverse","promise","done","last","first","isFunction","call","silentScroll","setBodyClass","on","keydown","clearTimeout","activeElement","is","keyCode","which","inArray","setTimeout","shiftPressed","shiftKey","moveSectionUp","moveSectionDown","moveTo","onkeydown","mousedown","button","mouseenter","mouseleave","setMouseWheelScrolling","currentHeight","$window","abs","previousHeight","max","reBuild","resizing","scrollOverflow","scrollBarHandler","createScrollBarForAll","transformContainer","leftDestination","leftDestinationIndex","rightDestination","anchorLink","leavingSection","yMovement","destiny","fromIndex","toIndex","getYmovement","name","topPos","siblings","removeClass","setURLHash","translate3dLeft","translate3dRight","animate","addEventListener","MouseWheelHandler","attachEvent","event","delta","min","wheelDelta","deltaY","detail","container","translate3d","animated","toggleClass","-webkit-transform","-moz-transform","-ms-transform","text","String","classRe","RegExp","className","sectionHeight","paddings","parseInt","prev","next","isNaN","setKeyboardScrolling","value","removeEventListener","detachEvent","setScrollingSpeed","touchStartY","touchEndY","touchMoveHandler","originalEvent","isReallyTouch","touchEvents","getEventsPage","pointerType","touchStartHandler","MSPointer","getMSPointer","off","down","move","PointerEvent","events","y","pageY","pageX","touches","x","destroy","doneResizing","build","jQuery"],"mappings":"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","file":"jquery.multiscroll.min.js","sourcesContent":["/*!\r\n * multiscroll.js 0.2.0\r\n * https://github.com/alvarotrigo/multiscroll.js\r\n * @license MIT licensed\r\n *\r\n * Copyright (C) 2016 alvarotrigo.com - A project by Alvaro Trigo\r\n */\r\n(function($, window, document, Math, undefined) {\r\n\r\n    $.fn.multiscroll = function(options) {\r\n        var MS = $.fn.multiscroll;\r\n\r\n        // Create some defaults, extending them with any options that were provided\r\n        options = $.extend({\r\n            'verticalCentered' : true,\r\n            'scrollingSpeed': 700,\r\n            'easing': 'easeInQuart',\r\n            'menu': false,\r\n            'sectionsColor': [],\r\n            'anchors':[],\r\n            'navigation': false,\r\n            'navigationPosition': 'right',\r\n            'navigationColor': '#000',\r\n            'navigationTooltips': [],\r\n            'loopBottom': false,\r\n            'loopTop': false,\r\n            'css3': false,\r\n            'paddingTop': 0,\r\n            'paddingBottom': 0,\r\n            'fixedElements': null,\r\n            'normalScrollElements': null,\r\n            'keyboardScrolling': true,\r\n            'touchSensitivity': 5,\r\n\r\n            // Custom selectors\r\n            'sectionSelector': '.ms-section',\r\n            'leftSelector': '.ms-left',\r\n            'rightSelector': '.ms-right',\r\n\r\n            //events\r\n            'afterLoad': null,\r\n            'onLeave': null,\r\n            'afterRender': null,\r\n            'afterResize': null\r\n        }, options);\r\n\r\n        //Defines the delay to take place before being able to scroll to the next section\r\n        //BE CAREFUL! Not recommened to change it under 400 for a good behavior in laptops and\r\n        //Apple devices (laptops, mouses...)\r\n        var scrollDelay = 600;\r\n\r\n        var isTouchDevice = navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/);\r\n        var isTouch = (('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0) || (navigator.maxTouchPoints));\r\n\r\n        // adding class namef for right and left blocks\r\n        if (options.rightSelector !== '.ms-right') {\r\n            $(options.rightSelector).addClass('ms-right');\r\n        }\r\n\r\n        if (options.leftSelector !== '.ms-left') {\r\n            $(options.leftSelector).addClass('ms-left');\r\n        }\r\n\r\n        var numberSections = $('.ms-left').find('.ms-section').length;\r\n        var isMoving = false;\r\n        var nav;\r\n        var windowHeight = $(window).height();\r\n\r\n        //timeouts\r\n        var resizeId;\r\n\r\n        addMouseWheelHandler();\r\n        addTouchHandler();\r\n\r\n        //if css3 is not supported, it will use jQuery animations\r\n        if(options.css3){\r\n            options.css3 = support3d();\r\n        }\r\n\r\n        $('html, body').css({\r\n            'overflow' : 'hidden',\r\n            'height' : '100%'\r\n        });\r\n\r\n        //adding class names to each sections\r\n        if (options.sectionSelector !== '.ms-section') {\r\n            $(options.sectionSelector).each(function(){\r\n                $(this).addClass('ms-section');\r\n            });\r\n        }\r\n\r\n        //creating the navigation dots\r\n        if (options.navigation) {\r\n            $('body').append('<div id=\"multiscroll-nav\"><ul></ul></div>');\r\n            nav = $('#multiscroll-nav');\r\n\r\n            nav.css('color', options.navigationColor);\r\n            nav.addClass(options.navigationPosition);\r\n        }\r\n\r\n        $('.ms-right, .ms-left').css({\r\n            'width': '50%',\r\n            'position': 'absolute',\r\n            'height': '100%',\r\n            '-ms-touch-action': 'none'\r\n        });\r\n\r\n        $('.ms-right').css({\r\n            'right': '1px', //http://stackoverflow.com/questions/23675457/chrome-and-opera-creating-small-padding-when-using-displaytable\r\n            'top': '0',\r\n            '-ms-touch-action': 'none',\r\n            'touch-action': 'none'\r\n        });\r\n\r\n        $('.ms-left').css({\r\n            'left': '0',\r\n            'top': '0',\r\n            '-ms-touch-action': 'none',\r\n            'touch-action': 'none'\r\n        });\r\n\r\n\r\n        $('.ms-left .ms-section, .ms-right .ms-section').each(function(){\r\n            var sectionIndex = $(this).index();\r\n\r\n            if(options.paddingTop || options.paddingBottom){\r\n                $(this).css('padding', options.paddingTop  + ' 0 ' + options.paddingBottom + ' 0');\r\n            }\r\n\r\n            if (typeof options.sectionsColor[sectionIndex] !==  'undefined') {\r\n                $(this).css('background-color', options.sectionsColor[sectionIndex]);\r\n            }\r\n\r\n            if (typeof options.anchors[sectionIndex] !== 'undefined') {\r\n                $(this).attr('data-anchor', options.anchors[sectionIndex]);\r\n            }\r\n\r\n            if(options.verticalCentered){\r\n                addTableClass($(this));\r\n            }\r\n\r\n            //only for the left panel\r\n            if($(this).closest('.ms-left').length && options.navigation) {\r\n                var link = '';\r\n                if(options.anchors.length){\r\n                    link = options.anchors[sectionIndex];\r\n                }\r\n                var tooltip = options.navigationTooltips[sectionIndex];\r\n                if(typeof tooltip === 'undefined'){\r\n                    tooltip = '';\r\n                }\r\n                if (options.navigation) {\r\n                    nav.find('ul').append('<li data-tooltip=\"' + tooltip + '\"><a href=\"#' + link + '\"><span></span></a></li>');\r\n                }\r\n            }\r\n        });\r\n\r\n        //inverting the right panel\r\n        $('.ms-right').html( $('.ms-right').find('.ms-section').get().reverse());\r\n\r\n        $('.ms-left .ms-section, .ms-right .ms-section').each(function(){\r\n            var sectionIndex = $(this).index();\r\n\r\n            $(this).css({\r\n                'height': '100%'\r\n            });\r\n\r\n\r\n            if(!sectionIndex && options.navigation ){\r\n                //activating the navigation bullet\r\n                nav.find('li').eq(sectionIndex).find('a').addClass('active');\r\n            }\r\n        }).promise().done(function(){\r\n\r\n            //if no active section is defined, the 1st one will be the default one\r\n            if(!$('.ms-left .ms-section.active').length){\r\n                $('.ms-right').find('.ms-section').last().addClass('active');\r\n                $('.ms-left').find('.ms-section').first().addClass('active');\r\n            }\r\n\r\n            //vertical centered of the navigation + first bullet active\r\n            if(options.navigation){\r\n                nav.css('margin-top', '-' + (nav.height()/2) + 'px');\r\n            }\r\n            $.isFunction( options.afterRender ) && options.afterRender.call( this);\r\n\r\n            //scrolling to the defined active section and adjusting right and left panels\r\n            silentScroll();\r\n\r\n            //setting the class for the body element\r\n            setBodyClass();\r\n\r\n            $(window).on('load', function() {\r\n                scrollToAnchor();\r\n            });\r\n        });\r\n\r\n\r\n        //detecting any change on the URL to scroll to the given anchor link\r\n        //(a way to detect back history button as we play with the hashes on the URL)\r\n        $(window).on('hashchange', hashChangeHandler);\r\n\r\n        function hashChangeHandler(){\r\n            var value =  window.location.hash.replace('#', '');\r\n            var sectionAnchor = value;\r\n\r\n            if(sectionAnchor.length){\r\n                var section = $('.ms-left').find('[data-anchor=\"'+sectionAnchor+'\"]');\r\n\r\n                var isFirstScrollMove = (typeof lastScrolledDestiny === 'undefined' );\r\n\r\n                if (isFirstScrollMove || sectionAnchor !== lastScrolledDestiny){\r\n                    scrollPage(section);\r\n                }\r\n            }\r\n        };\r\n\r\n\r\n        /**\r\n        * Sliding with arrow keys, both, vertical and horizontal\r\n        */\r\n        $(document).keydown(keydownHandler);\r\n\r\n\r\n        var keydownId;\r\n        function keydownHandler(e) {\r\n            clearTimeout(keydownId);\r\n\r\n            var activeElement = $(document.activeElement);\r\n\r\n            if(!activeElement.is('textarea') && !activeElement.is('input') && !activeElement.is('select') &&\r\n                options.keyboardScrolling){\r\n                var keyCode = e.which;\r\n\r\n                //preventing the scroll with arrow keys & spacebar & Page Up & Down keys\r\n                var keyControls = [40, 38, 32, 33, 34];\r\n                if($.inArray(keyCode, keyControls) > -1){\r\n                    e.preventDefault();\r\n                }\r\n\r\n                keydownId = setTimeout(function(){\r\n                    onkeydown(e);\r\n                },150);\r\n            }\r\n        }\r\n\r\n        /**\r\n         * Sliding with arrow keys, both, vertical and horizontal\r\n         */\r\n        function onkeydown(e){\r\n            var shiftPressed = e.shiftKey;\r\n\r\n            switch (e.which) {\r\n                //up\r\n                case 38:\r\n                case 33:\r\n                    MS.moveSectionUp();\r\n                    break;\r\n\r\n                //down\r\n                case 32: //spacebar\r\n                    if(shiftPressed){\r\n                        MS.moveSectionUp();\r\n                        break;\r\n                    }\r\n                case 40:\r\n                case 34:\r\n                    MS.moveSectionDown();\r\n                    break;\r\n\r\n                //Home\r\n                case 36:\r\n                    MS.moveTo(1);\r\n                    break;\r\n\r\n                //End\r\n                case 35:\r\n                    MS.moveTo( $('.ms-left .ms-section').length);\r\n                    break;\r\n\r\n                default:\r\n                    return; // exit this handler for other keys\r\n            }\r\n        }\r\n\r\n        /**\r\n         * Disabling any action when pressing of the mouse wheel (Chrome, IE, Opera, Safari)\r\n         */\r\n        $(document).mousedown(function(e) {\r\n            if(e.button == 1){\r\n                e.preventDefault();\r\n                return false;\r\n            }\r\n        });\r\n\r\n        function navClickHandler(e) {\r\n            e.preventDefault();\r\n            var index = $(this).parent().index();\r\n            scrollPage($('.ms-left .ms-section').eq(index));\r\n        }\r\n\r\n        //navigation action\r\n        $(document).on('click', '#multiscroll-nav a', navClickHandler);\r\n\r\n        function navMouseEnterHandler() {\r\n            var tooltip = $(this).data('tooltip');\r\n            $('<div class=\"multiscroll-tooltip ' + options.navigationPosition +'\">' + tooltip + '</div>').hide().appendTo($(this)).fadeIn(200);\r\n        }\r\n\r\n        function navMouseLeaveHandler() {\r\n            $(this).find('.multiscroll-tooltip').fadeOut(200, function() {\r\n                $(this).remove();\r\n            });\r\n        }\r\n\r\n        //navigation tooltips\r\n        $(document).on({\r\n            mouseenter: navMouseEnterHandler,\r\n            mouseleave: navMouseLeaveHandler\r\n        }, '#multiscroll-nav li');\r\n\r\n\r\n        if(options.normalScrollElements){\r\n            $(document).on('mouseenter', options.normalScrollElements, function () {\r\n                MS.setMouseWheelScrolling(false);\r\n            });\r\n\r\n            $(document).on('mouseleave', options.normalScrollElements, function(){\r\n                MS.setMouseWheelScrolling(true);\r\n            });\r\n        }\r\n\r\n\r\n        //when resizing the site, we adjust the heights of the sections\r\n        $(window).on('resize', resizeHandler);\r\n\r\n\r\n        var previousHeight = windowHeight;\r\n\r\n        /**\r\n         * When resizing is finished, we adjust the slides sizes and positions\r\n         */\r\n        function resizeHandler() {\r\n            // rebuild immediately on touch devices\r\n            if (isTouchDevice) {\r\n                var activeElement = $(document.activeElement);\r\n\r\n                //if the keyboard is NOT visible\r\n                if (!activeElement.is('textarea') && !activeElement.is('input') && !activeElement.is('select')) {\r\n                    var currentHeight = $window.height();\r\n\r\n                    //making sure the change in the viewport size is enough to force a rebuild. (20 % of the window to avoid problems when hidding scroll bars)\r\n                    if( Math.abs(currentHeight - previousHeight) > (20 * Math.max(previousHeight, currentHeight) / 100) ){\r\n                        reBuild(true);\r\n                        previousHeight = currentHeight;\r\n                    }\r\n                }\r\n            }else{\r\n                //in order to call the functions only when the resize is finished\r\n                //http://stackoverflow.com/questions/4298612/jquery-how-to-call-resize-event-only-once-its-finished-resizing\r\n                clearTimeout(resizeId);\r\n\r\n                resizeId = setTimeout(function(){\r\n                    reBuild(true);\r\n                }, 350);\r\n            }\r\n        }\r\n\r\n        /**\r\n         * When resizing is finished, we adjust the slides sizes and positions\r\n         */\r\n        function reBuild(resizing){\r\n            windowHeight = $(window).height();\r\n            $('.ms-tableCell').each(function() {\r\n                $(this).css({ height: getTableHeight($(this).parent()) });\r\n            });\r\n\r\n            if(options.scrollOverflow){\r\n                scrollBarHandler.createScrollBarForAll();\r\n            }\r\n\r\n            silentScroll();\r\n            $.isFunction( options.afterResize ) && options.afterResize.call( this);\r\n        }\r\n\r\n        function silentScroll(){\r\n            //moving the right section to the bottom\r\n            if(options.css3){\r\n                transformContainer($('.ms-left'), 'translate3d(0px, -' + $('.ms-left').find('.ms-section.active').position().top + 'px, 0px)', false);\r\n                transformContainer($('.ms-right'), 'translate3d(0px, -' + $('.ms-right').find('.ms-section.active').position().top + 'px, 0px)', false);\r\n            }else{\r\n                $('.ms-left').css('top', -$('.ms-left').find('.ms-section.active').position().top );\r\n                $('.ms-right').css('top', -$('.ms-right').find('.ms-section.active').position().top );\r\n            }\r\n        }\r\n\r\n        MS.moveSectionUp = function(){\r\n            var prev = $('.ms-left .ms-section.active').prev('.ms-section');\r\n\r\n            if(!prev.length && options.loopTop){\r\n                prev = $('.ms-left .ms-section').last();\r\n            }\r\n\r\n            if (prev.length) {\r\n                scrollPage(prev);\r\n            }\r\n        };\r\n\r\n        MS.moveSectionDown = function (){\r\n            var next = $('.ms-left .ms-section.active').next('.ms-section');\r\n\r\n            if(!next.length && options.loopBottom ){\r\n                next = $('.ms-left .ms-section').first();\r\n            }\r\n\r\n            if(next.length){\r\n                scrollPage(next);\r\n            }\r\n        };\r\n\r\n        MS.moveTo = function (section){\r\n            var destiny = '';\r\n\r\n            if(isNaN(section)){\r\n                destiny = $('.ms-left [data-anchor=\"'+section+'\"]');\r\n            }else{\r\n                destiny = $('.ms-left .ms-section').eq( (section -1) );\r\n            }\r\n\r\n            scrollPage(destiny);\r\n        };\r\n\r\n        function scrollPage(leftDestination){\r\n            var leftDestinationIndex = leftDestination.index();\r\n            var rightDestination = $('.ms-right').find('.ms-section').eq( numberSections -1 - leftDestinationIndex);\r\n            var rightDestinationIndex = numberSections - 1 - leftDestinationIndex;\r\n            var anchorLink  = leftDestination.data('anchor');\r\n            var activeSection = $('.ms-left .ms-section.active');\r\n            var leavingSection = activeSection.index() + 1;\r\n            var yMovement = getYmovement(leftDestination);\r\n\r\n            //preventing from activating the MouseWheelHandler event\r\n            //more than once if the page is scrolling\r\n            isMoving = true;\r\n\r\n            var topPos = {\r\n                'left' : leftDestination.position().top,\r\n                'right': rightDestination.position().top\r\n            };\r\n\r\n            rightDestination.addClass('active').siblings().removeClass('active');\r\n            leftDestination.addClass('active').siblings().removeClass('active');\r\n\r\n            setURLHash(anchorLink);\r\n\r\n            // Use CSS3 translate functionality or...\r\n            if (options.css3){\r\n                //callback (onLeave)\r\n                $.isFunction(options.onLeave) && options.onLeave.call(this, leavingSection, (leftDestinationIndex + 1), yMovement);\r\n\r\n                var translate3dLeft = 'translate3d(0px, -' + topPos['left'] + 'px, 0px)';\r\n                var translate3dRight = 'translate3d(0px, -' + topPos['right'] + 'px, 0px)';\r\n\r\n                transformContainer($('.ms-left'), translate3dLeft, true);\r\n                transformContainer($('.ms-right'), translate3dRight, true);\r\n\r\n                setTimeout(function () {\r\n                    //callback (afterLoad)\r\n                    $.isFunction(options.afterLoad) && options.afterLoad.call(this, anchorLink, (leftDestinationIndex + 1));\r\n\r\n                    setTimeout(function () {\r\n                        isMoving = false;\r\n                    }, scrollDelay);\r\n                }, options.scrollingSpeed);\r\n            }else{\r\n                //callback (onLeave)\r\n                $.isFunction(options.onLeave) && options.onLeave.call(this, leavingSection, (leftDestinationIndex + 1), yMovement);\r\n\r\n                $('.ms-left').animate({\r\n                    'top': -topPos['left']\r\n                }, options.scrollingSpeed, options.easing, function(){\r\n                    $.isFunction(options.afterLoad) && options.afterLoad.call(this, anchorLink, (leftDestinationIndex + 1));\r\n\r\n                    setTimeout(function () {\r\n                        isMoving = false;\r\n                    }, scrollDelay);\r\n                });\r\n\r\n                $('.ms-right').animate({\r\n                    'top': -topPos['right']\r\n                }, options.scrollingSpeed, options.easing);\r\n            }\r\n\r\n            //flag to avoid callingn `scrollPage()` twice in case of using anchor links\r\n            lastScrolledDestiny = anchorLink;\r\n\r\n            activateMenuElement(anchorLink);\r\n            activateNavDots(anchorLink, leftDestinationIndex);\r\n        }\r\n\r\n        /**\r\n        * Removes the auto scrolling action fired by the mouse wheel and tackpad.\r\n        * After this function is called, the mousewheel and trackpad movements won't scroll through sections.\r\n        */\r\n        function removeMouseWheelHandler(){\r\n            if (document.addEventListener) {\r\n                document.removeEventListener('mousewheel', MouseWheelHandler, false); //IE9, Chrome, Safari, Oper\r\n                document.removeEventListener('wheel', MouseWheelHandler, false); //Firefox\r\n            } else {\r\n                document.detachEvent(\"onmousewheel\", MouseWheelHandler); //IE 6/7/8\r\n            }\r\n        }\r\n\r\n        /**\r\n        * Adds the auto scrolling action for the mouse wheel and tackpad.\r\n        * After this function is called, the mousewheel and trackpad movements will scroll through sections\r\n        */\r\n        function addMouseWheelHandler(){\r\n            if (document.addEventListener) {\r\n                document.addEventListener(\"mousewheel\", MouseWheelHandler, false); //IE9, Chrome, Safari, Oper\r\n                document.addEventListener(\"wheel\", MouseWheelHandler, false); //Firefox\r\n            } else {\r\n                document.attachEvent(\"onmousewheel\", MouseWheelHandler); //IE 6/7/8\r\n            }\r\n        }\r\n\r\n        /**\r\n         * Detecting mousewheel scrolling\r\n         *\r\n         * http://blogs.sitepointstatic.com/examples/tech/mouse-wheel/index.html\r\n         * http://www.sitepoint.com/html5-javascript-mouse-wheel/\r\n         */\r\n        function MouseWheelHandler(e) {\r\n            // cross-browser wheel delta\r\n            e = window.event || e;\r\n            var delta = Math.max(-1, Math.min(1,\r\n                    (e.wheelDelta || -e.deltaY || -e.detail)));\r\n\r\n            if (!isMoving) { //if theres any #\r\n\r\n                //scrolling down?\r\n                if (delta < 0) {\r\n                    MS.moveSectionDown();\r\n                }\r\n\r\n                //scrolling up?\r\n                else {\r\n                    MS.moveSectionUp();\r\n                }\r\n            }\r\n\r\n\r\n            return false;\r\n        }\r\n\r\n        /**\r\n        * Adds a css3 transform property to the container class with or without animation depending on the animated param.\r\n        */\r\n        function transformContainer(container, translate3d, animated){\r\n            container.toggleClass('ms-easing', animated);\r\n\r\n            container.css(getTransforms(translate3d));\r\n        }\r\n\r\n\r\n        /**\r\n        * Returns the transform styles for all browsers\r\n        */\r\n        function getTransforms(translate3d){\r\n            return {\r\n                '-webkit-transform': translate3d,\r\n                '-moz-transform': translate3d,\r\n                '-ms-transform':translate3d,\r\n                'transform': translate3d\r\n            };\r\n        }\r\n\r\n        /**\r\n         * Activating the website navigation dots according to the given slide name.\r\n         */\r\n        function activateNavDots(name, sectionIndex){\r\n            if(options.navigation){\r\n                $('#multiscroll-nav').find('.active').removeClass('active');\r\n                if(name){\r\n                    $('#multiscroll-nav').find('a[href=\"#' + name + '\"]').addClass('active');\r\n                }else{\r\n                    $('#multiscroll-nav').find('li').eq(sectionIndex).find('a').addClass('active');\r\n                }\r\n            }\r\n        }\r\n\r\n        /**\r\n         * Activating the website main menu elements according to the given slide name.\r\n         */\r\n        function activateMenuElement(name){\r\n            if(options.menu){\r\n                $(options.menu).find('.active').removeClass('active');\r\n                $(options.menu).find('[data-menuanchor=\"'+name+'\"]').addClass('active');\r\n            }\r\n        }\r\n\r\n        /**\r\n        * Retuns `up` or `down` depending on the scrolling movement to reach its destination\r\n        * from the current section.\r\n        */\r\n        function getYmovement(destiny){\r\n            var fromIndex = $('.ms-left .ms-section.active').index();\r\n            var toIndex = destiny.index();\r\n\r\n            if(fromIndex > toIndex){\r\n                return 'up';\r\n            }\r\n            return 'down';\r\n        }\r\n\r\n\r\n        /**\r\n        * Sets the URL hash for a section with slides\r\n        */\r\n        function setURLHash(anchorLink){\r\n            if(options.anchors.length){\r\n                location.hash = anchorLink;\r\n            }\r\n\r\n            setBodyClass();\r\n        }\r\n\r\n         /**\r\n        * Sets a class for the body of the page depending on the active section / slide\r\n        */\r\n        function setBodyClass(){\r\n            var section = $('.ms-left .ms-section.active');\r\n            var sectionAnchor = section.data('anchor');\r\n            var sectionIndex = section.index();\r\n\r\n            var text = String(sectionIndex);\r\n\r\n            if(options.anchors.length){\r\n                text = sectionAnchor;\r\n            }\r\n\r\n            //changing slash for dash to make it a valid CSS style\r\n            text = text.replace('/', '-').replace('#','');\r\n\r\n            //removing previous anchor classes\r\n            var classRe = new RegExp('\\\\b\\\\s?' + 'ms-viewing' + '-[^\\\\s]+\\\\b', \"g\");\r\n            $('body')[0].className = $('body')[0].className.replace(classRe, '');\r\n\r\n            //adding the current anchor\r\n            $('body').addClass('ms-viewing-' + text);\r\n        }\r\n\r\n\r\n        /**\r\n        * Checks for translate3d support\r\n        * @return boolean\r\n        * http://stackoverflow.com/questions/5661671/detecting-transform-translate3d-support\r\n        */\r\n        function support3d() {\r\n            var el = document.createElement('p'),\r\n                has3d,\r\n                transforms = {\r\n                    'webkitTransform':'-webkit-transform',\r\n                    'OTransform':'-o-transform',\r\n                    'msTransform':'-ms-transform',\r\n                    'MozTransform':'-moz-transform',\r\n                    'transform':'transform'\r\n                };\r\n\r\n            // Add it to the body to get the computed style.\r\n            document.body.insertBefore(el, null);\r\n\r\n            for (var t in transforms) {\r\n                if (el.style[t] !== undefined) {\r\n                    el.style[t] = \"translate3d(1px,1px,1px)\";\r\n                    has3d = window.getComputedStyle(el).getPropertyValue(transforms[t]);\r\n                }\r\n            }\r\n\r\n            document.body.removeChild(el);\r\n\r\n            return (has3d !== undefined && has3d.length > 0 && has3d !== \"none\");\r\n        }\r\n\r\n        /**\r\n        * Wraps an element in order to center it vertically by using a class style.\r\n        */\r\n        function addTableClass(element){\r\n            element.addClass('ms-table').wrapInner('<div class=\"ms-tableCell\" style=\"height: ' + getTableHeight(element) + 'px\" />');\r\n        }\r\n\r\n        /**\r\n        * Gets the height of the section after removing the paddings.\r\n        */\r\n        function getTableHeight(section){\r\n            var sectionHeight = windowHeight;\r\n\r\n            if(options.paddingTop || options.paddingBottom){\r\n                var paddings = parseInt(section.css('padding-top')) + parseInt(section.css('padding-bottom'));\r\n                sectionHeight = (windowHeight - paddings);\r\n            }\r\n\r\n            return sectionHeight;\r\n        }\r\n\r\n\r\n        /**\r\n        * Scrolls the page to the existent anchor in the URL\r\n        */\r\n        function scrollToAnchor(){\r\n            //getting the anchor link in the URL and deleting the `#`\r\n            var sectionAnchor =  window.location.hash.replace('#', '');\r\n            var section = $('.ms-left .ms-section[data-anchor=\"'+sectionAnchor+'\"]');\r\n\r\n            if(sectionAnchor.length){  //if theres any #\r\n                scrollPage(section);\r\n            }\r\n        }\r\n\r\n        /**\r\n        * Adds or remove the possiblity of scrolling through sections by using the keyboard arrow keys\r\n        */\r\n        MS.setKeyboardScrolling = function (value){\r\n            options.keyboardScrolling = value;\r\n        };\r\n\r\n        /**\r\n        * Adds or remove the possiblity of scrolling through sections by using the mouse wheel or the trackpad.\r\n        */\r\n        MS.setMouseWheelScrolling = function (value){\r\n            if(value){\r\n                addMouseWheelHandler();\r\n            }else{\r\n                removeMouseWheelHandler();\r\n            }\r\n        };\r\n\r\n        /**\r\n        * Defines the scrolling speed\r\n        */\r\n        MS.setScrollingSpeed = function(value){\r\n            options.scrollingSpeed = value;\r\n        };\r\n\r\n\r\n\r\n        var touchStartY = 0;\r\n        var touchStartX = 0;\r\n        var touchEndY = 0;\r\n        var touchEndX = 0;\r\n\r\n        /* Detecting touch events\r\n\r\n        * As we are changing the top property of the page on scrolling, we can not use the traditional way to detect it.\r\n        * This way, the touchstart and the touch moves shows an small difference between them which is the\r\n        * used one to determine the direction.\r\n        */\r\n        function touchMoveHandler(event){\r\n            var e = event.originalEvent;\r\n\r\n            if(isReallyTouch(e)){\r\n                //preventing the easing on iOS devices\r\n                event.preventDefault();\r\n\r\n                var activeSection = $('.ms-left .ms-section.active');\r\n\r\n                if (!isMoving) { //if theres any #\r\n                    var touchEvents = getEventsPage(e);\r\n                    touchEndY = touchEvents['y'];\r\n                    touchEndX = touchEvents['x'];\r\n\r\n\r\n                    //is the movement greater than the minimum resistance to scroll?\r\n                    if (Math.abs(touchStartY - touchEndY) > ($(window).height() / 100 * options.touchSensitivity)) {\r\n\r\n                        if (touchStartY > touchEndY) {\r\n                            MS.moveSectionDown();\r\n\r\n                        } else if (touchEndY > touchStartY) {\r\n                            MS.moveSectionUp();\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n\r\n        /**\r\n        * As IE >= 10 fires both touch and mouse events when using a mouse in a touchscreen\r\n        * this way we make sure that is really a touch event what IE is detecting.\r\n        */\r\n        function isReallyTouch(e){\r\n            //if is not IE   ||  IE is detecting `touch` or `pen`\r\n            return typeof e.pointerType === 'undefined' || e.pointerType != 'mouse';\r\n        }\r\n\r\n\r\n        /**\r\n        * Handler to get he coordinates of the starting touch\r\n        */\r\n        function touchStartHandler(event){\r\n            var e = event.originalEvent;\r\n\r\n            if(isReallyTouch(e)){\r\n                var touchEvents = getEventsPage(e);\r\n                touchStartY = touchEvents['y'];\r\n                touchStartX = touchEvents['x'];\r\n            }\r\n        }\r\n\r\n\r\n        /**\r\n        * Adds the possibility to auto scroll through sections on touch devices.\r\n        */\r\n        function addTouchHandler(){\r\n            if(isTouch){\r\n                //Microsoft pointers\r\n                MSPointer = getMSPointer();\r\n\r\n                $(document).off('touchstart ' +  MSPointer.down).on('touchstart ' + MSPointer.down, touchStartHandler);\r\n                $(document).off('touchmove ' + MSPointer.move).on('touchmove ' + MSPointer.move, touchMoveHandler);\r\n            }\r\n        }\r\n\r\n        /**\r\n        * Removes the auto scrolling for touch devices.\r\n        */\r\n        function removeTouchHandler(){\r\n            if(isTouch){\r\n                //Microsoft pointers\r\n                MSPointer = getMSPointer();\r\n\r\n                $(document).off('touchstart ' + MSPointer.down);\r\n                $(document).off('touchmove ' + MSPointer.move);\r\n            }\r\n        }\r\n\r\n        /*\r\n        * Returns and object with Microsoft pointers (for IE<11 and for IE >= 11)\r\n        * http://msdn.microsoft.com/en-us/library/ie/dn304886(v=vs.85).aspx\r\n        */\r\n        function getMSPointer(){\r\n            var pointer;\r\n\r\n            //IE >= 11\r\n            if(window.PointerEvent){\r\n                pointer = { down: \"pointerdown\", move: \"pointermove\"};\r\n            }\r\n\r\n            //IE < 11\r\n            else{\r\n                pointer = { down: \"MSPointerDown\", move: \"MSPointerMove\"};\r\n            }\r\n\r\n            return pointer;\r\n        }\r\n\r\n        /**\r\n        * Gets the pageX and pageY properties depending on the browser.\r\n        * https://github.com/alvarotrigo/fullPage.js/issues/194#issuecomment-34069854\r\n        */\r\n        function getEventsPage(e){\r\n            var events = [];\r\n\r\n            events.y = (typeof e.pageY !== 'undefined' && (e.pageY || e.pageX) ? e.pageY : e.touches[0].pageY);\r\n            events.x = (typeof e.pageX !== 'undefined' && (e.pageY || e.pageX) ? e.pageX : e.touches[0].pageX);\r\n\r\n            //in touch devices with scrollBar:true, e.pageY is detected, but we have to deal with touch events. #1008\r\n            if(isTouch && isReallyTouch(e)){\r\n                events.y = e.touches[0].pageY;\r\n                events.x = e.touches[0].pageX;\r\n            }\r\n\r\n            return events;\r\n        }\r\n\r\n        /**\r\n        * Destroy multiscroll.js plugin's events\r\n        */\r\n        MS.destroy = function() {\r\n            MS.setKeyboardScrolling(false);\r\n            MS.setMouseWheelScrolling(false);\r\n            removeTouchHandler();\r\n\r\n            $(window)\r\n                .off('hashchange', hashChangeHandler)\r\n                .off('resize', doneResizing);\r\n\r\n            $(document)\r\n                .off('mouseenter', '#multiscroll-nav li')\r\n                .off('mouseleave', '#multiscroll-nav li')\r\n                .off('click', '#multiscroll-nav a');\r\n        };\r\n\r\n        /**\r\n        * Build multiscroll.js plugin's events after destroy\r\n        */\r\n        MS.build = function() {\r\n            MS.setKeyboardScrolling(true);\r\n            MS.setMouseWheelScrolling(true);\r\n            addTouchHandler();\r\n\r\n            $(window)\r\n                .on('hashchange', hashChangeHandler)\r\n                .on('resize', doneResizing);\r\n\r\n            $(document)\r\n                .on('mouseenter', '#multiscroll-nav li', navMouseEnterHandler)\r\n                .on('mouseleave', '#multiscroll-nav li', navMouseLeaveHandler)\r\n                .on('click', '#multiscroll-nav a', navClickHandler);\r\n        };\r\n\r\n    };\r\n})(jQuery, window, document, Math);\r\n"]}
\ No newline at end of file
+{"version":3,"sources":["jquery.multiscroll.js"],"names":["$","window","document","Math","undefined","fn","multiscroll","options","MS","extend","verticalCentered","scrollingSpeed","easing","menu","sectionsColor","anchors","navigation","navigationPosition","navigationColor","navigationTooltips","loopBottom","loopTop","css3","paddingTop","paddingBottom","fixedElements","normalScrollElements","keyboardScrolling","touchSensitivity","sectionSelector","leftSelector","rightSelector","afterLoad","onLeave","afterRender","afterResize","scrollDelay","isTouchDevice","navigator","userAgent","match","isTouch","msMaxTouchPoints","addClass","nav","resizeId","keydownId","numberSections","find","length","isMoving","windowHeight","height","MSPointer","pointer","PointerEvent","down","move","getMSPointer","events","touchmove","touchstart","hashChangeHandler","sectionAnchor","location","hash","replace","section","lastScrolledDestiny","scrollPage","navClickHandler","e","preventDefault","index","this","parent","eq","navMouseEnterHandler","tooltip","data","hide","appendTo","fadeIn","navMouseLeaveHandler","fadeOut","remove","addMouseWheelHandler","addTouchHandler","has3d","el","createElement","transforms","webkitTransform","OTransform","msTransform","MozTransform","transform","t","body","insertBefore","style","getComputedStyle","getPropertyValue","removeChild","support3d","css","overflow","each","append","width","position","-ms-touch-action","right","top","touch-action","left","element","sectionIndex","attr","wrapInner","getTableHeight","closest","link","html","get","reverse","promise","done","last","first","isFunction","call","silentScroll","setBodyClass","on","keydown","clearTimeout","activeElement","is","keyCode","which","inArray","setTimeout","shiftPressed","shiftKey","moveSectionUp","moveSectionDown","moveTo","onkeydown","mousedown","button","mouseenter","mouseleave","setMouseWheelScrolling","resizeHandler","previousHeight","currentHeight","abs","max","reBuild","resizing","scrollOverflow","scrollBarHandler","createScrollBarForAll","transformContainer","leftDestination","leftDestinationIndex","rightDestination","anchorLink","leavingSection","yMovement","destiny","fromIndex","toIndex","getYmovement","name","topPos","siblings","removeClass","setURLHash","translate3dLeft","translate3dRight","animate","addEventListener","MouseWheelHandler","attachEvent","event","delta","min","wheelDelta","deltaY","detail","container","translate3d","animated","toggleClass","-webkit-transform","-moz-transform","-ms-transform","text","String","classRe","RegExp","className","sectionHeight","paddings","parseInt","prev","next","isNaN","setKeyboardScrolling","value","removeEventListener","detachEvent","setScrollingSpeed","touchStartY","touchEndY","touchMoveHandler","isReallyTouch","touchEvents","getEventsPage","pointerType","touchStartHandler","passive","y","pageY","pageX","touches","x","destroy","off","build","jQuery"],"mappings":"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","file":"jquery.multiscroll.min.js","sourcesContent":["/*!\r\n * multiscroll.js 0.2.2\r\n * https://github.com/alvarotrigo/multiscroll.js\r\n * @license MIT licensed\r\n *\r\n * Copyright (C) 2016 alvarotrigo.com - A project by Alvaro Trigo\r\n */\r\n(function($, window, document, Math, undefined) {\r\n\r\n    $.fn.multiscroll = function(options) {\r\n        var MS = $.fn.multiscroll;\r\n\r\n        // Create some defaults, extending them with any options that were provided\r\n        options = $.extend({\r\n            'verticalCentered' : true,\r\n            'scrollingSpeed': 700,\r\n            'easing': 'easeInQuart',\r\n            'menu': false,\r\n            'sectionsColor': [],\r\n            'anchors':[],\r\n            'navigation': false,\r\n            'navigationPosition': 'right',\r\n            'navigationColor': '#000',\r\n            'navigationTooltips': [],\r\n            'loopBottom': false,\r\n            'loopTop': false,\r\n            'css3': false,\r\n            'paddingTop': 0,\r\n            'paddingBottom': 0,\r\n            'fixedElements': null,\r\n            'normalScrollElements': null,\r\n            'keyboardScrolling': true,\r\n            'touchSensitivity': 5,\r\n\r\n            // Custom selectors\r\n            'sectionSelector': '.ms-section',\r\n            'leftSelector': '.ms-left',\r\n            'rightSelector': '.ms-right',\r\n\r\n            //events\r\n            'afterLoad': null,\r\n            'onLeave': null,\r\n            'afterRender': null,\r\n            'afterResize': null\r\n        }, options);\r\n\r\n        //Defines the delay to take place before being able to scroll to the next section\r\n        //BE CAREFUL! Not recommened to change it under 400 for a good behavior in laptops and\r\n        //Apple devices (laptops, mouses...)\r\n        var scrollDelay = 600;\r\n\r\n        var isTouchDevice = navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/);\r\n        var isTouch = (('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0) || (navigator.maxTouchPoints));\r\n\r\n        // adding class namef for right and left blocks\r\n        if (options.rightSelector !== '.ms-right') {\r\n            $(options.rightSelector).addClass('ms-right');\r\n        }\r\n\r\n        if (options.leftSelector !== '.ms-left') {\r\n            $(options.leftSelector).addClass('ms-left');\r\n        }\r\n\r\n        var numberSections = $('.ms-left').find('.ms-section').length;\r\n        var isMoving = false;\r\n        var nav;\r\n        var windowHeight = $(window).height();\r\n        var MSPointer = getMSPointer();\r\n        var events = {\r\n            touchmove: 'ontouchmove' in window ? 'touchmove' :  MSPointer.move,\r\n            touchstart: 'ontouchstart' in window ? 'touchstart' :  MSPointer.down\r\n        };\r\n\r\n        //timeouts\r\n        var resizeId;\r\n\r\n        addMouseWheelHandler();\r\n        addTouchHandler();\r\n\r\n        //if css3 is not supported, it will use jQuery animations\r\n        if(options.css3){\r\n            options.css3 = support3d();\r\n        }\r\n\r\n        $('html, body').css({\r\n            'overflow' : 'hidden',\r\n            'height' : '100%'\r\n        });\r\n\r\n        //adding class names to each sections\r\n        if (options.sectionSelector !== '.ms-section') {\r\n            $(options.sectionSelector).each(function(){\r\n                $(this).addClass('ms-section');\r\n            });\r\n        }\r\n\r\n        //creating the navigation dots\r\n        if (options.navigation) {\r\n            $('body').append('<div id=\"multiscroll-nav\"><ul></ul></div>');\r\n            nav = $('#multiscroll-nav');\r\n\r\n            nav.css('color', options.navigationColor);\r\n            nav.addClass(options.navigationPosition);\r\n        }\r\n\r\n        $('.ms-right, .ms-left').css({\r\n            'width': '50%',\r\n            'position': 'absolute',\r\n            'height': '100%',\r\n            '-ms-touch-action': 'none'\r\n        });\r\n\r\n        $('.ms-right').css({\r\n            'right': '1px', //http://stackoverflow.com/questions/23675457/chrome-and-opera-creating-small-padding-when-using-displaytable\r\n            'top': '0',\r\n            '-ms-touch-action': 'none',\r\n            'touch-action': 'none'\r\n        });\r\n\r\n        $('.ms-left').css({\r\n            'left': '0',\r\n            'top': '0',\r\n            '-ms-touch-action': 'none',\r\n            'touch-action': 'none'\r\n        });\r\n\r\n\r\n        $('.ms-left .ms-section, .ms-right .ms-section').each(function(){\r\n            var sectionIndex = $(this).index();\r\n\r\n            if(options.paddingTop || options.paddingBottom){\r\n                $(this).css('padding', options.paddingTop  + ' 0 ' + options.paddingBottom + ' 0');\r\n            }\r\n\r\n            if (typeof options.sectionsColor[sectionIndex] !==  'undefined') {\r\n                $(this).css('background-color', options.sectionsColor[sectionIndex]);\r\n            }\r\n\r\n            if (typeof options.anchors[sectionIndex] !== 'undefined') {\r\n                $(this).attr('data-anchor', options.anchors[sectionIndex]);\r\n            }\r\n\r\n            if(options.verticalCentered){\r\n                addTableClass($(this));\r\n            }\r\n\r\n            //only for the left panel\r\n            if($(this).closest('.ms-left').length && options.navigation) {\r\n                var link = '';\r\n                if(options.anchors.length){\r\n                    link = options.anchors[sectionIndex];\r\n                }\r\n                var tooltip = options.navigationTooltips[sectionIndex];\r\n                if(typeof tooltip === 'undefined'){\r\n                    tooltip = '';\r\n                }\r\n                if (options.navigation) {\r\n                    nav.find('ul').append('<li data-tooltip=\"' + tooltip + '\"><a href=\"#' + link + '\"><span></span></a></li>');\r\n                }\r\n            }\r\n        });\r\n\r\n        //inverting the right panel\r\n        $('.ms-right').html( $('.ms-right').find('.ms-section').get().reverse());\r\n\r\n        $('.ms-left .ms-section, .ms-right .ms-section').each(function(){\r\n            var sectionIndex = $(this).index();\r\n\r\n            $(this).css({\r\n                'height': '100%'\r\n            });\r\n\r\n\r\n            if(!sectionIndex && options.navigation ){\r\n                //activating the navigation bullet\r\n                nav.find('li').eq(sectionIndex).find('a').addClass('active');\r\n            }\r\n        }).promise().done(function(){\r\n\r\n            //if no active section is defined, the 1st one will be the default one\r\n            if(!$('.ms-left .ms-section.active').length){\r\n                $('.ms-right').find('.ms-section').last().addClass('active');\r\n                $('.ms-left').find('.ms-section').first().addClass('active');\r\n            }\r\n\r\n            //vertical centered of the navigation + first bullet active\r\n            if(options.navigation){\r\n                nav.css('margin-top', '-' + (nav.height()/2) + 'px');\r\n            }\r\n            $.isFunction( options.afterRender ) && options.afterRender.call( this);\r\n\r\n            //scrolling to the defined active section and adjusting right and left panels\r\n            silentScroll();\r\n\r\n            //setting the class for the body element\r\n            setBodyClass();\r\n\r\n            $(window).on('load', function() {\r\n                scrollToAnchor();\r\n            });\r\n        });\r\n\r\n\r\n        //detecting any change on the URL to scroll to the given anchor link\r\n        //(a way to detect back history button as we play with the hashes on the URL)\r\n        $(window).on('hashchange', hashChangeHandler);\r\n\r\n        function hashChangeHandler(){\r\n            var value =  window.location.hash.replace('#', '');\r\n            var sectionAnchor = value;\r\n\r\n            if(sectionAnchor.length){\r\n                var section = $('.ms-left').find('[data-anchor=\"'+sectionAnchor+'\"]');\r\n\r\n                var isFirstScrollMove = (typeof lastScrolledDestiny === 'undefined' );\r\n\r\n                if (isFirstScrollMove || sectionAnchor !== lastScrolledDestiny){\r\n                    scrollPage(section);\r\n                }\r\n            }\r\n        };\r\n\r\n\r\n        /**\r\n        * Sliding with arrow keys, both, vertical and horizontal\r\n        */\r\n        $(document).keydown(keydownHandler);\r\n\r\n\r\n        var keydownId;\r\n        function keydownHandler(e) {\r\n            clearTimeout(keydownId);\r\n\r\n            var activeElement = $(document.activeElement);\r\n\r\n            if(!activeElement.is('textarea') && !activeElement.is('input') && !activeElement.is('select') &&\r\n                options.keyboardScrolling){\r\n                var keyCode = e.which;\r\n\r\n                //preventing the scroll with arrow keys & spacebar & Page Up & Down keys\r\n                var keyControls = [40, 38, 32, 33, 34];\r\n                if($.inArray(keyCode, keyControls) > -1){\r\n                    e.preventDefault();\r\n                }\r\n\r\n                keydownId = setTimeout(function(){\r\n                    onkeydown(e);\r\n                },150);\r\n            }\r\n        }\r\n\r\n        /**\r\n         * Sliding with arrow keys, both, vertical and horizontal\r\n         */\r\n        function onkeydown(e){\r\n            var shiftPressed = e.shiftKey;\r\n\r\n            switch (e.which) {\r\n                //up\r\n                case 38:\r\n                case 33:\r\n                    MS.moveSectionUp();\r\n                    break;\r\n\r\n                //down\r\n                case 32: //spacebar\r\n                    if(shiftPressed){\r\n                        MS.moveSectionUp();\r\n                        break;\r\n                    }\r\n                case 40:\r\n                case 34:\r\n                    MS.moveSectionDown();\r\n                    break;\r\n\r\n                //Home\r\n                case 36:\r\n                    MS.moveTo(1);\r\n                    break;\r\n\r\n                //End\r\n                case 35:\r\n                    MS.moveTo( $('.ms-left .ms-section').length);\r\n                    break;\r\n\r\n                default:\r\n                    return; // exit this handler for other keys\r\n            }\r\n        }\r\n\r\n        /**\r\n         * Disabling any action when pressing of the mouse wheel (Chrome, IE, Opera, Safari)\r\n         */\r\n        $(document).mousedown(function(e) {\r\n            if(e.button == 1){\r\n                e.preventDefault();\r\n                return false;\r\n            }\r\n        });\r\n\r\n        function navClickHandler(e) {\r\n            e.preventDefault();\r\n            var index = $(this).parent().index();\r\n            scrollPage($('.ms-left .ms-section').eq(index));\r\n        }\r\n\r\n        //navigation action\r\n        $(document).on('click', '#multiscroll-nav a', navClickHandler);\r\n\r\n        function navMouseEnterHandler() {\r\n            var tooltip = $(this).data('tooltip');\r\n            $('<div class=\"multiscroll-tooltip ' + options.navigationPosition +'\">' + tooltip + '</div>').hide().appendTo($(this)).fadeIn(200);\r\n        }\r\n\r\n        function navMouseLeaveHandler() {\r\n            $(this).find('.multiscroll-tooltip').fadeOut(200, function() {\r\n                $(this).remove();\r\n            });\r\n        }\r\n\r\n        //navigation tooltips\r\n        $(document).on({\r\n            mouseenter: navMouseEnterHandler,\r\n            mouseleave: navMouseLeaveHandler\r\n        }, '#multiscroll-nav li');\r\n\r\n\r\n        if(options.normalScrollElements){\r\n            $(document).on('mouseenter', options.normalScrollElements, function () {\r\n                MS.setMouseWheelScrolling(false);\r\n            });\r\n\r\n            $(document).on('mouseleave', options.normalScrollElements, function(){\r\n                MS.setMouseWheelScrolling(true);\r\n            });\r\n        }\r\n\r\n\r\n        //when resizing the site, we adjust the heights of the sections\r\n        $(window).on('resize', resizeHandler);\r\n\r\n\r\n        var previousHeight = windowHeight;\r\n\r\n        /**\r\n         * When resizing is finished, we adjust the slides sizes and positions\r\n         */\r\n        function resizeHandler() {\r\n            // rebuild immediately on touch devices\r\n            if (isTouchDevice) {\r\n                var activeElement = $(document.activeElement);\r\n\r\n                //if the keyboard is NOT visible\r\n                if (!activeElement.is('textarea') && !activeElement.is('input') && !activeElement.is('select')) {\r\n                    var currentHeight = $(window).height();\r\n\r\n                    //making sure the change in the viewport size is enough to force a rebuild. (20 % of the window to avoid problems when hidding scroll bars)\r\n                    if( Math.abs(currentHeight - previousHeight) > (20 * Math.max(previousHeight, currentHeight) / 100) ){\r\n                        reBuild(true);\r\n                        previousHeight = currentHeight;\r\n                    }\r\n                }\r\n            }else{\r\n                //in order to call the functions only when the resize is finished\r\n                //http://stackoverflow.com/questions/4298612/jquery-how-to-call-resize-event-only-once-its-finished-resizing\r\n                clearTimeout(resizeId);\r\n\r\n                resizeId = setTimeout(function(){\r\n                    reBuild(true);\r\n                }, 350);\r\n            }\r\n        }\r\n\r\n        /**\r\n         * When resizing is finished, we adjust the slides sizes and positions\r\n         */\r\n        function reBuild(resizing){\r\n            windowHeight = $(window).height();\r\n            $('.ms-tableCell').each(function() {\r\n                $(this).css({ height: getTableHeight($(this).parent()) });\r\n            });\r\n\r\n            if(options.scrollOverflow){\r\n                scrollBarHandler.createScrollBarForAll();\r\n            }\r\n\r\n            silentScroll();\r\n            $.isFunction( options.afterResize ) && options.afterResize.call( this);\r\n        }\r\n\r\n        function silentScroll(){\r\n            //moving the right section to the bottom\r\n            if(options.css3){\r\n                transformContainer($('.ms-left'), 'translate3d(0px, -' + $('.ms-left').find('.ms-section.active').position().top + 'px, 0px)', false);\r\n                transformContainer($('.ms-right'), 'translate3d(0px, -' + $('.ms-right').find('.ms-section.active').position().top + 'px, 0px)', false);\r\n            }else{\r\n                $('.ms-left').css('top', -$('.ms-left').find('.ms-section.active').position().top );\r\n                $('.ms-right').css('top', -$('.ms-right').find('.ms-section.active').position().top );\r\n            }\r\n        }\r\n\r\n        MS.moveSectionUp = function(){\r\n            var prev = $('.ms-left .ms-section.active').prev('.ms-section');\r\n\r\n            if(!prev.length && options.loopTop){\r\n                prev = $('.ms-left .ms-section').last();\r\n            }\r\n\r\n            if (prev.length) {\r\n                scrollPage(prev);\r\n            }\r\n        };\r\n\r\n        MS.moveSectionDown = function (){\r\n            var next = $('.ms-left .ms-section.active').next('.ms-section');\r\n\r\n            if(!next.length && options.loopBottom ){\r\n                next = $('.ms-left .ms-section').first();\r\n            }\r\n\r\n            if(next.length){\r\n                scrollPage(next);\r\n            }\r\n        };\r\n\r\n        MS.moveTo = function (section){\r\n            var destiny = '';\r\n\r\n            if(isNaN(section)){\r\n                destiny = $('.ms-left [data-anchor=\"'+section+'\"]');\r\n            }else{\r\n                destiny = $('.ms-left .ms-section').eq( (section -1) );\r\n            }\r\n\r\n            scrollPage(destiny);\r\n        };\r\n\r\n        function scrollPage(leftDestination){\r\n            var leftDestinationIndex = leftDestination.index();\r\n            var rightDestination = $('.ms-right').find('.ms-section').eq( numberSections -1 - leftDestinationIndex);\r\n            var rightDestinationIndex = numberSections - 1 - leftDestinationIndex;\r\n            var anchorLink  = leftDestination.data('anchor');\r\n            var activeSection = $('.ms-left .ms-section.active');\r\n            var leavingSection = activeSection.index() + 1;\r\n            var yMovement = getYmovement(leftDestination);\r\n\r\n            //preventing from activating the MouseWheelHandler event\r\n            //more than once if the page is scrolling\r\n            isMoving = true;\r\n\r\n            var topPos = {\r\n                'left' : leftDestination.position().top,\r\n                'right': rightDestination.position().top\r\n            };\r\n\r\n            rightDestination.addClass('active').siblings().removeClass('active');\r\n            leftDestination.addClass('active').siblings().removeClass('active');\r\n\r\n            setURLHash(anchorLink);\r\n\r\n            // Use CSS3 translate functionality or...\r\n            if (options.css3){\r\n                //callback (onLeave)\r\n                $.isFunction(options.onLeave) && options.onLeave.call(this, leavingSection, (leftDestinationIndex + 1), yMovement);\r\n\r\n                var translate3dLeft = 'translate3d(0px, -' + topPos['left'] + 'px, 0px)';\r\n                var translate3dRight = 'translate3d(0px, -' + topPos['right'] + 'px, 0px)';\r\n\r\n                transformContainer($('.ms-left'), translate3dLeft, true);\r\n                transformContainer($('.ms-right'), translate3dRight, true);\r\n\r\n                setTimeout(function () {\r\n                    //callback (afterLoad)\r\n                    $.isFunction(options.afterLoad) && options.afterLoad.call(this, anchorLink, (leftDestinationIndex + 1));\r\n\r\n                    setTimeout(function () {\r\n                        isMoving = false;\r\n                    }, scrollDelay);\r\n                }, options.scrollingSpeed);\r\n            }else{\r\n                //callback (onLeave)\r\n                $.isFunction(options.onLeave) && options.onLeave.call(this, leavingSection, (leftDestinationIndex + 1), yMovement);\r\n\r\n                $('.ms-left').animate({\r\n                    'top': -topPos['left']\r\n                }, options.scrollingSpeed, options.easing, function(){\r\n                    $.isFunction(options.afterLoad) && options.afterLoad.call(this, anchorLink, (leftDestinationIndex + 1));\r\n\r\n                    setTimeout(function () {\r\n                        isMoving = false;\r\n                    }, scrollDelay);\r\n                });\r\n\r\n                $('.ms-right').animate({\r\n                    'top': -topPos['right']\r\n                }, options.scrollingSpeed, options.easing);\r\n            }\r\n\r\n            //flag to avoid callingn `scrollPage()` twice in case of using anchor links\r\n            lastScrolledDestiny = anchorLink;\r\n\r\n            activateMenuElement(anchorLink);\r\n            activateNavDots(anchorLink, leftDestinationIndex);\r\n        }\r\n\r\n        /**\r\n        * Removes the auto scrolling action fired by the mouse wheel and tackpad.\r\n        * After this function is called, the mousewheel and trackpad movements won't scroll through sections.\r\n        */\r\n        function removeMouseWheelHandler(){\r\n            if (document.addEventListener) {\r\n                document.removeEventListener('mousewheel', MouseWheelHandler, false); //IE9, Chrome, Safari, Oper\r\n                document.removeEventListener('wheel', MouseWheelHandler, false); //Firefox\r\n            } else {\r\n                document.detachEvent(\"onmousewheel\", MouseWheelHandler); //IE 6/7/8\r\n            }\r\n        }\r\n\r\n        /**\r\n        * Adds the auto scrolling action for the mouse wheel and tackpad.\r\n        * After this function is called, the mousewheel and trackpad movements will scroll through sections\r\n        */\r\n        function addMouseWheelHandler(){\r\n            if (document.addEventListener) {\r\n                document.addEventListener(\"mousewheel\", MouseWheelHandler, false); //IE9, Chrome, Safari, Oper\r\n                document.addEventListener(\"wheel\", MouseWheelHandler, false); //Firefox\r\n            } else {\r\n                document.attachEvent(\"onmousewheel\", MouseWheelHandler); //IE 6/7/8\r\n            }\r\n        }\r\n\r\n        /**\r\n         * Detecting mousewheel scrolling\r\n         *\r\n         * http://blogs.sitepointstatic.com/examples/tech/mouse-wheel/index.html\r\n         * http://www.sitepoint.com/html5-javascript-mouse-wheel/\r\n         */\r\n        function MouseWheelHandler(e) {\r\n            // cross-browser wheel delta\r\n            e = window.event || e;\r\n            var delta = Math.max(-1, Math.min(1,\r\n                    (e.wheelDelta || -e.deltaY || -e.detail)));\r\n\r\n            if (!isMoving) { //if theres any #\r\n\r\n                //scrolling down?\r\n                if (delta < 0) {\r\n                    MS.moveSectionDown();\r\n                }\r\n\r\n                //scrolling up?\r\n                else {\r\n                    MS.moveSectionUp();\r\n                }\r\n            }\r\n\r\n\r\n            return false;\r\n        }\r\n\r\n        /**\r\n        * Adds a css3 transform property to the container class with or without animation depending on the animated param.\r\n        */\r\n        function transformContainer(container, translate3d, animated){\r\n            container.toggleClass('ms-easing', animated);\r\n\r\n            container.css(getTransforms(translate3d));\r\n        }\r\n\r\n\r\n        /**\r\n        * Returns the transform styles for all browsers\r\n        */\r\n        function getTransforms(translate3d){\r\n            return {\r\n                '-webkit-transform': translate3d,\r\n                '-moz-transform': translate3d,\r\n                '-ms-transform':translate3d,\r\n                'transform': translate3d\r\n            };\r\n        }\r\n\r\n        /**\r\n         * Activating the website navigation dots according to the given slide name.\r\n         */\r\n        function activateNavDots(name, sectionIndex){\r\n            if(options.navigation){\r\n                $('#multiscroll-nav').find('.active').removeClass('active');\r\n                if(name){\r\n                    $('#multiscroll-nav').find('a[href=\"#' + name + '\"]').addClass('active');\r\n                }else{\r\n                    $('#multiscroll-nav').find('li').eq(sectionIndex).find('a').addClass('active');\r\n                }\r\n            }\r\n        }\r\n\r\n        /**\r\n         * Activating the website main menu elements according to the given slide name.\r\n         */\r\n        function activateMenuElement(name){\r\n            if(options.menu){\r\n                $(options.menu).find('.active').removeClass('active');\r\n                $(options.menu).find('[data-menuanchor=\"'+name+'\"]').addClass('active');\r\n            }\r\n        }\r\n\r\n        /**\r\n        * Retuns `up` or `down` depending on the scrolling movement to reach its destination\r\n        * from the current section.\r\n        */\r\n        function getYmovement(destiny){\r\n            var fromIndex = $('.ms-left .ms-section.active').index();\r\n            var toIndex = destiny.index();\r\n\r\n            if(fromIndex > toIndex){\r\n                return 'up';\r\n            }\r\n            return 'down';\r\n        }\r\n\r\n\r\n        /**\r\n        * Sets the URL hash for a section with slides\r\n        */\r\n        function setURLHash(anchorLink){\r\n            if(options.anchors.length){\r\n                location.hash = anchorLink;\r\n            }\r\n\r\n            setBodyClass();\r\n        }\r\n\r\n         /**\r\n        * Sets a class for the body of the page depending on the active section / slide\r\n        */\r\n        function setBodyClass(){\r\n            var section = $('.ms-left .ms-section.active');\r\n            var sectionAnchor = section.data('anchor');\r\n            var sectionIndex = section.index();\r\n\r\n            var text = String(sectionIndex);\r\n\r\n            if(options.anchors.length){\r\n                text = sectionAnchor;\r\n            }\r\n\r\n            //changing slash for dash to make it a valid CSS style\r\n            text = text.replace('/', '-').replace('#','');\r\n\r\n            //removing previous anchor classes\r\n            var classRe = new RegExp('\\\\b\\\\s?' + 'ms-viewing' + '-[^\\\\s]+\\\\b', \"g\");\r\n            $('body')[0].className = $('body')[0].className.replace(classRe, '');\r\n\r\n            //adding the current anchor\r\n            $('body').addClass('ms-viewing-' + text);\r\n        }\r\n\r\n\r\n        /**\r\n        * Checks for translate3d support\r\n        * @return boolean\r\n        * http://stackoverflow.com/questions/5661671/detecting-transform-translate3d-support\r\n        */\r\n        function support3d() {\r\n            var el = document.createElement('p'),\r\n                has3d,\r\n                transforms = {\r\n                    'webkitTransform':'-webkit-transform',\r\n                    'OTransform':'-o-transform',\r\n                    'msTransform':'-ms-transform',\r\n                    'MozTransform':'-moz-transform',\r\n                    'transform':'transform'\r\n                };\r\n\r\n            // Add it to the body to get the computed style.\r\n            document.body.insertBefore(el, null);\r\n\r\n            for (var t in transforms) {\r\n                if (el.style[t] !== undefined) {\r\n                    el.style[t] = \"translate3d(1px,1px,1px)\";\r\n                    has3d = window.getComputedStyle(el).getPropertyValue(transforms[t]);\r\n                }\r\n            }\r\n\r\n            document.body.removeChild(el);\r\n\r\n            return (has3d !== undefined && has3d.length > 0 && has3d !== \"none\");\r\n        }\r\n\r\n        /**\r\n        * Wraps an element in order to center it vertically by using a class style.\r\n        */\r\n        function addTableClass(element){\r\n            element.addClass('ms-table').wrapInner('<div class=\"ms-tableCell\" style=\"height: ' + getTableHeight(element) + 'px\" />');\r\n        }\r\n\r\n        /**\r\n        * Gets the height of the section after removing the paddings.\r\n        */\r\n        function getTableHeight(section){\r\n            var sectionHeight = windowHeight;\r\n\r\n            if(options.paddingTop || options.paddingBottom){\r\n                var paddings = parseInt(section.css('padding-top')) + parseInt(section.css('padding-bottom'));\r\n                sectionHeight = (windowHeight - paddings);\r\n            }\r\n\r\n            return sectionHeight;\r\n        }\r\n\r\n\r\n        /**\r\n        * Scrolls the page to the existent anchor in the URL\r\n        */\r\n        function scrollToAnchor(){\r\n            //getting the anchor link in the URL and deleting the `#`\r\n            var sectionAnchor =  window.location.hash.replace('#', '');\r\n            var section = $('.ms-left .ms-section[data-anchor=\"'+sectionAnchor+'\"]');\r\n\r\n            if(sectionAnchor.length){  //if theres any #\r\n                scrollPage(section);\r\n            }\r\n        }\r\n\r\n        /**\r\n        * Adds or remove the possiblity of scrolling through sections by using the keyboard arrow keys\r\n        */\r\n        MS.setKeyboardScrolling = function (value){\r\n            options.keyboardScrolling = value;\r\n        };\r\n\r\n        /**\r\n        * Adds or remove the possiblity of scrolling through sections by using the mouse wheel or the trackpad.\r\n        */\r\n        MS.setMouseWheelScrolling = function (value){\r\n            if(value){\r\n                addMouseWheelHandler();\r\n            }else{\r\n                removeMouseWheelHandler();\r\n            }\r\n        };\r\n\r\n        /**\r\n        * Defines the scrolling speed\r\n        */\r\n        MS.setScrollingSpeed = function(value){\r\n            options.scrollingSpeed = value;\r\n        };\r\n\r\n\r\n\r\n        var touchStartY = 0;\r\n        var touchStartX = 0;\r\n        var touchEndY = 0;\r\n        var touchEndX = 0;\r\n\r\n        /* Detecting touch events\r\n\r\n        * As we are changing the top property of the page on scrolling, we can not use the traditional way to detect it.\r\n        * This way, the touchstart and the touch moves shows an small difference between them which is the\r\n        * used one to determine the direction.\r\n        */\r\n        function touchMoveHandler(e){\r\n\r\n            if(isReallyTouch(e)){\r\n                //preventing the easing on iOS devices\r\n                event.preventDefault();\r\n\r\n                var activeSection = $('.ms-left .ms-section.active');\r\n\r\n                if (!isMoving) { //if theres any #\r\n                    var touchEvents = getEventsPage(e);\r\n                    touchEndY = touchEvents['y'];\r\n                    touchEndX = touchEvents['x'];\r\n\r\n\r\n                    //is the movement greater than the minimum resistance to scroll?\r\n                    if (Math.abs(touchStartY - touchEndY) > ($(window).height() / 100 * options.touchSensitivity)) {\r\n\r\n                        if (touchStartY > touchEndY) {\r\n                            MS.moveSectionDown();\r\n\r\n                        } else if (touchEndY > touchStartY) {\r\n                            MS.moveSectionUp();\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n\r\n        /**\r\n        * As IE >= 10 fires both touch and mouse events when using a mouse in a touchscreen\r\n        * this way we make sure that is really a touch event what IE is detecting.\r\n        */\r\n        function isReallyTouch(e){\r\n            //if is not IE   ||  IE is detecting `touch` or `pen`\r\n            return typeof e.pointerType === 'undefined' || e.pointerType != 'mouse';\r\n        }\r\n\r\n\r\n        /**\r\n        * Handler to get he coordinates of the starting touch\r\n        */\r\n        function touchStartHandler(e){\r\n\r\n            if(isReallyTouch(e)){\r\n                var touchEvents = getEventsPage(e);\r\n                touchStartY = touchEvents['y'];\r\n                touchStartX = touchEvents['x'];\r\n            }\r\n        }\r\n\r\n\r\n        /**\r\n        * Adds the possibility to auto scroll through sections on touch devices.\r\n        */\r\n        function addTouchHandler(){\r\n            if(isTouch || isTouchDevice){\r\n                document.removeEventListener(events.touchstart, touchStartHandler);\r\n                document.removeEventListener(events.touchmove, touchMoveHandler, {passive: false});\r\n\r\n                document.addEventListener(events.touchstart, touchStartHandler);\r\n                document.addEventListener(events.touchmove, touchMoveHandler, {passive: false});\r\n            }\r\n        }\r\n\r\n        /**\r\n        * Removes the auto scrolling for touch devices.\r\n        */\r\n        function removeTouchHandler(){\r\n            if(isTouch || isTouchDevice){\r\n                document.removeEventListener(events.touchstart, touchStartHandler);\r\n                document.removeEventListener(events.touchmove, touchMoveHandler, {passive: false});\r\n            }\r\n        }\r\n\r\n        /*\r\n        * Returns and object with Microsoft pointers (for IE<11 and for IE >= 11)\r\n        * http://msdn.microsoft.com/en-us/library/ie/dn304886(v=vs.85).aspx\r\n        */\r\n        function getMSPointer(){\r\n            var pointer;\r\n\r\n            //IE >= 11\r\n            if(window.PointerEvent){\r\n                pointer = { down: \"pointerdown\", move: \"pointermove\"};\r\n            }\r\n\r\n            //IE < 11\r\n            else{\r\n                pointer = { down: \"MSPointerDown\", move: \"MSPointerMove\"};\r\n            }\r\n\r\n            return pointer;\r\n        }\r\n\r\n        /**\r\n        * Gets the pageX and pageY properties depending on the browser.\r\n        * https://github.com/alvarotrigo/fullPage.js/issues/194#issuecomment-34069854\r\n        */\r\n        function getEventsPage(e){\r\n            var events = [];\r\n\r\n            events.y = (typeof e.pageY !== 'undefined' && (e.pageY || e.pageX) ? e.pageY : e.touches[0].pageY);\r\n            events.x = (typeof e.pageX !== 'undefined' && (e.pageY || e.pageX) ? e.pageX : e.touches[0].pageX);\r\n\r\n            //in touch devices with scrollBar:true, e.pageY is detected, but we have to deal with touch events. #1008\r\n            if(isTouch && isReallyTouch(e) && typeof e.touches !== 'undefined'){\r\n                events.y = e.touches[0].pageY;\r\n                events.x = e.touches[0].pageX;\r\n            }\r\n\r\n            return events;\r\n        }\r\n\r\n        /**\r\n        * Destroy multiscroll.js plugin's events\r\n        */\r\n        MS.destroy = function() {\r\n            MS.setKeyboardScrolling(false);\r\n            MS.setMouseWheelScrolling(false);\r\n            removeTouchHandler();\r\n\r\n            $(window)\r\n                .off('hashchange', hashChangeHandler)\r\n                .off('resize', resizeHandler);\r\n\r\n            $(document)\r\n                .off('mouseenter', '#multiscroll-nav li')\r\n                .off('mouseleave', '#multiscroll-nav li')\r\n                .off('click', '#multiscroll-nav a');\r\n        };\r\n\r\n        /**\r\n        * Build multiscroll.js plugin's events after destroy\r\n        */\r\n        MS.build = function() {\r\n            MS.setKeyboardScrolling(true);\r\n            MS.setMouseWheelScrolling(true);\r\n            addTouchHandler();\r\n\r\n            $(window)\r\n                .on('hashchange', hashChangeHandler)\r\n                .on('resize', resizeHandler);\r\n\r\n            $(document)\r\n                .on('mouseenter', '#multiscroll-nav li', navMouseEnterHandler)\r\n                .on('mouseleave', '#multiscroll-nav li', navMouseLeaveHandler)\r\n                .on('click', '#multiscroll-nav a', navClickHandler);\r\n        };\r\n\r\n    };\r\n})(jQuery, window, document, Math);\r\n"]}
\ No newline at end of file
diff --git a/examples/css3.html b/examples/css3.html
index f5101db..8d79222 100644
--- a/examples/css3.html
+++ b/examples/css3.html
@@ -2,16 +2,16 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 
 <head>
-	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />	
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 	<title>multiscroll.js - split multi-scrolling pages plugin</title>
 	<meta name="author" content="Alvaro Trigo Lopez" />
 	<meta name="description" content="multiscroll plugin by Alvaro Trigo. Create divided multi-scrolling pages with two splited vertical layouts or panels." />
 	<meta name="keywords"  content="multiscroll,jquery,alvaro,trigo,plugin,divided,splitscreen,screen,panels,layouts,vertical,split,splited" />
 	<meta name="Resource-type" content="Document" />
 
-	
-	<link rel="stylesheet" type="text/css" href="../jquery.multiscroll.css" />		
-	<link rel="stylesheet" type="text/css" href="examples.css" />		
+
+	<link rel="stylesheet" type="text/css" href="../jquery.multiscroll.css" />
+	<link rel="stylesheet" type="text/css" href="examples.css" />
 	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
 	<script type="text/javascript" src="../vendors/jquery.easings.min.js"></script>
 	<script type="text/javascript" src="../jquery.multiscroll.js"></script>
@@ -58,7 +58,7 @@ <h1>Left 2 </h1>
 			<h1>Left 3</h1>
 		</div>
 	</div>
-	
+
 	<div class="ms-right">
 		<div class="ms-section" id="right1">
 			<h1>Right 1</h1>
@@ -71,7 +71,7 @@ <h1>Right 2</h1>
 		<div class="ms-section" id="right3">
 			<h1>Right 3</h1>
 		</div>
-	</div>	
+	</div>
 </div>
 
 </body>
diff --git a/jquery.multiscroll.css b/jquery.multiscroll.css
index b08d7f8..dc946cc 100644
--- a/jquery.multiscroll.css
+++ b/jquery.multiscroll.css
@@ -1,5 +1,5 @@
 /*!
- * multiscroll.js 0.2.0
+ * multiscroll.js 0.2.2
  * https://github.com/alvarotrigo/multiscroll.js
  * @license MIT licensed
  *
diff --git a/jquery.multiscroll.js b/jquery.multiscroll.js
index 7467598..4135ae6 100644
--- a/jquery.multiscroll.js
+++ b/jquery.multiscroll.js
@@ -1,5 +1,5 @@
 /*!
- * multiscroll.js 0.2.0
+ * multiscroll.js 0.2.2
  * https://github.com/alvarotrigo/multiscroll.js
  * @license MIT licensed
  *
@@ -65,6 +65,11 @@
         var isMoving = false;
         var nav;
         var windowHeight = $(window).height();
+        var MSPointer = getMSPointer();
+        var events = {
+            touchmove: 'ontouchmove' in window ? 'touchmove' :  MSPointer.move,
+            touchstart: 'ontouchstart' in window ? 'touchstart' :  MSPointer.down
+        };
 
         //timeouts
         var resizeId;
@@ -347,7 +352,7 @@
 
                 //if the keyboard is NOT visible
                 if (!activeElement.is('textarea') && !activeElement.is('input') && !activeElement.is('select')) {
-                    var currentHeight = $window.height();
+                    var currentHeight = $(window).height();
 
                     //making sure the change in the viewport size is enough to force a rebuild. (20 % of the window to avoid problems when hidding scroll bars)
                     if( Math.abs(currentHeight - previousHeight) > (20 * Math.max(previousHeight, currentHeight) / 100) ){
@@ -755,8 +760,7 @@
         * This way, the touchstart and the touch moves shows an small difference between them which is the
         * used one to determine the direction.
         */
-        function touchMoveHandler(event){
-            var e = event.originalEvent;
+        function touchMoveHandler(e){
 
             if(isReallyTouch(e)){
                 //preventing the easing on iOS devices
@@ -797,8 +801,7 @@
         /**
         * Handler to get he coordinates of the starting touch
         */
-        function touchStartHandler(event){
-            var e = event.originalEvent;
+        function touchStartHandler(e){
 
             if(isReallyTouch(e)){
                 var touchEvents = getEventsPage(e);
@@ -812,12 +815,12 @@
         * Adds the possibility to auto scroll through sections on touch devices.
         */
         function addTouchHandler(){
-            if(isTouch){
-                //Microsoft pointers
-                MSPointer = getMSPointer();
+            if(isTouch || isTouchDevice){
+                document.removeEventListener(events.touchstart, touchStartHandler);
+                document.removeEventListener(events.touchmove, touchMoveHandler, {passive: false});
 
-                $(document).off('touchstart ' +  MSPointer.down).on('touchstart ' + MSPointer.down, touchStartHandler);
-                $(document).off('touchmove ' + MSPointer.move).on('touchmove ' + MSPointer.move, touchMoveHandler);
+                document.addEventListener(events.touchstart, touchStartHandler);
+                document.addEventListener(events.touchmove, touchMoveHandler, {passive: false});
             }
         }
 
@@ -825,12 +828,9 @@
         * Removes the auto scrolling for touch devices.
         */
         function removeTouchHandler(){
-            if(isTouch){
-                //Microsoft pointers
-                MSPointer = getMSPointer();
-
-                $(document).off('touchstart ' + MSPointer.down);
-                $(document).off('touchmove ' + MSPointer.move);
+            if(isTouch || isTouchDevice){
+                document.removeEventListener(events.touchstart, touchStartHandler);
+                document.removeEventListener(events.touchmove, touchMoveHandler, {passive: false});
             }
         }
 
@@ -865,7 +865,7 @@
             events.x = (typeof e.pageX !== 'undefined' && (e.pageY || e.pageX) ? e.pageX : e.touches[0].pageX);
 
             //in touch devices with scrollBar:true, e.pageY is detected, but we have to deal with touch events. #1008
-            if(isTouch && isReallyTouch(e)){
+            if(isTouch && isReallyTouch(e) && typeof e.touches !== 'undefined'){
                 events.y = e.touches[0].pageY;
                 events.x = e.touches[0].pageX;
             }
@@ -883,7 +883,7 @@
 
             $(window)
                 .off('hashchange', hashChangeHandler)
-                .off('resize', doneResizing);
+                .off('resize', resizeHandler);
 
             $(document)
                 .off('mouseenter', '#multiscroll-nav li')
@@ -901,7 +901,7 @@
 
             $(window)
                 .on('hashchange', hashChangeHandler)
-                .on('resize', doneResizing);
+                .on('resize', resizeHandler);
 
             $(document)
                 .on('mouseenter', '#multiscroll-nav li', navMouseEnterHandler)
diff --git a/jquery.multiscroll.min.js b/jquery.multiscroll.min.js
index cf2ae85..052267a 100644
--- a/jquery.multiscroll.min.js
+++ b/jquery.multiscroll.min.js
@@ -1,9 +1,8 @@
 /*!
- * multiscroll.js 0.2.0
+ * multiscroll.js 0.2.2
  * https://github.com/alvarotrigo/multiscroll.js
  * @license MIT licensed
  *
  * Copyright (C) 2016 alvarotrigo.com - A project by Alvaro Trigo
  */
-!function(z,R,F,Y,I){z.fn.multiscroll=function(v){var o=z.fn.multiscroll;v=z.extend({verticalCentered:!0,scrollingSpeed:700,easing:"easeInQuart",menu:!1,sectionsColor:[],anchors:[],navigation:!1,navigationPosition:"right",navigationColor:"#000",navigationTooltips:[],loopBottom:!1,loopTop:!1,css3:!1,paddingTop:0,paddingBottom:0,fixedElements:null,normalScrollElements:null,keyboardScrolling:!0,touchSensitivity:5,sectionSelector:".ms-section",leftSelector:".ms-left",rightSelector:".ms-right",afterLoad:null,onLeave:null,afterRender:null,afterResize:null},v);var h=600,n=navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/),i="ontouchstart"in R||0<navigator.msMaxTouchPoints||navigator.maxTouchPoints;".ms-right"!==v.rightSelector&&z(v.rightSelector).addClass("ms-right"),".ms-left"!==v.leftSelector&&z(v.leftSelector).addClass("ms-left");var s,a,l,u=z(".ms-left").find(".ms-section").length,g=!1,r=z(R).height();function e(){var e=R.location.hash.replace("#","");if(e.length){var t=z(".ms-left").find('[data-anchor="'+e+'"]');("undefined"==typeof lastScrolledDestiny||e!==lastScrolledDestiny)&&S(t)}}function t(e){e.preventDefault();var t=z(this).parent().index();S(z(".ms-left .ms-section").eq(t))}function c(){var e=z(this).data("tooltip");z('<div class="multiscroll-tooltip '+v.navigationPosition+'">'+e+"</div>").hide().appendTo(z(this)).fadeIn(200)}function m(){z(this).find(".multiscroll-tooltip").fadeOut(200,function(){z(this).remove()})}w(),L(),v.css3&&(v.css3=function(){var e,t=F.createElement("p"),n={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};for(var o in F.body.insertBefore(t,null),n)t.style[o]!==I&&(t.style[o]="translate3d(1px,1px,1px)",e=R.getComputedStyle(t).getPropertyValue(n[o]));return F.body.removeChild(t),e!==I&&0<e.length&&"none"!==e}()),z("html, body").css({overflow:"hidden",height:"100%"}),".ms-section"!==v.sectionSelector&&z(v.sectionSelector).each(function(){z(this).addClass("ms-section")}),v.navigation&&(z("body").append('<div id="multiscroll-nav"><ul></ul></div>'),(s=z("#multiscroll-nav")).css("color",v.navigationColor),s.addClass(v.navigationPosition)),z(".ms-right, .ms-left").css({width:"50%",position:"absolute",height:"100%","-ms-touch-action":"none"}),z(".ms-right").css({right:"1px",top:"0","-ms-touch-action":"none","touch-action":"none"}),z(".ms-left").css({left:"0",top:"0","-ms-touch-action":"none","touch-action":"none"}),z(".ms-left .ms-section, .ms-right .ms-section").each(function(){var e,t=z(this).index();if((v.paddingTop||v.paddingBottom)&&z(this).css("padding",v.paddingTop+" 0 "+v.paddingBottom+" 0"),void 0!==v.sectionsColor[t]&&z(this).css("background-color",v.sectionsColor[t]),void 0!==v.anchors[t]&&z(this).attr("data-anchor",v.anchors[t]),v.verticalCentered&&(e=z(this)).addClass("ms-table").wrapInner('<div class="ms-tableCell" style="height: '+C(e)+'px" />'),z(this).closest(".ms-left").length&&v.navigation){var n="";v.anchors.length&&(n=v.anchors[t]);var o=v.navigationTooltips[t];void 0===o&&(o=""),v.navigation&&s.find("ul").append('<li data-tooltip="'+o+'"><a href="#'+n+'"><span></span></a></li>')}}),z(".ms-right").html(z(".ms-right").find(".ms-section").get().reverse()),z(".ms-left .ms-section, .ms-right .ms-section").each(function(){var e=z(this).index();z(this).css({height:"100%"}),!e&&v.navigation&&s.find("li").eq(e).find("a").addClass("active")}).promise().done(function(){z(".ms-left .ms-section.active").length||(z(".ms-right").find(".ms-section").last().addClass("active"),z(".ms-left").find(".ms-section").first().addClass("active")),v.navigation&&s.css("margin-top","-"+s.height()/2+"px"),z.isFunction(v.afterRender)&&v.afterRender.call(this),p(),y(),z(R).on("load",function(){var e,t;e=R.location.hash.replace("#",""),t=z('.ms-left .ms-section[data-anchor="'+e+'"]'),e.length&&S(t)})}),z(R).on("hashchange",e),z(F).keydown(function(e){clearTimeout(l);var t=z(F.activeElement);if(!t.is("textarea")&&!t.is("input")&&!t.is("select")&&v.keyboardScrolling){var n=e.which;-1<z.inArray(n,[40,38,32,33,34])&&e.preventDefault(),l=setTimeout(function(){!function(e){var t=e.shiftKey;switch(e.which){case 38:case 33:o.moveSectionUp();break;case 32:if(t){o.moveSectionUp();break}case 40:case 34:o.moveSectionDown();break;case 36:o.moveTo(1);break;case 35:o.moveTo(z(".ms-left .ms-section").length);break;default:;}}(e)},150)}}),z(F).mousedown(function(e){if(1==e.button)return e.preventDefault(),!1}),z(F).on("click","#multiscroll-nav a",t),z(F).on({mouseenter:c,mouseleave:m},"#multiscroll-nav li"),v.normalScrollElements&&(z(F).on("mouseenter",v.normalScrollElements,function(){o.setMouseWheelScrolling(!1)}),z(F).on("mouseleave",v.normalScrollElements,function(){o.setMouseWheelScrolling(!0)})),z(R).on("resize",function(){if(n){var e=z(F.activeElement);if(!e.is("textarea")&&!e.is("input")&&!e.is("select")){var t=$window.height();Y.abs(t-d)>20*Y.max(d,t)/100&&(f(!0),d=t)}}else clearTimeout(a),a=setTimeout(function(){f(!0)},350)});var d=r;function f(e){r=z(R).height(),z(".ms-tableCell").each(function(){z(this).css({height:C(z(this).parent())})}),v.scrollOverflow&&scrollBarHandler.createScrollBarForAll(),p(),z.isFunction(v.afterResize)&&v.afterResize.call(this)}function p(){v.css3?(b(z(".ms-left"),"translate3d(0px, -"+z(".ms-left").find(".ms-section.active").position().top+"px, 0px)",!1),b(z(".ms-right"),"translate3d(0px, -"+z(".ms-right").find(".ms-section.active").position().top+"px, 0px)",!1)):(z(".ms-left").css("top",-z(".ms-left").find(".ms-section.active").position().top),z(".ms-right").css("top",-z(".ms-right").find(".ms-section.active").position().top))}function S(e){var t=e.index(),n=z(".ms-right").find(".ms-section").eq(u-1-t),o=e.data("anchor"),i=z(".ms-left .ms-section.active").index()+1,s=function(e){var t=z(".ms-left .ms-section.active").index(),n=e.index();if(n<t)return"up";return"down"}(e);g=!0;var a,l,r,c=e.position().top,m=n.position().top;if(n.addClass("active").siblings().removeClass("active"),e.addClass("active").siblings().removeClass("active"),function(e){v.anchors.length&&(location.hash=e);y()}(o),v.css3){z.isFunction(v.onLeave)&&v.onLeave.call(this,i,t+1,s);var d="translate3d(0px, -"+c+"px, 0px)",f="translate3d(0px, -"+m+"px, 0px)";b(z(".ms-left"),d,!0),b(z(".ms-right"),f,!0),setTimeout(function(){z.isFunction(v.afterLoad)&&v.afterLoad.call(this,o,t+1),setTimeout(function(){g=!1},h)},v.scrollingSpeed)}else z.isFunction(v.onLeave)&&v.onLeave.call(this,i,t+1,s),z(".ms-left").animate({top:-c},v.scrollingSpeed,v.easing,function(){z.isFunction(v.afterLoad)&&v.afterLoad.call(this,o,t+1),setTimeout(function(){g=!1},h)}),z(".ms-right").animate({top:-m},v.scrollingSpeed,v.easing);lastScrolledDestiny=o,a=o,v.menu&&(z(v.menu).find(".active").removeClass("active"),z(v.menu).find('[data-menuanchor="'+a+'"]').addClass("active")),l=o,r=t,v.navigation&&(z("#multiscroll-nav").find(".active").removeClass("active"),l?z("#multiscroll-nav").find('a[href="#'+l+'"]').addClass("active"):z("#multiscroll-nav").find("li").eq(r).find("a").addClass("active"))}function w(){F.addEventListener?(F.addEventListener("mousewheel",x,!1),F.addEventListener("wheel",x,!1)):F.attachEvent("onmousewheel",x)}function x(e){e=R.event||e;var t=Y.max(-1,Y.min(1,e.wheelDelta||-e.deltaY||-e.detail));return g||(t<0?o.moveSectionDown():o.moveSectionUp()),!1}function b(e,t,n){var o;e.toggleClass("ms-easing",n),e.css({"-webkit-transform":o=t,"-moz-transform":o,"-ms-transform":o,transform:o})}function y(){var e=z(".ms-left .ms-section.active"),t=e.data("anchor"),n=e.index(),o=String(n);v.anchors.length&&(o=t),o=o.replace("/","-").replace("#","");var i=new RegExp("\\b\\s?ms-viewing-[^\\s]+\\b","g");z("body")[0].className=z("body")[0].className.replace(i,""),z("body").addClass("ms-viewing-"+o)}function C(e){var t=r;if(v.paddingTop||v.paddingBottom){var n=parseInt(e.css("padding-top"))+parseInt(e.css("padding-bottom"));t=r-n}return t}o.moveSectionUp=function(){var e=z(".ms-left .ms-section.active").prev(".ms-section");!e.length&&v.loopTop&&(e=z(".ms-left .ms-section").last()),e.length&&S(e)},o.moveSectionDown=function(){var e=z(".ms-left .ms-section.active").next(".ms-section");!e.length&&v.loopBottom&&(e=z(".ms-left .ms-section").first()),e.length&&S(e)},o.moveTo=function(e){S(isNaN(e)?z('.ms-left [data-anchor="'+e+'"]'):z(".ms-left .ms-section").eq(e-1))},o.setKeyboardScrolling=function(e){v.keyboardScrolling=e},o.setMouseWheelScrolling=function(e){e?w():F.addEventListener?(F.removeEventListener("mousewheel",x,!1),F.removeEventListener("wheel",x,!1)):F.detachEvent("onmousewheel",x)},o.setScrollingSpeed=function(e){v.scrollingSpeed=e};var T=0,E=0;function M(e){var t=e.originalEvent;if(P(t)){e.preventDefault();z(".ms-left .ms-section.active");if(!g){var n=D(t);E=n.y,n.x,Y.abs(T-E)>z(R).height()/100*v.touchSensitivity&&(E<T?o.moveSectionDown():T<E&&o.moveSectionUp())}}}function P(e){return void 0===e.pointerType||"mouse"!=e.pointerType}function k(e){var t=e.originalEvent;if(P(t)){var n=D(t);T=n.y,n.x}}function L(){i&&(MSPointer=B(),z(F).off("touchstart "+MSPointer.down).on("touchstart "+MSPointer.down,k),z(F).off("touchmove "+MSPointer.move).on("touchmove "+MSPointer.move,M))}function B(){return R.PointerEvent?{down:"pointerdown",move:"pointermove"}:{down:"MSPointerDown",move:"MSPointerMove"}}function D(e){var t=[];return t.y=void 0!==e.pageY&&(e.pageY||e.pageX)?e.pageY:e.touches[0].pageY,t.x=void 0!==e.pageX&&(e.pageY||e.pageX)?e.pageX:e.touches[0].pageX,i&&P(e)&&(t.y=e.touches[0].pageY,t.x=e.touches[0].pageX),t}o.destroy=function(){o.setKeyboardScrolling(!1),o.setMouseWheelScrolling(!1),i&&(MSPointer=B(),z(F).off("touchstart "+MSPointer.down),z(F).off("touchmove "+MSPointer.move)),z(R).off("hashchange",e).off("resize",doneResizing),z(F).off("mouseenter","#multiscroll-nav li").off("mouseleave","#multiscroll-nav li").off("click","#multiscroll-nav a")},o.build=function(){o.setKeyboardScrolling(!0),o.setMouseWheelScrolling(!0),L(),z(R).on("hashchange",e).on("resize",doneResizing),z(F).on("mouseenter","#multiscroll-nav li",c).on("mouseleave","#multiscroll-nav li",m).on("click","#multiscroll-nav a",t)}}}(jQuery,window,document,Math);
-//# sourceMappingURL=jquery.multiscroll.min.js.map
+!function(R,Y,I,W,X){R.fn.multiscroll=function(f){var o=R.fn.multiscroll;f=R.extend({verticalCentered:!0,scrollingSpeed:700,easing:"easeInQuart",menu:!1,sectionsColor:[],anchors:[],navigation:!1,navigationPosition:"right",navigationColor:"#000",navigationTooltips:[],loopBottom:!1,loopTop:!1,css3:!1,paddingTop:0,paddingBottom:0,fixedElements:null,normalScrollElements:null,keyboardScrolling:!0,touchSensitivity:5,sectionSelector:".ms-section",leftSelector:".ms-left",rightSelector:".ms-right",afterLoad:null,onLeave:null,afterRender:null,afterResize:null},f);var h=600,n=navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/),i="ontouchstart"in Y||0<navigator.msMaxTouchPoints||navigator.maxTouchPoints;".ms-right"!==f.rightSelector&&R(f.rightSelector).addClass("ms-right"),".ms-left"!==f.leftSelector&&R(f.leftSelector).addClass("ms-left");var s,a,l,u=R(".ms-left").find(".ms-section").length,p=!1,r=R(Y).height(),e=function(){var e;e=Y.PointerEvent?{down:"pointerdown",move:"pointermove"}:{down:"MSPointerDown",move:"MSPointerMove"};return e}(),t={touchmove:"ontouchmove"in Y?"touchmove":e.move,touchstart:"ontouchstart"in Y?"touchstart":e.down};function c(){var e=Y.location.hash.replace("#","");if(e.length){var t=R(".ms-left").find('[data-anchor="'+e+'"]');("undefined"==typeof lastScrolledDestiny||e!==lastScrolledDestiny)&&y(t)}}function m(e){e.preventDefault();var t=R(this).parent().index();y(R(".ms-left .ms-section").eq(t))}function d(){var e=R(this).data("tooltip");R('<div class="multiscroll-tooltip '+f.navigationPosition+'">'+e+"</div>").hide().appendTo(R(this)).fadeIn(200)}function v(){R(this).find(".multiscroll-tooltip").fadeOut(200,function(){R(this).remove()})}w(),z(),f.css3&&(f.css3=function(){var e,t=I.createElement("p"),n={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};for(var o in I.body.insertBefore(t,null),n)t.style[o]!==X&&(t.style[o]="translate3d(1px,1px,1px)",e=Y.getComputedStyle(t).getPropertyValue(n[o]));return I.body.removeChild(t),e!==X&&0<e.length&&"none"!==e}()),R("html, body").css({overflow:"hidden",height:"100%"}),".ms-section"!==f.sectionSelector&&R(f.sectionSelector).each(function(){R(this).addClass("ms-section")}),f.navigation&&(R("body").append('<div id="multiscroll-nav"><ul></ul></div>'),(s=R("#multiscroll-nav")).css("color",f.navigationColor),s.addClass(f.navigationPosition)),R(".ms-right, .ms-left").css({width:"50%",position:"absolute",height:"100%","-ms-touch-action":"none"}),R(".ms-right").css({right:"1px",top:"0","-ms-touch-action":"none","touch-action":"none"}),R(".ms-left").css({left:"0",top:"0","-ms-touch-action":"none","touch-action":"none"}),R(".ms-left .ms-section, .ms-right .ms-section").each(function(){var e,t=R(this).index();if((f.paddingTop||f.paddingBottom)&&R(this).css("padding",f.paddingTop+" 0 "+f.paddingBottom+" 0"),void 0!==f.sectionsColor[t]&&R(this).css("background-color",f.sectionsColor[t]),void 0!==f.anchors[t]&&R(this).attr("data-anchor",f.anchors[t]),f.verticalCentered&&(e=R(this)).addClass("ms-table").wrapInner('<div class="ms-tableCell" style="height: '+L(e)+'px" />'),R(this).closest(".ms-left").length&&f.navigation){var n="";f.anchors.length&&(n=f.anchors[t]);var o=f.navigationTooltips[t];void 0===o&&(o=""),f.navigation&&s.find("ul").append('<li data-tooltip="'+o+'"><a href="#'+n+'"><span></span></a></li>')}}),R(".ms-right").html(R(".ms-right").find(".ms-section").get().reverse()),R(".ms-left .ms-section, .ms-right .ms-section").each(function(){var e=R(this).index();R(this).css({height:"100%"}),!e&&f.navigation&&s.find("li").eq(e).find("a").addClass("active")}).promise().done(function(){R(".ms-left .ms-section.active").length||(R(".ms-right").find(".ms-section").last().addClass("active"),R(".ms-left").find(".ms-section").first().addClass("active")),f.navigation&&s.css("margin-top","-"+s.height()/2+"px"),R.isFunction(f.afterRender)&&f.afterRender.call(this),b(),E(),R(Y).on("load",function(){var e,t;e=Y.location.hash.replace("#",""),t=R('.ms-left .ms-section[data-anchor="'+e+'"]'),e.length&&y(t)})}),R(Y).on("hashchange",c),R(I).keydown(function(e){clearTimeout(l);var t=R(I.activeElement);if(!t.is("textarea")&&!t.is("input")&&!t.is("select")&&f.keyboardScrolling){var n=e.which;-1<R.inArray(n,[40,38,32,33,34])&&e.preventDefault(),l=setTimeout(function(){!function(e){var t=e.shiftKey;switch(e.which){case 38:case 33:o.moveSectionUp();break;case 32:if(t){o.moveSectionUp();break}case 40:case 34:o.moveSectionDown();break;case 36:o.moveTo(1);break;case 35:o.moveTo(R(".ms-left .ms-section").length);break;default:;}}(e)},150)}}),R(I).mousedown(function(e){if(1==e.button)return e.preventDefault(),!1}),R(I).on("click","#multiscroll-nav a",m),R(I).on({mouseenter:d,mouseleave:v},"#multiscroll-nav li"),f.normalScrollElements&&(R(I).on("mouseenter",f.normalScrollElements,function(){o.setMouseWheelScrolling(!1)}),R(I).on("mouseleave",f.normalScrollElements,function(){o.setMouseWheelScrolling(!0)})),R(Y).on("resize",S);var g=r;function S(){if(n){var e=R(I.activeElement);if(!e.is("textarea")&&!e.is("input")&&!e.is("select")){var t=R(Y).height();W.abs(t-g)>20*W.max(g,t)/100&&(x(!0),g=t)}}else clearTimeout(a),a=setTimeout(function(){x(!0)},350)}function x(e){r=R(Y).height(),R(".ms-tableCell").each(function(){R(this).css({height:L(R(this).parent())})}),f.scrollOverflow&&scrollBarHandler.createScrollBarForAll(),b(),R.isFunction(f.afterResize)&&f.afterResize.call(this)}function b(){f.css3?(T(R(".ms-left"),"translate3d(0px, -"+R(".ms-left").find(".ms-section.active").position().top+"px, 0px)",!1),T(R(".ms-right"),"translate3d(0px, -"+R(".ms-right").find(".ms-section.active").position().top+"px, 0px)",!1)):(R(".ms-left").css("top",-R(".ms-left").find(".ms-section.active").position().top),R(".ms-right").css("top",-R(".ms-right").find(".ms-section.active").position().top))}function y(e){var t=e.index(),n=R(".ms-right").find(".ms-section").eq(u-1-t),o=e.data("anchor"),i=R(".ms-left .ms-section.active").index()+1,s=function(e){var t=R(".ms-left .ms-section.active").index(),n=e.index();if(n<t)return"up";return"down"}(e);p=!0;var a,l,r,c=e.position().top,m=n.position().top;if(n.addClass("active").siblings().removeClass("active"),e.addClass("active").siblings().removeClass("active"),function(e){f.anchors.length&&(location.hash=e);E()}(o),f.css3){R.isFunction(f.onLeave)&&f.onLeave.call(this,i,t+1,s);var d="translate3d(0px, -"+c+"px, 0px)",v="translate3d(0px, -"+m+"px, 0px)";T(R(".ms-left"),d,!0),T(R(".ms-right"),v,!0),setTimeout(function(){R.isFunction(f.afterLoad)&&f.afterLoad.call(this,o,t+1),setTimeout(function(){p=!1},h)},f.scrollingSpeed)}else R.isFunction(f.onLeave)&&f.onLeave.call(this,i,t+1,s),R(".ms-left").animate({top:-c},f.scrollingSpeed,f.easing,function(){R.isFunction(f.afterLoad)&&f.afterLoad.call(this,o,t+1),setTimeout(function(){p=!1},h)}),R(".ms-right").animate({top:-m},f.scrollingSpeed,f.easing);lastScrolledDestiny=o,a=o,f.menu&&(R(f.menu).find(".active").removeClass("active"),R(f.menu).find('[data-menuanchor="'+a+'"]').addClass("active")),l=o,r=t,f.navigation&&(R("#multiscroll-nav").find(".active").removeClass("active"),l?R("#multiscroll-nav").find('a[href="#'+l+'"]').addClass("active"):R("#multiscroll-nav").find("li").eq(r).find("a").addClass("active"))}function w(){I.addEventListener?(I.addEventListener("mousewheel",C,!1),I.addEventListener("wheel",C,!1)):I.attachEvent("onmousewheel",C)}function C(e){e=Y.event||e;var t=W.max(-1,W.min(1,e.wheelDelta||-e.deltaY||-e.detail));return p||(t<0?o.moveSectionDown():o.moveSectionUp()),!1}function T(e,t,n){var o;e.toggleClass("ms-easing",n),e.css({"-webkit-transform":o=t,"-moz-transform":o,"-ms-transform":o,transform:o})}function E(){var e=R(".ms-left .ms-section.active"),t=e.data("anchor"),n=e.index(),o=String(n);f.anchors.length&&(o=t),o=o.replace("/","-").replace("#","");var i=new RegExp("\\b\\s?ms-viewing-[^\\s]+\\b","g");R("body")[0].className=R("body")[0].className.replace(i,""),R("body").addClass("ms-viewing-"+o)}function L(e){var t=r;if(f.paddingTop||f.paddingBottom){var n=parseInt(e.css("padding-top"))+parseInt(e.css("padding-bottom"));t=r-n}return t}o.moveSectionUp=function(){var e=R(".ms-left .ms-section.active").prev(".ms-section");!e.length&&f.loopTop&&(e=R(".ms-left .ms-section").last()),e.length&&y(e)},o.moveSectionDown=function(){var e=R(".ms-left .ms-section.active").next(".ms-section");!e.length&&f.loopBottom&&(e=R(".ms-left .ms-section").first()),e.length&&y(e)},o.moveTo=function(e){y(isNaN(e)?R('.ms-left [data-anchor="'+e+'"]'):R(".ms-left .ms-section").eq(e-1))},o.setKeyboardScrolling=function(e){f.keyboardScrolling=e},o.setMouseWheelScrolling=function(e){e?w():I.addEventListener?(I.removeEventListener("mousewheel",C,!1),I.removeEventListener("wheel",C,!1)):I.detachEvent("onmousewheel",C)},o.setScrollingSpeed=function(e){f.scrollingSpeed=e};var k=0,B=0;function D(e){if(M(e)){event.preventDefault();R(".ms-left .ms-section.active");if(!p){var t=F(e);B=t.y,t.x,W.abs(k-B)>R(Y).height()/100*f.touchSensitivity&&(B<k?o.moveSectionDown():k<B&&o.moveSectionUp())}}}function M(e){return void 0===e.pointerType||"mouse"!=e.pointerType}function P(e){if(M(e)){var t=F(e);k=t.y,t.x}}function z(){(i||n)&&(I.removeEventListener(t.touchstart,P),I.removeEventListener(t.touchmove,D,{passive:!1}),I.addEventListener(t.touchstart,P),I.addEventListener(t.touchmove,D,{passive:!1}))}function F(e){var t=[];return t.y=void 0!==e.pageY&&(e.pageY||e.pageX)?e.pageY:e.touches[0].pageY,t.x=void 0!==e.pageX&&(e.pageY||e.pageX)?e.pageX:e.touches[0].pageX,i&&M(e)&&void 0!==e.touches&&(t.y=e.touches[0].pageY,t.x=e.touches[0].pageX),t}o.destroy=function(){o.setKeyboardScrolling(!1),o.setMouseWheelScrolling(!1),(i||n)&&(I.removeEventListener(t.touchstart,P),I.removeEventListener(t.touchmove,D,{passive:!1})),R(Y).off("hashchange",c).off("resize",S),R(I).off("mouseenter","#multiscroll-nav li").off("mouseleave","#multiscroll-nav li").off("click","#multiscroll-nav a")},o.build=function(){o.setKeyboardScrolling(!0),o.setMouseWheelScrolling(!0),z(),R(Y).on("hashchange",c).on("resize",S),R(I).on("mouseenter","#multiscroll-nav li",d).on("mouseleave","#multiscroll-nav li",v).on("click","#multiscroll-nav a",m)}}}(jQuery,window,document,Math);
\ No newline at end of file
diff --git a/package.json b/package.json
index d01fed5..30224cf 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "multiscroll.js",
-  "version": "0.2.0",
+  "version": "0.2.2",
   "description": "A simple plugin to create split scrolling websites with two vertical scrolling panels.",
   "main": "jquery.multiscroll.js",
   "scripts": {
