{"version":3,"sources":["../templates/assets/scripts/plugins/cssua.js","../templates/assets/scripts/plugins/dotdotdot.js","../templates/assets/scripts/plugins/dynamicFilter.js","../templates/assets/scripts/plugins/matchheight.js","../templates/assets/scripts/plugins/slick.min.js","../templates/assets/scripts/plugins/wow.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5iBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"plugins.js","sourcesContent":["/**\n * CssUserAgent (cssua.js) v2.1.31\n * http://cssuseragent.org\n *\n * Copyright (c)2006-2015 Stephen M. McKamey.\n * Licensed under The MIT License.\n */\nvar cssua=function(n,l,p){var q=/\\s*([\\-\\w ]+)[\\s\\/\\:]([\\d_]+\\b(?:[\\-\\._\\/]\\w+)*)/,r=/([\\w\\-\\.]+[\\s\\/][v]?[\\d_]+\\b(?:[\\-\\._\\/]\\w+)*)/g,s=/\\b(?:(blackberry\\w*|bb10)|(rim tablet os))(?:\\/(\\d+\\.\\d+(?:\\.\\w+)*))?/,t=/\\bsilk-accelerated=true\\b/,u=/\\bfluidapp\\b/,v=/(\\bwindows\\b|\\bmacintosh\\b|\\blinux\\b|\\bunix\\b)/,w=/(\\bandroid\\b|\\bipad\\b|\\bipod\\b|\\bwindows phone\\b|\\bwpdesktop\\b|\\bxblwp7\\b|\\bzunewp7\\b|\\bwindows ce\\b|\\bblackberry\\w*|\\bbb10\\b|\\brim tablet os\\b|\\bmeego|\\bwebos\\b|\\bpalm|\\bsymbian|\\bj2me\\b|\\bdocomo\\b|\\bpda\\b|\\bchtml\\b|\\bmidp\\b|\\bcldc\\b|\\w*?mobile\\w*?|\\w*?phone\\w*?)/,\n  x=/(\\bxbox\\b|\\bplaystation\\b|\\bnintendo\\s+\\w+)/,k={parse:function(b,d){var a={};d&&(a.standalone=d);b=(\"\"+b).toLowerCase();if(!b)return a;for(var c,e,g=b.split(/[()]/),f=0,k=g.length;f<k;f++)if(f%2){var m=g[f].split(\";\");c=0;for(e=m.length;c<e;c++)if(q.exec(m[c])){var h=RegExp.$1.split(\" \").join(\"_\"),l=RegExp.$2;if(!a[h]||parseFloat(a[h])<parseFloat(l))a[h]=l}}else if(m=g[f].match(r))for(c=0,e=m.length;c<e;c++)h=m[c].split(/[\\/\\s]+/),h.length&&\"mozilla\"!==h[0]&&(a[h[0].split(\" \").join(\"_\")]=h.slice(1).join(\"-\"));\n      w.exec(b)?(a.mobile=RegExp.$1,s.exec(b)&&(delete a[a.mobile],a.blackberry=a.version||RegExp.$3||RegExp.$2||RegExp.$1,RegExp.$1?a.mobile=\"blackberry\":\"0.0.1\"===a.version&&(a.blackberry=\"7.1.0.0\"))):x.exec(b)?(a.game=RegExp.$1,c=a.game.split(\" \").join(\"_\"),a.version&&!a[c]&&(a[c]=a.version)):v.exec(b)&&(a.desktop=RegExp.$1);a.intel_mac_os_x?(a.mac_os_x=a.intel_mac_os_x.split(\"_\").join(\".\"),delete a.intel_mac_os_x):a.cpu_iphone_os?(a.ios=a.cpu_iphone_os.split(\"_\").join(\".\"),delete a.cpu_iphone_os):a.cpu_os?\n        (a.ios=a.cpu_os.split(\"_\").join(\".\"),delete a.cpu_os):\"iphone\"!==a.mobile||a.ios||(a.ios=\"1\");a.opera&&a.version?(a.opera=a.version,delete a.blackberry):t.exec(b)?a.silk_accelerated=!0:u.exec(b)&&(a.fluidapp=a.version);a.edge&&(delete a.applewebkit,delete a.safari,delete a.chrome,delete a.android);if(a.applewebkit)a.webkit=a.applewebkit,delete a.applewebkit,a.opr&&(a.opera=a.opr,delete a.opr,delete a.chrome),a.safari&&(a.chrome||a.crios||a.fxios||a.opera||a.silk||a.fluidapp||a.phantomjs||a.mobile&&\n      !a.ios?(delete a.safari,a.vivaldi&&delete a.chrome):a.safari=a.version&&!a.rim_tablet_os?a.version:{419:\"2.0.4\",417:\"2.0.3\",416:\"2.0.2\",412:\"2.0\",312:\"1.3\",125:\"1.2\",85:\"1.0\"}[parseInt(a.safari,10)]||a.safari);else if(a.msie||a.trident)if(a.opera||(a.ie=a.msie||a.rv),delete a.msie,delete a.android,a.windows_phone_os)a.windows_phone=a.windows_phone_os,delete a.windows_phone_os;else{if(\"wpdesktop\"===a.mobile||\"xblwp7\"===a.mobile||\"zunewp7\"===a.mobile)a.mobile=\"windows desktop\",a.windows_phone=9>+a.ie?\n        \"7.0\":10>+a.ie?\"7.5\":\"8.0\",delete a.windows_nt}else if(a.gecko||a.firefox)a.gecko=a.rv;a.rv&&delete a.rv;a.version&&delete a.version;return a},format:function(b){var d=\"\",a;for(a in b)if(a&&b.hasOwnProperty(a)){var c=a,e=b[a],c=c.split(\".\").join(\"-\"),g=\" ua-\"+c;if(\"string\"===typeof e){for(var e=e.split(\" \").join(\"_\").split(\".\").join(\"-\"),f=e.indexOf(\"-\");0<f;)g+=\" ua-\"+c+\"-\"+e.substring(0,f),f=e.indexOf(\"-\",f+1);g+=\" ua-\"+c+\"-\"+e}d+=g}return d},encode:function(b){var d=\"\",a;for(a in b)a&&b.hasOwnProperty(a)&&\n    (d&&(d+=\"\\x26\"),d+=encodeURIComponent(a)+\"\\x3d\"+encodeURIComponent(b[a]));return d}};k.userAgent=k.ua=k.parse(l,p);l=k.format(k.ua)+\" js\";n.className=n.className?n.className.replace(/\\bno-js\\b/g,\"\")+l:l.substr(1);return k}(document.documentElement,navigator.userAgent,navigator.standalone);\n","/*!\n *\tdotdotdot JS 4.1.0\n *\n *\tdotdotdot.frebsite.nl\n *\n *\tCopyright (c) Fred Heusschen\n *\twww.frebsite.nl\n *\n *\tLicense: CC-BY-NC-4.0\n *\thttp://creativecommons.org/licenses/by-nc/4.0/\n */\nvar Dotdotdot=function(){function t(e,i){void 0===i&&(i=t.options);var n=this;for(var o in this.container=e,this.options=i||{},this.watchTimeout=null,this.watchInterval=null,this.resizeEvent=null,t.options)t.options.hasOwnProperty(o)&&void 0===this.options[o]&&(this.options[o]=t.options[o]);var r=this.container.dotdotdot;r&&r.destroy(),this.API={},[\"truncate\",\"restore\",\"destroy\",\"watch\",\"unwatch\"].forEach(function(t){n.API[t]=function(){return n[t].call(n)}}),this.container.dotdotdot=this.API,this.originalStyle=this.container.getAttribute(\"style\")||\"\",this.originalContent=this._getOriginalContent(),this.ellipsis=document.createTextNode(this.options.ellipsis);var s=window.getComputedStyle(this.container);\"break-word\"!==s[\"word-wrap\"]&&(this.container.style[\"word-wrap\"]=\"break-word\"),\"pre\"===s[\"white-space\"]?this.container.style[\"white-space\"]=\"pre-wrap\":\"nowrap\"===s[\"white-space\"]&&(this.container.style[\"white-space\"]=\"normal\"),null===this.options.height&&(this.options.height=this._getMaxHeight()),this.truncate(),this.options.watch&&this.watch()}return t.prototype.restore=function(){var t=this;this.unwatch(),this.container.setAttribute(\"style\",this.originalStyle),this.container.classList.remove(\"ddd-truncated\"),this.container.innerHTML=\"\",this.originalContent.forEach(function(e){t.container.append(e)})},t.prototype.destroy=function(){this.restore(),this.container.dotdotdot=null},t.prototype.watch=function(){var t=this;this.unwatch();var e={width:null,height:null},i=function(i,n,o){if(t.container.offsetWidth||t.container.offsetHeight||t.container.getClientRects().length){var r={width:i[n],height:i[o]};return e.width==r.width&&e.height==r.height||t.truncate(),r}return e};\"window\"===this.options.watch?(this.resizeEvent=function(n){t.watchTimeout&&clearTimeout(t.watchTimeout),t.watchTimeout=setTimeout(function(){e=i(window,\"innerWidth\",\"innerHeight\")},100)},window.addEventListener(\"resize\",this.resizeEvent)):this.watchInterval=setInterval(function(){e=i(t.container,\"clientWidth\",\"clientHeight\")},1e3)},t.prototype.unwatch=function(){this.resizeEvent&&(window.removeEventListener(\"resize\",this.resizeEvent),this.resizeEvent=null),this.watchInterval&&clearInterval(this.watchInterval),this.watchTimeout&&clearTimeout(this.watchTimeout)},t.prototype.truncate=function(){var t=this,e=!1;return this.container.innerHTML=\"\",this.originalContent.forEach(function(e){t.container.append(e.cloneNode(!0))}),this.maxHeight=this._getMaxHeight(),this._fits()||(e=!0,this._truncateToNode(this.container)),this.container.classList[e?\"add\":\"remove\"](\"ddd-truncated\"),this.options.callback.call(this.container,e),e},t.prototype._truncateToNode=function(e){var i=[],n=[];if(t.$.contents(e).forEach(function(t){if(1!=t.nodeType||!t.matches(\".ddd-keep\")){var e=document.createComment(\"\");t.replaceWith(e),n.push(t),i.push(e)}}),n.length){for(var o=0;o<n.length;o++){i[o].replaceWith(n[o]);var r=this.ellipsis.cloneNode(!0);switch(n[o].nodeType){case 1:n[o].append(r);break;case 3:n[o].after(r)}var s=this._fits();if(r.parentElement.removeChild(r),!s){if(\"node\"==this.options.truncate&&o>1)return void n[o-2].remove();break}}for(var a=o;a<i.length;a++)i[a].remove();var h=n[Math.max(0,Math.min(o,n.length-1))];if(1==h.nodeType){var c=document.createElement(h.nodeName);c.append(this.ellipsis),h.replaceWith(c),this._fits()?c.replaceWith(h):(c.remove(),h=n[Math.max(0,o-1)])}1==h.nodeType?this._truncateToNode(h):this._truncateToWord(h)}},t.prototype._truncateToWord=function(t){for(var e=t.textContent,i=-1!==e.indexOf(\" \")?\" \":\" \",n=e.split(i),o=n.length;o>=0;o--)if(t.textContent=this._addEllipsis(n.slice(0,o).join(i)),this._fits()){\"letter\"==this.options.truncate&&(t.textContent=n.slice(0,o+1).join(i),this._truncateToLetter(t));break}},t.prototype._truncateToLetter=function(t){for(var e=t.textContent.split(\"\"),i=\"\",n=e.length;n>=0&&(!(i=e.slice(0,n).join(\"\")).length||(t.textContent=this._addEllipsis(i),!this._fits()));n--);},t.prototype._fits=function(){return this.container.scrollHeight<=this.maxHeight+this.options.tolerance},t.prototype._addEllipsis=function(t){for(var e=[\" \",\" \",\",\",\";\",\".\",\"!\",\"?\"];e.indexOf(t.slice(-1))>-1;)t=t.slice(0,-1);return t+=this.ellipsis.textContent},t.prototype._getOriginalContent=function(){var e=\"script, style\";this.options.keep&&(e+=\", \"+this.options.keep),t.$.find(e,this.container).forEach(function(t){t.classList.add(\"ddd-keep\")});var i=\"div, section, article, header, footer, p, h1, h2, h3, h4, h5, h6, table, td, td, dt, dd, li\";[this.container].concat(t.$.find(\"*\",this.container)).forEach(function(e){e.normalize(),t.$.contents(e).forEach(function(t){8==t.nodeType&&e.removeChild(t)}),t.$.contents(e).forEach(function(t){if(3==t.nodeType&&\"\"==t.textContent.trim()){var n=t.previousSibling,o=t.nextSibling;(t.parentElement.matches(\"table, thead, tbody, tfoot, tr, dl, ul, ol, video\")||!n||1==n.nodeType&&n.matches(i)||!o||1==o.nodeType&&o.matches(i))&&e.removeChild(t)}})});var n=[];return t.$.contents(this.container).forEach(function(t){n.push(t.cloneNode(!0))}),n},t.prototype._getMaxHeight=function(){if(\"number\"==typeof this.options.height)return this.options.height;for(var t=window.getComputedStyle(this.container),e=[\"maxHeight\",\"height\"],i=0,n=0;n<e.length;n++){if(\"px\"==(o=t[e[n]]).slice(-2)){i=parseFloat(o);break}}if(\"border-box\"==t.boxSizing){e=[\"borderTopWidth\",\"borderBottomWidth\",\"paddingTop\",\"paddingBottom\"];for(n=0;n<e.length;n++){var o;\"px\"==(o=t[e[n]]).slice(-2)&&(i-=parseFloat(o))}}return Math.max(i,0)},t.version=\"4.1.0\",t.options={ellipsis:\"… \",callback:function(t){},truncate:\"word\",tolerance:0,keep:null,watch:\"window\",height:null},t.$={find:function(t,e){return e=e||document,Array.prototype.slice.call(e.querySelectorAll(t))},contents:function(t){return t=t||document,Array.prototype.slice.call(t.childNodes)}},t}();!function(t){void 0!==t&&(t.fn.dotdotdot=function(t){return this.each(function(e,i){var n=new Dotdotdot(i,t);i.dotdotdot=n.API})})}(window.Zepto||window.jQuery);","// // function for dynamic sorting\n// function compareValues(key, order='asc') {\n//     return function(a, b) {\n//         if(!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) {\n//             // property doesn't exist on either object\n//             return 0;\n//         }\n//         var varA = (typeof a[key] === 'string') ?\n//             a[key].toUpperCase() : a[key];\n//         var varB = (typeof b[key] === 'string') ?\n//             b[key].toUpperCase() : b[key];\n//\n//         var comparison = 0;\n//         if (varA > varB) {\n//             comparison = 1;\n//         } else if (varA < varB) {\n//             comparison = -1;\n//         }\n//\n//         // Return asc or desc order based on it\n//         return (\n//             (order == 'desc') ? (comparison * -1) : comparison\n//         );\n//     };\n// }\n//\n// var FilterShow = (function () {\n//     function FilterShow(el, url) {\n//         var newsJson = new Array();\n//         var newfilterJson = new Array();\n//         this.el = el;\n//         this.url = url;\n//         this.init();\n//     }\n//\n//     FilterShow.prototype.init = function () {\n//         this.loadmore = 12;\n//         this.intialstate = 0;\n//         this.categoryText = 'All';\n//         this.yearText = 'All';\n//         this.dropText = 'ASC';\n//         this.counter = 0;\n//         this.method();\n//         this.categoryClick();\n//         this.yearClick();\n//         this.ArrangeOrder();\n//         this.loadMore();\n//     }\n//\n//     FilterShow.prototype.method = function () {\n//         var _self = this;\n//         var promise = fetch(_self.url);\n//         promise.then(function (response) {\n//             return response.json();\n//         }).then(function (data) {\n//             newsJson = data;\n//             newfilterJson = newsJson;\n//             _self.repeatMethod(newsJson);\n//             return newsJson;\n//         }).catch(function (error) {\n//             console.log(\"Json not loaded:\" + error);\n//         });\n//     };\n//\n//     FilterShow.prototype.repeatMethod = function (data) {\n//         var _self = this;\n//         if (data.length === 0) {\n//             return jQuery(_self.el).find('.card-outer').append('<div class=\"no-item\"><h4>No item found</h4></div>')\n//         }\n//         data.slice(_self.intialstate, _self.loadmore).map(function (item, i) {\n//             jQuery(\".filter-search\").find('.card-outer').append('' +\n//                 '<div class=\"col-sm-6 col-md-6 col-lg-4 card-wrapper wow fadeIn news '+item.class+'\" data-wow-delay=\"' + (i + 3) / 10 + 's\">' +\n//                 '<a href=\"' + item.link + '\">' +\n//                 '<div class=\"card card-content\">' +\n//                 '<div class=\"card-img-top img-wrapper\">' +\n//                 '<img src=\"' + item.image + '\" alt=\"' + item.alt + '\">' +\n//                 '</div>' +\n//                 '<div class=\"card-body text-content\">' +\n//                 '<span class=\"card-subtitle\">' + item.date + '</span>' +\n//                 '<h5 class=\"card-title\">' + item.title + '</h5>' +\n//                 '<p class=\"card-text\">' + item.content + '</p>' +\n//                 // '<p class=\"card-text\">' + item.content + '</p>' +\n//                 '</div>' +\n//                 '</div>' +\n//                 '</a>' +\n//                 '</div>')\n//         });\n//     }\n//\n//     FilterShow.prototype.categoryClick = function () {\n//         var _self = this;\n//         $(_self.el).find('.filter-nav .filter-inner .category > li').on('click', function () {\n//             $(this).parent().children().removeClass('active');\n//             $(this).addClass('active');\n//             _self.categoryText = $(this).text();\n//             _self.filterElement();\n//         });\n//     }\n//\n//     FilterShow.prototype.yearClick = function () {\n//         var _self = this;\n//         $(_self.el).find('.filter-nav .filter-inner .years > li').on('click', function () {\n//             $(this).parent().children().removeClass('active');\n//             $(this).addClass('active');\n//             _self.yearText = $(this).text();\n//             _self.filterElement();\n//         });\n//\n//     }\n//\n//     FilterShow.prototype.ArrangeOrder = function () {\n//         var _self = this;\n//         $(_self.el).find('.filter-nav .sort-div > ul > li > ul > li').on('click', function () {\n//             _self.dropText = $(this).text();\n//             this.newText = $(this).parents('.sort-div').find('span').text();\n//             $(this).parents('.sort-div').find('span').text(_self.dropText);\n//             $(this).parent().children().removeClass('drop-active');\n//             $(this).addClass('drop-active');\n//             if(this.newText === _self.dropText)\n//                 return false;\n//             _self.filterElement();\n//         });\n//     };\n//\n//     FilterShow.prototype.loadMore = function () {\n//         var _self = this;\n//\n//         $('body .filter-search .load-more').on('click', function (e) {\n//             e.preventDefault();\n//             _self.intialstate = _self.loadmore;\n//             _self.loadmore += 12;\n//             _self.repeatMethod(newfilterJson);\n//             _self.loadMoreHide(_self.loadmore);\n//         });\n//     }\n//\n//     FilterShow.prototype.loadMoreHide = function (loadmore) {\n//         var _self = this;\n//         if (loadmore > (newfilterJson.length - 1)) {\n//             $('body .filter-search .load-more').css('display', 'none');\n//         }\n//         else {\n//             $('body .filter-search .load-more').css('display', '');\n//         }\n//     }\n//\n//     FilterShow.prototype.beforeInit = function () {\n//         var _self = this;\n//         _self.loadmore = 12;\n//         _self.intialstate = 0;\n//         newfilterJson = [];\n//     }\n//\n//     FilterShow.prototype.afterInit = function () {\n//         var _self = this;\n//         if (_self.dropText === 'Descending') {\n//             newfilterJson.sort(compareValues('date', 'desc'));\n//             _self.counter = 1;\n//         }\n//         else if (_self.dropText === 'Ascending') {\n//             newfilterJson.sort(compareValues('date', 'asc'));\n//             _self.counter = 0;\n//         }\n//         jQuery('.filter-search .card-outer > div').remove();\n//         _self.repeatMethod(newfilterJson);\n//         _self.loadMoreHide(_self.loadmore);\n//     }\n//\n//     FilterShow.prototype.filterElement = function () {\n//         var _self = this;\n//         _self.beforeInit();\n//         newsJson.filter(function (item) {\n//             var arr = item.date.split(',');\n//             if (_self.categoryText === 'All' && _self.yearText === 'All') {\n//                 newfilterJson = this.newsJson;\n//                 return newfilterJson;\n//             }\n//             else if ((item.category === _self.categoryText) && _self.yearText === 'All') {\n//                 newfilterJson.push(item);\n//             }\n//             else if ((parseInt(arr[1]) == _self.yearText) && _self.categoryText === 'All') {\n//                 newfilterJson.push(item);\n//             }\n//             else if ((item.category === _self.categoryText) && (parseInt(arr[1]) == _self.yearText)) {\n//                 newfilterJson.push(item);\n//             }\n//         });\n//         _self.afterInit();\n//     }\n//\n//     return FilterShow;\n// }());\n//\n// (function ($) {\n//     $.fn.scriptFilters = function (options) {\n//         // Default options\n//         return this.each(function () {\n//             var settings = $.extend({\n//                 url: ''\n//             }, options);\n//             var item = new FilterShow(this, settings.url);\n//         });\n//     }\n// })(jQuery);\n//\n","/**\n * jquery-match-height master by @liabru\n * http://brm.io/jquery-match-height/\n * License: MIT\n */\n\n;(function (factory) { // eslint-disable-line no-extra-semi\n\t'use strict';\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD\n\t\tdefine(['bower_components/jquery/jquery'], factory);\n\t}\n\telse if (typeof module !== 'undefined' && module.exports) {\n\t\t// CommonJS\n\t\tmodule.exports = factory(require('bower_components/jquery/jquery'));\n\t}\n\telse {\n\t\t// Global\n\t\tfactory(jQuery);\n\t}\n})(function ($) {\n\t/*\n\t*\tinternal\n\t*/\n\n\tvar _previousResizeWidth = -1,\n\t\t\t_updateTimeout = -1;\n\n\t/*\n\t*\t_parse\n\t*\tvalue parse utility function\n\t*/\n\n\tvar _parse = function (value) {\n\t\t// parse value and convert NaN to 0\n\t\treturn parseFloat(value) || 0;\n\t};\n\n\t/*\n\t*\t_rows\n\t*\tutility function returns array of jQuery selections representing each row\n\t*\t(as displayed after float wrapping applied by browser)\n\t*/\n\n\tvar _rows = function (elements) {\n\t\tvar tolerance = 1,\n\t\t\t\t$elements = $(elements),\n\t\t\t\tlastTop = null,\n\t\t\t\trows = [];\n\n\t\t// group elements by their top position\n\t\t$elements.each(function () {\n\t\t\tvar $that = $(this),\n\t\t\t\t\ttop = $that.offset().top - _parse($that.css('margin-top')),\n\t\t\t\t\tlastRow = rows.length > 0 ? rows[rows.length - 1] : null;\n\n\t\t\tif (lastRow === null) {\n\t\t\t\t// first item on the row, so just push it\n\t\t\t\trows.push($that);\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// if the row top is the same, add to the row group\n\t\t\t\tif (Math.floor(Math.abs(lastTop - top)) <= tolerance) {\n\t\t\t\t\trows[rows.length - 1] = lastRow.add($that);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// otherwise start a new row group\n\t\t\t\t\trows.push($that);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// keep track of the last row top\n\t\t\tlastTop = top;\n\t\t});\n\n\t\treturn rows;\n\t};\n\n\t/*\n\t*\t_parseOptions\n\t*\thandle plugin options\n\t*/\n\n\tvar _parseOptions = function (options) {\n\t\tvar opts = {\n\t\t\tbyRow: true,\n\t\t\tproperty: 'height',\n\t\t\ttarget: null,\n\t\t\tremove: false\n\t\t};\n\n\t\tif (typeof options === 'object') {\n\t\t\treturn $.extend(opts, options);\n\t\t}\n\n\t\tif (typeof options === 'boolean') {\n\t\t\topts.byRow = options;\n\t\t}\n\t\telse if (options === 'remove') {\n\t\t\topts.remove = true;\n\t\t}\n\n\t\treturn opts;\n\t};\n\n\t/*\n\t*\tmatchHeight\n\t*\tplugin definition\n\t*/\n\n\tvar matchHeight = $.fn.matchHeight = function (options) {\n\t\tvar opts = _parseOptions(options);\n\n\t\t// handle remove\n\t\tif (opts.remove) {\n\t\t\tvar that = this;\n\n\t\t\t// remove fixed height from all selected elements\n\t\t\tthis.css(opts.property, '');\n\n\t\t\t// remove selected elements from all groups\n\t\t\t$.each(matchHeight._groups, function (key, group) {\n\t\t\t\tgroup.elements = group.elements.not(that);\n\t\t\t});\n\n\t\t\t// TODO: cleanup empty groups\n\n\t\t\treturn this;\n\t\t}\n\n\t\tif (this.length <= 1 && !opts.target) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// keep track of this group so we can re-apply later on load and resize\n\t\t// events\n\t\tmatchHeight._groups.push({\n\t\t\telements: this,\n\t\t\toptions: opts\n\t\t});\n\n\t\t// match each element's height to the tallest element in the selection\n\t\tmatchHeight._apply(this, opts);\n\n\t\treturn this;\n\t};\n\n\t/*\n\t*\tplugin global options\n\t*/\n\n\tmatchHeight.version = 'master';\n\tmatchHeight._groups = [];\n\tmatchHeight._throttle = 80;\n\tmatchHeight._maintainScroll = false;\n\tmatchHeight._beforeUpdate = null;\n\tmatchHeight._afterUpdate = null;\n\tmatchHeight._rows = _rows;\n\tmatchHeight._parse = _parse;\n\tmatchHeight._parseOptions = _parseOptions;\n\n\t/*\n\t*\tmatchHeight._apply\n\t*\tapply matchHeight to given elements\n\t*/\n\n\tmatchHeight._apply = function (elements, options) {\n\t\tvar opts = _parseOptions(options),\n\t\t\t\t$elements = $(elements),\n\t\t\t\trows = [$elements];\n\n\t\t// take note of scroll position\n\t\tvar scrollTop = $(window).scrollTop(),\n\t\t\t\thtmlHeight = $('html').outerHeight(true);\n\n\t\t// get hidden parents\n\t\tvar $hiddenParents = $elements.parents().filter(':hidden');\n\n\t\t// cache the original inline style\n\t\t$hiddenParents.each(function () {\n\t\t\tvar $that = $(this);\n\t\t\t$that.data('style-cache', $that.attr('style'));\n\t\t});\n\n\t\t// temporarily must force hidden parents visible\n\t\t$hiddenParents.css('display', 'block');\n\n\t\t// get rows if using byRow, otherwise assume one row\n\t\tif (opts.byRow && !opts.target) {\n\n\t\t\t// must first force an arbitrary equal height so floating elements break\n\t\t\t// evenly\n\t\t\t$elements.each(function () {\n\t\t\t\tvar $that = $(this),\n\t\t\t\t\t\tdisplay = $that.css('display');\n\n\t\t\t\t// temporarily force a usable display value\n\t\t\t\tif (display !== 'inline-block' && display !== 'flex' && display !== 'inline-flex') {\n\t\t\t\t\tdisplay = 'block';\n\t\t\t\t}\n\n\t\t\t\t// cache the original inline style\n\t\t\t\t$that.data('style-cache', $that.attr('style'));\n\n\t\t\t\t$that.css({\n\t\t\t\t\t'display': display,\n\t\t\t\t\t'padding-top': '0',\n\t\t\t\t\t'padding-bottom': '0',\n\t\t\t\t\t'margin-top': '0',\n\t\t\t\t\t'margin-bottom': '0',\n\t\t\t\t\t'border-top-width': '0',\n\t\t\t\t\t'border-bottom-width': '0',\n\t\t\t\t\t'height': '100px',\n\t\t\t\t\t'overflow': 'hidden'\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t// get the array of rows (based on element top position)\n\t\t\trows = _rows($elements);\n\n\t\t\t// revert original inline styles\n\t\t\t$elements.each(function () {\n\t\t\t\tvar $that = $(this);\n\t\t\t\t$that.attr('style', $that.data('style-cache') || '');\n\t\t\t});\n\t\t}\n\n\t\t$.each(rows, function (key, row) {\n\t\t\tvar $row = $(row),\n\t\t\t\t\ttargetHeight = 0;\n\n\t\t\tif (!opts.target) {\n\t\t\t\t// skip apply to rows with only one item\n\t\t\t\tif (opts.byRow && $row.length <= 1) {\n\t\t\t\t\t$row.css(opts.property, '');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// iterate the row and find the max height\n\t\t\t\t$row.each(function () {\n\t\t\t\t\tvar $that = $(this),\n\t\t\t\t\t\t\tstyle = $that.attr('style'),\n\t\t\t\t\t\t\tdisplay = $that.css('display');\n\n\t\t\t\t\t// temporarily force a usable display value\n\t\t\t\t\tif (display !== 'inline-block' && display !== 'flex' && display !== 'inline-flex') {\n\t\t\t\t\t\tdisplay = 'block';\n\t\t\t\t\t}\n\n\t\t\t\t\t// ensure we get the correct actual height (and not a previously set\n\t\t\t\t\t// height value)\n\t\t\t\t\tvar css = {'display': display};\n\t\t\t\t\tcss[opts.property] = '';\n\t\t\t\t\t$that.css(css);\n\n\t\t\t\t\t// find the max height (including padding, but not margin)\n\t\t\t\t\tif ($that.outerHeight(false) > targetHeight) {\n\t\t\t\t\t\ttargetHeight = $that.outerHeight(false);\n\t\t\t\t\t}\n\n\t\t\t\t\t// revert styles\n\t\t\t\t\tif (style) {\n\t\t\t\t\t\t$that.attr('style', style);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t$that.css('display', '');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// if target set, use the height of the target element\n\t\t\t\ttargetHeight = opts.target.outerHeight(false);\n\t\t\t}\n\n\t\t\t// iterate the row and apply the height to all elements\n\t\t\t$row.each(function () {\n\t\t\t\tvar $that = $(this),\n\t\t\t\t\t\tverticalPadding = 0;\n\n\t\t\t\t// don't apply to a target\n\t\t\t\tif (opts.target && $that.is(opts.target)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// handle padding and border correctly (required when not using\n\t\t\t\t// border-box)\n\t\t\t\tif ($that.css('box-sizing') !== 'border-box') {\n\t\t\t\t\tverticalPadding += _parse($that.css('border-top-width')) + _parse($that.css('border-bottom-width'));\n\t\t\t\t\tverticalPadding += _parse($that.css('padding-top')) + _parse($that.css('padding-bottom'));\n\t\t\t\t}\n\n\t\t\t\t// set the height (accounting for padding and border)\n\t\t\t\t$that.css(opts.property, (targetHeight - verticalPadding) + 'px');\n\t\t\t});\n\t\t});\n\n\t\t// revert hidden parents\n\t\t$hiddenParents.each(function () {\n\t\t\tvar $that = $(this);\n\t\t\t$that.attr('style', $that.data('style-cache') || null);\n\t\t});\n\n\t\t// restore scroll position if enabled\n\t\tif (matchHeight._maintainScroll) {\n\t\t\t$(window).scrollTop((scrollTop / htmlHeight) * $('html').outerHeight(true));\n\t\t}\n\n\t\treturn this;\n\t};\n\n\t/*\n\t*\tmatchHeight._applyDataApi\n\t*\tapplies matchHeight to all elements with a data-match-height attribute\n\t*/\n\n\tmatchHeight._applyDataApi = function () {\n\t\tvar groups = {};\n\n\t\t// generate groups by their groupId set by elements using data-match-height\n\t\t$('[data-match-height], [data-mh]').each(function () {\n\t\t\tvar $this = $(this),\n\t\t\t\t\tgroupId = $this.attr('data-mh') || $this.attr('data-match-height');\n\n\t\t\tif (groupId in groups) {\n\t\t\t\tgroups[groupId] = groups[groupId].add($this);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tgroups[groupId] = $this;\n\t\t\t}\n\t\t});\n\n\t\t// apply matchHeight to each group\n\t\t$.each(groups, function () {\n\t\t\tthis.matchHeight(true);\n\t\t});\n\t};\n\n\t/*\n\t*\tmatchHeight._update\n\t*\tupdates matchHeight on all current groups with their correct options\n\t*/\n\n\tvar _update = function (event) {\n\t\tif (matchHeight._beforeUpdate) {\n\t\t\tmatchHeight._beforeUpdate(event, matchHeight._groups);\n\t\t}\n\n\t\t$.each(matchHeight._groups, function () {\n\t\t\tmatchHeight._apply(this.elements, this.options);\n\t\t});\n\n\t\tif (matchHeight._afterUpdate) {\n\t\t\tmatchHeight._afterUpdate(event, matchHeight._groups);\n\t\t}\n\t};\n\n\tmatchHeight._update = function (throttle, event) {\n\t\t// prevent update if fired from a resize event\n\t\t// where the viewport width hasn't actually changed\n\t\t// fixes an event looping bug in IE8\n\t\tif (event && event.type === 'resize') {\n\t\t\tvar windowWidth = $(window).width();\n\t\t\tif (windowWidth === _previousResizeWidth) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t_previousResizeWidth = windowWidth;\n\t\t}\n\n\t\t// throttle updates\n\t\tif (!throttle) {\n\t\t\t_update(event);\n\t\t}\n\t\telse if (_updateTimeout === -1) {\n\t\t\t_updateTimeout = setTimeout(function () {\n\t\t\t\t_update(event);\n\t\t\t\t_updateTimeout = -1;\n\t\t\t}, matchHeight._throttle);\n\t\t}\n\t};\n\n\t/*\n\t*\tbind events\n\t*/\n\n\t// apply on DOM ready event\n\t$(matchHeight._applyDataApi);\n\n\t// use on or bind where supported\n\tvar on = $.fn.on ? 'on' : 'bind';\n\n\t// update heights on load and resize events\n\t$(window)[on]('load', function (event) {\n\t\tmatchHeight._update(false, event);\n\t});\n\n\t// throttled update heights on resize events\n\t$(window)[on]('resize orientationchange', function (event) {\n\t\tmatchHeight._update(true, event);\n\t});\n\n});\n","!function (i) {\n    \"use strict\";\n    \"function\" == typeof define && define.amd ? define([\"jquery\"], i) : \"undefined\" != typeof exports ? module.exports = i(require(\"jquery\")) : i(jQuery)\n}(function (i) {\n    \"use strict\";\n    var e = window.Slick || {};\n    (e = function () {\n        var e = 0;\n        return function (t, o) {\n            var s, n = this;\n            n.defaults = {\n                accessibility: !0,\n                adaptiveHeight: !1,\n                appendArrows: i(t),\n                appendDots: i(t),\n                arrows: !0,\n                asNavFor: null,\n                prevArrow: '<button class=\"slick-prev\" aria-label=\"Previous\" type=\"button\">Previous</button>',\n                nextArrow: '<button class=\"slick-next\" aria-label=\"Next\" type=\"button\">Next</button>',\n                autoplay: !1,\n                autoplaySpeed: 3e3,\n                centerMode: !1,\n                centerPadding: \"50px\",\n                cssEase: \"ease\",\n                customPaging: function (e, t) {\n                    return i('<button type=\"button\" />').text(t + 1)\n                },\n                dots: !1,\n                dotsClass: \"slick-dots\",\n                draggable: !0,\n                easing: \"linear\",\n                edgeFriction: .35,\n                fade: !1,\n                focusOnSelect: !1,\n                focusOnChange: !1,\n                infinite: !0,\n                initialSlide: 0,\n                lazyLoad: \"ondemand\",\n                mobileFirst: !1,\n                pauseOnHover: !0,\n                pauseOnFocus: !0,\n                pauseOnDotsHover: !1,\n                respondTo: \"window\",\n                responsive: null,\n                rows: 1,\n                rtl: !1,\n                slide: \"\",\n                slidesPerRow: 1,\n                slidesToShow: 1,\n                slidesToScroll: 1,\n                speed: 500,\n                swipe: !0,\n                swipeToSlide: !1,\n                touchMove: !0,\n                touchThreshold: 5,\n                useCSS: !0,\n                useTransform: !0,\n                variableWidth: !1,\n                vertical: !1,\n                verticalSwiping: !1,\n                waitForAnimate: !0,\n                zIndex: 1e3\n            }, n.initials = {\n                animating: !1,\n                dragging: !1,\n                autoPlayTimer: null,\n                currentDirection: 0,\n                currentLeft: null,\n                currentSlide: 0,\n                direction: 1,\n                $dots: null,\n                listWidth: null,\n                listHeight: null,\n                loadIndex: 0,\n                $nextArrow: null,\n                $prevArrow: null,\n                scrolling: !1,\n                slideCount: null,\n                slideWidth: null,\n                $slideTrack: null,\n                $slides: null,\n                sliding: !1,\n                slideOffset: 0,\n                swipeLeft: null,\n                swiping: !1,\n                $list: null,\n                touchObject: {},\n                transformsEnabled: !1,\n                unslicked: !1\n            }, i.extend(n, n.initials), n.activeBreakpoint = null, n.animType = null, n.animProp = null, n.breakpoints = [], n.breakpointSettings = [], n.cssTransitions = !1, n.focussed = !1, n.interrupted = !1, n.hidden = \"hidden\", n.paused = !0, n.positionProp = null, n.respondTo = null, n.rowCount = 1, n.shouldClick = !0, n.$slider = i(t), n.$slidesCache = null, n.transformType = null, n.transitionType = null, n.visibilityChange = \"visibilitychange\", n.windowWidth = 0, n.windowTimer = null, s = i(t).data(\"slick\") || {}, n.options = i.extend({}, n.defaults, o, s), n.currentSlide = n.options.initialSlide, n.originalSettings = n.options, void 0 !== document.mozHidden ? (n.hidden = \"mozHidden\", n.visibilityChange = \"mozvisibilitychange\") : void 0 !== document.webkitHidden && (n.hidden = \"webkitHidden\", n.visibilityChange = \"webkitvisibilitychange\"), n.autoPlay = i.proxy(n.autoPlay, n), n.autoPlayClear = i.proxy(n.autoPlayClear, n), n.autoPlayIterator = i.proxy(n.autoPlayIterator, n), n.changeSlide = i.proxy(n.changeSlide, n), n.clickHandler = i.proxy(n.clickHandler, n), n.selectHandler = i.proxy(n.selectHandler, n), n.setPosition = i.proxy(n.setPosition, n), n.swipeHandler = i.proxy(n.swipeHandler, n), n.dragHandler = i.proxy(n.dragHandler, n), n.keyHandler = i.proxy(n.keyHandler, n), n.instanceUid = e++, n.htmlExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*)$/, n.registerBreakpoints(), n.init(!0)\n        }\n    }()).prototype.activateADA = function () {\n        this.$slideTrack.find(\".slick-active\").attr({\"aria-hidden\": \"false\"}).find(\"a, input, button, select\").attr({tabindex: \"0\"})\n    }, e.prototype.addSlide = e.prototype.slickAdd = function (e, t, o) {\n        var s = this;\n        if (\"boolean\" == typeof t) o = t, t = null; else if (t < 0 || t >= s.slideCount) return !1;\n        s.unload(), \"number\" == typeof t ? 0 === t && 0 === s.$slides.length ? i(e).appendTo(s.$slideTrack) : o ? i(e).insertBefore(s.$slides.eq(t)) : i(e).insertAfter(s.$slides.eq(t)) : !0 === o ? i(e).prependTo(s.$slideTrack) : i(e).appendTo(s.$slideTrack), s.$slides = s.$slideTrack.children(this.options.slide), s.$slideTrack.children(this.options.slide).detach(), s.$slideTrack.append(s.$slides), s.$slides.each(function (e, t) {\n            i(t).attr(\"data-slick-index\", e)\n        }), s.$slidesCache = s.$slides, s.reinit()\n    }, e.prototype.animateHeight = function () {\n        var i = this;\n        if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {\n            var e = i.$slides.eq(i.currentSlide).outerHeight(!0);\n            i.$list.animate({height: e}, i.options.speed)\n        }\n    }, e.prototype.animateSlide = function (e, t) {\n        var o = {}, s = this;\n        s.animateHeight(), !0 === s.options.rtl && !1 === s.options.vertical && (e = -e), !1 === s.transformsEnabled ? !1 === s.options.vertical ? s.$slideTrack.animate({left: e}, s.options.speed, s.options.easing, t) : s.$slideTrack.animate({top: e}, s.options.speed, s.options.easing, t) : !1 === s.cssTransitions ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft), i({animStart: s.currentLeft}).animate({animStart: e}, {\n            duration: s.options.speed,\n            easing: s.options.easing,\n            step: function (i) {\n                i = Math.ceil(i), !1 === s.options.vertical ? (o[s.animType] = \"translate(\" + i + \"px, 0px)\", s.$slideTrack.css(o)) : (o[s.animType] = \"translate(0px,\" + i + \"px)\", s.$slideTrack.css(o))\n            },\n            complete: function () {\n                t && t.call()\n            }\n        })) : (s.applyTransition(), e = Math.ceil(e), !1 === s.options.vertical ? o[s.animType] = \"translate3d(\" + e + \"px, 0px, 0px)\" : o[s.animType] = \"translate3d(0px,\" + e + \"px, 0px)\", s.$slideTrack.css(o), t && setTimeout(function () {\n            s.disableTransition(), t.call()\n        }, s.options.speed))\n    }, e.prototype.getNavTarget = function () {\n        var e = this, t = e.options.asNavFor;\n        return t && null !== t && (t = i(t).not(e.$slider)), t\n    }, e.prototype.asNavFor = function (e) {\n        var t = this.getNavTarget();\n        null !== t && \"object\" == typeof t && t.each(function () {\n            var t = i(this).slick(\"getSlick\");\n            t.unslicked || t.slideHandler(e, !0)\n        })\n    }, e.prototype.applyTransition = function (i) {\n        var e = this, t = {};\n        !1 === e.options.fade ? t[e.transitionType] = e.transformType + \" \" + e.options.speed + \"ms \" + e.options.cssEase : t[e.transitionType] = \"opacity \" + e.options.speed + \"ms \" + e.options.cssEase, !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t)\n    }, e.prototype.autoPlay = function () {\n        var i = this;\n        i.autoPlayClear(), i.slideCount > i.options.slidesToShow && (i.autoPlayTimer = setInterval(i.autoPlayIterator, i.options.autoplaySpeed))\n    }, e.prototype.autoPlayClear = function () {\n        var i = this;\n        i.autoPlayTimer && clearInterval(i.autoPlayTimer)\n    }, e.prototype.autoPlayIterator = function () {\n        var i = this, e = i.currentSlide + i.options.slidesToScroll;\n        i.paused || i.interrupted || i.focussed || (!1 === i.options.infinite && (1 === i.direction && i.currentSlide + 1 === i.slideCount - 1 ? i.direction = 0 : 0 === i.direction && (e = i.currentSlide - i.options.slidesToScroll, i.currentSlide - 1 == 0 && (i.direction = 1))), i.slideHandler(e))\n    }, e.prototype.buildArrows = function () {\n        var e = this;\n        !0 === e.options.arrows && (e.$prevArrow = i(e.options.prevArrow).addClass(\"slick-arrow\"), e.$nextArrow = i(e.options.nextArrow).addClass(\"slick-arrow\"), e.slideCount > e.options.slidesToShow ? (e.$prevArrow.removeClass(\"slick-hidden\").removeAttr(\"aria-hidden tabindex\"), e.$nextArrow.removeClass(\"slick-hidden\").removeAttr(\"aria-hidden tabindex\"), e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.prependTo(e.options.appendArrows), e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.appendTo(e.options.appendArrows), !0 !== e.options.infinite && e.$prevArrow.addClass(\"slick-disabled\").attr(\"aria-disabled\", \"true\")) : e.$prevArrow.add(e.$nextArrow).addClass(\"slick-hidden\").attr({\n            \"aria-disabled\": \"true\",\n            tabindex: \"-1\"\n        }))\n    }, e.prototype.buildDots = function () {\n        var e, t, o = this;\n        if (!0 === o.options.dots) {\n            for (o.$slider.addClass(\"slick-dotted\"), t = i(\"<ul />\").addClass(o.options.dotsClass), e = 0; e <= o.getDotCount(); e += 1) t.append(i(\"<li />\").append(o.options.customPaging.call(this, o, e)));\n            o.$dots = t.appendTo(o.options.appendDots), o.$dots.find(\"li\").first().addClass(\"slick-active\")\n        }\n    }, e.prototype.buildOut = function () {\n        var e = this;\n        e.$slides = e.$slider.children(e.options.slide + \":not(.slick-cloned)\").addClass(\"slick-slide\"), e.slideCount = e.$slides.length, e.$slides.each(function (e, t) {\n            i(t).attr(\"data-slick-index\", e).data(\"originalStyling\", i(t).attr(\"style\") || \"\")\n        }), e.$slider.addClass(\"slick-slider\"), e.$slideTrack = 0 === e.slideCount ? i('<div class=\"slick-track\"/>').appendTo(e.$slider) : e.$slides.wrapAll('<div class=\"slick-track\"/>').parent(), e.$list = e.$slideTrack.wrap('<div class=\"slick-list\"/>').parent(), e.$slideTrack.css(\"opacity\", 0), !0 !== e.options.centerMode && !0 !== e.options.swipeToSlide || (e.options.slidesToScroll = 1), i(\"img[data-lazy]\", e.$slider).not(\"[src]\").addClass(\"slick-loading\"), e.setupInfinite(), e.buildArrows(), e.buildDots(), e.updateDots(), e.setSlideClasses(\"number\" == typeof e.currentSlide ? e.currentSlide : 0), !0 === e.options.draggable && e.$list.addClass(\"draggable\")\n    }, e.prototype.buildRows = function () {\n        var i, e, t, o, s, n, r, l = this;\n        if (o = document.createDocumentFragment(), n = l.$slider.children(), l.options.rows > 1) {\n            for (r = l.options.slidesPerRow * l.options.rows, s = Math.ceil(n.length / r), i = 0; i < s; i++) {\n                var d = document.createElement(\"div\");\n                for (e = 0; e < l.options.rows; e++) {\n                    var a = document.createElement(\"div\");\n                    for (t = 0; t < l.options.slidesPerRow; t++) {\n                        var c = i * r + (e * l.options.slidesPerRow + t);\n                        n.get(c) && a.appendChild(n.get(c))\n                    }\n                    d.appendChild(a)\n                }\n                o.appendChild(d)\n            }\n            l.$slider.empty().append(o), l.$slider.children().children().children().css({\n                width: 100 / l.options.slidesPerRow + \"%\",\n                display: \"inline-block\"\n            })\n        }\n    }, e.prototype.checkResponsive = function (e, t) {\n        var o, s, n, r = this, l = !1, d = r.$slider.width(), a = window.innerWidth || i(window).width();\n        if (\"window\" === r.respondTo ? n = a : \"slider\" === r.respondTo ? n = d : \"min\" === r.respondTo && (n = Math.min(a, d)), r.options.responsive && r.options.responsive.length && null !== r.options.responsive) {\n            s = null;\n            for (o in r.breakpoints) r.breakpoints.hasOwnProperty(o) && (!1 === r.originalSettings.mobileFirst ? n < r.breakpoints[o] && (s = r.breakpoints[o]) : n > r.breakpoints[o] && (s = r.breakpoints[o]));\n            null !== s ? null !== r.activeBreakpoint ? (s !== r.activeBreakpoint || t) && (r.activeBreakpoint = s, \"unslick\" === r.breakpointSettings[s] ? r.unslick(s) : (r.options = i.extend({}, r.originalSettings, r.breakpointSettings[s]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), l = s) : (r.activeBreakpoint = s, \"unslick\" === r.breakpointSettings[s] ? r.unslick(s) : (r.options = i.extend({}, r.originalSettings, r.breakpointSettings[s]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), l = s) : null !== r.activeBreakpoint && (r.activeBreakpoint = null, r.options = r.originalSettings, !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e), l = s), e || !1 === l || r.$slider.trigger(\"breakpoint\", [r, l])\n        }\n    }, e.prototype.changeSlide = function (e, t) {\n        var o, s, n, r = this, l = i(e.currentTarget);\n        switch (l.is(\"a\") && e.preventDefault(), l.is(\"li\") || (l = l.closest(\"li\")), n = r.slideCount % r.options.slidesToScroll != 0, o = n ? 0 : (r.slideCount - r.currentSlide) % r.options.slidesToScroll, e.data.message) {\n            case\"previous\":\n                s = 0 === o ? r.options.slidesToScroll : r.options.slidesToShow - o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide - s, !1, t);\n                break;\n            case\"next\":\n                s = 0 === o ? r.options.slidesToScroll : o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide + s, !1, t);\n                break;\n            case\"index\":\n                var d = 0 === e.data.index ? 0 : e.data.index || l.index() * r.options.slidesToScroll;\n                r.slideHandler(r.checkNavigable(d), !1, t), l.children().trigger(\"focus\");\n                break;\n            default:\n                return\n        }\n    }, e.prototype.checkNavigable = function (i) {\n        var e, t;\n        if (e = this.getNavigableIndexes(), t = 0, i > e[e.length - 1]) i = e[e.length - 1]; else for (var o in e) {\n            if (i < e[o]) {\n                i = t;\n                break\n            }\n            t = e[o]\n        }\n        return i\n    }, e.prototype.cleanUpEvents = function () {\n        var e = this;\n        e.options.dots && null !== e.$dots && (i(\"li\", e.$dots).off(\"click.slick\", e.changeSlide).off(\"mouseenter.slick\", i.proxy(e.interrupt, e, !0)).off(\"mouseleave.slick\", i.proxy(e.interrupt, e, !1)), !0 === e.options.accessibility && e.$dots.off(\"keydown.slick\", e.keyHandler)), e.$slider.off(\"focus.slick blur.slick\"), !0 === e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow && e.$prevArrow.off(\"click.slick\", e.changeSlide), e.$nextArrow && e.$nextArrow.off(\"click.slick\", e.changeSlide), !0 === e.options.accessibility && (e.$prevArrow && e.$prevArrow.off(\"keydown.slick\", e.keyHandler), e.$nextArrow && e.$nextArrow.off(\"keydown.slick\", e.keyHandler))), e.$list.off(\"touchstart.slick mousedown.slick\", e.swipeHandler), e.$list.off(\"touchmove.slick mousemove.slick\", e.swipeHandler), e.$list.off(\"touchend.slick mouseup.slick\", e.swipeHandler), e.$list.off(\"touchcancel.slick mouseleave.slick\", e.swipeHandler), e.$list.off(\"click.slick\", e.clickHandler), i(document).off(e.visibilityChange, e.visibility), e.cleanUpSlideEvents(), !0 === e.options.accessibility && e.$list.off(\"keydown.slick\", e.keyHandler), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().off(\"click.slick\", e.selectHandler), i(window).off(\"orientationchange.slick.slick-\" + e.instanceUid, e.orientationChange), i(window).off(\"resize.slick.slick-\" + e.instanceUid, e.resize), i(\"[draggable!=true]\", e.$slideTrack).off(\"dragstart\", e.preventDefault), i(window).off(\"load.slick.slick-\" + e.instanceUid, e.setPosition)\n    }, e.prototype.cleanUpSlideEvents = function () {\n        var e = this;\n        e.$list.off(\"mouseenter.slick\", i.proxy(e.interrupt, e, !0)), e.$list.off(\"mouseleave.slick\", i.proxy(e.interrupt, e, !1))\n    }, e.prototype.cleanUpRows = function () {\n        var i, e = this;\n        e.options.rows > 1 && ((i = e.$slides.children().children()).removeAttr(\"style\"), e.$slider.empty().append(i))\n    }, e.prototype.clickHandler = function (i) {\n        !1 === this.shouldClick && (i.stopImmediatePropagation(), i.stopPropagation(), i.preventDefault())\n    }, e.prototype.destroy = function (e) {\n        var t = this;\n        t.autoPlayClear(), t.touchObject = {}, t.cleanUpEvents(), i(\".slick-cloned\", t.$slider).detach(), t.$dots && t.$dots.remove(), t.$prevArrow && t.$prevArrow.length && (t.$prevArrow.removeClass(\"slick-disabled slick-arrow slick-hidden\").removeAttr(\"aria-hidden aria-disabled tabindex\").css(\"display\", \"\"), t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.remove()), t.$nextArrow && t.$nextArrow.length && (t.$nextArrow.removeClass(\"slick-disabled slick-arrow slick-hidden\").removeAttr(\"aria-hidden aria-disabled tabindex\").css(\"display\", \"\"), t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.remove()), t.$slides && (t.$slides.removeClass(\"slick-slide slick-active slick-center slick-visible slick-current\").removeAttr(\"aria-hidden\").removeAttr(\"data-slick-index\").each(function () {\n            i(this).attr(\"style\", i(this).data(\"originalStyling\"))\n        }), t.$slideTrack.children(this.options.slide).detach(), t.$slideTrack.detach(), t.$list.detach(), t.$slider.append(t.$slides)), t.cleanUpRows(), t.$slider.removeClass(\"slick-slider\"), t.$slider.removeClass(\"slick-initialized\"), t.$slider.removeClass(\"slick-dotted\"), t.unslicked = !0, e || t.$slider.trigger(\"destroy\", [t])\n    }, e.prototype.disableTransition = function (i) {\n        var e = this, t = {};\n        t[e.transitionType] = \"\", !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t)\n    }, e.prototype.fadeSlide = function (i, e) {\n        var t = this;\n        !1 === t.cssTransitions ? (t.$slides.eq(i).css({zIndex: t.options.zIndex}), t.$slides.eq(i).animate({opacity: 1}, t.options.speed, t.options.easing, e)) : (t.applyTransition(i), t.$slides.eq(i).css({\n            opacity: 1,\n            zIndex: t.options.zIndex\n        }), e && setTimeout(function () {\n            t.disableTransition(i), e.call()\n        }, t.options.speed))\n    }, e.prototype.fadeSlideOut = function (i) {\n        var e = this;\n        !1 === e.cssTransitions ? e.$slides.eq(i).animate({\n            opacity: 0,\n            zIndex: e.options.zIndex - 2\n        }, e.options.speed, e.options.easing) : (e.applyTransition(i), e.$slides.eq(i).css({\n            opacity: 0,\n            zIndex: e.options.zIndex - 2\n        }))\n    }, e.prototype.filterSlides = e.prototype.slickFilter = function (i) {\n        var e = this;\n        null !== i && (e.$slidesCache = e.$slides, e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(i).appendTo(e.$slideTrack), e.reinit())\n    }, e.prototype.focusHandler = function () {\n        var e = this;\n        e.$slider.off(\"focus.slick blur.slick\").on(\"focus.slick blur.slick\", \"*\", function (t) {\n            t.stopImmediatePropagation();\n            var o = i(this);\n            setTimeout(function () {\n                e.options.pauseOnFocus && (e.focussed = o.is(\":focus\"), e.autoPlay())\n            }, 0)\n        })\n    }, e.prototype.getCurrent = e.prototype.slickCurrentSlide = function () {\n        return this.currentSlide\n    }, e.prototype.getDotCount = function () {\n        var i = this, e = 0, t = 0, o = 0;\n        if (!0 === i.options.infinite) if (i.slideCount <= i.options.slidesToShow) ++o; else for (; e < i.slideCount;) ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow; else if (!0 === i.options.centerMode) o = i.slideCount; else if (i.options.asNavFor) for (; e < i.slideCount;) ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow; else o = 1 + Math.ceil((i.slideCount - i.options.slidesToShow) / i.options.slidesToScroll);\n        return o - 1\n    }, e.prototype.getLeft = function (i) {\n        var e, t, o, s, n = this, r = 0;\n        return n.slideOffset = 0, t = n.$slides.first().outerHeight(!0), !0 === n.options.infinite ? (n.slideCount > n.options.slidesToShow && (n.slideOffset = n.slideWidth * n.options.slidesToShow * -1, s = -1, !0 === n.options.vertical && !0 === n.options.centerMode && (2 === n.options.slidesToShow ? s = -1.5 : 1 === n.options.slidesToShow && (s = -2)), r = t * n.options.slidesToShow * s), n.slideCount % n.options.slidesToScroll != 0 && i + n.options.slidesToScroll > n.slideCount && n.slideCount > n.options.slidesToShow && (i > n.slideCount ? (n.slideOffset = (n.options.slidesToShow - (i - n.slideCount)) * n.slideWidth * -1, r = (n.options.slidesToShow - (i - n.slideCount)) * t * -1) : (n.slideOffset = n.slideCount % n.options.slidesToScroll * n.slideWidth * -1, r = n.slideCount % n.options.slidesToScroll * t * -1))) : i + n.options.slidesToShow > n.slideCount && (n.slideOffset = (i + n.options.slidesToShow - n.slideCount) * n.slideWidth, r = (i + n.options.slidesToShow - n.slideCount) * t), n.slideCount <= n.options.slidesToShow && (n.slideOffset = 0, r = 0), !0 === n.options.centerMode && n.slideCount <= n.options.slidesToShow ? n.slideOffset = n.slideWidth * Math.floor(n.options.slidesToShow) / 2 - n.slideWidth * n.slideCount / 2 : !0 === n.options.centerMode && !0 === n.options.infinite ? n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2) - n.slideWidth : !0 === n.options.centerMode && (n.slideOffset = 0, n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2)), e = !1 === n.options.vertical ? i * n.slideWidth * -1 + n.slideOffset : i * t * -1 + r, !0 === n.options.variableWidth && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(\".slick-slide\").eq(i) : n.$slideTrack.children(\".slick-slide\").eq(i + n.options.slidesToShow), e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0, !0 === n.options.centerMode && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(\".slick-slide\").eq(i) : n.$slideTrack.children(\".slick-slide\").eq(i + n.options.slidesToShow + 1), e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0, e += (n.$list.width() - o.outerWidth()) / 2)), e\n    }, e.prototype.getOption = e.prototype.slickGetOption = function (i) {\n        return this.options[i]\n    }, e.prototype.getNavigableIndexes = function () {\n        var i, e = this, t = 0, o = 0, s = [];\n        for (!1 === e.options.infinite ? i = e.slideCount : (t = -1 * e.options.slidesToScroll, o = -1 * e.options.slidesToScroll, i = 2 * e.slideCount); t < i;) s.push(t), t = o + e.options.slidesToScroll, o += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow;\n        return s\n    }, e.prototype.getSlick = function () {\n        return this\n    }, e.prototype.getSlideCount = function () {\n        var e, t, o = this;\n        return t = !0 === o.options.centerMode ? o.slideWidth * Math.floor(o.options.slidesToShow / 2) : 0, !0 === o.options.swipeToSlide ? (o.$slideTrack.find(\".slick-slide\").each(function (s, n) {\n            if (n.offsetLeft - t + i(n).outerWidth() / 2 > -1 * o.swipeLeft) return e = n, !1\n        }), Math.abs(i(e).attr(\"data-slick-index\") - o.currentSlide) || 1) : o.options.slidesToScroll\n    }, e.prototype.goTo = e.prototype.slickGoTo = function (i, e) {\n        this.changeSlide({data: {message: \"index\", index: parseInt(i)}}, e)\n    }, e.prototype.init = function (e) {\n        var t = this;\n        i(t.$slider).hasClass(\"slick-initialized\") || (i(t.$slider).addClass(\"slick-initialized\"), t.buildRows(), t.buildOut(), t.setProps(), t.startLoad(), t.loadSlider(), t.initializeEvents(), t.updateArrows(), t.updateDots(), t.checkResponsive(!0), t.focusHandler()), e && t.$slider.trigger(\"init\", [t]), !0 === t.options.accessibility && t.initADA(), t.options.autoplay && (t.paused = !1, t.autoPlay())\n    }, e.prototype.initADA = function () {\n        var e = this, t = Math.ceil(e.slideCount / e.options.slidesToShow),\n            o = e.getNavigableIndexes().filter(function (i) {\n                return i >= 0 && i < e.slideCount\n            });\n        e.$slides.add(e.$slideTrack.find(\".slick-cloned\")).attr({\n            \"aria-hidden\": \"true\",\n            tabindex: \"-1\"\n        }).find(\"a, input, button, select\").attr({tabindex: \"-1\"}), null !== e.$dots && (e.$slides.not(e.$slideTrack.find(\".slick-cloned\")).each(function (t) {\n            var s = o.indexOf(t);\n            i(this).attr({\n                role: \"tabpanel\",\n                id: \"slick-slide\" + e.instanceUid + t,\n                tabindex: -1\n            }), -1 !== s && i(this).attr({\"aria-describedby\": \"slick-slide-control\" + e.instanceUid + s})\n        }), e.$dots.attr(\"role\", \"tablist\").find(\"li\").each(function (s) {\n            var n = o[s];\n            i(this).attr({role: \"presentation\"}), i(this).find(\"button\").first().attr({\n                role: \"tab\",\n                id: \"slick-slide-control\" + e.instanceUid + s,\n                \"aria-controls\": \"slick-slide\" + e.instanceUid + n,\n                \"aria-label\": s + 1 + \" of \" + t,\n                \"aria-selected\": null,\n                tabindex: \"-1\"\n            })\n        }).eq(e.currentSlide).find(\"button\").attr({\"aria-selected\": \"true\", tabindex: \"0\"}).end());\n        for (var s = e.currentSlide, n = s + e.options.slidesToShow; s < n; s++) e.$slides.eq(s).attr(\"tabindex\", 0);\n        e.activateADA()\n    }, e.prototype.initArrowEvents = function () {\n        var i = this;\n        !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.off(\"click.slick\").on(\"click.slick\", {message: \"previous\"}, i.changeSlide), i.$nextArrow.off(\"click.slick\").on(\"click.slick\", {message: \"next\"}, i.changeSlide), !0 === i.options.accessibility && (i.$prevArrow.on(\"keydown.slick\", i.keyHandler), i.$nextArrow.on(\"keydown.slick\", i.keyHandler)))\n    }, e.prototype.initDotEvents = function () {\n        var e = this;\n        !0 === e.options.dots && (i(\"li\", e.$dots).on(\"click.slick\", {message: \"index\"}, e.changeSlide), !0 === e.options.accessibility && e.$dots.on(\"keydown.slick\", e.keyHandler)), !0 === e.options.dots && !0 === e.options.pauseOnDotsHover && i(\"li\", e.$dots).on(\"mouseenter.slick\", i.proxy(e.interrupt, e, !0)).on(\"mouseleave.slick\", i.proxy(e.interrupt, e, !1))\n    }, e.prototype.initSlideEvents = function () {\n        var e = this;\n        e.options.pauseOnHover && (e.$list.on(\"mouseenter.slick\", i.proxy(e.interrupt, e, !0)), e.$list.on(\"mouseleave.slick\", i.proxy(e.interrupt, e, !1)))\n    }, e.prototype.initializeEvents = function () {\n        var e = this;\n        e.initArrowEvents(), e.initDotEvents(), e.initSlideEvents(), e.$list.on(\"touchstart.slick mousedown.slick\", {action: \"start\"}, e.swipeHandler), e.$list.on(\"touchmove.slick mousemove.slick\", {action: \"move\"}, e.swipeHandler), e.$list.on(\"touchend.slick mouseup.slick\", {action: \"end\"}, e.swipeHandler), e.$list.on(\"touchcancel.slick mouseleave.slick\", {action: \"end\"}, e.swipeHandler), e.$list.on(\"click.slick\", e.clickHandler), i(document).on(e.visibilityChange, i.proxy(e.visibility, e)), !0 === e.options.accessibility && e.$list.on(\"keydown.slick\", e.keyHandler), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on(\"click.slick\", e.selectHandler), i(window).on(\"orientationchange.slick.slick-\" + e.instanceUid, i.proxy(e.orientationChange, e)), i(window).on(\"resize.slick.slick-\" + e.instanceUid, i.proxy(e.resize, e)), i(\"[draggable!=true]\", e.$slideTrack).on(\"dragstart\", e.preventDefault), i(window).on(\"load.slick.slick-\" + e.instanceUid, e.setPosition), i(e.setPosition)\n    }, e.prototype.initUI = function () {\n        var i = this;\n        !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.show(), i.$nextArrow.show()), !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.show()\n    }, e.prototype.keyHandler = function (i) {\n        var e = this;\n        i.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || (37 === i.keyCode && !0 === e.options.accessibility ? e.changeSlide({data: {message: !0 === e.options.rtl ? \"next\" : \"previous\"}}) : 39 === i.keyCode && !0 === e.options.accessibility && e.changeSlide({data: {message: !0 === e.options.rtl ? \"previous\" : \"next\"}}))\n    }, e.prototype.lazyLoad = function () {\n        function e(e) {\n            i(\"img[data-lazy]\", e).each(function () {\n                var e = i(this), t = i(this).attr(\"data-lazy\"), o = i(this).attr(\"data-srcset\"),\n                    s = i(this).attr(\"data-sizes\") || n.$slider.attr(\"data-sizes\"), r = document.createElement(\"img\");\n                r.onload = function () {\n                    e.animate({opacity: 0}, 100, function () {\n                        o && (e.attr(\"srcset\", o), s && e.attr(\"sizes\", s)), e.attr(\"src\", t).animate({opacity: 1}, 200, function () {\n                            e.removeAttr(\"data-lazy data-srcset data-sizes\").removeClass(\"slick-loading\")\n                        }), n.$slider.trigger(\"lazyLoaded\", [n, e, t])\n                    })\n                }, r.onerror = function () {\n                    e.removeAttr(\"data-lazy\").removeClass(\"slick-loading\").addClass(\"slick-lazyload-error\"), n.$slider.trigger(\"lazyLoadError\", [n, e, t])\n                }, r.src = t\n            })\n        }\n\n        var t, o, s, n = this;\n        if (!0 === n.options.centerMode ? !0 === n.options.infinite ? s = (o = n.currentSlide + (n.options.slidesToShow / 2 + 1)) + n.options.slidesToShow + 2 : (o = Math.max(0, n.currentSlide - (n.options.slidesToShow / 2 + 1)), s = n.options.slidesToShow / 2 + 1 + 2 + n.currentSlide) : (o = n.options.infinite ? n.options.slidesToShow + n.currentSlide : n.currentSlide, s = Math.ceil(o + n.options.slidesToShow), !0 === n.options.fade && (o > 0 && o--, s <= n.slideCount && s++)), t = n.$slider.find(\".slick-slide\").slice(o, s), \"anticipated\" === n.options.lazyLoad) for (var r = o - 1, l = s, d = n.$slider.find(\".slick-slide\"), a = 0; a < n.options.slidesToScroll; a++) r < 0 && (r = n.slideCount - 1), t = (t = t.add(d.eq(r))).add(d.eq(l)), r--, l++;\n        e(t), n.slideCount <= n.options.slidesToShow ? e(n.$slider.find(\".slick-slide\")) : n.currentSlide >= n.slideCount - n.options.slidesToShow ? e(n.$slider.find(\".slick-cloned\").slice(0, n.options.slidesToShow)) : 0 === n.currentSlide && e(n.$slider.find(\".slick-cloned\").slice(-1 * n.options.slidesToShow))\n    }, e.prototype.loadSlider = function () {\n        var i = this;\n        i.setPosition(), i.$slideTrack.css({opacity: 1}), i.$slider.removeClass(\"slick-loading\"), i.initUI(), \"progressive\" === i.options.lazyLoad && i.progressiveLazyLoad()\n    }, e.prototype.next = e.prototype.slickNext = function () {\n        this.changeSlide({data: {message: \"next\"}})\n    }, e.prototype.orientationChange = function () {\n        var i = this;\n        i.checkResponsive(), i.setPosition()\n    }, e.prototype.pause = e.prototype.slickPause = function () {\n        var i = this;\n        i.autoPlayClear(), i.paused = !0\n    }, e.prototype.play = e.prototype.slickPlay = function () {\n        var i = this;\n        i.autoPlay(), i.options.autoplay = !0, i.paused = !1, i.focussed = !1, i.interrupted = !1\n    }, e.prototype.postSlide = function (e) {\n        var t = this;\n        t.unslicked || (t.$slider.trigger(\"afterChange\", [t, e]), t.animating = !1, t.slideCount > t.options.slidesToShow && t.setPosition(), t.swipeLeft = null, t.options.autoplay && t.autoPlay(), !0 === t.options.accessibility && (t.initADA(), t.options.focusOnChange && i(t.$slides.get(t.currentSlide)).attr(\"tabindex\", 0).focus()))\n    }, e.prototype.prev = e.prototype.slickPrev = function () {\n        this.changeSlide({data: {message: \"previous\"}})\n    }, e.prototype.preventDefault = function (i) {\n        i.preventDefault()\n    }, e.prototype.progressiveLazyLoad = function (e) {\n        e = e || 1;\n        var t, o, s, n, r, l = this, d = i(\"img[data-lazy]\", l.$slider);\n        d.length ? (t = d.first(), o = t.attr(\"data-lazy\"), s = t.attr(\"data-srcset\"), n = t.attr(\"data-sizes\") || l.$slider.attr(\"data-sizes\"), (r = document.createElement(\"img\")).onload = function () {\n            s && (t.attr(\"srcset\", s), n && t.attr(\"sizes\", n)), t.attr(\"src\", o).removeAttr(\"data-lazy data-srcset data-sizes\").removeClass(\"slick-loading\"), !0 === l.options.adaptiveHeight && l.setPosition(), l.$slider.trigger(\"lazyLoaded\", [l, t, o]), l.progressiveLazyLoad()\n        }, r.onerror = function () {\n            e < 3 ? setTimeout(function () {\n                l.progressiveLazyLoad(e + 1)\n            }, 500) : (t.removeAttr(\"data-lazy\").removeClass(\"slick-loading\").addClass(\"slick-lazyload-error\"), l.$slider.trigger(\"lazyLoadError\", [l, t, o]), l.progressiveLazyLoad())\n        }, r.src = o) : l.$slider.trigger(\"allImagesLoaded\", [l])\n    }, e.prototype.refresh = function (e) {\n        var t, o, s = this;\n        o = s.slideCount - s.options.slidesToShow, !s.options.infinite && s.currentSlide > o && (s.currentSlide = o), s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0), t = s.currentSlide, s.destroy(!0), i.extend(s, s.initials, {currentSlide: t}), s.init(), e || s.changeSlide({\n            data: {\n                message: \"index\",\n                index: t\n            }\n        }, !1)\n    }, e.prototype.registerBreakpoints = function () {\n        var e, t, o, s = this, n = s.options.responsive || null;\n        if (\"array\" === i.type(n) && n.length) {\n            s.respondTo = s.options.respondTo || \"window\";\n            for (e in n) if (o = s.breakpoints.length - 1, n.hasOwnProperty(e)) {\n                for (t = n[e].breakpoint; o >= 0;) s.breakpoints[o] && s.breakpoints[o] === t && s.breakpoints.splice(o, 1), o--;\n                s.breakpoints.push(t), s.breakpointSettings[t] = n[e].settings\n            }\n            s.breakpoints.sort(function (i, e) {\n                return s.options.mobileFirst ? i - e : e - i\n            })\n        }\n    }, e.prototype.reinit = function () {\n        var e = this;\n        e.$slides = e.$slideTrack.children(e.options.slide).addClass(\"slick-slide\"), e.slideCount = e.$slides.length, e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll), e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0), e.registerBreakpoints(), e.setProps(), e.setupInfinite(), e.buildArrows(), e.updateArrows(), e.initArrowEvents(), e.buildDots(), e.updateDots(), e.initDotEvents(), e.cleanUpSlideEvents(), e.initSlideEvents(), e.checkResponsive(!1, !0), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on(\"click.slick\", e.selectHandler), e.setSlideClasses(\"number\" == typeof e.currentSlide ? e.currentSlide : 0), e.setPosition(), e.focusHandler(), e.paused = !e.options.autoplay, e.autoPlay(), e.$slider.trigger(\"reInit\", [e])\n    }, e.prototype.resize = function () {\n        var e = this;\n        i(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay), e.windowDelay = window.setTimeout(function () {\n            e.windowWidth = i(window).width(), e.checkResponsive(), e.unslicked || e.setPosition()\n        }, 50))\n    }, e.prototype.removeSlide = e.prototype.slickRemove = function (i, e, t) {\n        var o = this;\n        if (i = \"boolean\" == typeof i ? !0 === (e = i) ? 0 : o.slideCount - 1 : !0 === e ? --i : i, o.slideCount < 1 || i < 0 || i > o.slideCount - 1) return !1;\n        o.unload(), !0 === t ? o.$slideTrack.children().remove() : o.$slideTrack.children(this.options.slide).eq(i).remove(), o.$slides = o.$slideTrack.children(this.options.slide), o.$slideTrack.children(this.options.slide).detach(), o.$slideTrack.append(o.$slides), o.$slidesCache = o.$slides, o.reinit()\n    }, e.prototype.setCSS = function (i) {\n        var e, t, o = this, s = {};\n        !0 === o.options.rtl && (i = -i), e = \"left\" == o.positionProp ? Math.ceil(i) + \"px\" : \"0px\", t = \"top\" == o.positionProp ? Math.ceil(i) + \"px\" : \"0px\", s[o.positionProp] = i, !1 === o.transformsEnabled ? o.$slideTrack.css(s) : (s = {}, !1 === o.cssTransitions ? (s[o.animType] = \"translate(\" + e + \", \" + t + \")\", o.$slideTrack.css(s)) : (s[o.animType] = \"translate3d(\" + e + \", \" + t + \", 0px)\", o.$slideTrack.css(s)))\n    }, e.prototype.setDimensions = function () {\n        var i = this;\n        !1 === i.options.vertical ? !0 === i.options.centerMode && i.$list.css({padding: \"0px \" + i.options.centerPadding}) : (i.$list.height(i.$slides.first().outerHeight(!0) * i.options.slidesToShow), !0 === i.options.centerMode && i.$list.css({padding: i.options.centerPadding + \" 0px\"})), i.listWidth = i.$list.width(), i.listHeight = i.$list.height(), !1 === i.options.vertical && !1 === i.options.variableWidth ? (i.slideWidth = Math.ceil(i.listWidth / i.options.slidesToShow), i.$slideTrack.width(Math.ceil(i.slideWidth * i.$slideTrack.children(\".slick-slide\").length))) : !0 === i.options.variableWidth ? i.$slideTrack.width(5e3 * i.slideCount) : (i.slideWidth = Math.ceil(i.listWidth), i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0) * i.$slideTrack.children(\".slick-slide\").length)));\n        var e = i.$slides.first().outerWidth(!0) - i.$slides.first().width();\n        !1 === i.options.variableWidth && i.$slideTrack.children(\".slick-slide\").width(i.slideWidth - e)\n    }, e.prototype.setFade = function () {\n        var e, t = this;\n        t.$slides.each(function (o, s) {\n            e = t.slideWidth * o * -1, !0 === t.options.rtl ? i(s).css({\n                position: \"relative\",\n                right: e,\n                top: 0,\n                zIndex: t.options.zIndex - 2,\n                opacity: 0\n            }) : i(s).css({position: \"relative\", left: e, top: 0, zIndex: t.options.zIndex - 2, opacity: 0})\n        }), t.$slides.eq(t.currentSlide).css({zIndex: t.options.zIndex - 1, opacity: 1})\n    }, e.prototype.setHeight = function () {\n        var i = this;\n        if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {\n            var e = i.$slides.eq(i.currentSlide).outerHeight(!0);\n            i.$list.css(\"height\", e)\n        }\n    }, e.prototype.setOption = e.prototype.slickSetOption = function () {\n        var e, t, o, s, n, r = this, l = !1;\n        if (\"object\" === i.type(arguments[0]) ? (o = arguments[0], l = arguments[1], n = \"multiple\") : \"string\" === i.type(arguments[0]) && (o = arguments[0], s = arguments[1], l = arguments[2], \"responsive\" === arguments[0] && \"array\" === i.type(arguments[1]) ? n = \"responsive\" : void 0 !== arguments[1] && (n = \"single\")), \"single\" === n) r.options[o] = s; else if (\"multiple\" === n) i.each(o, function (i, e) {\n            r.options[i] = e\n        }); else if (\"responsive\" === n) for (t in s) if (\"array\" !== i.type(r.options.responsive)) r.options.responsive = [s[t]]; else {\n            for (e = r.options.responsive.length - 1; e >= 0;) r.options.responsive[e].breakpoint === s[t].breakpoint && r.options.responsive.splice(e, 1), e--;\n            r.options.responsive.push(s[t])\n        }\n        l && (r.unload(), r.reinit())\n    }, e.prototype.setPosition = function () {\n        var i = this;\n        i.setDimensions(), i.setHeight(), !1 === i.options.fade ? i.setCSS(i.getLeft(i.currentSlide)) : i.setFade(), i.$slider.trigger(\"setPosition\", [i])\n    }, e.prototype.setProps = function () {\n        var i = this, e = document.body.style;\n        i.positionProp = !0 === i.options.vertical ? \"top\" : \"left\", \"top\" === i.positionProp ? i.$slider.addClass(\"slick-vertical\") : i.$slider.removeClass(\"slick-vertical\"), void 0 === e.WebkitTransition && void 0 === e.MozTransition && void 0 === e.msTransition || !0 === i.options.useCSS && (i.cssTransitions = !0), i.options.fade && (\"number\" == typeof i.options.zIndex ? i.options.zIndex < 3 && (i.options.zIndex = 3) : i.options.zIndex = i.defaults.zIndex), void 0 !== e.OTransform && (i.animType = \"OTransform\", i.transformType = \"-o-transform\", i.transitionType = \"OTransition\", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)), void 0 !== e.MozTransform && (i.animType = \"MozTransform\", i.transformType = \"-moz-transform\", i.transitionType = \"MozTransition\", void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (i.animType = !1)), void 0 !== e.webkitTransform && (i.animType = \"webkitTransform\", i.transformType = \"-webkit-transform\", i.transitionType = \"webkitTransition\", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)), void 0 !== e.msTransform && (i.animType = \"msTransform\", i.transformType = \"-ms-transform\", i.transitionType = \"msTransition\", void 0 === e.msTransform && (i.animType = !1)), void 0 !== e.transform && !1 !== i.animType && (i.animType = \"transform\", i.transformType = \"transform\", i.transitionType = \"transition\"), i.transformsEnabled = i.options.useTransform && null !== i.animType && !1 !== i.animType\n    }, e.prototype.setSlideClasses = function (i) {\n        var e, t, o, s, n = this;\n        if (t = n.$slider.find(\".slick-slide\").removeClass(\"slick-active slick-center slick-current\").attr(\"aria-hidden\", \"true\"), n.$slides.eq(i).addClass(\"slick-current\"), !0 === n.options.centerMode) {\n            var r = n.options.slidesToShow % 2 == 0 ? 1 : 0;\n            e = Math.floor(n.options.slidesToShow / 2), !0 === n.options.infinite && (i >= e && i <= n.slideCount - 1 - e ? n.$slides.slice(i - e + r, i + e + 1).addClass(\"slick-active\").attr(\"aria-hidden\", \"false\") : (o = n.options.slidesToShow + i, t.slice(o - e + 1 + r, o + e + 2).addClass(\"slick-active\").attr(\"aria-hidden\", \"false\")), 0 === i ? t.eq(t.length - 1 - n.options.slidesToShow  - (n.slideCount - 1 - n.options.slidesToShow )).addClass(\"slick-center\") : i === n.slideCount - 1 && t.eq(n.options.slidesToShow).addClass(\"slick-center\")), n.$slides.eq(i).addClass(\"slick-center\")\n        } else i >= 0 && i <= n.slideCount - n.options.slidesToShow ? n.$slides.slice(i, i + n.options.slidesToShow).addClass(\"slick-active\").attr(\"aria-hidden\", \"false\") : t.length <= n.options.slidesToShow ? t.addClass(\"slick-active\").attr(\"aria-hidden\", \"false\") : (s = n.slideCount % n.options.slidesToShow, o = !0 === n.options.infinite ? n.options.slidesToShow + i : i, n.options.slidesToShow == n.options.slidesToScroll && n.slideCount - i < n.options.slidesToShow ? t.slice(o - (n.options.slidesToShow - s), o + s).addClass(\"slick-active\").attr(\"aria-hidden\", \"false\") : t.slice(o, o + n.options.slidesToShow).addClass(\"slick-active\").attr(\"aria-hidden\", \"false\"));\n        \"ondemand\" !== n.options.lazyLoad && \"anticipated\" !== n.options.lazyLoad || n.lazyLoad()\n    }, e.prototype.setupInfinite = function () {\n        var e, t, o, s = this;\n        if (!0 === s.options.fade && (s.options.centerMode = !1), !0 === s.options.infinite && !1 === s.options.fade && (t = null, s.slideCount > s.options.slidesToShow)) {\n            for (o = !0 === s.options.centerMode ? s.options.slidesToShow + 1 : s.options.slidesToShow, e = s.slideCount; e > s.slideCount - o; e -= 1) t = e - 1, i(s.$slides[t]).clone(!0).attr(\"id\", \"\").attr(\"data-slick-index\", t - s.slideCount).prependTo(s.$slideTrack).addClass(\"slick-cloned\");\n            for (e = 0; e < o + s.slideCount; e += 1) t = e, i(s.$slides[t]).clone(!0).attr(\"id\", \"\").attr(\"data-slick-index\", t + s.slideCount).appendTo(s.$slideTrack).addClass(\"slick-cloned\");\n            s.$slideTrack.find(\".slick-cloned\").find(\"[id]\").each(function () {\n                i(this).attr(\"id\", \"\")\n            })\n        }\n    }, e.prototype.interrupt = function (i) {\n        var e = this;\n        i || e.autoPlay(), e.interrupted = i\n    }, e.prototype.selectHandler = function (e) {\n        var t = this, o = i(e.target).is(\".slick-slide\") ? i(e.target) : i(e.target).parents(\".slick-slide\"),\n            s = parseInt(o.attr(\"data-slick-index\"));\n        s || (s = 0), t.slideCount <= t.options.slidesToShow ? t.slideHandler(s, !1, !0) : t.slideHandler(s)\n    }, e.prototype.slideHandler = function (i, e, t) {\n        var o, s, n, r, l, d = null, a = this;\n        if (e = e || !1, !(!0 === a.animating && !0 === a.options.waitForAnimate || !0 === a.options.fade && a.currentSlide === i)) if (!1 === e && a.asNavFor(i), o = i, d = a.getLeft(o), r = a.getLeft(a.currentSlide), a.currentLeft = null === a.swipeLeft ? r : a.swipeLeft, !1 === a.options.infinite && !1 === a.options.centerMode && (i < 0 || i > a.getDotCount() * a.options.slidesToScroll)) !1 === a.options.fade && (o = a.currentSlide, !0 !== t ? a.animateSlide(r, function () {\n            a.postSlide(o)\n        }) : a.postSlide(o)); else if (!1 === a.options.infinite && !0 === a.options.centerMode && (i < 0 || i > a.slideCount - a.options.slidesToScroll)) !1 === a.options.fade && (o = a.currentSlide, !0 !== t ? a.animateSlide(r, function () {\n            a.postSlide(o)\n        }) : a.postSlide(o)); else {\n            if (a.options.autoplay && clearInterval(a.autoPlayTimer), s = o < 0 ? a.slideCount % a.options.slidesToScroll != 0 ? a.slideCount - a.slideCount % a.options.slidesToScroll : a.slideCount + o : o >= a.slideCount ? a.slideCount % a.options.slidesToScroll != 0 ? 0 : o - a.slideCount : o, a.animating = !0, a.$slider.trigger(\"beforeChange\", [a, a.currentSlide, s]), n = a.currentSlide, a.currentSlide = s, a.setSlideClasses(a.currentSlide), a.options.asNavFor && (l = (l = a.getNavTarget()).slick(\"getSlick\")).slideCount <= l.options.slidesToShow && l.setSlideClasses(a.currentSlide), a.updateDots(), a.updateArrows(), !0 === a.options.fade) return !0 !== t ? (a.fadeSlideOut(n), a.fadeSlide(s, function () {\n                a.postSlide(s)\n            })) : a.postSlide(s), void a.animateHeight();\n            !0 !== t ? a.animateSlide(d, function () {\n                a.postSlide(s)\n            }) : a.postSlide(s)\n        }\n    }, e.prototype.startLoad = function () {\n        var i = this;\n        !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.hide(), i.$nextArrow.hide()), !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.hide(), i.$slider.addClass(\"slick-loading\")\n    }, e.prototype.swipeDirection = function () {\n        var i, e, t, o, s = this;\n        return i = s.touchObject.startX - s.touchObject.curX, e = s.touchObject.startY - s.touchObject.curY, t = Math.atan2(e, i), (o = Math.round(180 * t / Math.PI)) < 0 && (o = 360 - Math.abs(o)), o <= 45 && o >= 0 ? !1 === s.options.rtl ? \"left\" : \"right\" : o <= 360 && o >= 315 ? !1 === s.options.rtl ? \"left\" : \"right\" : o >= 135 && o <= 225 ? !1 === s.options.rtl ? \"right\" : \"left\" : !0 === s.options.verticalSwiping ? o >= 35 && o <= 135 ? \"down\" : \"up\" : \"vertical\"\n    }, e.prototype.swipeEnd = function (i) {\n        var e, t, o = this;\n        if (o.dragging = !1, o.swiping = !1, o.scrolling) return o.scrolling = !1, !1;\n        if (o.interrupted = !1, o.shouldClick = !(o.touchObject.swipeLength > 10), void 0 === o.touchObject.curX) return !1;\n        if (!0 === o.touchObject.edgeHit && o.$slider.trigger(\"edge\", [o, o.swipeDirection()]), o.touchObject.swipeLength >= o.touchObject.minSwipe) {\n            switch (t = o.swipeDirection()) {\n                case\"left\":\n                case\"down\":\n                    e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide + o.getSlideCount()) : o.currentSlide + o.getSlideCount(), o.currentDirection = 0;\n                    break;\n                case\"right\":\n                case\"up\":\n                    e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide - o.getSlideCount()) : o.currentSlide - o.getSlideCount(), o.currentDirection = 1\n            }\n            \"vertical\" != t && (o.slideHandler(e), o.touchObject = {}, o.$slider.trigger(\"swipe\", [o, t]))\n        } else o.touchObject.startX !== o.touchObject.curX && (o.slideHandler(o.currentSlide), o.touchObject = {})\n    }, e.prototype.swipeHandler = function (i) {\n        var e = this;\n        if (!(!1 === e.options.swipe || \"ontouchend\" in document && !1 === e.options.swipe || !1 === e.options.draggable && -1 !== i.type.indexOf(\"mouse\"))) switch (e.touchObject.fingerCount = i.originalEvent && void 0 !== i.originalEvent.touches ? i.originalEvent.touches.length : 1, e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold, !0 === e.options.verticalSwiping && (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold), i.data.action) {\n            case\"start\":\n                e.swipeStart(i);\n                break;\n            case\"move\":\n                e.swipeMove(i);\n                break;\n            case\"end\":\n                e.swipeEnd(i)\n        }\n    }, e.prototype.swipeMove = function (i) {\n        var e, t, o, s, n, r, l = this;\n        return n = void 0 !== i.originalEvent ? i.originalEvent.touches : null, !(!l.dragging || l.scrolling || n && 1 !== n.length) && (e = l.getLeft(l.currentSlide), l.touchObject.curX = void 0 !== n ? n[0].pageX : i.clientX, l.touchObject.curY = void 0 !== n ? n[0].pageY : i.clientY, l.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(l.touchObject.curX - l.touchObject.startX, 2))), r = Math.round(Math.sqrt(Math.pow(l.touchObject.curY - l.touchObject.startY, 2))), !l.options.verticalSwiping && !l.swiping && r > 4 ? (l.scrolling = !0, !1) : (!0 === l.options.verticalSwiping && (l.touchObject.swipeLength = r), t = l.swipeDirection(), void 0 !== i.originalEvent && l.touchObject.swipeLength > 4 && (l.swiping = !0, i.preventDefault()), s = (!1 === l.options.rtl ? 1 : -1) * (l.touchObject.curX > l.touchObject.startX ? 1 : -1), !0 === l.options.verticalSwiping && (s = l.touchObject.curY > l.touchObject.startY ? 1 : -1), o = l.touchObject.swipeLength, l.touchObject.edgeHit = !1, !1 === l.options.infinite && (0 === l.currentSlide && \"right\" === t || l.currentSlide >= l.getDotCount() && \"left\" === t) && (o = l.touchObject.swipeLength * l.options.edgeFriction, l.touchObject.edgeHit = !0), !1 === l.options.vertical ? l.swipeLeft = e + o * s : l.swipeLeft = e + o * (l.$list.height() / l.listWidth) * s, !0 === l.options.verticalSwiping && (l.swipeLeft = e + o * s), !0 !== l.options.fade && !1 !== l.options.touchMove && (!0 === l.animating ? (l.swipeLeft = null, !1) : void l.setCSS(l.swipeLeft))))\n    }, e.prototype.swipeStart = function (i) {\n        var e, t = this;\n        if (t.interrupted = !0, 1 !== t.touchObject.fingerCount || t.slideCount <= t.options.slidesToShow) return t.touchObject = {}, !1;\n        void 0 !== i.originalEvent && void 0 !== i.originalEvent.touches && (e = i.originalEvent.touches[0]), t.touchObject.startX = t.touchObject.curX = void 0 !== e ? e.pageX : i.clientX, t.touchObject.startY = t.touchObject.curY = void 0 !== e ? e.pageY : i.clientY, t.dragging = !0\n    }, e.prototype.unfilterSlides = e.prototype.slickUnfilter = function () {\n        var i = this;\n        null !== i.$slidesCache && (i.unload(), i.$slideTrack.children(this.options.slide).detach(), i.$slidesCache.appendTo(i.$slideTrack), i.reinit())\n    }, e.prototype.unload = function () {\n        var e = this;\n        i(\".slick-cloned\", e.$slider).remove(), e.$dots && e.$dots.remove(), e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(), e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(), e.$slides.removeClass(\"slick-slide slick-active slick-visible slick-current\").attr(\"aria-hidden\", \"true\").css(\"width\", \"\")\n    }, e.prototype.unslick = function (i) {\n        var e = this;\n        e.$slider.trigger(\"unslick\", [e, i]), e.destroy()\n    }, e.prototype.updateArrows = function () {\n        var i = this;\n        Math.floor(i.options.slidesToShow / 2), !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && !i.options.infinite && (i.$prevArrow.removeClass(\"slick-disabled\").attr(\"aria-disabled\", \"false\"), i.$nextArrow.removeClass(\"slick-disabled\").attr(\"aria-disabled\", \"false\"), 0 === i.currentSlide ? (i.$prevArrow.addClass(\"slick-disabled\").attr(\"aria-disabled\", \"true\"), i.$nextArrow.removeClass(\"slick-disabled\").attr(\"aria-disabled\", \"false\")) : i.currentSlide >= i.slideCount - i.options.slidesToShow && !1 === i.options.centerMode ? (i.$nextArrow.addClass(\"slick-disabled\").attr(\"aria-disabled\", \"true\"), i.$prevArrow.removeClass(\"slick-disabled\").attr(\"aria-disabled\", \"false\")) : i.currentSlide >= i.slideCount - 1 && !0 === i.options.centerMode && (i.$nextArrow.addClass(\"slick-disabled\").attr(\"aria-disabled\", \"true\"), i.$prevArrow.removeClass(\"slick-disabled\").attr(\"aria-disabled\", \"false\")))\n    }, e.prototype.updateDots = function () {\n        var i = this;\n        null !== i.$dots && (i.$dots.find(\"li\").removeClass(\"slick-active\").end(), i.$dots.find(\"li\").eq(Math.floor(i.currentSlide / i.options.slidesToScroll)).addClass(\"slick-active\"))\n    }, e.prototype.visibility = function () {\n        var i = this;\n        i.options.autoplay && (document[i.hidden] ? i.interrupted = !0 : i.interrupted = !1)\n    }, i.fn.slick = function () {\n        var i, t, o = this, s = arguments[0], n = Array.prototype.slice.call(arguments, 1), r = o.length;\n        for (i = 0; i < r; i++) if (\"object\" == typeof s || void 0 === s ? o[i].slick = new e(o[i], s) : t = o[i].slick[s].apply(o[i].slick, n), void 0 !== t) return t;\n        return o\n    }\n});\n","(function () {\n    var MutationObserver, Util, WeakMap, getComputedStyle, getComputedStyleRX,\n        bind = function (fn, me) {\n            return function () {\n                return fn.apply(me, arguments);\n            };\n        },\n        indexOf = [].indexOf || function (item) {\n            for (var i = 0, l = this.length; i < l; i++) {\n                if (i in this && this[i] === item) {\n                    return i;\n                }\n            }\n            return -1;\n        };\n\n    Util = (function () {\n        function Util() {\n        }\n\n        Util.prototype.extend = function (custom, defaults) {\n            var key, value;\n            for (key in defaults) {\n                value = defaults[key];\n                if (custom[key] == null) {\n                    custom[key] = value;\n                }\n            }\n            return custom;\n        };\n\n        Util.prototype.isMobile = function (agent) {\n            return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(agent);\n        };\n\n        Util.prototype.createEvent = function (event, bubble, cancel, detail) {\n            var customEvent;\n            if (bubble == null) {\n                bubble = false;\n            }\n            if (cancel == null) {\n                cancel = false;\n            }\n            if (detail == null) {\n                detail = null;\n            }\n            if (document.createEvent != null) {\n                customEvent = document.createEvent('CustomEvent');\n                customEvent.initCustomEvent(event, bubble, cancel, detail);\n            }\n            else if (document.createEventObject != null) {\n                customEvent = document.createEventObject();\n                customEvent.eventType = event;\n            }\n            else {\n                customEvent.eventName = event;\n            }\n            return customEvent;\n        };\n\n        Util.prototype.emitEvent = function (elem, event) {\n            if (elem.dispatchEvent != null) {\n                return elem.dispatchEvent(event);\n            }\n            else if (event in (elem != null)) {\n                return elem[event]();\n            }\n            else if ((\"on\" + event) in (elem != null)) {\n                return elem[\"on\" + event]();\n            }\n        };\n\n        Util.prototype.addEvent = function (elem, event, fn) {\n            if (elem.addEventListener != null) {\n                return elem.addEventListener(event, fn, false);\n            }\n            else if (elem.attachEvent != null) {\n                return elem.attachEvent(\"on\" + event, fn);\n            }\n            else {\n                return elem[event] = fn;\n            }\n        };\n\n        Util.prototype.removeEvent = function (elem, event, fn) {\n            if (elem.removeEventListener != null) {\n                return elem.removeEventListener(event, fn, false);\n            }\n            else if (elem.detachEvent != null) {\n                return elem.detachEvent(\"on\" + event, fn);\n            }\n            else {\n                return delete elem[event];\n            }\n        };\n\n        Util.prototype.innerHeight = function () {\n            if ('innerHeight' in window) {\n                return window.innerHeight;\n            }\n            else {\n                return document.documentElement.clientHeight;\n            }\n        };\n\n        return Util;\n\n    })();\n\n    WeakMap = this.WeakMap || this.MozWeakMap || (WeakMap = (function () {\n        function WeakMap() {\n            this.keys = [];\n            this.values = [];\n        }\n\n        WeakMap.prototype.get = function (key) {\n            var i, item, j, len, ref;\n            ref = this.keys;\n            for (i = j = 0, len = ref.length; j < len; i = ++j) {\n                item = ref[i];\n                if (item === key) {\n                    return this.values[i];\n                }\n            }\n        };\n\n        WeakMap.prototype.set = function (key, value) {\n            var i, item, j, len, ref;\n            ref = this.keys;\n            for (i = j = 0, len = ref.length; j < len; i = ++j) {\n                item = ref[i];\n                if (item === key) {\n                    this.values[i] = value;\n                    return;\n                }\n            }\n            this.keys.push(key);\n            return this.values.push(value);\n        };\n\n        return WeakMap;\n\n    })());\n\n    MutationObserver = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (MutationObserver = (function () {\n        function MutationObserver() {\n            if (typeof console !== \"undefined\" && console !== null) {\n                console.warn('MutationObserver is not supported by your browser.');\n            }\n            if (typeof console !== \"undefined\" && console !== null) {\n                console.warn('WOW.js cannot detect dom mutations, please call .sync() after loading new content.');\n            }\n        }\n\n        MutationObserver.notSupported = true;\n\n        MutationObserver.prototype.observe = function () {\n        };\n\n        return MutationObserver;\n\n    })());\n\n    getComputedStyle = this.getComputedStyle || function (el, pseudo) {\n        this.getPropertyValue = function (prop) {\n            var ref;\n            if (prop === 'float') {\n                prop = 'styleFloat';\n            }\n            if (getComputedStyleRX.test(prop)) {\n                prop.replace(getComputedStyleRX, function (_, _char) {\n                    return _char.toUpperCase();\n                });\n            }\n            return ((ref = el.currentStyle) != null ? ref[prop] : void 0) || null;\n        };\n        return this;\n    };\n\n    getComputedStyleRX = /(\\-([a-z]){1})/g;\n\n    this.WOW = (function () {\n        WOW.prototype.defaults = {\n            boxClass: 'wow',\n            animateClass: 'animated',\n            offset: 0,\n            mobile: true,\n            live: true,\n            callback: null,\n            scrollContainer: null\n        };\n\n        function WOW(options) {\n            if (options == null) {\n                options = {};\n            }\n            this.scrollCallback = bind(this.scrollCallback, this);\n            this.scrollHandler = bind(this.scrollHandler, this);\n            this.resetAnimation = bind(this.resetAnimation, this);\n            this.start = bind(this.start, this);\n            this.scrolled = true;\n            this.config = this.util().extend(options, this.defaults);\n            if (options.scrollContainer != null) {\n                this.config.scrollContainer = document.querySelector(options.scrollContainer);\n            }\n            this.animationNameCache = new WeakMap();\n            this.wowEvent = this.util().createEvent(this.config.boxClass);\n        }\n\n        WOW.prototype.init = function () {\n            var ref;\n            this.element = window.document.documentElement;\n            if ((ref = document.readyState) === \"interactive\" || ref === \"complete\") {\n                this.start();\n            }\n            else {\n                this.util().addEvent(document, 'DOMContentLoaded', this.start);\n            }\n            return this.finished = [];\n        };\n\n        WOW.prototype.start = function () {\n            var box, j, len, ref;\n            this.stopped = false;\n            this.boxes = (function () {\n                var j, len, ref, results;\n                ref = this.element.querySelectorAll(\".\" + this.config.boxClass);\n                results = [];\n                for (j = 0, len = ref.length; j < len; j++) {\n                    box = ref[j];\n                    results.push(box);\n                }\n                return results;\n            }).call(this);\n            this.all = (function () {\n                var j, len, ref, results;\n                ref = this.boxes;\n                results = [];\n                for (j = 0, len = ref.length; j < len; j++) {\n                    box = ref[j];\n                    results.push(box);\n                }\n                return results;\n            }).call(this);\n            if (this.boxes.length) {\n                if (this.disabled()) {\n                    this.resetStyle();\n                }\n                else {\n                    ref = this.boxes;\n                    for (j = 0, len = ref.length; j < len; j++) {\n                        box = ref[j];\n                        this.applyStyle(box, true);\n                    }\n                }\n            }\n            if (!this.disabled()) {\n                this.util().addEvent(this.config.scrollContainer || window, 'scroll', this.scrollHandler);\n                this.util().addEvent(window, 'resize', this.scrollHandler);\n                this.interval = setInterval(this.scrollCallback, 50);\n            }\n            if (this.config.live) {\n                return new MutationObserver((function (_this) {\n                    return function (records) {\n                        var k, len1, node, record, results;\n                        results = [];\n                        for (k = 0, len1 = records.length; k < len1; k++) {\n                            record = records[k];\n                            results.push((function () {\n                                var l, len2, ref1, results1;\n                                ref1 = record.addedNodes || [];\n                                results1 = [];\n                                for (l = 0, len2 = ref1.length; l < len2; l++) {\n                                    node = ref1[l];\n                                    results1.push(this.doSync(node));\n                                }\n                                return results1;\n                            }).call(_this));\n                        }\n                        return results;\n                    };\n                })(this)).observe(document.body, {\n                    childList: true,\n                    subtree: true\n                });\n            }\n        };\n\n        WOW.prototype.stop = function () {\n            this.stopped = true;\n            this.util().removeEvent(this.config.scrollContainer || window, 'scroll', this.scrollHandler);\n            this.util().removeEvent(window, 'resize', this.scrollHandler);\n            if (this.interval != null) {\n                return clearInterval(this.interval);\n            }\n        };\n\n        WOW.prototype.sync = function (element) {\n            if (MutationObserver.notSupported) {\n                return this.doSync(this.element);\n            }\n        };\n\n        WOW.prototype.doSync = function (element) {\n            var box, j, len, ref, results;\n            if (element == null) {\n                element = this.element;\n            }\n            if (element.nodeType !== 1) {\n                return;\n            }\n            element = element.parentNode || element;\n            ref = element.querySelectorAll(\".\" + this.config.boxClass);\n            results = [];\n            for (j = 0, len = ref.length; j < len; j++) {\n                box = ref[j];\n                if (indexOf.call(this.all, box) < 0) {\n                    this.boxes.push(box);\n                    this.all.push(box);\n                    if (this.stopped || this.disabled()) {\n                        this.resetStyle();\n                    }\n                    else {\n                        this.applyStyle(box, true);\n                    }\n                    results.push(this.scrolled = true);\n                }\n                else {\n                    results.push(void 0);\n                }\n            }\n            return results;\n        };\n\n        WOW.prototype.show = function (box) {\n            this.applyStyle(box);\n            // box.className = box.className + \" \" + this.config.animateClass;\n            box.setAttribute(\"class\", box.getAttribute(\"class\") + \" \" + this.config.animateClass);\n            if (this.config.callback != null) {\n                this.config.callback(box);\n            }\n            this.util().emitEvent(box, this.wowEvent);\n            this.util().addEvent(box, 'animationend', this.resetAnimation);\n            this.util().addEvent(box, 'oanimationend', this.resetAnimation);\n            this.util().addEvent(box, 'webkitAnimationEnd', this.resetAnimation);\n            this.util().addEvent(box, 'MSAnimationEnd', this.resetAnimation);\n            return box;\n        };\n\n        WOW.prototype.applyStyle = function (box, hidden) {\n            var delay, duration, iteration;\n            duration = box.getAttribute('data-wow-duration');\n            delay = box.getAttribute('data-wow-delay');\n            iteration = box.getAttribute('data-wow-iteration');\n            return this.animate((function (_this) {\n                return function () {\n                    return _this.customStyle(box, hidden, duration, delay, iteration);\n                };\n            })(this));\n        };\n\n        WOW.prototype.animate = (function () {\n            if ('requestAnimationFrame' in window) {\n                return function (callback) {\n                    return window.requestAnimationFrame(callback);\n                };\n            }\n            else {\n                return function (callback) {\n                    return callback();\n                };\n            }\n        })();\n\n        WOW.prototype.resetStyle = function () {\n            var box, j, len, ref, results;\n            ref = this.boxes;\n            results = [];\n            for (j = 0, len = ref.length; j < len; j++) {\n                box = ref[j];\n                results.push(box.style.visibility = 'visible');\n            }\n            return results;\n        };\n\n        WOW.prototype.resetAnimation = function (event) {\n            var target;\n            if (event.type.toLowerCase().indexOf('animationend') >= 0) {\n                target = event.target || event.srcElement;\n                // return target.className = target.className.replace(this.config.animateClass, '').trim();\n                return target.setAttribute(\"class\", target.getAttribute(\"class\").replace(this.config.animateClass).trim());\n            }\n        };\n\n        WOW.prototype.customStyle = function (box, hidden, duration, delay, iteration) {\n            if (hidden) {\n                this.cacheAnimationName(box);\n            }\n            box.style.visibility = hidden ? 'hidden' : 'visible';\n            if (duration) {\n                this.vendorSet(box.style, {\n                    animationDuration: duration\n                });\n            }\n            if (delay) {\n                this.vendorSet(box.style, {\n                    animationDelay: delay\n                });\n            }\n            if (iteration) {\n                this.vendorSet(box.style, {\n                    animationIterationCount: iteration\n                });\n            }\n            this.vendorSet(box.style, {\n                animationName: hidden ? 'none' : this.cachedAnimationName(box)\n            });\n            return box;\n        };\n\n        WOW.prototype.vendors = [\"moz\", \"webkit\"];\n\n        WOW.prototype.vendorSet = function (elem, properties) {\n            var name, results, value, vendor;\n            results = [];\n            for (name in properties) {\n                value = properties[name];\n                elem[\"\" + name] = value;\n                results.push((function () {\n                    var j, len, ref, results1;\n                    ref = this.vendors;\n                    results1 = [];\n                    for (j = 0, len = ref.length; j < len; j++) {\n                        vendor = ref[j];\n                        results1.push(elem[\"\" + vendor + (name.charAt(0).toUpperCase()) + (name.substr(1))] = value);\n                    }\n                    return results1;\n                }).call(this));\n            }\n            return results;\n        };\n\n        WOW.prototype.vendorCSS = function (elem, property) {\n            var j, len, ref, result, style, vendor;\n            style = getComputedStyle(elem);\n            result = style.getPropertyCSSValue(property);\n            ref = this.vendors;\n            for (j = 0, len = ref.length; j < len; j++) {\n                vendor = ref[j];\n                result = result || style.getPropertyCSSValue(\"-\" + vendor + \"-\" + property);\n            }\n            return result;\n        };\n\n        WOW.prototype.animationName = function (box) {\n            var animationName, error;\n            try {\n                animationName = this.vendorCSS(box, 'animation-name').cssText;\n            }\n            catch (error) {\n                animationName = getComputedStyle(box).getPropertyValue('animation-name');\n            }\n            if (animationName === 'none') {\n                return '';\n            }\n            else {\n                return animationName;\n            }\n        };\n\n        WOW.prototype.cacheAnimationName = function (box) {\n            return this.animationNameCache.set(box, this.animationName(box));\n        };\n\n        WOW.prototype.cachedAnimationName = function (box) {\n            return this.animationNameCache.get(box);\n        };\n\n        WOW.prototype.scrollHandler = function () {\n            return this.scrolled = true;\n        };\n\n        WOW.prototype.scrollCallback = function () {\n            var box;\n            if (this.scrolled) {\n                this.scrolled = false;\n                this.boxes = (function () {\n                    var j, len, ref, results;\n                    ref = this.boxes;\n                    results = [];\n                    for (j = 0, len = ref.length; j < len; j++) {\n                        box = ref[j];\n                        if (!(box)) {\n                            continue;\n                        }\n                        if (this.isVisible(box)) {\n                            this.show(box);\n                            continue;\n                        }\n                        results.push(box);\n                    }\n                    return results;\n                }).call(this);\n                if (!(this.boxes.length || this.config.live)) {\n                    return this.stop();\n                }\n            }\n        };\n\n        WOW.prototype.offsetTop = function (element) {\n            var top;\n            while (element.offsetTop === void 0) {\n                element = element.parentNode;\n            }\n            top = element.offsetTop;\n            while (element = element.offsetParent) {\n                top += element.offsetTop;\n            }\n            return top;\n        };\n\n        WOW.prototype.isVisible = function (box) {\n            var bottom, offset, top, viewBottom, viewTop;\n            offset = box.getAttribute('data-wow-offset') || this.config.offset;\n            viewTop = (this.config.scrollContainer && this.config.scrollContainer.scrollTop) || window.pageYOffset;\n            viewBottom = viewTop + Math.min(this.element.clientHeight, this.util().innerHeight()) - offset;\n            top = this.offsetTop(box);\n            bottom = top + box.clientHeight;\n            return top <= viewBottom && bottom >= viewTop;\n        };\n\n        WOW.prototype.util = function () {\n            return this._util != null ? this._util : this._util = new Util();\n        };\n\n        WOW.prototype.disabled = function () {\n            return !this.config.mobile && this.util().isMobile(navigator.userAgent);\n        };\n\n        return WOW;\n\n    })();\n\n}).call(this);\n"],"sourceRoot":"assets/scripts/"}