/* _ __ _ ___| (_) ___| | __(_)___ / __| | |/ __| |/ /| / __| \__ \ | | (__| < _ | \__ \ |___/_|_|\___|_|\_(_)/ |___/ |__/ Version: 1.6.0 Author: Ken Wheeler Website: http://kenwheeler.github.io Docs: http://kenwheeler.github.io/slick Repo: http://github.com/kenwheeler/slick Issues: http://github.com/kenwheeler/slick/issues */ !function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){"use strict";var b=window.Slick||{};b=function(){function c(c,d){var f,e=this;e.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:a(c),appendDots:a(c),arrows:!0,asNavFor:null,prevArrow:'',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(b,c){return a('',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}},a.fn.magnificPopup=function(c){A();var d=a(this);if("string"==typeof c)if("open"===c){var e,f=u?d.data("magnificPopup"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),u?d.data("magnificPopup",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var C,D,E,F="inline",G=function(){E&&(D.after(E.addClass(C)).detach(),E=null)};a.magnificPopup.registerModule(F,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){b.types.push(F),w(h+"."+F,function(){G()})},getInline:function(c,d){if(G(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(D||(C=e.hiddenClass,D=x(C),C="mfp-"+C),E=f.after(D).detach().removeClass(C)),b.updateStatus("ready")}else b.updateStatus("error",e.tNotFound),f=a("
");return c.inlineElement=f,f}return b.updateStatus("ready"),b._parseMarkup(d,{},c),d}}});var H,I="ajax",J=function(){H&&a(document.body).removeClass(H)},K=function(){J(),b.req&&b.req.abort()};a.magnificPopup.registerModule(I,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'The content could not be loaded.'},proto:{initAjax:function(){b.types.push(I),H=b.st.ajax.cursor,w(h+"."+I,K),w("BeforeChange."+I,K)},getAjax:function(c){H&&a(document.body).addClass(H),b.updateStatus("loading");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};y("ParseAjax",g),b.appendContent(a(g.data),I),c.finished=!0,J(),b._setFocus(),setTimeout(function(){b.wrap.addClass(q)},16),b.updateStatus("ready"),y("AjaxContentAdded")},error:function(){J(),c.finished=c.loadError=!0,b.updateStatus("error",b.st.ajax.tError.replace("%url%",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),""}}});var L,M=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'
',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'The image could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=".image";b.types.push("image"),w(m+d,function(){"image"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),w(h+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),v.off("resize"+p)}),w("Resize"+d,b.resizeImage),b.isLowIE&&w("AfterChange",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,L&&clearInterval(L),a.isCheckingImgSize=!1,y("ImageHasSize",a),a.imgHidden&&(b.content&&b.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){L&&clearInterval(L),L=setInterval(function(){return d.naturalWidth>0?void b._onImageHasSize(a):(c>200&&clearInterval(L),c++,void(3===c?e(10):40===c?e(50):100===c&&e(500)))},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("ready")),c.hasSize=!0,c.loaded=!0,y("ImageLoadComplete")):(e++,200>e?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("error",h.tError.replace("%url%",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(".mfp-img");if(i.length){var j=document.createElement("img");j.className="mfp-img",c.el&&c.el.find("img").length&&(j.alt=c.el.find("img").attr("alt")),c.img=a(j).on("load.mfploader",f).on("error.mfploader",g),j.src=c.src,i.is("img")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:M(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(L&&clearInterval(L),c.loadError?(d.addClass("mfp-loading"),b.updateStatus("error",h.tError.replace("%url%",c.src))):(d.removeClass("mfp-loading"),b.updateStatus("ready")),d):(b.updateStatus("loading"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass("mfp-loading"),b.findImageSize(c)),d)}}});var N,O=function(){return void 0===N&&(N=void 0!==document.createElement("p").style.MozTransform),N};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=".zoom";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,j=function(a){var b=a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+c.duration/1e3+"s "+c.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,b.css(e),b},k=function(){b.content.css("visibility","visible")};w("BuildControls"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css("visibility","hidden"),a=b._getItemToZoom(),!a)return void k();f=j(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){k(),setTimeout(function(){f.remove(),a=f=null,y("ZoomAnimationEnded")},16)},g)},16)}}),w(i+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(a=b._getItemToZoom(),!a)return;f=j(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css("visibility","hidden"),setTimeout(function(){f.css(b._getOffset())},16)}}),w(h+d,function(){b._allowZoom()&&(k(),f&&f.remove(),a=null)})}},_allowZoom:function(){return"image"===b.currItem.type},_getItemToZoom:function(){return b.currItem.hasSize?b.currItem.img:!1},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css("padding-top"),10),g=parseInt(d.css("padding-bottom"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(u?d.innerHeight():d[0].offsetHeight)-g-f};return O()?h["-moz-transform"]=h.transform="translate("+e.left+"px,"+e.top+"px)":(h.left=e.left,h.top=e.top),h}}});var P="iframe",Q="//about:blank",R=function(a){if(b.currTemplate[P]){var c=b.currTemplate[P].find("iframe");c.length&&(a||(c[0].src=Q),b.isIE8&&c.css("display",a?"block":"none"))}};a.magnificPopup.registerModule(P,{options:{markup:'
',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery";return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s);e.click(function(){b.prev()}),f.click(function(){b.next()}),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),A()});/*! jQuery & Zepto Lazy v1.7.5 - http://jquery.eisbehr.de/lazy - MIT&GPL-2.0 license - Copyright 2012-2017 Daniel 'Eisbehr' Kern */ !function(t,e){"use strict";function r(r,a,i,l,u){function f(){L=t.devicePixelRatio>1,c(i),a.delay>=0&&setTimeout(function(){s(!0)},a.delay),(a.delay<0||a.combined)&&(l.e=v(a.throttle,function(t){"resize"===t.type&&(w=B=-1),s(t.all)}),l.a=function(t){c(t),i.push.apply(i,t)},l.g=function(){return i=n(i).filter(function(){return!n(this).data(a.loadedName)})},l.f=function(t){for(var e=0;ee.top&&-ne.left&&-n=0?w:w=n(t).width()}function h(){return B>=0?B:B=n(t).height()}function m(t){return t.tagName.toLowerCase()}function b(t,e){if(e){var r=t.split(",");t="";for(var a=0,n=r.length;at||!a.enableThrottle||l?u():n=setTimeout(u,t-f)}}function p(){--z,i.length||z||y("onFinishedAll")}function y(t,e,n){return!!(t=a[t])&&(t.apply(r,[].slice.call(arguments,1)),!0)}var z=0,w=-1,B=-1,L=!1,T="afterLoad",D="load",I="error",N="img",E="src",F="srcset",C="sizes",O="background-image";"event"===a.bind||o?f():n(t).on(D+"."+u,f)}function a(a,o){var l=this,u=n.extend({},l.config,o),f={},c=u.name+"-"+ ++i;return l.config=function(t,r){return r===e?u[t]:(u[t]=r,l)},l.addItems=function(t){return f.a&&f.a("string"===n.type(t)?n(t):t),l},l.getItems=function(){return f.g?f.g():{}},l.update=function(t){return f.e&&f.e({},!t),l},l.force=function(t){return f.f&&f.f("string"===n.type(t)?n(t):t),l},l.loadAll=function(){return f.e&&f.e({all:!0},!0),l},l.destroy=function(){return n(u.appendScroll).off("."+c,f.e),n(t).off("."+c),f={},e},r(l,u,a,f,c),u.chainable?a:l}var n=t.jQuery||t.Zepto,i=0,o=!1;n.fn.Lazy=n.fn.lazy=function(t){return new a(this,t)},n.Lazy=n.lazy=function(t,r,i){if(n.isFunction(r)&&(i=r,r=[]),n.isFunction(i)){t=n.isArray(t)?t:[t],r=n.isArray(r)?r:[r];for(var o=a.prototype.config,l=o._f||(o._f={}),u=0,f=t.length;u");return t.each(a,function(t,e){o.attr(e.name,e.value)}),e.replaceWith(o),o}function r(e,r,a){var o=t("").one("load",function(){a(!0)}).one("error",function(){a(!1)}).appendTo(e).attr("src",r);o.complete&&o.load()}t.lazy(["pic","picture"],["picture"],function(a,o){var i=a[0].tagName.toLowerCase();if("picture"===i){var n="data-src",c="data-srcset",u="data-media",s="data-sizes",d="data-type",f=a.find(n),p=a.find("data-img");f.length?(f.each(function(){e(t(this),"source")}),1===p.length?(p=e(p,"img"),p.on("load",function(){o(!0)}).on("error",function(){o(!1)}),p.attr("src",p.attr(n)),this.config("removeAttribute")&&p.removeAttr(n)):a.attr(n)?(r(a,a.attr(n),o),this.config("removeAttribute")&&a.removeAttr(n)):o(!1)):a.attr(c)?(t("").attr({media:a.attr(u),sizes:a.attr(s),type:a.attr(d),srcset:a.attr(c)}).appendTo(a),r(a,a.attr(n),o),this.config("removeAttribute")&&a.removeAttr(n+" "+c+" "+u+" "+s+" "+d)):o(!1)}else o(!1)})}(window.jQuery||window.Zepto);/*! modernizr 3.2.0 (Custom Build) | MIT * * http://modernizr.com/download/?-cssanimations-prefixed !*/ !function(e,n,t){function r(e,n){return typeof e===n}function o(){var e,n,t,o,i,s,a;for(var f in C)if(C.hasOwnProperty(f)){if(e=[],n=C[f],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(t=0;td;d++)if(v=e[d],h=z.style[v],a(v,"-")&&(v=s(v)),z.style[v]!==t){if(i||r(o,"undefined"))return l(),"pfx"==n?v:!0;try{z.style[v]=o}catch(g){}if(z.style[v]!=h)return l(),"pfx"==n?v:!0}return l(),!1}function h(e,n,t,o,i){var s=e.charAt(0).toUpperCase()+e.slice(1),a=(e+" "+b.join(s+" ")+s).split(" ");return r(n,"string")||r(n,"undefined")?v(a,n,o,i):(a=(e+" "+N.join(s+" ")+s).split(" "),u(a,n,t))}function y(e,n,r){return h(e,t,t,n,r)}var g=[],C=[],_={_version:"3.2.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var t=this;setTimeout(function(){n(t[e])},0)},addTest:function(e,n,t){C.push({name:e,fn:n,options:t})},addAsyncTest:function(e){C.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=_,Modernizr=new Modernizr;var w=n.documentElement,x="svg"===w.nodeName.toLowerCase(),S="Moz O ms Webkit",b=_._config.usePrefixes?S.split(" "):[];_._cssomPrefixes=b;var E=function(n){var r,o=prefixes.length,i=e.CSSRule;if("undefined"==typeof i)return t;if(!n)return!1;if(n=n.replace(/^@/,""),r=n.replace(/-/g,"_").toUpperCase()+"_RULE",r in i)return"@"+n;for(var s=0;o>s;s++){var a=prefixes[s],f=a.toUpperCase()+"_"+r;if(f in i)return"@-"+a.toLowerCase()+"-"+n}return!1};_.atRule=E;var N=_._config.usePrefixes?S.toLowerCase().split(" "):[];_._domPrefixes=N;var P={elem:f("modernizr")};Modernizr._q.push(function(){delete P.elem});var z={style:P.elem.style};Modernizr._q.unshift(function(){delete z.style}),_.testAllProps=h;_.prefixed=function(e,n,t){return 0===e.indexOf("@")?E(e):(-1!=e.indexOf("-")&&(e=s(e)),n?h(e,n,t):h(e,"pfx"))};_.testAllProps=y,Modernizr.addTest("cssanimations",y("animationName","a",!0)),o(),i(g),delete _.addTest,delete _.addAsyncTest;for(var T=0;T true/false * classie.add( elem, 'my-new-class' ) * classie.remove( elem, 'my-unwanted-class' ) * classie.toggle( elem, 'my-class' ) */ /*jshint browser: true, strict: true, undef: true, unused: true */ /*global define: false, module: false */ ( function( window ) { 'use strict'; // class helper functions from bonzo https://github.com/ded/bonzo function classReg( className ) { return new RegExp("(^|\\s+)" + className + "(\\s+|$)"); } // classList support for class management // altho to be fair, the api sucks because it won't accept multiple classes at once var hasClass, addClass, removeClass; if ( 'classList' in document.documentElement ) { hasClass = function( elem, c ) { return elem.classList.contains( c ); }; addClass = function( elem, c ) { elem.classList.add( c ); }; removeClass = function( elem, c ) { elem.classList.remove( c ); }; } else { hasClass = function( elem, c ) { return classReg( c ).test( elem.className ); }; addClass = function( elem, c ) { if ( !hasClass( elem, c ) ) { elem.className = elem.className + ' ' + c; } }; removeClass = function( elem, c ) { elem.className = elem.className.replace( classReg( c ), ' ' ); }; } function toggleClass( elem, c ) { var fn = hasClass( elem, c ) ? removeClass : addClass; fn( elem, c ); } var classie = { // full names hasClass: hasClass, addClass: addClass, removeClass: removeClass, toggleClass: toggleClass, // short names has: hasClass, add: addClass, remove: removeClass, toggle: toggleClass }; // transport if ( typeof define === 'function' && define.amd ) { // AMD define( classie ); } else if ( typeof exports === 'object' ) { // CommonJS module.exports = classie; } else { // browser global window.classie = classie; } })( window ); ;(function(window) { 'use strict'; var support = { animations : Modernizr.cssanimations }, animEndEventNames = { 'WebkitAnimation' : 'webkitAnimationEnd', 'OAnimation' : 'oAnimationEnd', 'msAnimation' : 'MSAnimationEnd', 'animation' : 'animationend' }, animEndEventName = animEndEventNames[ Modernizr.prefixed( 'animation' ) ], onEndAnimation = function( el, callback ) { var onEndCallbackFn = function( ev ) { if( support.animations ) { if( ev.target != this ) return; this.removeEventListener( animEndEventName, onEndCallbackFn ); } if( callback && typeof callback === 'function' ) { callback.call(); } }; if( support.animations ) { el.addEventListener( animEndEventName, onEndCallbackFn ); } else { onEndCallbackFn(); } }; function extend( a, b ) { for( var key in b ) { if( b.hasOwnProperty( key ) ) { a[key] = b[key]; } } return a; } function MLMenu(el, options) { this.el = el; this.options = extend( {}, this.options ); extend( this.options, options ); this.menus = [].slice.call(this.el.querySelectorAll('.menu__level')); this.current_menu = 0; var current_menu; this.menus.forEach(function(menuEl, pos) { var items = menuEl.querySelectorAll('.menu__item'); items.forEach(function(itemEl, iPos) { var currentLink = itemEl.querySelector('.menu__link--current'); if (currentLink) { current_menu = pos; } }); }); if (current_menu) { this.current_menu = current_menu; } this._init(); } MLMenu.prototype.options = { breadcrumbsCtrl : true, initialBreadcrumb : 'all', backCtrl : true, itemsDelayInterval : 60, direction : 'r2l', onItemClick : function(ev, itemName) { return false; } }; MLMenu.prototype._init = function() { this.menusArr = []; this.breadCrumbs = false; var self = this; var submenus = []; this.menus.forEach(function(menuEl, pos) { var menu = {menuEl : menuEl, menuItems : [].slice.call(menuEl.querySelectorAll('.menu__item'))}; self.menusArr.push(menu); if( pos === self.current_menu ) { classie.add(menuEl, 'menu__level--current'); } var menu_x = menuEl.getAttribute('data-menu'); var links = menuEl.querySelectorAll('.menu__link'); links.forEach(function(linkEl, lPos) { var submenu = linkEl.getAttribute('data-submenu'); if (submenu) { var pushMe = {"menu":submenu, "name": linkEl.innerHTML }; if (submenus[pos]) { submenus[pos].push(pushMe); } else { submenus[pos] = [] submenus[pos].push(pushMe); } } }); }); this.menus.forEach(function(menuEl, pos) { var menu_x = menuEl.getAttribute('data-menu'); submenus.forEach(function(subMenuEl, menu_root) { subMenuEl.forEach(function(subMenuItem, subPos) { if (subMenuItem.menu == menu_x) { self.menusArr[pos].backIdx = menu_root; self.menusArr[pos].name = subMenuItem.name; } }); }); }); if( self.options.breadcrumbsCtrl ) { this.breadcrumbsCtrl = document.createElement('nav'); this.breadcrumbsCtrl.className = 'menu__breadcrumbs'; this.breadcrumbsCtrl.setAttribute('aria-label', 'You are here'); this.el.insertBefore(this.breadcrumbsCtrl, this.el.firstChild); this._addBreadcrumb(0); if (self.menusArr[self.current_menu].backIdx != 0 && self.current_menu != 0) { this._crawlCrumbs(self.menusArr[self.current_menu].backIdx, self.menusArr); this.breadCrumbs = true; } if (self.current_menu != 0) { this._addBreadcrumb(self.current_menu); this.breadCrumbs = true; } } if (this.options.backCtrl) { this.backCtrl = document.createElement('button'); if (this.breadCrumbs) { this.backCtrl.className = 'menu__back'; } else { this.backCtrl.className = 'menu__back menu__back--hidden'; } this.backCtrl.setAttribute('aria-label', 'Go back'); this.backCtrl.innerHTML = ''; this.el.insertBefore(this.backCtrl, this.el.firstChild); } this._initEvents(); }; MLMenu.prototype._initEvents = function() { var self = this; for(var i = 0, len = this.menusArr.length; i < len; ++i) { this.menusArr[i].menuItems.forEach(function(item, pos) { item.querySelector('a').addEventListener('click', function(ev) { var submenu = ev.target.getAttribute('data-submenu'), itemName = ev.target.innerHTML, subMenuEl = self.el.querySelector('ul[data-menu="' + submenu + '"]'); if( submenu && subMenuEl ) { ev.preventDefault(); self._openSubMenu(subMenuEl, pos, itemName); } else { var currentlink = self.el.querySelector('.menu__link--current'); if( currentlink ) { classie.remove(self.el.querySelector('.menu__link--current'), 'menu__link--current'); } classie.add(ev.target, 'menu__link--current'); self.options.onItemClick(ev, itemName); } }); }); } if( this.options.backCtrl ) { this.backCtrl.addEventListener('click', function() { self._back(); }); } }; MLMenu.prototype._openSubMenu = function(subMenuEl, clickPosition, subMenuName) { if( this.isAnimating ) { return false; } this.isAnimating = true; this.menusArr[this.menus.indexOf(subMenuEl)].backIdx = this.current_menu; this.menusArr[this.menus.indexOf(subMenuEl)].name = subMenuName; this._menuOut(clickPosition); this._menuIn(subMenuEl, clickPosition); }; MLMenu.prototype._back = function() { if( this.isAnimating ) { return false; } this.isAnimating = true; this._menuOut(); var backMenu = this.menusArr[this.menusArr[this.current_menu].backIdx].menuEl; this._menuIn(backMenu); if( this.options.breadcrumbsCtrl ) { this.breadcrumbsCtrl.removeChild(this.breadcrumbsCtrl.lastElementChild); } }; MLMenu.prototype._menuOut = function(clickPosition) { var self = this, currentMenu = this.menusArr[this.current_menu].menuEl, isBackNavigation = typeof clickPosition == 'undefined' ? true : false; this.menusArr[this.current_menu].menuItems.forEach(function(item, pos) { item.style.WebkitAnimationDelay = item.style.animationDelay = isBackNavigation ? parseInt(pos * self.options.itemsDelayInterval) + 'ms' : parseInt(Math.abs(clickPosition - pos) * self.options.itemsDelayInterval) + 'ms'; }); if( this.options.direction === 'r2l' ) { classie.add(currentMenu, !isBackNavigation ? 'animate-outToLeft' : 'animate-outToRight'); } else { classie.add(currentMenu, isBackNavigation ? 'animate-outToLeft' : 'animate-outToRight'); } }; MLMenu.prototype._menuIn = function(nextMenuEl, clickPosition) { var self = this, currentMenu = this.menusArr[this.current_menu].menuEl, isBackNavigation = typeof clickPosition == 'undefined' ? true : false, nextMenuIdx = this.menus.indexOf(nextMenuEl), nextMenu = this.menusArr[nextMenuIdx], nextMenuEl = nextMenu.menuEl, nextMenuItems = nextMenu.menuItems, nextMenuItemsTotal = nextMenuItems.length; nextMenuItems.forEach(function(item, pos) { item.style.WebkitAnimationDelay = item.style.animationDelay = isBackNavigation ? parseInt(pos * self.options.itemsDelayInterval) + 'ms' : parseInt(Math.abs(clickPosition - pos) * self.options.itemsDelayInterval) + 'ms'; var farthestIdx = clickPosition <= nextMenuItemsTotal/2 || isBackNavigation ? nextMenuItemsTotal - 1 : 0; if( pos === farthestIdx ) { onEndAnimation(item, function() { if( self.options.direction === 'r2l' ) { classie.remove(currentMenu, !isBackNavigation ? 'animate-outToLeft' : 'animate-outToRight'); classie.remove(nextMenuEl, !isBackNavigation ? 'animate-inFromRight' : 'animate-inFromLeft'); } else { classie.remove(currentMenu, isBackNavigation ? 'animate-outToLeft' : 'animate-outToRight'); classie.remove(nextMenuEl, isBackNavigation ? 'animate-inFromRight' : 'animate-inFromLeft'); } classie.remove(currentMenu, 'menu__level--current'); classie.add(nextMenuEl, 'menu__level--current'); self.current_menu = nextMenuIdx; if( !isBackNavigation ) { if( self.options.backCtrl ) { classie.remove(self.backCtrl, 'menu__back--hidden'); } self._addBreadcrumb(nextMenuIdx); } else if( self.current_menu === 0 && self.options.backCtrl ) { classie.add(self.backCtrl, 'menu__back--hidden'); } self.isAnimating = false; nextMenuEl.focus(); }); } }); if( this.options.direction === 'r2l' ) { classie.add(nextMenuEl, !isBackNavigation ? 'animate-inFromRight' : 'animate-inFromLeft'); } else { classie.add(nextMenuEl, isBackNavigation ? 'animate-inFromRight' : 'animate-inFromLeft'); } }; MLMenu.prototype._addBreadcrumb = function(idx) { if( !this.options.breadcrumbsCtrl ) { return false; } var bc = document.createElement('a'); bc.href = '#'; bc.innerHTML = idx ? this.menusArr[idx].name : this.options.initialBreadcrumb; this.breadcrumbsCtrl.appendChild(bc); var self = this; bc.addEventListener('click', function(ev) { ev.preventDefault(); if( !bc.nextSibling || self.isAnimating ) { return false; } self.isAnimating = true; self._menuOut(); var nextMenu = self.menusArr[idx].menuEl; self._menuIn(nextMenu); var siblingNode; while (siblingNode = bc.nextSibling) { self.breadcrumbsCtrl.removeChild(siblingNode); } }); }; MLMenu.prototype._crawlCrumbs = function(currentMenu, menuArray) { if (menuArray[currentMenu].backIdx != 0) { this._crawlCrumbs(menuArray[currentMenu].backIdx, menuArray); } this._addBreadcrumb(currentMenu); } window.MLMenu = MLMenu; })(window);$(document).ready(function(){ /*------- Highlight top links -------*/ var baseHref = document.getElementsByTagName('base')[0].href; var fullpath = window.location.href; var remainSilo = ''; var remainHref = fullpath.split(baseHref); if(typeof remainHref[1] != 'undefined'){ if(remainHref[1] == '' || remainHref[1] == '#' || remainHref[1].indexOf(".php") > 0 || remainHref[1].indexOf("&") > 0){ $("#home_link").addClass("active"); } else { if(remainHref[1].indexOf("/") > 0){ remainSilo = remainHref[1].split("/"); $("#"+remainSilo[0]+"_link").addClass("active"); } else{ $("#"+remainHref[1]+"_link").addClass("active"); } } } /*------- Build home banner -------*/ $('.home-banner-slider').slick({ infinite: true, slidesToShow: 1, slidesToScroll: 1, dots: true, autoplay: true, pauseOnHover: true, speed:700, autoplaySpeed: 8000, arrows:true, nextArrow: '', prevArrow: '' }); /*------- Social links click -------*/ $(".social-share").click(function(e) { e.preventDefault(); window.open($(this).attr('href'), 'fbShareWindow', 'height=450, width=550, top=' + ($(window).height() / 2 - 275) + ', left=' + ($(window).width() / 2 - 225) + ', toolbar=0, location=0, menubar=0, directories=0, scrollbars=0'); return false; }); /*------- Image Gallery -------*/ $('.gallery-img').magnificPopup({type:'image',gallery:{enabled:true}}); }); $(function() { $('.lazy').Lazy({ scrollDirection: 'vertical', effect: 'fadeIn', visibleOnly: true }); }); function openGallery(){ if($(".inner-sidebar").hasClass('open-sidebar')){ $(".inner-sidebar").toggleClass('open-sidebar'); } $('.gallery-img').magnificPopup('open'); } function checkEnquireData() { var err = ''; var first_name = document.getElementById('contact_first_name').value; var last_name = document.getElementById('contact_last_name').value; var email = document.getElementById('contact_email').value; var tel = document.getElementById('contact_nr').value; var message = document.getElementById('message').value; if(first_name == ''){ err += '• Your first name is required
'; } if(last_name == ''){ err += '• Your last name is required
'; } if(email == '' && tel == ''){ err += '• Please enter an email address or telephone number
'; } if(email != '' && !validateEmail(email)){ err += '• Your email address is invalid
'; } if(message == ''){ err += '• A message is required
'; } if(err == '') document.getElementById('data_form').submit(); else{ setSystemMessage('Enquiry Error',err); } } function checkSearchForm() { var searchVal = ID('search_q').value if(checkStringLength(searchVal) == 0) setSystemMessage('Search','Please enter some search criteria'); else ID('searchform').submit(); } function checkSearchFormInner() { var searchVal = ID('search_r').value if(checkStringLength(searchVal) == 0) setSystemMessage('Search','Please enter some search criteria'); else ID('searchforminner').submit(); } function notifySuccess(){ setSystemMessage('Success','You have been added to the mailing list'); } function checkSubscribeUser(){ var subscribeMail = $('#subscribe_email').val(); var mail = subscribeMail.trim(); if( /(.+)@(.+){2,}\.(.+){2,}/.test(mail) ){ addUserToMailingList($('#subscribe_email').val(),{'onUpdate':notifySuccess}); $('#subscribe_email').val(''); } else{ setSystemMessage('Subscribe Error','Please make sure the email address entered is correct.'); } } function clearSearch(type){ if(type == 'blog') clearBlogSearch({'onUpdate':reloadPage}); else if(type == 'news') { clearNewsSearch({'onUpdate':reloadPage}); } } function reloadPage(){ window.location.href=window.location.href; } jQuery(document).on('click', '.mega-dropdown', function(e) { e.stopPropagation() }); $( document ).ready(function() { $(function() { $('.svg-map #btn-lowveld-legogote').hover(function() { $('#lowveld-legogote').addClass("active"); }, function() { $('#lowveld-legogote').removeClass("active"); }); $('.svg-map #btn-kruger-national-park').hover(function() { $('#kruger-national-park').addClass("active"); }, function() { $('#kruger-national-park').removeClass("active"); }); $('.svg-map #btn-the-panorama').hover(function() { $('#the-panorama').addClass("active"); }, function() { $('#the-panorama').removeClass("active"); }); $('.svg-map #btn-highlands-meander').hover(function() { $('#highlands-meander').addClass("active"); }, function() { $('#highlands-meander').removeClass("active"); }); $('.svg-map #btn-wild-frontier').hover(function() { $('#wild-frontier').addClass("active"); }, function() { $('#wild-frontier').removeClass("active"); }); $('.svg-map #btn-cultural-heartland').hover(function() { $('#cultural-heartland').addClass("active"); }, function() { $('#cultural-heartland').removeClass("active"); }); $('.svg-map #btn-grass-wetlands').hover(function() { $('#grass-wetlands').addClass("active"); }, function() { $('#grass-wetlands').removeClass("active"); }); $('.svg-map #btn-cosmos-country').hover(function() { $('#cosmos-country').addClass("active"); }, function() { $('#cosmos-country').removeClass("active"); }); $('#lowveld-legogote').hover(function() { $('.svg-map #btn-lowveld-legogote').addClass("active"); }, function() { $('.svg-map #btn-lowveld-legogote').removeClass("active"); }); $('#kruger-national-park').hover(function() { $('.svg-map #btn-kruger-national-park').addClass("active"); }, function() { $('.svg-map #btn-kruger-national-park').removeClass("active"); }); $('#the-panorama').hover(function() { $('.svg-map #btn-the-panorama').addClass("active"); }, function() { $('.svg-map #btn-the-panorama').removeClass("active"); }); $('#highlands-meander').hover(function() { $('.svg-map #btn-highlands-meander').addClass("active"); }, function() { $('.svg-map #btn-highlands-meander').removeClass("active"); }); $('#wild-frontier').hover(function() { $('.svg-map #btn-wild-frontier').addClass("active"); }, function() { $('.svg-map #btn-wild-frontier').removeClass("active"); }); $('#cultural-heartland').hover(function() { $('.svg-map #btn-cultural-heartland').addClass("active"); }, function() { $('.svg-map #btn-cultural-heartland').removeClass("active"); }); $('#grass-wetlands').hover(function() { $('.svg-map #btn-grass-wetlands').addClass("active"); }, function() { $('.svg-map #btn-grass-wetlands').removeClass("active"); }); $('#cosmos-country').hover(function() { $('.svg-map #btn-cosmos-country').addClass("active"); }, function() { $('.svg-map #btn-cosmos-country').removeClass("active"); }); }); });