diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..5487765 --- /dev/null +++ b/bower.json @@ -0,0 +1,26 @@ +{ + "name": "responsivemultilevelmenu", + "version": "1.0.3", + "description": "A responsive multi-level menu that shows its submenus in their own context.", + "homepage": "https://github.com/rejas/ResponsiveMultiLevelMenu", + "repository": "https://github.com/rejas/ResponsiveMultiLevelMenu.git", + "license": "MIT", + "main": [ + "js/jquery.dlmenu.js", + "css/component.css" + ], + "ignore": [ + "index.html", + "css/default.css", + "fonts", + "images", + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], + "authors": [ + "rejas " + ] +} diff --git a/css/component.css b/css/component.css index fe7f5cd..e917e92 100755 --- a/css/component.css +++ b/css/component.css @@ -176,26 +176,6 @@ All this is done for any sub-level being entered. animation: MenuAnimOut1 0.4s; } -.dl-menu.dl-animate-out-2 { - -webkit-animation: MenuAnimOut2 0.3s ease-in-out; - animation: MenuAnimOut2 0.3s ease-in-out; -} - -.dl-menu.dl-animate-out-3 { - -webkit-animation: MenuAnimOut3 0.4s ease; - animation: MenuAnimOut3 0.4s ease; -} - -.dl-menu.dl-animate-out-4 { - -webkit-animation: MenuAnimOut4 0.4s ease; - animation: MenuAnimOut4 0.4s ease; -} - -.dl-menu.dl-animate-out-5 { - -webkit-animation: MenuAnimOut5 0.4s ease; - animation: MenuAnimOut5 0.4s ease; -} - @-webkit-keyframes MenuAnimOut1 { 0% { } 50% { @@ -211,38 +191,6 @@ All this is done for any sub-level being entered. } } -@-webkit-keyframes MenuAnimOut2 { - 0% { } - 100% { - -webkit-transform: translateX(-100%); - opacity: 0; - } -} - -@-webkit-keyframes MenuAnimOut3 { - 0% { } - 100% { - -webkit-transform: translateZ(300px); - opacity: 0; - } -} - -@-webkit-keyframes MenuAnimOut4 { - 0% { } - 100% { - -webkit-transform: translateZ(-300px); - opacity: 0; - } -} - -@-webkit-keyframes MenuAnimOut5 { - 0% { } - 100% { - -webkit-transform: translateY(40%); - opacity: 0; - } -} - @keyframes MenuAnimOut1 { 0% { } 50% { @@ -261,67 +209,11 @@ All this is done for any sub-level being entered. } } -@keyframes MenuAnimOut2 { - 0% { } - 100% { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); - opacity: 0; - } -} - -@keyframes MenuAnimOut3 { - 0% { } - 100% { - -webkit-transform: translateZ(300px); - transform: translateZ(300px); - opacity: 0; - } -} - -@keyframes MenuAnimOut4 { - 0% { } - 100% { - -webkit-transform: translateZ(-300px); - transform: translateZ(-300px); - opacity: 0; - } -} - -@keyframes MenuAnimOut5 { - 0% { } - 100% { - -webkit-transform: translateY(40%); - transform: translateY(40%); - opacity: 0; - } -} - .dl-menu.dl-animate-in-1 { -webkit-animation: MenuAnimIn1 0.3s; animation: MenuAnimIn1 0.3s; } -.dl-menu.dl-animate-in-2 { - -webkit-animation: MenuAnimIn2 0.3s ease-in-out; - animation: MenuAnimIn2 0.3s ease-in-out; -} - -.dl-menu.dl-animate-in-3 { - -webkit-animation: MenuAnimIn3 0.4s ease; - animation: MenuAnimIn3 0.4s ease; -} - -.dl-menu.dl-animate-in-4 { - -webkit-animation: MenuAnimIn4 0.4s ease; - animation: MenuAnimIn4 0.4s ease; -} - -.dl-menu.dl-animate-in-5 { - -webkit-animation: MenuAnimIn5 0.4s ease; - animation: MenuAnimIn5 0.4s ease; -} - @-webkit-keyframes MenuAnimIn1 { 0% { -webkit-transform: translateZ(-500px) rotateY(0deg); @@ -337,50 +229,6 @@ All this is done for any sub-level being entered. } } -@-webkit-keyframes MenuAnimIn2 { - 0% { - -webkit-transform: translateX(-100%); - opacity: 0; - } - 100% { - -webkit-transform: translateX(0px); - opacity: 1; - } -} - -@-webkit-keyframes MenuAnimIn3 { - 0% { - -webkit-transform: translateZ(300px); - opacity: 0; - } - 100% { - -webkit-transform: translateZ(0px); - opacity: 1; - } -} - -@-webkit-keyframes MenuAnimIn4 { - 0% { - -webkit-transform: translateZ(-300px); - opacity: 0; - } - 100% { - -webkit-transform: translateZ(0px); - opacity: 1; - } -} - -@-webkit-keyframes MenuAnimIn5 { - 0% { - -webkit-transform: translateY(40%); - opacity: 0; - } - 100% { - -webkit-transform: translateY(0); - opacity: 1; - } -} - @keyframes MenuAnimIn1 { 0% { -webkit-transform: translateZ(-500px) rotateY(0deg); @@ -399,83 +247,11 @@ All this is done for any sub-level being entered. } } -@keyframes MenuAnimIn2 { - 0% { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); - opacity: 0; - } - 100% { - -webkit-transform: translateX(0px); - transform: translateX(0px); - opacity: 1; - } -} - -@keyframes MenuAnimIn3 { - 0% { - -webkit-transform: translateZ(300px); - transform: translateZ(300px); - opacity: 0; - } - 100% { - -webkit-transform: translateZ(0px); - transform: translateZ(0px); - opacity: 1; - } -} - -@keyframes MenuAnimIn4 { - 0% { - -webkit-transform: translateZ(-300px); - transform: translateZ(-300px); - opacity: 0; - } - 100% { - -webkit-transform: translateZ(0px); - transform: translateZ(0px); - opacity: 1; - } -} - -@keyframes MenuAnimIn5 { - 0% { - -webkit-transform: translateY(40%); - transform: translateY(40%); - opacity: 0; - } - 100% { - -webkit-transform: translateY(0); - transform: translateY(0); - opacity: 1; - } -} - .dl-menuwrapper > .dl-submenu.dl-animate-in-1 { -webkit-animation: SubMenuAnimIn1 0.4s ease; animation: SubMenuAnimIn1 0.4s ease; } -.dl-menuwrapper > .dl-submenu.dl-animate-in-2 { - -webkit-animation: SubMenuAnimIn2 0.3s ease-in-out; - animation: SubMenuAnimIn2 0.3s ease-in-out; -} - -.dl-menuwrapper > .dl-submenu.dl-animate-in-3 { - -webkit-animation: SubMenuAnimIn3 0.4s ease; - animation: SubMenuAnimIn3 0.4s ease; -} - -.dl-menuwrapper > .dl-submenu.dl-animate-in-4 { - -webkit-animation: SubMenuAnimIn4 0.4s ease; - animation: SubMenuAnimIn4 0.4s ease; -} - -.dl-menuwrapper > .dl-submenu.dl-animate-in-5 { - -webkit-animation: SubMenuAnimIn5 0.4s ease; - animation: SubMenuAnimIn5 0.4s ease; -} - @-webkit-keyframes SubMenuAnimIn1 { 0% { -webkit-transform: translateX(50%); @@ -487,50 +263,6 @@ All this is done for any sub-level being entered. } } -@-webkit-keyframes SubMenuAnimIn2 { - 0% { - -webkit-transform: translateX(100%); - opacity: 0; - } - 100% { - -webkit-transform: translateX(0px); - opacity: 1; - } -} - -@-webkit-keyframes SubMenuAnimIn3 { - 0% { - -webkit-transform: translateZ(-300px); - opacity: 0; - } - 100% { - -webkit-transform: translateZ(0px); - opacity: 1; - } -} - -@-webkit-keyframes SubMenuAnimIn4 { - 0% { - -webkit-transform: translateZ(300px); - opacity: 0; - } - 100% { - -webkit-transform: translateZ(0px); - opacity: 1; - } -} - -@-webkit-keyframes SubMenuAnimIn5 { - 0% { - -webkit-transform: translateZ(-200px); - opacity: 0; - } - 100% { - -webkit-transform: translateZ(0); - opacity: 1; - } -} - @keyframes SubMenuAnimIn1 { 0% { -webkit-transform: translateX(50%); @@ -544,83 +276,11 @@ All this is done for any sub-level being entered. } } -@keyframes SubMenuAnimIn2 { - 0% { - -webkit-transform: translateX(100%); - transform: translateX(100%); - opacity: 0; - } - 100% { - -webkit-transform: translateX(0px); - transform: translateX(0px); - opacity: 1; - } -} - -@keyframes SubMenuAnimIn3 { - 0% { - -webkit-transform: translateZ(-300px); - transform: translateZ(-300px); - opacity: 0; - } - 100% { - -webkit-transform: translateZ(0px); - transform: translateZ(0px); - opacity: 1; - } -} - -@keyframes SubMenuAnimIn4 { - 0% { - -webkit-transform: translateZ(300px); - transform: translateZ(300px); - opacity: 0; - } - 100% { - -webkit-transform: translateZ(0px); - transform: translateZ(0px); - opacity: 1; - } -} - -@keyframes SubMenuAnimIn5 { - 0% { - -webkit-transform: translateZ(-200px); - transform: translateZ(-200px); - opacity: 0; - } - 100% { - -webkit-transform: translateZ(0); - transform: translateZ(0); - opacity: 1; - } -} - .dl-menuwrapper > .dl-submenu.dl-animate-out-1 { -webkit-animation: SubMenuAnimOut1 0.4s ease; animation: SubMenuAnimOut1 0.4s ease; } -.dl-menuwrapper > .dl-submenu.dl-animate-out-2 { - -webkit-animation: SubMenuAnimOut2 0.3s ease-in-out; - animation: SubMenuAnimOut2 0.3s ease-in-out; -} - -.dl-menuwrapper > .dl-submenu.dl-animate-out-3 { - -webkit-animation: SubMenuAnimOut3 0.4s ease; - animation: SubMenuAnimOut3 0.4s ease; -} - -.dl-menuwrapper > .dl-submenu.dl-animate-out-4 { - -webkit-animation: SubMenuAnimOut4 0.4s ease; - animation: SubMenuAnimOut4 0.4s ease; -} - -.dl-menuwrapper > .dl-submenu.dl-animate-out-5 { - -webkit-animation: SubMenuAnimOut5 0.4s ease; - animation: SubMenuAnimOut5 0.4s ease; -} - @-webkit-keyframes SubMenuAnimOut1 { 0% { -webkit-transform: translateX(0%); @@ -632,50 +292,6 @@ All this is done for any sub-level being entered. } } -@-webkit-keyframes SubMenuAnimOut2 { - 0% { - -webkit-transform: translateX(0%); - opacity: 1; - } - 100% { - -webkit-transform: translateX(100%); - opacity: 0; - } -} - -@-webkit-keyframes SubMenuAnimOut3 { - 0% { - -webkit-transform: translateZ(0px); - opacity: 1; - } - 100% { - -webkit-transform: translateZ(-300px); - opacity: 0; - } -} - -@-webkit-keyframes SubMenuAnimOut4 { - 0% { - -webkit-transform: translateZ(0px); - opacity: 1; - } - 100% { - -webkit-transform: translateZ(300px); - opacity: 0; - } -} - -@-webkit-keyframes SubMenuAnimOut5 { - 0% { - -webkit-transform: translateZ(0); - opacity: 1; - } - 100% { - -webkit-transform: translateZ(-200px); - opacity: 0; - } -} - @keyframes SubMenuAnimOut1 { 0% { -webkit-transform: translateX(0%); @@ -689,58 +305,6 @@ All this is done for any sub-level being entered. } } -@keyframes SubMenuAnimOut2 { - 0% { - -webkit-transform: translateX(0%); - transform: translateX(0%); - opacity: 1; - } - 100% { - -webkit-transform: translateX(100%); - transform: translateX(100%); - opacity: 0; - } -} - -@keyframes SubMenuAnimOut3 { - 0% { - -webkit-transform: translateZ(0px); - transform: translateZ(0px); - opacity: 1; - } - 100% { - -webkit-transform: translateZ(-300px); - transform: translateZ(-300px); - opacity: 0; - } -} - -@keyframes SubMenuAnimOut4 { - 0% { - -webkit-transform: translateZ(0px); - transform: translateZ(0px); - opacity: 1; - } - 100% { - -webkit-transform: translateZ(300px); - transform: translateZ(300px); - opacity: 0; - } -} - -@keyframes SubMenuAnimOut5 { - 0% { - -webkit-transform: translateZ(0); - transform: translateZ(0); - opacity: 1; - } - 100% { - -webkit-transform: translateZ(-200px); - transform: translateZ(-200px); - opacity: 0; - } -} - /* No JS Fallback */ .no-js .dl-menuwrapper .dl-menu { position: relative; @@ -776,48 +340,4 @@ All this is done for any sub-level being entered. .demo-1 .dl-menuwrapper button.dl-active, .demo-1 .dl-menuwrapper ul { background: #9e1847; -} - -/* Demo 2 */ -.demo-2 .dl-menuwrapper button { - background: #e86814; -} - -.demo-2 .dl-menuwrapper button:hover, -.demo-2 .dl-menuwrapper button.dl-active, -.demo-2 .dl-menuwrapper ul { - background: #D35400; -} - -/* Demo 3 */ -.demo-3 .dl-menuwrapper button { - background: #08cbc4; -} - -.demo-3 .dl-menuwrapper button:hover, -.demo-3 .dl-menuwrapper button.dl-active, -.demo-3 .dl-menuwrapper ul { - background: #00b4ae; -} - -/* Demo 4 */ -.demo-4 .dl-menuwrapper button { - background: #90b912; -} - -.demo-4 .dl-menuwrapper button:hover, -.demo-4 .dl-menuwrapper button.dl-active, -.demo-4 .dl-menuwrapper ul { - background: #79a002; -} - -/* Demo 5 */ -.demo-5 .dl-menuwrapper button { - background: #744783; -} - -.demo-5 .dl-menuwrapper button:hover, -.demo-5 .dl-menuwrapper button.dl-active, -.demo-5 .dl-menuwrapper ul { - background: #643771; -} +} \ No newline at end of file diff --git a/index.html b/index.html index 84b6326..4692f20 100755 --- a/index.html +++ b/index.html @@ -8,27 +8,14 @@ - -
- - +
-

Responsive Multi-Level Menu Space-saving drop-down menu with subtle effects

- +

Responsive Multi-Level Menu Space-saving drop-down menu with subtle effects

diff --git a/index2.html b/index2.html deleted file mode 100755 index 9a687a5..0000000 --- a/index2.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - Responsive Multi-Level Menu - Demo 2 - - - - - - - - - -
- - -
-

Responsive Multi-Level Menu Space-saving drop-down menu with subtle effects

- -
-
-
-

The submenu of this menu will slide to the side and fade out. Going a level deeper will slide the submenu from the right; going back will slide from the left.

-
- -
-
- - - - - \ No newline at end of file diff --git a/index3.html b/index3.html deleted file mode 100755 index edbe633..0000000 --- a/index3.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - Responsive Multi-Level Menu - Demo 3 - - - - - - - - - -
- - -
-

Responsive Multi-Level Menu Space-saving drop-down menu with subtle effects

- -
-
-
-

Here the submenu will fade in and scale up from the back and the current level will fade out and move down.

-
- -
-
- - - - - \ No newline at end of file diff --git a/index4.html b/index4.html deleted file mode 100755 index 7df4fd8..0000000 --- a/index4.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - Responsive Multi-Level Menu - Demo 4 - - - - - - - - - -
- - -
-

Responsive Multi-Level Menu Space-saving drop-down menu with subtle effects

- -
-
-
-

The submenu in this demo will scale up from the back and fade in while the current level scales up and fades out.

-
- -
-
- - - - - \ No newline at end of file diff --git a/index5.html b/index5.html deleted file mode 100755 index 57b5a98..0000000 --- a/index5.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - Responsive Multi-Level Menu - Demo 5 - - - - - - - - - -
- - -
-

Responsive Multi-Level Menu Space-saving drop-down menu with subtle effects

- -
-
-
-

The is the reverse of demo 4: the submenu in this demo will scale down from the front while the current level scales down and fades out.

-
- -
-
- - - - - \ No newline at end of file diff --git a/js/jquery.dlmenu.js b/js/jquery.dlmenu.js index dec44e4..1b00ad0 100755 --- a/js/jquery.dlmenu.js +++ b/js/jquery.dlmenu.js @@ -1,6 +1,5 @@ /** - * jquery.dlmenu.js v1.0.1 - * http://www.codrops.com + * ResponsiveMultiLevelMenu v1.0.2 * * Licensed under the MIT license. * http://www.opensource.org/licenses/mit-license.php @@ -69,6 +68,16 @@ this.supportAnimations = Modernizr.cssanimations; this.supportTransitions = Modernizr.csstransitions; + var ua = navigator.userAgent; + var match = ua.match(/Android\s([0-9\.]*)/); + if( ua.indexOf("Android") > -1 && ua.indexOf("Chrome") === -1 && ua.indexOf("Firefox") === -1) { + var androidversion = parseFloat(match[1], 10); + if (androidversion < 4) { + this.supportAnimations = false; + this.supportTransitions = false; + } + } + this._initEvents(); }, @@ -76,13 +85,13 @@ this.open = false; this.$trigger = this.$el.children( '.dl-trigger' ); this.$menu = this.$el.children( 'ul.dl-menu' ); - this.$menuitems = this.$menu.find( 'li:not(.dl-back)' ); + this.$menu.hide(); + this.$el.css('z-index', '9999'); this.$el.find( 'ul.dl-submenu' ).prepend( '
  • ' + this.options.backLabel + '
  • ' ); - this.$back = this.$menu.find( 'li.dl-back' ); // Set the label text for the back link. if (this.options.useActiveItemAsBackLabel) { - this.$back.each(function() { + this.$menu.find( 'li.dl-back' ).each(function() { var $this = $(this), parentLabel = $this.parents('li:first').find('a:first').text(); @@ -113,12 +122,11 @@ $body.off( 'click' ).children().on( 'click.dlmenu', function() { self._closeMenu() ; } ); - } return false; } ); - this.$menuitems.on( 'click.dlmenu', function( event ) { + this.$menu.on( 'click.dlmenu', 'li:not(.dl-back)', function( event ) { event.stopPropagation(); @@ -158,7 +166,7 @@ } ); - this.$back.on( 'click.dlmenu', function( event ) { + this.$menu.on( 'click.dlmenu', 'li.dl-back', function( event ) { var $this = $( this ), $submenu = $this.parents( 'ul.dl-submenu:first' ), @@ -219,6 +227,7 @@ else { onTransitionEndFn.call(); } + this.$menu.hide(); this.open = false; }, @@ -229,6 +238,9 @@ }, _openMenu : function() { var self = this; + + this.$menu.show(); + // clicking somewhere else makes the menu close $body.off( 'click' ).on( 'click.dlmenu', function() { self._closeMenu() ; @@ -242,7 +254,7 @@ // resets the menu to its original state (first level of options) _resetMenu : function() { this.$menu.removeClass( 'dl-subview' ); - this.$menuitems.removeClass( 'dl-subview dl-subviewopen' ); + this.$menu.find( 'li:not(.dl-back)' ).removeClass( 'dl-subview dl-subviewopen' ); } }; diff --git a/js/modernizr.custom.js b/js/modernizr.custom.js index db5e1ea..31ebcf8 100755 --- a/js/modernizr.custom.js +++ b/js/modernizr.custom.js @@ -1,4 +1,4 @@ -/* Modernizr 2.6.2 (Custom Build) | MIT & BSD +/* Modernizr 2.8.3 (Custom Build) | MIT & BSD * Build: http://modernizr.com/download/#-cssanimations-csstransitions-touch-shiv-cssclasses-prefixed-teststyles-testprop-testallprops-prefixes-domprefixes-load */ -;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+";")+(b||""))}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:w(["@media (",m.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},q.cssanimations=function(){return F("animationName")},q.csstransitions=function(){return F("transition")};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},z(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,e.prefixed=function(a,b,c){return b?F(a,b,c):F(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:w(["@media (",m.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},q.cssanimations=function(){return F("animationName")},q.csstransitions=function(){return F("transition")};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},z(""),i=k=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,e.prefixed=function(a,b,c){return b?F(a,b,c):F(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f" + ], + "bugs": { + "url": "https://github.com/rejas/ResponsiveMultiLevelMenu/issues" + } +}