initial commit
authorAnthony Talarico <talarico@gaslightmedia.com>
Fri, 8 Jun 2018 12:01:28 +0000 (08:01 -0400)
committerAnthony Talarico <talarico@gaslightmedia.com>
Fri, 8 Jun 2018 12:01:28 +0000 (08:01 -0400)
205 files changed:
.gitignore [new file with mode: 0644]
bower.json [new file with mode: 0644]
dev/js/app.js [new file with mode: 0644]
dev/js/custom/pageSetup.js [new file with mode: 0644]
dev/js/dollarsign.js [new file with mode: 0644]
dev/js/foundation.min.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/a-download.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/audio-audiodata-api.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/audio-webaudio-api.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/battery-api.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/battery-level.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/blob-constructor.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/canvas-todataurl-type.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/contenteditable.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/contentsecuritypolicy.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/contextmenu.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/cookies.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/cors.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-backgroundposition-shorthand.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-backgroundposition-xy.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-backgroundrepeat.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-backgroundsizecover.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-boxsizing.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-calc.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-cubicbezierrange.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-displayrunin.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-displaytable.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-filters.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-hyphens.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-lastchild.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-mask.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-mediaqueries.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-objectfit.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-overflow-scrolling.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-pointerevents.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-positionsticky.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-regions.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-remunit.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-resize.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-scrollbars.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-shapes.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-subpixelfont.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-supports.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-userselect.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-vhunit.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-vmaxunit.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-vminunit.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/css-vwunit.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/custom-protocol-handler.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/dart.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/dataview-api.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/dom-classlist.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/dom-createElement-attrs.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/dom-dataset.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/dom-microdata.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/elem-datalist.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/elem-details.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/elem-output.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/elem-progress-meter.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/elem-ruby.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/elem-time.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/elem-track.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/emoji.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/es5-strictmode.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/event-deviceorientation-motion.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/exif-orientation.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/file-api.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/file-filesystem.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/forms-fileinput.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/forms-formattribute.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/forms-inputnumber-l10n.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/forms-placeholder.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/forms-speechinput.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/forms-validation.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/fullscreen-api.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/gamepad.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/getusermedia.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/ie8compat.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/iframe-sandbox.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/iframe-seamless.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/iframe-srcdoc.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/img-apng.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/img-webp.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/json.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/lists-reversed.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/mathml.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/network-connection.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/network-eventsource.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/network-xhr2.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/notification.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/performance.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/pointerlock-api.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/quota-management-api.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/requestanimationframe.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/script-async.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/script-defer.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/style-scoped.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/svg-filters.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/unicode.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/url-data-uri.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/userdata.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/vibration.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/web-intents.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/webgl-extensions.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/websockets-binary.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/window-framed.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/workers-blobworkers.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/workers-dataworkers.js [new file with mode: 0644]
dev/js/modernizr/feature-detects/workers-sharedworkers.js [new file with mode: 0644]
dev/js/modernizr/grunt.js [new file with mode: 0644]
dev/js/modernizr/modernizr.js [new file with mode: 0644]
dev/js/modernizr/modernizr.min.js [new file with mode: 0644]
dev/js/modernizr/test/caniuse_files/ga.js [new file with mode: 0644]
dev/js/modernizr/test/caniuse_files/jquery.min.js [new file with mode: 0644]
dev/js/modernizr/test/caniuse_files/modernizr-1.7.min.js [new file with mode: 0644]
dev/js/modernizr/test/js/dumpdata.js [new file with mode: 0644]
dev/js/modernizr/test/js/lib/detect-global.js [new file with mode: 0644]
dev/js/modernizr/test/js/lib/jquery-1.7b2.js [new file with mode: 0644]
dev/js/modernizr/test/js/lib/jsonselect.js [new file with mode: 0644]
dev/js/modernizr/test/js/lib/polyfills.js [new file with mode: 0644]
dev/js/modernizr/test/js/lib/uaparser.js [new file with mode: 0644]
dev/js/modernizr/test/js/setup.js [new file with mode: 0644]
dev/js/modernizr/test/js/unit-caniuse.js [new file with mode: 0644]
dev/js/modernizr/test/js/unit.js [new file with mode: 0644]
dev/js/modernizr/test/qunit/qunit.js [new file with mode: 0644]
dev/js/modernizr/test/qunit/run-qunit.js [new file with mode: 0644]
dev/lib/menu-walker.php [new file with mode: 0644]
dev/lib/navigation.php [new file with mode: 0644]
dev/scss/_blog.scss [new file with mode: 0644]
dev/scss/_body.scss [new file with mode: 0644]
dev/scss/_content.scss [new file with mode: 0644]
dev/scss/_defaults.scss [new file with mode: 0644]
dev/scss/_footer.scss [new file with mode: 0644]
dev/scss/_header.scss [new file with mode: 0644]
dev/scss/_main.scss [new file with mode: 0644]
dev/scss/_mixins.scss [new file with mode: 0644]
dev/scss/_off-canvas.scss [new file with mode: 0644]
dev/scss/_plugins.scss [new file with mode: 0644]
dev/scss/_search.scss [new file with mode: 0644]
dev/scss/_settings.scss [new file with mode: 0644]
dev/scss/_shadow.wrapper.scss [new file with mode: 0644]
dev/scss/_sidebar.scss [new file with mode: 0644]
dev/scss/_slideshow.scss [new file with mode: 0644]
dev/scss/_structure.scss [new file with mode: 0644]
dev/scss/_topbar.scss [new file with mode: 0644]
dev/scss/_wordpress.scss [new file with mode: 0644]
dev/scss/admin/tinymce.css [new file with mode: 0644]
dev/scss/app.scss [new file with mode: 0644]
dev/scss/mixins/_gradient.scss [new file with mode: 0644]
dev/scss/mixins/_off-canvas-arrow.scss [new file with mode: 0644]
dev/scss/plugins/_blocks.scss [new file with mode: 0644]
dev/scss/plugins/_events.scss [new file with mode: 0644]
dev/scss/plugins/_fullCalendar.scss [new file with mode: 0644]
dev/scss/plugins/_glm-member-db-contacts.scss [new file with mode: 0644]
dev/scss/plugins/_glm-member-db-events.scss [new file with mode: 0644]
dev/scss/plugins/_glm-member-db.scss [new file with mode: 0644]
dev/scss/plugins/_gravityForms.scss [new file with mode: 0644]
dev/scss/plugins/_nextgen.scss [new file with mode: 0644]
dist/app.css [new file with mode: 0644]
dist/app.css.map [new file with mode: 0644]
dist/app.js [new file with mode: 0644]
functions.php [new file with mode: 0644]
gulpfile.js [new file with mode: 0644]
index.php [new file with mode: 0644]
nggallery/album-glmalbums.php [new file with mode: 0644]
nggallery/gallery-glmphotos-8.php [new file with mode: 0644]
nggallery/gallery-glmphotos-narrow.php [new file with mode: 0644]
nggallery/gallery-glmphotos.php [new file with mode: 0644]
nggallery/gallery-glmvideos.php [new file with mode: 0644]
package-lock.json [new file with mode: 0644]
package.json [new file with mode: 0644]
parts/blog-content-area.php [new file with mode: 0644]
parts/blog-feed-front.php [new file with mode: 0644]
parts/blog-sidebar-r.php [new file with mode: 0644]
parts/blog-text-single.php [new file with mode: 0644]
parts/blog-text.php [new file with mode: 0644]
parts/dropdown-destinations.php [new file with mode: 0644]
parts/dropdown-map.php [new file with mode: 0644]
parts/dropdown-venues.php [new file with mode: 0644]
parts/events-feed.php [new file with mode: 0644]
parts/glm-blocks.php [new file with mode: 0644]
parts/glm-members-only-login-form.php [new file with mode: 0644]
parts/glm-members-only-lostpass-form.php [new file with mode: 0644]
parts/glm-members-only-top-bar.php [new file with mode: 0644]
parts/header-meta.php [new file with mode: 0644]
parts/main-content.php [new file with mode: 0644]
parts/region-map.php [new file with mode: 0644]
parts/search-form.php [new file with mode: 0644]
parts/share-this.php [new file with mode: 0644]
parts/slide-show.php [new file with mode: 0644]
parts/video.php [new file with mode: 0644]
robots.txt [new file with mode: 0644]
sections/blog-archive.php [new file with mode: 0644]
sections/blog-home.php [new file with mode: 0644]
sections/blog-single.php [new file with mode: 0644]
sections/copyright.php [new file with mode: 0644]
sections/footer.php [new file with mode: 0644]
sections/header.php [new file with mode: 0644]
sections/home-page.php [new file with mode: 0644]
sections/interior-page.php [new file with mode: 0644]
sections/landing-page.php [new file with mode: 0644]
sections/off-canvas.php [new file with mode: 0644]
sections/search.php [new file with mode: 0644]
sidebar.php [new file with mode: 0644]
style.css [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..d39bac5
--- /dev/null
@@ -0,0 +1,3 @@
+*.DS_Store
+/bower_components/*
+/node_modules/*
\ No newline at end of file
diff --git a/bower.json b/bower.json
new file mode 100644 (file)
index 0000000..028481f
--- /dev/null
@@ -0,0 +1,6 @@
+{
+  "name": "foundation-libsass-template",
+  "dependencies": {
+    "foundation": "zurb/bower-foundation"
+  }
+}
diff --git a/dev/js/app.js b/dev/js/app.js
new file mode 100644 (file)
index 0000000..f173394
--- /dev/null
@@ -0,0 +1,4 @@
+var $=jQuery.noConflict();!function(t,e,i,s){"use strict";function n(t){return("string"==typeof t||t instanceof String)&&(t=t.replace(/^['\\\/"]+|(;\s?})+|['\\\/"]+$/g,"")),t}function a(t){this.selector=t,this.query=""}(function(e){var i=t("head");i.prepend(t.map(e,function(t){return 0===i.has("."+t).length?'<meta class="'+t+'" />':void 0}))})(["foundation-mq-small","foundation-mq-small-only","foundation-mq-medium","foundation-mq-medium-only","foundation-mq-large","foundation-mq-large-only","foundation-mq-xlarge","foundation-mq-xlarge-only","foundation-mq-xxlarge","foundation-data-attribute-namespace"]),t(function(){"undefined"!=typeof FastClick&&void 0!==i.body&&FastClick.attach(i.body)});var o=function(e,s){if("string"==typeof e){if(s){var n;if(s.jquery){if(!(n=s[0]))return s}else n=s;return t(n.querySelectorAll(e))}return t(i.querySelectorAll(e))}return t(e,s)},r=function(t){var e=[];return t||e.push("data"),this.namespace.length>0&&e.push(this.namespace),e.push(this.name),e.join("-")},l=function(t){for(var e=t.split("-"),i=e.length,s=[];i--;)0!==i?s.push(e[i]):this.namespace.length>0?s.push(this.namespace,e[i]):s.push(e[i]);return s.reverse().join("-")},d=function(e,i){var s=this,n=function(){var n=o(this),a=!n.data(s.attr_name(!0)+"-init");n.data(s.attr_name(!0)+"-init",t.extend({},s.settings,i||e,s.data_options(n))),a&&s.events(this)};return o(this.scope).is("["+this.attr_name()+"]")?n.call(this.scope):o("["+this.attr_name()+"]",this.scope).each(n),"string"==typeof e?this[e].call(this,i):void 0},c=function(t,e){function i(){e(t[0])}function s(){if(this.one("load",i),/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var t=this.attr("src"),e=t.match(/\?/)?"&":"?";e+="random="+(new Date).getTime(),this.attr("src",t+e)}}return t.attr("src")?void(t[0].complete||4===t[0].readyState?i():s.call(t)):void i()};e.matchMedia||(e.matchMedia=function(){var t=e.styleMedia||e.media;if(!t){var s=i.createElement("style"),n=i.getElementsByTagName("script")[0],a=null;s.type="text/css",s.id="matchmediajs-test",n.parentNode.insertBefore(s,n),a="getComputedStyle"in e&&e.getComputedStyle(s,null)||s.currentStyle,t={matchMedium:function(t){var e="@media "+t+"{ #matchmediajs-test { width: 1px; } }";return s.styleSheet?s.styleSheet.cssText=e:s.textContent=e,"1px"===a.width}}}return function(e){return{matches:t.matchMedium(e||"all"),media:e||"all"}}}()),function(t){function i(){s&&(o(i),l&&t.fx.tick())}for(var s,n=0,a=["webkit","moz"],o=e.requestAnimationFrame,r=e.cancelAnimationFrame,l=void 0!==t.fx;n<a.length&&!o;n++)o=e[a[n]+"RequestAnimationFrame"],r=r||e[a[n]+"CancelAnimationFrame"]||e[a[n]+"CancelRequestAnimationFrame"];o?(e.requestAnimationFrame=o,e.cancelAnimationFrame=r,l&&(t.fx.timer=function(e){e()&&t.timers.push(e)&&!s&&(s=!0,i())},t.fx.stop=function(){s=!1})):(e.requestAnimationFrame=function(t){var i=(new Date).getTime(),s=Math.max(0,16-(i-n)),a=e.setTimeout(function(){t(i+s)},s);return n=i+s,a},e.cancelAnimationFrame=function(t){clearTimeout(t)})}(t),a.prototype.toString=function(){return this.query||(this.query=o(this.selector).css("font-family").replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g,""))},e.Foundation={name:"Foundation",version:"5.5.3",media_queries:{small:new a(".foundation-mq-small"),"small-only":new a(".foundation-mq-small-only"),medium:new a(".foundation-mq-medium"),"medium-only":new a(".foundation-mq-medium-only"),large:new a(".foundation-mq-large"),"large-only":new a(".foundation-mq-large-only"),xlarge:new a(".foundation-mq-xlarge"),"xlarge-only":new a(".foundation-mq-xlarge-only"),xxlarge:new a(".foundation-mq-xxlarge")},stylesheet:t("<style></style>").appendTo("head")[0].sheet,global:{namespace:s},init:function(t,i,s,n,a){var r=[t,s,n,a],l=[];if(this.rtl=/rtl/i.test(o("html").attr("dir")),this.scope=t||this.scope,this.set_namespace(),i&&"string"==typeof i&&!/reflow/i.test(i))this.libs.hasOwnProperty(i)&&l.push(this.init_lib(i,r));else for(var d in this.libs)l.push(this.init_lib(d,i));return o(e).load(function(){o(e).trigger("resize.fndtn.clearing").trigger("resize.fndtn.dropdown").trigger("resize.fndtn.equalizer").trigger("resize.fndtn.interchange").trigger("resize.fndtn.joyride").trigger("resize.fndtn.magellan").trigger("resize.fndtn.topbar").trigger("resize.fndtn.slider")}),t},init_lib:function(e,i){return this.libs.hasOwnProperty(e)?(this.patch(this.libs[e]),i&&i.hasOwnProperty(e)?(void 0!==this.libs[e].settings?t.extend(!0,this.libs[e].settings,i[e]):void 0!==this.libs[e].defaults&&t.extend(!0,this.libs[e].defaults,i[e]),this.libs[e].init.apply(this.libs[e],[this.scope,i[e]])):(i=i instanceof Array?i:new Array(i),this.libs[e].init.apply(this.libs[e],i))):function(){}},patch:function(t){t.scope=this.scope,t.namespace=this.global.namespace,t.rtl=this.rtl,t.data_options=this.utils.data_options,t.attr_name=r,t.add_namespace=l,t.bindings=d,t.S=this.utils.S},inherit:function(t,e){for(var i=e.split(" "),s=i.length;s--;)this.utils.hasOwnProperty(i[s])&&(t[i[s]]=this.utils[i[s]])},set_namespace:function(){var e=this.global.namespace===s?t(".foundation-data-attribute-namespace").css("font-family"):this.global.namespace;this.global.namespace=e===s||/false/i.test(e)?"":e},libs:{},utils:{S:o,throttle:function(t,e){var i=null;return function(){var s=this,n=arguments;null==i&&(i=setTimeout(function(){t.apply(s,n),i=null},e))}},debounce:function(t,e,i){var s,n;return function(){var a=this,o=arguments,r=function(){s=null,i||(n=t.apply(a,o))},l=i&&!s;return clearTimeout(s),s=setTimeout(r,e),l&&(n=t.apply(a,o)),n}},data_options:function(e,i){function s(e){return"string"==typeof e?t.trim(e):e}i=i||"options";var n,a,o,r={},l=function(t){var e=Foundation.global.namespace;return e.length>0?t.data(e+"-"+i):t.data(i)}(e);if("object"==typeof l)return l;for(o=(l||":").split(";"),n=o.length;n--;)a=o[n].split(":"),a=[a[0],a.slice(1).join(":")],/true/i.test(a[1])&&(a[1]=!0),/false/i.test(a[1])&&(a[1]=!1),function(t){return!isNaN(t-0)&&null!==t&&""!==t&&!1!==t&&!0!==t}(a[1])&&(-1===a[1].indexOf(".")?a[1]=parseInt(a[1],10):a[1]=parseFloat(a[1])),2===a.length&&a[0].length>0&&(r[s(a[0])]=s(a[1]));return r},register_media:function(e,i){Foundation.media_queries[e]===s&&(t("head").append('<meta class="'+i+'"/>'),Foundation.media_queries[e]=n(t("."+i).css("font-family")))},add_custom_rule:function(t,e){if(e===s&&Foundation.stylesheet)Foundation.stylesheet.insertRule(t,Foundation.stylesheet.cssRules.length);else{Foundation.media_queries[e]!==s&&Foundation.stylesheet.insertRule("@media "+Foundation.media_queries[e]+"{ "+t+" }",Foundation.stylesheet.cssRules.length)}},image_loaded:function(t,e){var i=this,n=t.length;(0===n||function(t){for(var e=t.length,i=e-1;i>=0;i--)if(t.attr("height")===s)return!1;return!0}(t))&&e(t),t.each(function(){c(i.S(this),function(){0===(n-=1)&&e(t)})})},random_str:function(){return this.fidx||(this.fidx=0),this.prefix=this.prefix||[this.name||"F",(+new Date).toString(36)].join("-"),this.prefix+(this.fidx++).toString(36)},match:function(t){return e.matchMedia(t).matches},is_small_up:function(){return this.match(Foundation.media_queries.small)},is_medium_up:function(){return this.match(Foundation.media_queries.medium)},is_large_up:function(){return this.match(Foundation.media_queries.large)},is_xlarge_up:function(){return this.match(Foundation.media_queries.xlarge)},is_xxlarge_up:function(){return this.match(Foundation.media_queries.xxlarge)},is_small_only:function(){return!(this.is_medium_up()||this.is_large_up()||this.is_xlarge_up()||this.is_xxlarge_up())},is_medium_only:function(){return this.is_medium_up()&&!this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_large_only:function(){return this.is_medium_up()&&this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xxlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&this.is_xxlarge_up()}}},t.fn.foundation=function(){var t=Array.prototype.slice.call(arguments,0);return this.each(function(){return Foundation.init.apply(Foundation,[this].concat(t)),this})}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.abide={name:"abide",version:"5.5.3",settings:{live_validate:!0,validate_on_blur:!0,focus_on_invalid:!0,error_labels:!0,error_class:"error",timeout:1e3,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/},validators:{equalTo:function(t,e,s){return i.getElementById(t.getAttribute(this.add_namespace("data-equalto"))).value===t.value}}},timer:null,init:function(t,e,i){this.bindings(e,i)},events:function(e){function i(t,e){clearTimeout(s.timer),s.timer=setTimeout(function(){s.validate([t],e)}.bind(t),a.timeout)}var s=this,n=s.S(e).attr("novalidate","novalidate"),a=n.data(this.attr_name(!0)+"-init")||{};this.invalid_attr=this.add_namespace("data-invalid"),n.off(".abide").on("submit.fndtn.abide",function(t){var e=/ajax/i.test(s.S(this).attr(s.attr_name()));return s.validate(s.S(this).find("input, textarea, select").not(":hidden, [data-abide-ignore]").get(),t,e)}).on("validate.fndtn.abide",function(t){"manual"===a.validate_on&&s.validate([t.target],t)}).on("reset",function(e){return s.reset(t(this),e)}).find("input, textarea, select").not(":hidden, [data-abide-ignore]").off(".abide").on("blur.fndtn.abide change.fndtn.abide",function(t){var e=this.getAttribute("id"),s=n.find('[data-equalto="'+e+'"]');a.validate_on_blur&&!0===a.validate_on_blur&&i(this,t),void 0!==s.get(0)&&s.val().length&&i(s.get(0),t),"change"===a.validate_on&&i(this,t)}).on("keydown.fndtn.abide",function(t){var e=this.getAttribute("id"),s=n.find('[data-equalto="'+e+'"]');a.live_validate&&!0===a.live_validate&&9!=t.which&&i(this,t),void 0!==s.get(0)&&s.val().length&&i(s.get(0),t),"tab"===a.validate_on&&9===t.which?i(this,t):"change"===a.validate_on&&i(this,t)}).on("focus",function(e){navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)&&t("html, body").animate({scrollTop:t(e.target).offset().top},100)})},reset:function(e,i){var s=this;e.removeAttr(s.invalid_attr),t("["+s.invalid_attr+"]",e).removeAttr(s.invalid_attr),t("."+s.settings.error_class,e).not("small").removeClass(s.settings.error_class),t(":input",e).not(":button, :submit, :reset, :hidden, [data-abide-ignore]").val("").removeAttr(s.invalid_attr)},validate:function(t,e,i){for(var s=this.parse_patterns(t),n=s.length,a=this.S(t[0]).closest("form"),o=/submit/.test(e.type),r=0;n>r;r++)if(!s[r]&&(o||i))return this.settings.focus_on_invalid&&t[r].focus(),a.trigger("invalid.fndtn.abide"),this.S(t[r]).closest("form").attr(this.invalid_attr,""),!1;return(o||i)&&a.trigger("valid.fndtn.abide"),a.removeAttr(this.invalid_attr),!i},parse_patterns:function(t){for(var e=t.length,i=[];e--;)i.push(this.pattern(t[e]));return this.check_validation_and_apply_styles(i)},pattern:function(t){var e=t.getAttribute("type"),i="string"==typeof t.getAttribute("required"),s=t.getAttribute("pattern")||"";return this.settings.patterns.hasOwnProperty(s)&&s.length>0?[t,this.settings.patterns[s],i]:s.length>0?[t,new RegExp(s),i]:this.settings.patterns.hasOwnProperty(e)?[t,this.settings.patterns[e],i]:(s=/.*/,[t,s,i])},check_validation_and_apply_styles:function(e){var i=e.length,s=[];if(0==i)return s;var n=this.S(e[0][0]).closest("[data-"+this.attr_name(!0)+"]");for(n.data(this.attr_name(!0)+"-init")||{};i--;){var a,o,r=e[i][0],l=e[i][2],d=r.value.trim(),c=this.S(r).parent(),h=r.getAttribute(this.add_namespace("data-abide-validator")),u="radio"===r.type,f="checkbox"===r.type,p=this.S('label[for="'+r.getAttribute("id")+'"]'),g=!l||r.value.length>0,_=[];if(r.getAttribute(this.add_namespace("data-equalto"))&&(h="equalTo"),a=c.is("label")?c.parent():c,u&&l)_.push(this.valid_radio(r,l));else if(f&&l)_.push(this.valid_checkbox(r,l));else if(h){for(var m=h.split(" "),v=!0,b=!0,x=0;x<m.length;x++)o=this.settings.validators[m[x]].apply(this,[r,l,a]),_.push(o),b=o&&v,v=o;b?(this.S(r).removeAttr(this.invalid_attr),a.removeClass("error"),p.length>0&&this.settings.error_labels&&p.removeClass(this.settings.error_class).removeAttr("role"),t(r).triggerHandler("valid")):(this.S(r).attr(this.invalid_attr,""),a.addClass("error"),p.length>0&&this.settings.error_labels&&p.addClass(this.settings.error_class).attr("role","alert"),t(r).triggerHandler("invalid"))}else if(e[i][1].test(d)&&g||!l&&r.value.length<1||t(r).attr("disabled")?_.push(!0):_.push(!1),_=[_.every(function(t){return t})],_[0])this.S(r).removeAttr(this.invalid_attr),r.setAttribute("aria-invalid","false"),r.removeAttribute("aria-describedby"),a.removeClass(this.settings.error_class),p.length>0&&this.settings.error_labels&&p.removeClass(this.settings.error_class).removeAttr("role"),t(r).triggerHandler("valid");else{this.S(r).attr(this.invalid_attr,""),r.setAttribute("aria-invalid","true");var y=a.find("small."+this.settings.error_class,"span."+this.settings.error_class),w=y.length>0?y[0].id:"";w.length>0&&r.setAttribute("aria-describedby",w),a.addClass(this.settings.error_class),p.length>0&&this.settings.error_labels&&p.addClass(this.settings.error_class).attr("role","alert"),t(r).triggerHandler("invalid")}s=s.concat(_)}return s},valid_checkbox:function(e,i){var e=this.S(e),s=e.is(":checked")||!i||e.get(0).getAttribute("disabled");return s?(e.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),t(e).triggerHandler("valid")):(e.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),t(e).triggerHandler("invalid")),s},valid_radio:function(e,i){for(var s=e.getAttribute("name"),n=this.S(e).closest("[data-"+this.attr_name(!0)+"]").find("[name='"+s+"']"),a=n.length,o=!1,r=!1,l=0;a>l;l++)n[l].getAttribute("disabled")?(r=!0,o=!0):n[l].checked?o=!0:r&&(o=!1);for(var l=0;a>l;l++)o?(this.S(n[l]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),t(n[l]).triggerHandler("valid")):(this.S(n[l]).attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),t(n[l]).triggerHandler("invalid"));return o},valid_equal:function(t,e,s){var n=i.getElementById(t.getAttribute(this.add_namespace("data-equalto"))).value,a=t.value,o=n===a;return o?(this.S(t).removeAttr(this.invalid_attr),s.removeClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.removeClass(this.settings.error_class)):(this.S(t).attr(this.invalid_attr,""),s.addClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.addClass(this.settings.error_class)),o},valid_oneof:function(t,e,i,s){var t=this.S(t),n=this.S("["+this.add_namespace("data-oneof")+"]"),a=n.filter(":checked").length>0;if(a?t.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class):t.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),!s){var o=this;n.each(function(){o.valid_oneof.call(o,this,null,null,!0)})}return a},reflow:function(t,e){var i=this,s=i.S("["+this.attr_name()+"]").attr("novalidate","novalidate");i.S(s).each(function(t,e){i.events(e)})}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.accordion={name:"accordion",version:"5.5.3",settings:{content_class:"content",active_class:"active",multi_expand:!1,toggleable:!0,callback:function(){}},init:function(t,e,i){this.bindings(e,i)},events:function(e){var i=this,s=this.S;i.create(this.S(e)),s(this.scope).off(".fndtn.accordion").on("click.fndtn.accordion","["+this.attr_name()+"] > dd > a, ["+this.attr_name()+"] > li > a",function(e){var n=s(this).closest("["+i.attr_name()+"]"),a=i.attr_name()+"="+n.attr(i.attr_name()),o=n.data(i.attr_name(!0)+"-init")||i.settings,r=s("#"+this.href.split("#")[1]),l=t("> dd, > li",n),d=l.children("."+o.content_class),c=d.filter("."+o.active_class);return e.preventDefault(),n.attr(i.attr_name())&&(d=d.add("["+a+"] dd > ."+o.content_class+", ["+a+"] li > ."+o.content_class),l=l.add("["+a+"] dd, ["+a+"] li")),o.toggleable&&r.is(c)?(r.parent("dd, li").toggleClass(o.active_class,!1),r.toggleClass(o.active_class,!1),s(this).attr("aria-expanded",function(t,e){return"true"===e?"false":"true"}),o.callback(r),r.triggerHandler("toggled",[n]),void n.triggerHandler("toggled",[r])):(o.multi_expand||(d.removeClass(o.active_class),l.removeClass(o.active_class),l.children("a").attr("aria-expanded","false")),r.addClass(o.active_class).parent().addClass(o.active_class),o.callback(r),r.triggerHandler("toggled",[n]),n.triggerHandler("toggled",[r]),void s(this).attr("aria-expanded","true"))})},create:function(e){var i=this,s=e,n=t("> .accordion-navigation",s),a=s.data(i.attr_name(!0)+"-init")||i.settings;n.children("a").attr("aria-expanded","false"),n.has("."+a.content_class+"."+a.active_class).addClass(a.active_class).children("a").attr("aria-expanded","true"),a.multi_expand&&e.attr("aria-multiselectable","true")},toggle:function(t){var t=void 0!==t?t:{},i=void 0!==t.selector?t.selector:"",s=void 0!==t.toggle_state?t.toggle_state:"",n=void 0!==t.$accordion?t.$accordion:this.S(this.scope).closest("["+this.attr_name()+"]"),a=n.find("> dd"+i+", > li"+i);if(a.length<1)return e.console&&console.error("Selection not found.",i),!1;var o=this.S,r=this.settings.active_class;a.each(function(){var t=o(this),e=t.hasClass(r);(e&&"close"===s||!e&&"open"===s||""===s)&&t.find("> a").trigger("click.fndtn.accordion")})},open:function(t){var t=void 0!==t?t:{};t.toggle_state="open",this.toggle(t)},close:function(t){var t=void 0!==t?t:{};t.toggle_state="close",this.toggle(t)},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.alert={name:"alert",version:"5.5.3",settings:{callback:function(){}},init:function(t,e,i){this.bindings(e,i)},events:function(){var e=this,i=this.S;t(this.scope).off(".alert").on("click.fndtn.alert","["+this.attr_name()+"] .close",function(t){var s=i(this).closest("["+e.attr_name()+"]"),n=s.data(e.attr_name(!0)+"-init")||e.settings;t.preventDefault(),Modernizr.csstransitions?(s.addClass("alert-close"),s.on("transitionend webkitTransitionEnd oTransitionEnd",function(t){i(this).trigger("close.fndtn.alert").remove(),n.callback()})):s.fadeOut(300,function(){i(this).trigger("close.fndtn.alert").remove(),n.callback()})})},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.clearing={name:"clearing",version:"5.5.3",settings:{templates:{viewing:'<a href="#" class="clearing-close">&times;</a><div class="visible-img" style="display: none"><div class="clearing-touch-label"></div><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" /><p class="clearing-caption"></p><a href="#" class="clearing-main-prev"><span></span></a><a href="#" class="clearing-main-next"><span></span></a></div><img class="clearing-preload-next" style="display: none" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" /><img class="clearing-preload-prev" style="display: none" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" />'},close_selectors:".clearing-close, div.clearing-blackout",open_selectors:"",skip_selector:"",touch_label:"",init:!1,locked:!1},init:function(t,e,i){var s=this;Foundation.inherit(this,"throttle image_loaded"),this.bindings(e,i),s.S(this.scope).is("["+this.attr_name()+"]")?this.assemble(s.S("li",this.scope)):s.S("["+this.attr_name()+"]",this.scope).each(function(){s.assemble(s.S("li",this))})},events:function(s){var n=this,a=n.S,o=t(".scroll-container");o.length>0&&(this.scope=o),a(this.scope).off(".clearing").on("click.fndtn.clearing","ul["+this.attr_name()+"] li "+this.settings.open_selectors,function(t,e,i){var e=e||a(this),i=i||e,s=e.next("li"),o=e.closest("["+n.attr_name()+"]").data(n.attr_name(!0)+"-init"),r=a(t.target);t.preventDefault(),o||(n.init(),o=e.closest("["+n.attr_name()+"]").data(n.attr_name(!0)+"-init")),i.hasClass("visible")&&e[0]===i[0]&&s.length>0&&n.is_open(e)&&(i=s,r=a("img",i)),n.open(r,e,i),n.update_paddles(i)}).on("click.fndtn.clearing",".clearing-main-next",function(t){n.nav(t,"next")}).on("click.fndtn.clearing",".clearing-main-prev",function(t){n.nav(t,"prev")}).on("click.fndtn.clearing",this.settings.close_selectors,function(t){Foundation.libs.clearing.close(t,this)}),t(i).on("keydown.fndtn.clearing",function(t){n.keydown(t)}),a(e).off(".clearing").on("resize.fndtn.clearing",function(){n.resize()}),this.swipe_events(s)},swipe_events:function(t){var e=this,i=e.S;i(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(t){t.touches||(t=t.originalEvent);var e={start_page_x:t.touches[0].pageX,start_page_y:t.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:void 0};i(this).data("swipe-transition",e),t.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(t){if(t.touches||(t=t.originalEvent),!(t.touches.length>1||t.scale&&1!==t.scale)){var s=i(this).data("swipe-transition");if(void 0===s&&(s={}),s.delta_x=t.touches[0].pageX-s.start_page_x,Foundation.rtl&&(s.delta_x=-s.delta_x),void 0===s.is_scrolling&&(s.is_scrolling=!!(s.is_scrolling||Math.abs(s.delta_x)<Math.abs(t.touches[0].pageY-s.start_page_y))),!s.is_scrolling&&!s.active){t.preventDefault();var n=s.delta_x<0?"next":"prev";s.active=!0,e.nav(t,n)}}}).on("touchend.fndtn.clearing",".visible-img",function(t){i(this).data("swipe-transition",{}),t.stopPropagation()})},assemble:function(e){var i=e.parent();if(!i.parent().hasClass("carousel")){i.after('<div id="foundationClearingHolder"></div>');var s=i.detach(),n="";if(null!=s[0]){n=s[0].outerHTML;var a=this.S("#foundationClearingHolder"),o=i.data(this.attr_name(!0)+"-init"),r={grid:'<div class="carousel">'+n+"</div>",viewing:o.templates.viewing},l='<div class="clearing-assembled"><div>'+r.viewing+r.grid+"</div></div>",d=this.settings.touch_label;Modernizr.touch&&(l=t(l).find(".clearing-touch-label").html(d).end()),a.after(l).remove()}}},open:function(e,s,n){function a(){setTimeout(function(){this.image_loaded(u,function(){1!==u.outerWidth()||p?o.call(this,u):a.call(this)}.bind(this))}.bind(this),100)}function o(e){var i=t(e);i.css("visibility","visible"),i.trigger("imageVisible"),l.css("overflow","hidden"),d.addClass("clearing-blackout"),c.addClass("clearing-container"),h.show(),this.fix_height(n).caption(r.S(".clearing-caption",h),r.S("img",n)).center_and_label(e,f).shift(s,n,function(){n.closest("li").siblings().removeClass("visible"),n.closest("li").addClass("visible")}),h.trigger("opened.fndtn.clearing")}var r=this,l=t(i.body),d=n.closest(".clearing-assembled"),c=r.S("div",d).first(),h=r.S(".visible-img",c),u=r.S("img",h).not(e),f=r.S(".clearing-touch-label",c),p=!1,g={};t("body").on("touchmove",function(t){t.preventDefault()}),u.error(function(){p=!0}),this.locked()||(h.trigger("open.fndtn.clearing"),g=this.load(e),g.interchange?u.attr("data-interchange",g.interchange).foundation("interchange","reflow"):u.attr("src",g.src).attr("data-interchange",""),u.css("visibility","hidden"),a.call(this))},close:function(e,s){e.preventDefault();var n,a,o=function(t){return/blackout/.test(t.selector)?t:t.closest(".clearing-blackout")}(t(s)),r=t(i.body);return s===e.target&&o&&(r.css("overflow",""),n=t("div",o).first(),a=t(".visible-img",n),a.trigger("close.fndtn.clearing"),this.settings.prev_index=0,t("ul["+this.attr_name()+"]",o).attr("style","").closest(".clearing-blackout").removeClass("clearing-blackout"),n.removeClass("clearing-container"),a.hide(),a.trigger("closed.fndtn.clearing")),t("body").off("touchmove"),!1},is_open:function(t){return t.parent().prop("style").length>0},keydown:function(e){var i=t(".clearing-blackout ul["+this.attr_name()+"]"),s=this.rtl?37:39,n=this.rtl?39:37;e.which===s&&this.go(i,"next"),e.which===n&&this.go(i,"prev"),27===e.which&&this.S("a.clearing-close").trigger("click.fndtn.clearing")},nav:function(e,i){var s=t("ul["+this.attr_name()+"]",".clearing-blackout");e.preventDefault(),this.go(s,i)},resize:function(){var e=t("img",".clearing-blackout .visible-img"),i=t(".clearing-touch-label",".clearing-blackout");e.length&&(this.center_and_label(e,i),e.trigger("resized.fndtn.clearing"))},fix_height:function(t){var e=t.parent().children(),i=this;return e.each(function(){var t=i.S(this),e=t.find("img");t.height()>e.outerHeight()&&t.addClass("fix-height")}).closest("ul").width(100*e.length+"%"),this},update_paddles:function(t){t=t.closest("li");var e=t.closest(".carousel").siblings(".visible-img");t.next().length>0?this.S(".clearing-main-next",e).removeClass("disabled"):this.S(".clearing-main-next",e).addClass("disabled"),t.prev().length>0?this.S(".clearing-main-prev",e).removeClass("disabled"):this.S(".clearing-main-prev",e).addClass("disabled")},center_and_label:function(t,e){return!this.rtl&&e.length>0?e.css({marginLeft:-e.outerWidth()/2,marginTop:-t.outerHeight()/2-e.outerHeight()-10}):e.css({marginRight:-e.outerWidth()/2,marginTop:-t.outerHeight()/2-e.outerHeight()-10,left:"auto",right:"50%"}),this},load:function(t){var e,i,s;return"A"===t[0].nodeName?(e=t.attr("href"),i=t.data("clearing-interchange")):(s=t.closest("a"),e=s.attr("href"),i=s.data("clearing-interchange")),this.preload(t),{src:e||t.attr("src"),interchange:e?i:t.data("clearing-interchange")}},preload:function(t){this.img(t.closest("li").next(),"next").img(t.closest("li").prev(),"prev")},img:function(e,i){if(e.length){var s,n,a,o=t(".clearing-preload-"+i),r=this.S("a",e);r.length?(s=r.attr("href"),n=r.data("clearing-interchange")):(a=this.S("img",e),s=a.attr("src"),n=a.data("clearing-interchange")),n?o.attr("data-interchange",n):(o.attr("src",s),o.attr("data-interchange",""))}return this},caption:function(t,e){var i=e.attr("data-caption");if(i){t.get(0).innerHTML=i,t.show()}else t.text("").hide();return this},go:function(t,e){var i=this.S(".visible",t),s=i[e]();this.settings.skip_selector&&0!=s.find(this.settings.skip_selector).length&&(s=s[e]()),s.length&&this.S("img",s).trigger("click.fndtn.clearing",[i,s]).trigger("change.fndtn.clearing")},shift:function(t,e,i){var s,n=e.parent(),a=this.settings.prev_index||e.index(),o=this.direction(n,t,e),r=this.rtl?"right":"left",l=parseInt(n.css("left"),10),d=e.outerWidth(),c={};e.index()===a||/skip/.test(o)?/skip/.test(o)&&(s=e.index()-this.settings.up_count,this.lock(),s>0?(c[r]=-s*d,n.animate(c,300,this.unlock())):(c[r]=0,n.animate(c,300,this.unlock()))):/left/.test(o)?(this.lock(),c[r]=l+d,n.animate(c,300,this.unlock())):/right/.test(o)&&(this.lock(),c[r]=l-d,n.animate(c,300,this.unlock())),i()},direction:function(t,e,i){var s,n=this.S("li",t),a=n.outerWidth()+n.outerWidth()/4,o=Math.floor(this.S(".clearing-container").outerWidth()/a)-1,r=n.index(i);return this.settings.up_count=o,s=this.adjacent(this.settings.prev_index,r)?r>o&&r>this.settings.prev_index?"right":r>o-1&&r<=this.settings.prev_index&&"left":"skip",this.settings.prev_index=r,s},adjacent:function(t,e){for(var i=e+1;i>=e-1;i--)if(i===t)return!0;return!1},lock:function(){this.settings.locked=!0},unlock:function(){this.settings.locked=!1},locked:function(){return this.settings.locked},off:function(){this.S(this.scope).off(".fndtn.clearing"),this.S(e).off(".fndtn.clearing")},reflow:function(){this.init()}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.dropdown={name:"dropdown",version:"5.5.3",settings:{active_class:"open",disabled_class:"disabled",mega_class:"mega",align:"bottom",is_hover:!1,hover_timeout:150,opened:function(){},closed:function(){}},init:function(e,i,s){Foundation.inherit(this,"throttle"),t.extend(!0,this.settings,i,s),this.bindings(i,s)},events:function(s){var n=this,a=n.S;a(this.scope).off(".dropdown").on("click.fndtn.dropdown","["+this.attr_name()+"]",function(e){(!(a(this).data(n.attr_name(!0)+"-init")||n.settings).is_hover||Modernizr.touch)&&(e.preventDefault(),a(this).parent("[data-reveal-id]").length&&e.stopPropagation(),n.toggle(t(this)))}).on("mouseenter.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(t){var e,i,s=a(this);clearTimeout(n.timeout),s.data(n.data_attr())?(e=a("#"+s.data(n.data_attr())),i=s):(e=s,i=a("["+n.attr_name()+'="'+e.attr("id")+'"]'));var o=i.data(n.attr_name(!0)+"-init")||n.settings;a(t.currentTarget).data(n.data_attr())&&o.is_hover&&n.closeall.call(n),o.is_hover&&n.open.apply(n,[e,i])}).on("mouseleave.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(t){var e,i=a(this);if(i.data(n.data_attr()))e=i.data(n.data_attr(!0)+"-init")||n.settings;else var s=a("["+n.attr_name()+'="'+a(this).attr("id")+'"]'),e=s.data(n.attr_name(!0)+"-init")||n.settings;n.timeout=setTimeout(function(){i.data(n.data_attr())?e.is_hover&&n.close.call(n,a("#"+i.data(n.data_attr()))):e.is_hover&&n.close.call(n,i)}.bind(this),e.hover_timeout)}).on("click.fndtn.dropdown",function(e){var s=a(e.target).closest("["+n.attr_name()+"-content]");return s.find("a").length>0&&"false"!==s.attr("aria-autoclose")&&n.close.call(n,a("["+n.attr_name()+"-content]")),e.target!==i&&!t.contains(i.documentElement,e.target)||a(e.target).closest("["+n.attr_name()+"]").length>0?void 0:!a(e.target).data("revealId")&&s.length>0&&(a(e.target).is("["+n.attr_name()+"-content]")||t.contains(s.first()[0],e.target))?void e.stopPropagation():void n.close.call(n,a("["+n.attr_name()+"-content]"))}).on("opened.fndtn.dropdown","["+n.attr_name()+"-content]",function(){n.settings.opened.call(this)}).on("closed.fndtn.dropdown","["+n.attr_name()+"-content]",function(){n.settings.closed.call(this)}),a(e).off(".dropdown").on("resize.fndtn.dropdown",n.throttle(function(){n.resize.call(n)},50)),this.resize()},close:function(e){var i=this;e.each(function(s){(t("["+i.attr_name()+"="+e[s].id+"]")||t("aria-controls="+e[s].id+"]")).attr("aria-expanded","false"),i.S(this).hasClass(i.settings.active_class)&&(i.S(this).css(Foundation.rtl?"right":"left","-99999px").attr("aria-hidden","true").removeClass(i.settings.active_class).prev("["+i.attr_name()+"]").removeClass(i.settings.active_class).removeData("target"),i.S(this).trigger("closed.fndtn.dropdown",[e]))}),e.removeClass("f-open-"+this.attr_name(!0))},closeall:function(){var e=this;t.each(e.S(".f-open-"+this.attr_name(!0)),function(){e.close.call(e,e.S(this))})},open:function(t,e){this.css(t.addClass(this.settings.active_class),e),t.prev("["+this.attr_name()+"]").addClass(this.settings.active_class),t.data("target",e.get(0)).trigger("opened.fndtn.dropdown",[t,e]),t.attr("aria-hidden","false"),e.attr("aria-expanded","true"),t.focus(),t.addClass("f-open-"+this.attr_name(!0))},data_attr:function(){return this.namespace.length>0?this.namespace+"-"+this.name:this.name},toggle:function(t){if(!t.hasClass(this.settings.disabled_class)){var e=this.S("#"+t.data(this.data_attr()));0!==e.length&&(this.close.call(this,this.S("["+this.attr_name()+"-content]").not(e)),e.hasClass(this.settings.active_class)?(this.close.call(this,e),
+e.data("target")!==t.get(0)&&this.open.call(this,e,t)):this.open.call(this,e,t))}},resize:function(){var e=this.S("["+this.attr_name()+"-content].open"),i=t(e.data("target"));e.length&&i.length&&this.css(e,i)},css:function(t,e){var i=Math.max((e.width()-t.width())/2,8),s=e.data(this.attr_name(!0)+"-init")||this.settings,n=t.parent().css("overflow-y")||t.parent().css("overflow");if(this.clear_idx(),this.small()){var a=this.dirs.bottom.call(t,e,s);t.attr("style","").removeClass("drop-left drop-right drop-top").css({position:"absolute",width:"95%","max-width":"none",top:a.top}),t.css(Foundation.rtl?"right":"left",i)}else if("visible"!==n){var o=e[0].offsetTop+e[0].offsetHeight;t.attr("style","").css({position:"absolute",top:o}),t.css(Foundation.rtl?"right":"left",i)}else this.style(t,e,s);return t},style:function(e,i,s){var n=t.extend({position:"absolute"},this.dirs[s.align].call(e,i,s));e.attr("style","").css(n)},dirs:{_base:function(t,s){var n=this.offsetParent(),a=n.offset(),o=t.offset();o.top-=a.top,o.left-=a.left,o.missRight=!1,o.missTop=!1,o.missLeft=!1,o.leftRightFlag=!1;var r,l=e.innerWidth;r=i.getElementsByClassName("row")[0]?i.getElementsByClassName("row")[0].clientWidth:l;var d=(l-r)/2;if(!this.hasClass("mega")&&!s.ignore_repositioning){var c=this.outerWidth(),h=t.offset().left;t.offset().top<=this.outerHeight()&&(o.missTop=!0,l-d,o.leftRightFlag=!0),h+c>h+d&&h-d>c&&(o.missRight=!0,o.missLeft=!1),0>=h-c&&(o.missLeft=!0,o.missRight=!1)}return o},top:function(t,e){var i=Foundation.libs.dropdown,s=i.dirs._base.call(this,t,e);return this.addClass("drop-top"),1==s.missTop&&(s.top=s.top+t.outerHeight()+this.outerHeight(),this.removeClass("drop-top")),1==s.missRight&&(s.left=s.left-this.outerWidth()+t.outerWidth()),(t.outerWidth()<this.outerWidth()||i.small()||this.hasClass(e.mega_menu))&&i.adjust_pip(this,t,e,s),Foundation.rtl?{left:s.left-this.outerWidth()+t.outerWidth(),top:s.top-this.outerHeight()}:{left:s.left,top:s.top-this.outerHeight()}},bottom:function(t,e){var i=Foundation.libs.dropdown,s=i.dirs._base.call(this,t,e);return 1==s.missRight&&(s.left=s.left-this.outerWidth()+t.outerWidth()),(t.outerWidth()<this.outerWidth()||i.small()||this.hasClass(e.mega_menu))&&i.adjust_pip(this,t,e,s),i.rtl?{left:s.left-this.outerWidth()+t.outerWidth(),top:s.top+t.outerHeight()}:{left:s.left,top:s.top+t.outerHeight()}},left:function(t,e){var i=Foundation.libs.dropdown.dirs._base.call(this,t,e);return this.addClass("drop-left"),1==i.missLeft&&(i.left=i.left+this.outerWidth(),i.top=i.top+t.outerHeight(),this.removeClass("drop-left")),{left:i.left-this.outerWidth(),top:i.top}},right:function(t,e){var i=Foundation.libs.dropdown.dirs._base.call(this,t,e);this.addClass("drop-right"),1==i.missRight?(i.left=i.left-this.outerWidth(),i.top=i.top+t.outerHeight(),this.removeClass("drop-right")):i.triggeredRight=!0;var s=Foundation.libs.dropdown;return(t.outerWidth()<this.outerWidth()||s.small()||this.hasClass(e.mega_menu))&&s.adjust_pip(this,t,e,i),{left:i.left+t.outerWidth(),top:i.top}}},adjust_pip:function(t,e,i,s){var n=Foundation.stylesheet,a=8;t.hasClass(i.mega_class)?a=s.left+e.outerWidth()/2-8:this.small()&&(a+=s.left-8),this.rule_idx=n.cssRules.length;var o=".f-dropdown.open:before",r=".f-dropdown.open:after",l="left: "+a+"px;",d="left: "+(a-1)+"px;";1==s.missRight&&(a=t.outerWidth()-23,o=".f-dropdown.open:before",r=".f-dropdown.open:after",l="left: "+a+"px;",d="left: "+(a-1)+"px;"),1==s.triggeredRight&&(o=".f-dropdown.open:before",r=".f-dropdown.open:after",l="left:-12px;",d="left:-14px;"),n.insertRule?(n.insertRule([o,"{",l,"}"].join(" "),this.rule_idx),n.insertRule([r,"{",d,"}"].join(" "),this.rule_idx+1)):(n.addRule(o,l,this.rule_idx),n.addRule(r,d,this.rule_idx+1))},clear_idx:function(){var t=Foundation.stylesheet;void 0!==this.rule_idx&&(t.deleteRule(this.rule_idx),t.deleteRule(this.rule_idx),delete this.rule_idx)},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},off:function(){this.S(this.scope).off(".fndtn.dropdown"),this.S("html, body").off(".fndtn.dropdown"),this.S(e).off(".fndtn.dropdown"),this.S("[data-dropdown-content]").off(".fndtn.dropdown")},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.equalizer={name:"equalizer",version:"5.5.3",settings:{use_tallest:!0,before_height_change:t.noop,after_height_change:t.noop,equalize_on_stack:!1,act_on_hidden_el:!1},init:function(t,e,i){Foundation.inherit(this,"image_loaded"),this.bindings(e,i),this.reflow()},events:function(){this.S(e).off(".equalizer").on("resize.fndtn.equalizer",function(t){this.reflow()}.bind(this))},equalize:function(e){var i,s,n=!1,a=e.data("equalizer"),o=e.data(this.attr_name(!0)+"-init")||this.settings;if(i=o.act_on_hidden_el?a?e.find("["+this.attr_name()+'-watch="'+a+'"]'):e.find("["+this.attr_name()+"-watch]"):a?e.find("["+this.attr_name()+'-watch="'+a+'"]:visible'):e.find("["+this.attr_name()+"-watch]:visible"),0!==i.length&&(o.before_height_change(),e.trigger("before-height-change.fndth.equalizer"),i.height("inherit"),!1!==o.equalize_on_stack||(s=i.first().offset().top,i.each(function(){return t(this).offset().top!==s?(n=!0,!1):void 0}),!n))){var r=i.map(function(){return t(this).outerHeight(!1)}).get();if(o.use_tallest){var l=Math.max.apply(null,r);i.css("height",l)}else{var d=Math.min.apply(null,r);i.css("height",d)}o.after_height_change(),e.trigger("after-height-change.fndtn.equalizer")}},reflow:function(){var e=this;this.S("["+this.attr_name()+"]",this.scope).each(function(){var i=t(this),s=i.data("equalizer-mq"),n=!0;s&&(s="is_"+s.replace(/-/g,"_"),Foundation.utils.hasOwnProperty(s)&&(n=!1)),e.image_loaded(e.S("img",this),function(){if(n||Foundation.utils[s]())e.equalize(i);else{i.find("["+e.attr_name()+"-watch]:visible").css("height","auto")}})})}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.interchange={name:"interchange",version:"5.5.3",cache:{},images_loaded:!1,nodes_loaded:!1,settings:{load_attr:"interchange",named_queries:{default:"only screen",small:Foundation.media_queries.small,"small-only":Foundation.media_queries["small-only"],medium:Foundation.media_queries.medium,"medium-only":Foundation.media_queries["medium-only"],large:Foundation.media_queries.large,"large-only":Foundation.media_queries["large-only"],xlarge:Foundation.media_queries.xlarge,"xlarge-only":Foundation.media_queries["xlarge-only"],xxlarge:Foundation.media_queries.xxlarge,landscape:"only screen and (orientation: landscape)",portrait:"only screen and (orientation: portrait)",retina:"only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx)"},directives:{replace:function(e,i,s){if(null!==e&&/IMG/.test(e[0].nodeName)){var n=t.each(e,function(){this.src=i});if(new RegExp(i,"i").test(n))return;return e.attr("src",i),s(e[0].src)}var a=this;if(e.data(this.data_attr+"-last-path")!=i)return/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(i)?(t(e).css("background-image","url("+i+")"),e.data("interchange-last-path",i),s(i)):t.get(i,function(t){e.html(t),e.data(a.data_attr+"-last-path",i),s()})}}},init:function(e,i,s){Foundation.inherit(this,"throttle random_str"),this.data_attr=this.set_data_attr(),t.extend(!0,this.settings,i,s),this.bindings(i,s),this.reflow()},get_media_hash:function(){var t="";for(var e in this.settings.named_queries)t+=matchMedia(this.settings.named_queries[e]).matches.toString();return t},events:function(){var i,s=this;return t(e).off(".interchange").on("resize.fndtn.interchange",s.throttle(function(){var t=s.get_media_hash();t!==i&&s.resize(),i=t},50)),this},resize:function(){var e=this.cache;if(!this.images_loaded||!this.nodes_loaded)return void setTimeout(t.proxy(this.resize,this),50);for(var i in e)if(e.hasOwnProperty(i)){var s=this.results(i,e[i]);s&&this.settings.directives[s.scenario[1]].call(this,s.el,s.scenario[0],function(t){if(arguments[0]instanceof Array)var e=arguments[0];else var e=Array.prototype.slice.call(arguments,0);return function(){t.el.trigger(t.scenario[1],e)}}(s))}},results:function(t,e){var i=e.length;if(i>0)for(var s=this.S("["+this.add_namespace("data-uuid")+'="'+t+'"]');i--;){var n,a=e[i][2];if(n=this.settings.named_queries.hasOwnProperty(a)?matchMedia(this.settings.named_queries[a]):matchMedia(a),n.matches)return{el:s,scenario:e[i]}}return!1},load:function(t,e){return(void 0===this["cached_"+t]||e)&&this["update_"+t](),this["cached_"+t]},update_images:function(){var t=this.S("img["+this.data_attr+"]"),e=t.length,i=e,s=0,n=this.data_attr;for(this.cache={},this.cached_images=[],this.images_loaded=0===e;i--;){if(s++,t[i]){(t[i].getAttribute(n)||"").length>0&&this.cached_images.push(t[i])}s===e&&(this.images_loaded=!0,this.enhance("images"))}return this},update_nodes:function(){var t=this.S("["+this.data_attr+"]").not("img"),e=t.length,i=e,s=0,n=this.data_attr;for(this.cached_nodes=[],this.nodes_loaded=0===e;i--;){s++;(t[i].getAttribute(n)||"").length>0&&this.cached_nodes.push(t[i]),s===e&&(this.nodes_loaded=!0,this.enhance("nodes"))}return this},enhance:function(i){for(var s=this["cached_"+i].length;s--;)this.object(t(this["cached_"+i][s]));return t(e).trigger("resize.fndtn.interchange")},convert_directive:function(t){var e=this.trim(t);return e.length>0?e:"replace"},parse_scenario:function(t){var e=t[0].match(/(.+),\s*(\w+)\s*$/),i=t[1].match(/(.*)\)/);if(e)var s=e[1],n=e[2];else var a=t[0].split(/,\s*$/),s=a[0],n="";return[this.trim(s),this.convert_directive(n),this.trim(i[1])]},object:function(t){var e=this.parse_data_attr(t),i=[],s=e.length;if(s>0)for(;s--;){var n=e[s].split(/,\s?\(/);if(n.length>1){var a=this.parse_scenario(n);i.push(a)}}return this.store(t,i)},store:function(t,e){var i=this.random_str(),s=t.data(this.add_namespace("uuid",!0));return this.cache[s]?this.cache[s]:(t.attr(this.add_namespace("data-uuid"),i),this.cache[i]=e)},trim:function(e){return"string"==typeof e?t.trim(e):e},set_data_attr:function(t){return t?this.namespace.length>0?this.namespace+"-"+this.settings.load_attr:this.settings.load_attr:this.namespace.length>0?"data-"+this.namespace+"-"+this.settings.load_attr:"data-"+this.settings.load_attr},parse_data_attr:function(t){for(var e=t.attr(this.attr_name()).split(/\[(.*?)\]/),i=e.length,s=[];i--;)e[i].replace(/[\W\d]+/,"").length>4&&s.push(e[i]);return s},reflow:function(){this.load("images",!0),this.load("nodes",!0)}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.joyride={name:"joyride",version:"5.5.3",defaults:{expose:!1,modal:!0,keyboard:!0,tip_location:"bottom",nub_position:"auto",scroll_speed:1500,scroll_animation:"linear",timer:0,start_timer_on_click:!0,start_offset:0,next_button:!0,prev_button:!0,tip_animation:"fade",pause_after:[],exposed:[],tip_animation_fade_speed:300,cookie_monster:!1,cookie_name:"joyride",cookie_domain:!1,cookie_expires:365,tip_container:"body",abort_on_close:!0,tip_location_patterns:{top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},post_ride_callback:function(){},post_step_callback:function(){},pre_step_callback:function(){},pre_ride_callback:function(){},post_expose_callback:function(){},template:{link:'<a href="#close" class="joyride-close-tip">&times;</a>',timer:'<div class="joyride-timer-indicator-wrap"><span class="joyride-timer-indicator"></span></div>',tip:'<div class="joyride-tip-guide"><span class="joyride-nub"></span></div>',wrapper:'<div class="joyride-content-wrapper"></div>',button:'<a href="#" class="small button joyride-next-tip"></a>',prev_button:'<a href="#" class="small button joyride-prev-tip"></a>',modal:'<div class="joyride-modal-bg"></div>',expose:'<div class="joyride-expose-wrapper"></div>',expose_cover:'<div class="joyride-expose-cover"></div>'},expose_add_class:""},init:function(e,i,s){Foundation.inherit(this,"throttle random_str"),this.settings=this.settings||t.extend({},this.defaults,s||i),this.bindings(i,s)},go_next:function(){this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())},go_prev:function(){this.settings.$li.prev().length<1||(this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(null,!0),this.startTimer()):(this.hide(),this.show(null,!0)))},events:function(){var i=this;t(this.scope).off(".joyride").on("click.fndtn.joyride",".joyride-next-tip, .joyride-modal-bg",function(t){t.preventDefault(),this.go_next()}.bind(this)).on("click.fndtn.joyride",".joyride-prev-tip",function(t){t.preventDefault(),this.go_prev()}.bind(this)).on("click.fndtn.joyride",".joyride-close-tip",function(t){t.preventDefault(),this.end(this.settings.abort_on_close)}.bind(this)).on("keyup.fndtn.joyride",function(t){if(this.settings.keyboard&&this.settings.riding)switch(t.which){case 39:t.preventDefault(),this.go_next();break;case 37:t.preventDefault(),this.go_prev();break;case 27:t.preventDefault(),this.end(this.settings.abort_on_close)}}.bind(this)),t(e).off(".joyride").on("resize.fndtn.joyride",i.throttle(function(){if(t("["+i.attr_name()+"]").length>0&&i.settings.$next_tip&&i.settings.riding){if(i.settings.exposed.length>0){t(i.settings.exposed).each(function(){var e=t(this);i.un_expose(e),i.expose(e)})}i.is_phone()?i.pos_phone():i.pos_default(!1)}},100))},start:function(){var e=this,i=t("["+this.attr_name()+"]",this.scope),s=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],n=s.length;!i.length>0||(this.settings.init||this.events(),this.settings=i.data(this.attr_name(!0)+"-init"),this.settings.$content_el=i,this.settings.$body=t(this.settings.tip_container),this.settings.body_offset=t(this.settings.tip_container).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,this.settings.riding=!0,"function"!=typeof t.cookie&&(this.settings.cookie_monster=!1),(!this.settings.cookie_monster||this.settings.cookie_monster&&!t.cookie(this.settings.cookie_name))&&(this.settings.$tip_content.each(function(i){var a=t(this);this.settings=t.extend({},e.defaults,e.data_options(a));for(var o=n;o--;)e.settings[s[o]]=parseInt(e.settings[s[o]],10);e.create({$li:a,index:i})}),!this.settings.start_timer_on_click&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")))},resume:function(){this.set_li(),this.show()},tip_template:function(e){var i,s;return e.tip_class=e.tip_class||"",i=t(this.settings.template.tip).addClass(e.tip_class),s=t.trim(t(e.li).html())+this.prev_button_text(e.prev_button_text,e.index)+this.button_text(e.button_text)+this.settings.template.link+this.timer_instance(e.index),i.append(t(this.settings.template.wrapper)),i.first().attr(this.add_namespace("data-index"),e.index),t(".joyride-content-wrapper",i).append(s),i[0]},timer_instance:function(e){return 0===e&&this.settings.start_timer_on_click&&this.settings.timer>0||0===this.settings.timer?"":t(this.settings.template.timer)[0].outerHTML},button_text:function(e){return this.settings.tip_settings.next_button?(e=t.trim(e)||"Next",e=t(this.settings.template.button).append(e)[0].outerHTML):e="",e},prev_button_text:function(e,i){return this.settings.tip_settings.prev_button?(e=t.trim(e)||"Previous",e=0==i?t(this.settings.template.prev_button).append(e).addClass("disabled")[0].outerHTML:t(this.settings.template.prev_button).append(e)[0].outerHTML):e="",e},create:function(e){this.settings.tip_settings=t.extend({},this.settings,this.data_options(e.$li));var i=e.$li.attr(this.add_namespace("data-button"))||e.$li.attr(this.add_namespace("data-text")),s=e.$li.attr(this.add_namespace("data-button-prev"))||e.$li.attr(this.add_namespace("data-prev-text")),n=e.$li.attr("class"),a=t(this.tip_template({tip_class:n,index:e.index,button_text:i,prev_button_text:s,li:e.$li}));t(this.settings.tip_container).append(a)},show:function(e,i){var n=null;if(this.settings.$li===s||-1===t.inArray(this.settings.$li.index(),this.settings.pause_after))if(this.settings.paused?this.settings.paused=!1:this.set_li(e,i),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0){if(e&&(this.settings.pre_ride_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.pre_step_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tip_settings=t.extend({},this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tip_settings.tip_location_pattern=this.settings.tip_location_patterns[this.settings.tip_settings.tip_location],!/body/i.test(this.settings.$target.selector)&&!this.settings.expose){var a=t(".joyride-modal-bg");/pop/i.test(this.settings.tipAnimation)?a.hide():a.fadeOut(this.settings.tipAnimationFadeSpeed),this.scroll_to()}this.is_phone()?this.pos_phone(!0):this.pos_default(!0),n=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tip_animation)?(n.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),setTimeout(function(){n.animate({width:n.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tip_animation)&&(n.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed).show(),setTimeout(function(){n.animate({width:n.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed)),this.settings.$current_tip=this.settings.$next_tip}else this.settings.$li&&this.settings.$target.length<1?this.show(e,i):this.end();else this.settings.paused=!0},is_phone:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||t(".joyride-modal-bg").hide(),this.settings.$current_tip.css("visibility","hidden"),setTimeout(t.proxy(function(){this.hide(),this.css("visibility","visible")},this.settings.$current_tip),0),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(t,e){t?(this.settings.$li=this.settings.$tip_content.eq(this.settings.start_offset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(this.settings.$li=e?this.settings.$li.prev():this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=t(".joyride-tip-guide").eq(this.settings.$li.index()),this.settings.$next_tip.data("closed","")},set_target:function(){var e=this.settings.$li.attr(this.add_namespace("data-class")),s=this.settings.$li.attr(this.add_namespace("data-id"));this.settings.$target=function(){return s?t(i.getElementById(s)):e?t("."+e).first():t("body")}()},scroll_to:function(){var i,s;i=t(e).height()/2,0!=(s=Math.ceil(this.settings.$target.offset().top-i+this.settings.$next_tip.outerHeight()))&&t("html, body").stop().animate({scrollTop:s},this.settings.scroll_speed,"swing")},paused:function(){return-1===t.inArray(this.settings.$li.index()+1,this.settings.pause_after)},restart:function(){this.hide(),this.settings.$li=s,this.show("init")},pos_default:function(t){var e=this.settings.$next_tip.find(".joyride-nub"),i=Math.ceil(e.outerWidth()/2),s=Math.ceil(e.outerHeight()/2),n=t||!1;if(n&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),/body/i.test(this.settings.$target.selector))this.settings.$li.length&&this.pos_modal(e);else{var a=this.settings.tip_settings.tipAdjustmentY?parseInt(this.settings.tip_settings.tipAdjustmentY):0,o=this.settings.tip_settings.tipAdjustmentX?parseInt(this.settings.tip_settings.tipAdjustmentX):0;this.bottom()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top+s+this.settings.$target.outerHeight()+a,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()+o}):this.settings.$next_tip.css({top:this.settings.$target.offset().top+s+this.settings.$target.outerHeight()+a,left:this.settings.$target.offset().left+o}),this.nub_position(e,this.settings.tip_settings.nub_position,"top")):this.top()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-s+a,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()}):this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-s+a,left:this.settings.$target.offset().left+o}),this.nub_position(e,this.settings.tip_settings.nub_position,"bottom")):this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top+a,left:this.settings.$target.outerWidth()+this.settings.$target.offset().left+i+o}),this.nub_position(e,this.settings.tip_settings.nub_position,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top+a,left:this.settings.$target.offset().left-this.settings.$next_tip.outerWidth()-i+o}),this.nub_position(e,this.settings.tip_settings.nub_position,"right")),!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts<this.settings.tip_settings.tip_location_pattern.length&&(e.removeClass("bottom").removeClass("top").removeClass("right").removeClass("left"),this.settings.tip_settings.tip_location=this.settings.tip_settings.tip_location_pattern[this.settings.attempts],this.settings.attempts++,this.pos_default())}n&&(this.settings.$next_tip.hide(),this.settings.$next_tip.css("visibility","visible"))},pos_phone:function(e){var i=this.settings.$next_tip.outerHeight(),s=(this.settings.$next_tip.offset(),this.settings.$target.outerHeight()),n=t(".joyride-nub",this.settings.$next_tip),a=Math.ceil(n.outerHeight()/2),o=e||!1;n.removeClass("bottom").removeClass("top").removeClass("right").removeClass("left"),o&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),/body/i.test(this.settings.$target.selector)?this.settings.$li.length&&this.pos_modal(n):this.top()?(this.settings.$next_tip.offset({top:this.settings.$target.offset().top-i-a}),n.addClass("bottom")):(this.settings.$next_tip.offset({top:this.settings.$target.offset().top+s+a}),n.addClass("top")),o&&(this.settings.$next_tip.hide(),this.settings.$next_tip.css("visibility","visible"))},pos_modal:function(t){this.center(),t.hide(),this.show_modal()},show_modal:function(){if(!this.settings.$next_tip.data("closed")){var e=t(".joyride-modal-bg");if(e.length<1){var e=t(this.settings.template.modal);e.appendTo("body")}/pop/i.test(this.settings.tip_animation)?e.show():e.fadeIn(this.settings.tip_animation_fade_speed)}},expose:function(){var i,s,n,a,o,r="expose-"+this.random_str(6);if(arguments.length>0&&arguments[0]instanceof t)n=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;n=this.settings.$target}return n.length<1?(e.console&&console.error("element not valid",n),!1):(i=t(this.settings.template.expose),this.settings.$body.append(i),i.css({top:n.offset().top,left:n.offset().left,width:n.outerWidth(!0),height:n.outerHeight(!0)}),s=t(this.settings.template.expose_cover),a={zIndex:n.css("z-index"),position:n.css("position")},o=null==n.attr("class")?"":n.attr("class"),n.css("z-index",parseInt(i.css("z-index"))+1),"static"==a.position&&n.css("position","relative"),n.data("expose-css",a),n.data("orig-class",o),n.attr("class",o+" "+this.settings.expose_add_class),s.css({top:n.offset().top,left:n.offset().left,width:n.outerWidth(!0),height:n.outerHeight(!0)}),this.settings.modal&&this.show_modal(),this.settings.$body.append(s),i.addClass(r),s.addClass(r),n.data("expose",r),this.settings.post_expose_callback(this.settings.$li.index(),this.settings.$next_tip,n),void this.add_exposed(n))},un_expose:function(){var i,s,n,a,o,r=!1;if(arguments.length>0&&arguments[0]instanceof t)s=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;s=this.settings.$target}return s.length<1?(e.console&&console.error("element not valid",s),!1):(i=s.data("expose"),n=t("."+i),arguments.length>1&&(r=arguments[1]),!0===r?t(".joyride-expose-wrapper,.joyride-expose-cover").remove():n.remove(),a=s.data("expose-css"),"auto"==a.zIndex?s.css("z-index",""):s.css("z-index",a.zIndex),a.position!=s.css("position")&&("static"==a.position?s.css("position",""):s.css("position",a.position)),o=s.data("orig-class"),s.attr("class",o),s.removeData("orig-classes"),s.removeData("expose"),s.removeData("expose-z-index"),void this.remove_exposed(s))},add_exposed:function(e){this.settings.exposed=this.settings.exposed||[],e instanceof t||"object"==typeof e?this.settings.exposed.push(e[0]):"string"==typeof e&&this.settings.exposed.push(e)},remove_exposed:function(e){var i,s;for(e instanceof t?i=e[0]:"string"==typeof e&&(i=e),this.settings.exposed=this.settings.exposed||[],s=this.settings.exposed.length;s--;)if(this.settings.exposed[s]==i)return void this.settings.exposed.splice(s,1)},center:function(){var i=t(e);return this.settings.$next_tip.css({top:(i.height()-this.settings.$next_tip.outerHeight())/2+i.scrollTop(),left:(i.width()-this.settings.$next_tip.outerWidth())/2+i.scrollLeft()}),!0},bottom:function(){return/bottom/i.test(this.settings.tip_settings.tip_location)},top:function(){return/top/i.test(this.settings.tip_settings.tip_location)},right:function(){return/right/i.test(this.settings.tip_settings.tip_location)},left:function(){return/left/i.test(this.settings.tip_settings.tip_location)},corners:function(i){if(0===i.length)return[!1,!1,!1,!1];var s=t(e),n=s.height()/2,a=Math.ceil(this.settings.$target.offset().top-n+this.settings.$next_tip.outerHeight()),o=s.width()+s.scrollLeft(),r=s.height()+a,l=s.height()+s.scrollTop(),d=s.scrollTop();return d>a&&(d=0>a?0:a),r>l&&(l=r),[i.offset().top<d,o<i.offset().left+i.outerWidth(),l<i.offset().top+i.outerHeight(),s.scrollLeft()>i.offset().left]},visible:function(t){for(var e=t.length;e--;)if(t[e])return!1;return!0},nub_position:function(t,e,i){"auto"===e?t.addClass(i):t.addClass(e)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(e){this.settings.cookie_monster&&t.cookie(this.settings.cookie_name,"ridden",{expires:this.settings.cookie_expires,domain:this.settings.cookie_domain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),t(this.scope).off("keyup.joyride"),this.settings.$next_tip.data("closed",!0),this.settings.riding=!1,t(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),(void 0===e||!1===e)&&(this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip),this.settings.post_ride_callback(this.settings.$li.index(),this.settings.$current_tip)),t(".joyride-tip-guide").remove()},off:function(){t(this.scope).off(".joyride"),t(e).off(".joyride"),t(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),t(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate)},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs["magellan-expedition"]={name:"magellan-expedition",version:"5.5.3",settings:{active_class:"active",threshold:0,destination_threshold:20,throttle_delay:30,fixed_top:0,offset_by_height:!0,duration:700,easing:"swing"},init:function(t,e,i){Foundation.inherit(this,"throttle"),this.bindings(e,i)},events:function(){var e=this,i=e.S,s=e.settings;e.set_expedition_position(),i(e.scope).off(".magellan").on("click.fndtn.magellan","["+e.add_namespace("data-magellan-arrival")+"] a[href*=#]",function(i){var s=this.hostname===location.hostname||!this.hostname,n=e.filterPathname(location.pathname)===e.filterPathname(this.pathname),a=this.hash.replace(/(:|\.|\/)/g,"\\$1"),o=this;if(s&&n&&a){i.preventDefault();var r=t(this).closest("["+e.attr_name()+"]"),l=r.data("magellan-expedition-init"),d=this.hash.split("#").join(""),c=t('a[name="'+d+'"]');0===c.length&&(c=t("#"+d));var h=c.offset().top-l.destination_threshold+1;l.offset_by_height&&(h-=r.outerHeight()),t("html, body").stop().animate({scrollTop:h},l.duration,l.easing,function(){history.pushState?history.pushState(null,null,o.pathname+o.search+"#"+d):location.hash=o.pathname+o.search+"#"+d})}}).on("scroll.fndtn.magellan",e.throttle(this.check_for_arrivals.bind(this),s.throttle_delay))},check_for_arrivals:function(){var t=this;t.update_arrivals(),t.update_expedition_positions()},set_expedition_position:function(){var e=this;t("["+this.attr_name()+"=fixed]",e.scope).each(function(i,s){var n,a,o=t(this),r=o.data("magellan-expedition-init"),l=o.attr("styles");o.attr("style",""),n=o.offset().top+r.threshold,a=parseInt(o.data("magellan-fixed-top")),isNaN(a)||(e.settings.fixed_top=a),o.data(e.data_attr("magellan-top-offset"),n),o.attr("style",l)})},update_expedition_positions:function(){var i=this,s=t(e).scrollTop();t("["+this.attr_name()+"=fixed]",i.scope).each(function(){var e=t(this),n=e.data("magellan-expedition-init"),a=e.attr("style"),o=e.data("magellan-top-offset");if(s+i.settings.fixed_top>=o){var r=e.prev("["+i.add_namespace("data-magellan-expedition-clone")+"]");0===r.length&&(r=e.clone(),r.removeAttr(i.attr_name()),r.attr(i.add_namespace("data-magellan-expedition-clone"),""),e.before(r)),e.css({position:"fixed",top:n.fixed_top}).addClass("fixed")}else e.prev("["+i.add_namespace("data-magellan-expedition-clone")+"]").remove(),e.attr("style",a).css("position","").css("top","").removeClass("fixed")})},update_arrivals:function(){var i=this,s=t(e).scrollTop();t("["+this.attr_name()+"]",i.scope).each(function(){var e=t(this),n=e.data(i.attr_name(!0)+"-init"),a=i.offsets(e,s),o=e.find("["+i.add_namespace("data-magellan-arrival")+"]"),r=!1;a.each(function(t,s){if(s.viewport_offset>=s.top_offset){return e.find("["+i.add_namespace("data-magellan-arrival")+"]").not(s.arrival).removeClass(n.active_class),s.arrival.addClass(n.active_class),r=!0,!0}}),r||o.removeClass(n.active_class)})},offsets:function(e,i){var s=this,n=e.data(s.attr_name(!0)+"-init"),a=i;return e.find("["+s.add_namespace("data-magellan-arrival")+"]").map(function(i,o){var r=t(this).data(s.data_attr("magellan-arrival")),l=t("["+s.add_namespace("data-magellan-destination")+"="+r+"]");if(l.length>0){var d=l.offset().top-n.destination_threshold;return n.offset_by_height&&(d-=e.outerHeight()),d=Math.floor(d),{destination:l,arrival:t(this),top_offset:d,viewport_offset:a}}}).sort(function(t,e){return t.top_offset<e.top_offset?-1:t.top_offset>e.top_offset?1:0})},data_attr:function(t){return this.namespace.length>0?this.namespace+"-"+t:t},off:function(){this.S(this.scope).off(".magellan"),this.S(e).off(".magellan")},filterPathname:function(t){return t=t||"",t.replace(/^\//,"").replace(/(?:index|default).[a-zA-Z]{3,4}$/,"").replace(/\/$/,"")},reflow:function(){var e=this;t("["+e.add_namespace("data-magellan-expedition-clone")+"]",e.scope).remove()}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.offcanvas={name:"offcanvas",version:"5.5.3",settings:{open_method:"move",close_on_click:!1},init:function(t,e,i){this.bindings(e,i)},events:function(){var e=this,i=e.S,s="",n="",a="",o="",r="";"move"===this.settings.open_method?(s="move-",n="right",a="left",o="top",
+r="bottom"):"overlap_single"===this.settings.open_method?(s="offcanvas-overlap-",n="right",a="left",o="top",r="bottom"):"overlap"===this.settings.open_method&&(s="offcanvas-overlap"),i(this.scope).off(".offcanvas").on("click.fndtn.offcanvas",".left-off-canvas-toggle",function(a){e.click_toggle_class(a,s+n),"overlap"!==e.settings.open_method&&i(".left-submenu").removeClass(s+n),t(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".left-off-canvas-menu a",function(a){var o=e.get_settings(a),r=i(this).parent();!o.close_on_click||r.hasClass("has-submenu")||r.hasClass("back")?i(this).parent().hasClass("has-submenu")?(a.preventDefault(),i(this).siblings(".left-submenu").toggleClass(s+n)):r.hasClass("back")&&(a.preventDefault(),r.parent().removeClass(s+n)):(e.hide.call(e,s+n,e.get_wrapper(a)),r.parent().removeClass(s+n)),t(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-toggle",function(n){e.click_toggle_class(n,s+a),"overlap"!==e.settings.open_method&&i(".right-submenu").removeClass(s+a),t(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-menu a",function(n){var o=e.get_settings(n),r=i(this).parent();!o.close_on_click||r.hasClass("has-submenu")||r.hasClass("back")?i(this).parent().hasClass("has-submenu")?(n.preventDefault(),i(this).siblings(".right-submenu").toggleClass(s+a)):r.hasClass("back")&&(n.preventDefault(),r.parent().removeClass(s+a)):(e.hide.call(e,s+a,e.get_wrapper(n)),r.parent().removeClass(s+a)),t(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".top-off-canvas-toggle",function(n){e.click_toggle_class(n,s+r),"overlap"!==e.settings.open_method&&i(".top-submenu").removeClass(s+r),t(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".top-off-canvas-menu a",function(n){var a=e.get_settings(n),o=i(this).parent();!a.close_on_click||o.hasClass("has-submenu")||o.hasClass("back")?i(this).parent().hasClass("has-submenu")?(n.preventDefault(),i(this).siblings(".top-submenu").toggleClass(s+r)):o.hasClass("back")&&(n.preventDefault(),o.parent().removeClass(s+r)):(e.hide.call(e,s+r,e.get_wrapper(n)),o.parent().removeClass(s+r)),t(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-toggle",function(n){e.click_toggle_class(n,s+o),"overlap"!==e.settings.open_method&&i(".bottom-submenu").removeClass(s+o),t(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-menu a",function(n){var a=e.get_settings(n),r=i(this).parent();!a.close_on_click||r.hasClass("has-submenu")||r.hasClass("back")?i(this).parent().hasClass("has-submenu")?(n.preventDefault(),i(this).siblings(".bottom-submenu").toggleClass(s+o)):r.hasClass("back")&&(n.preventDefault(),r.parent().removeClass(s+o)):(e.hide.call(e,s+o,e.get_wrapper(n)),r.parent().removeClass(s+o)),t(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(o){e.click_remove_class(o,s+a),i(".right-submenu").removeClass(s+a),n&&(e.click_remove_class(o,s+n),i(".left-submenu").removeClass(s+a)),t(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(i){e.click_remove_class(i,s+a),t(".left-off-canvas-toggle").attr("aria-expanded","false"),n&&(e.click_remove_class(i,s+n),t(".right-off-canvas-toggle").attr("aria-expanded","false"))}).on("click.fndtn.offcanvas",".exit-off-canvas",function(n){e.click_remove_class(n,s+o),i(".bottom-submenu").removeClass(s+o),r&&(e.click_remove_class(n,s+r),i(".top-submenu").removeClass(s+o)),t(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(i){e.click_remove_class(i,s+o),t(".top-off-canvas-toggle").attr("aria-expanded","false"),r&&(e.click_remove_class(i,s+r),t(".bottom-off-canvas-toggle").attr("aria-expanded","false"))})},toggle:function(t,e){e=e||this.get_wrapper(),e.is("."+t)?this.hide(t,e):this.show(t,e)},show:function(t,e){e=e||this.get_wrapper(),e.trigger("open.fndtn.offcanvas"),e.addClass(t)},hide:function(t,e){e=e||this.get_wrapper(),e.trigger("close.fndtn.offcanvas"),e.removeClass(t)},click_toggle_class:function(t,e){t.preventDefault();var i=this.get_wrapper(t);this.toggle(e,i)},click_remove_class:function(t,e){t.preventDefault();var i=this.get_wrapper(t);this.hide(e,i)},get_settings:function(t){return this.S(t.target).closest("["+this.attr_name()+"]").data(this.attr_name(!0)+"-init")||this.settings},get_wrapper:function(t){var e=this.S(t?t.target:this.scope).closest(".off-canvas-wrap");return 0===e.length&&(e=this.S(".off-canvas-wrap")),e},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";var n=function(){},a=function(s,n){if(s.hasClass(n.slides_container_class))return this;var a,d,c,h,u,f,p=this,g=s,_=0,m=!1;p.slides=function(){return g.children(n.slide_selector)},p.slides().first().addClass(n.active_slide_class),p.update_slide_number=function(e){n.slide_number&&(d.find("span:first").text(parseInt(e)+1),d.find("span:last").text(p.slides().length)),n.bullets&&(c.children().removeClass(n.bullets_active_class),t(c.children().get(e)).addClass(n.bullets_active_class))},p.update_active_link=function(e){var i=t('[data-orbit-link="'+p.slides().eq(e).attr("data-orbit-slide")+'"]');i.siblings().removeClass(n.bullets_active_class),i.addClass(n.bullets_active_class)},p.build_markup=function(){g.wrap('<div class="'+n.container_class+'"></div>'),a=g.parent(),g.addClass(n.slides_container_class),n.stack_on_small&&a.addClass(n.stack_on_small_class),n.navigation_arrows&&(a.append(t('<a href="#"><span></span></a>').addClass(n.prev_class)),a.append(t('<a href="#"><span></span></a>').addClass(n.next_class))),n.timer&&(h=t("<div>").addClass(n.timer_container_class),h.append("<span>"),h.append(t("<div>").addClass(n.timer_progress_class)),h.addClass(n.timer_paused_class),a.append(h)),n.slide_number&&(d=t("<div>").addClass(n.slide_number_class),d.append("<span></span> "+n.slide_number_text+" <span></span>"),a.append(d)),n.bullets&&(c=t("<ol>").addClass(n.bullets_container_class),a.append(c),c.wrap('<div class="orbit-bullets-container"></div>'),p.slides().each(function(e,i){var s=t("<li>").attr("data-orbit-slide",e).on("click",p.link_bullet);c.append(s)}))},p._goto=function(e,i){if(e===_)return!1;"object"==typeof f&&f.restart();var s=p.slides(),a="next";if(m=!0,_>e&&(a="prev"),e>=s.length){if(!n.circular)return!1;e=0}else if(0>e){if(!n.circular)return!1;e=s.length-1}var o=t(s.get(_)),r=t(s.get(e));o.css("zIndex",2),o.removeClass(n.active_slide_class),r.css("zIndex",4).addClass(n.active_slide_class),g.trigger("before-slide-change.fndtn.orbit"),n.before_slide_change(),p.update_active_link(e);var l=function(){var t=function(){_=e,m=!1,!0===i&&(f=p.create_timer(),f.start()),p.update_slide_number(_),g.trigger("after-slide-change.fndtn.orbit",[{slide_number:_,total_slides:s.length}]),n.after_slide_change(_,s.length)};g.outerHeight()!=r.outerHeight()&&n.variable_height?g.animate({height:r.outerHeight()},250,"linear",t):t()};if(1===s.length)return l(),!1;var d=function(){"next"===a&&u.next(o,r,l),"prev"===a&&u.prev(o,r,l)};r.outerHeight()>g.outerHeight()&&n.variable_height?g.animate({height:r.outerHeight()},250,"linear",d):d()},p.next=function(t){t.stopImmediatePropagation(),t.preventDefault(),p._goto(_+1)},p.prev=function(t){t.stopImmediatePropagation(),t.preventDefault(),p._goto(_-1)},p.link_custom=function(e){e.preventDefault();var i=t(this).attr("data-orbit-link");if("string"==typeof i&&""!=(i=t.trim(i))){var s=a.find("[data-orbit-slide="+i+"]");-1!=s.index()&&p._goto(s.index())}},p.link_bullet=function(e){var i=t(this).attr("data-orbit-slide");if("string"==typeof i&&""!=(i=t.trim(i)))if(isNaN(parseInt(i))){var s=a.find("[data-orbit-slide="+i+"]");-1!=s.index()&&p._goto(s.index()+1)}else p._goto(parseInt(i))},p.timer_callback=function(){p._goto(_+1,!0)},p.compute_dimensions=function(){var e=t(p.slides().get(_)),i=e.outerHeight();n.variable_height||p.slides().each(function(){t(this).outerHeight()>i&&(i=t(this).outerHeight())}),g.height(i)},p.create_timer=function(){return new o(a.find("."+n.timer_container_class),n,p.timer_callback)},p.stop_timer=function(){"object"==typeof f&&f.stop()},p.toggle_timer=function(){a.find("."+n.timer_container_class).hasClass(n.timer_paused_class)?(void 0===f&&(f=p.create_timer()),f.start()):"object"==typeof f&&f.stop()},p.init=function(){p.build_markup(),n.timer&&(f=p.create_timer(),Foundation.utils.image_loaded(this.slides().children("img"),f.start)),u=new l(n,g),"slide"===n.animation&&(u=new r(n,g)),a.on("click","."+n.next_class,p.next),a.on("click","."+n.prev_class,p.prev),n.next_on_click&&a.on("click","."+n.slides_container_class+" [data-orbit-slide]",p.link_bullet),a.on("click",p.toggle_timer),n.swipe&&a.on("touchstart.fndtn.orbit",function(t){t.touches||(t=t.originalEvent);var e={start_page_x:t.touches[0].pageX,start_page_y:t.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:void 0};a.data("swipe-transition",e),t.stopPropagation()}).on("touchmove.fndtn.orbit",function(t){if(t.touches||(t=t.originalEvent),!(t.touches.length>1||t.scale&&1!==t.scale)){var e=a.data("swipe-transition");if(void 0===e&&(e={}),e.delta_x=t.touches[0].pageX-e.start_page_x,void 0===e.is_scrolling&&(e.is_scrolling=!!(e.is_scrolling||Math.abs(e.delta_x)<Math.abs(t.touches[0].pageY-e.start_page_y))),!e.is_scrolling&&!e.active){t.preventDefault();var i=e.delta_x<0?_+1:_-1;e.active=!0,p._goto(i)}}}).on("touchend.fndtn.orbit",function(t){a.data("swipe-transition",{}),t.stopPropagation()}),a.on("mouseenter.fndtn.orbit",function(t){n.timer&&n.pause_on_hover&&p.stop_timer()}).on("mouseleave.fndtn.orbit",function(t){n.timer&&n.resume_on_mouseout&&f.start()}),t(i).on("click","[data-orbit-link]",p.link_custom),t(e).on("load resize",p.compute_dimensions),Foundation.utils.image_loaded(this.slides().children("img"),p.compute_dimensions),Foundation.utils.image_loaded(this.slides().children("img"),function(){a.prev("."+n.preloader_class).css("display","none"),p.update_slide_number(0),p.update_active_link(0),g.trigger("ready.fndtn.orbit")})},p.init()},o=function(t,e,i){var s,n,a=this,o=e.timer_speed,r=t.find("."+e.timer_progress_class),l=-1;this.update_progress=function(t){var e=r.clone();e.attr("style",""),e.css("width",t+"%"),r.replaceWith(e),r=e},this.restart=function(){clearTimeout(n),t.addClass(e.timer_paused_class),l=-1,a.update_progress(0)},this.start=function(){return!t.hasClass(e.timer_paused_class)||(l=-1===l?o:l,t.removeClass(e.timer_paused_class),s=(new Date).getTime(),r.animate({width:"100%"},l,"linear"),n=setTimeout(function(){a.restart(),i()},l),void t.trigger("timer-started.fndtn.orbit"))},this.stop=function(){if(t.hasClass(e.timer_paused_class))return!0;clearTimeout(n),t.addClass(e.timer_paused_class);var i=(new Date).getTime();l-=i-s;var r=100-l/o*100;a.update_progress(r),t.trigger("timer-stopped.fndtn.orbit")}},r=function(e,i){var s=e.animation_speed,n=1===t("html[dir=rtl]").length,a=n?"marginRight":"marginLeft",o={};o[a]="0%",this.next=function(t,e,i){t.animate({marginLeft:"-100%"},s),e.animate(o,s,function(){t.css(a,"100%"),i()})},this.prev=function(t,e,i){t.animate({marginLeft:"100%"},s),e.css(a,"-100%"),e.animate(o,s,function(){t.css(a,"100%"),i()})}},l=function(e,i){var s=e.animation_speed;t("html[dir=rtl]").length,this.next=function(t,e,i){e.css({margin:"0%",opacity:"0.01"}),e.animate({opacity:"1"},s,"linear",function(){t.css("margin","100%"),i()})},this.prev=function(t,e,i){e.css({margin:"0%",opacity:"0.01"}),e.animate({opacity:"1"},s,"linear",function(){t.css("margin","100%"),i()})}};Foundation.libs=Foundation.libs||{},Foundation.libs.orbit={name:"orbit",version:"5.5.3",settings:{animation:"slide",timer_speed:1e4,pause_on_hover:!0,resume_on_mouseout:!1,next_on_click:!0,animation_speed:500,stack_on_small:!1,navigation_arrows:!0,slide_number:!0,slide_number_text:"of",container_class:"orbit-container",stack_on_small_class:"orbit-stack-on-small",next_class:"orbit-next",prev_class:"orbit-prev",timer_container_class:"orbit-timer",timer_paused_class:"paused",timer_progress_class:"orbit-progress",slides_container_class:"orbit-slides-container",preloader_class:"preloader",slide_selector:"*",bullets_container_class:"orbit-bullets",bullets_active_class:"active",slide_number_class:"orbit-slide-number",caption_class:"orbit-caption",active_slide_class:"active",orbit_transition_class:"orbit-transitioning",bullets:!0,circular:!0,timer:!0,variable_height:!1,swipe:!0,before_slide_change:n,after_slide_change:n},init:function(t,e,i){this.bindings(e,i)},events:function(t){var e=new a(this.S(t),this.S(t).data("orbit-init"));this.S(t).data(this.name+"-instance",e)},reflow:function(){var t=this;if(t.S(t.scope).is("[data-orbit]")){t.S(t.scope).data(t.name+"-instance").compute_dimensions()}else t.S("[data-orbit]",t.scope).each(function(e,i){var s=t.S(i);(t.data_options(s),s.data(t.name+"-instance")).compute_dimensions()})}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";function n(t){var e=/fade/i.test(t),i=/pop/i.test(t);return{animate:e||i,pop:i,fade:e}}var a=[];Foundation.libs.reveal={name:"reveal",version:"5.5.3",locked:!1,settings:{animation:"fadeAndPop",animation_speed:250,close_on_background_click:!0,close_on_esc:!0,dismiss_modal_class:"close-reveal-modal",multiple_opened:!1,bg_class:"reveal-modal-bg",root_element:"body",open:function(){},opened:function(){},close:function(){},closed:function(){},on_ajax_error:t.noop,bg:t(".reveal-modal-bg"),css:{open:{opacity:0,visibility:"visible",display:"block"},close:{opacity:1,visibility:"hidden",display:"none"}}},init:function(e,i,s){t.extend(!0,this.settings,i,s),this.bindings(i,s)},events:function(t){var e=this,s=e.S;return s(this.scope).off(".reveal").on("click.fndtn.reveal","["+this.add_namespace("data-reveal-id")+"]:not([disabled])",function(t){if(t.preventDefault(),!e.locked){var i=s(this),n=i.data(e.data_attr("reveal-ajax")),a=i.data(e.data_attr("reveal-replace-content"));if(e.locked=!0,void 0===n)e.open.call(e,i);else{var o=!0===n?i.attr("href"):n;e.open.call(e,i,{url:o},{replaceContentSel:a})}}}),s(i).on("click.fndtn.reveal",this.close_targets(),function(t){if(t.preventDefault(),!e.locked){var i=s("["+e.attr_name()+"].open").data(e.attr_name(!0)+"-init")||e.settings,n=s(t.target)[0]===s("."+i.bg_class)[0];if(n){if(!i.close_on_background_click)return;t.stopPropagation()}e.locked=!0,e.close.call(e,n?s("["+e.attr_name()+"].open:not(.toback)"):s(this).closest("["+e.attr_name()+"]"))}}),s("["+e.attr_name()+"]",this.scope).length>0?s(this.scope).on("open.fndtn.reveal",this.settings.open).on("opened.fndtn.reveal",this.settings.opened).on("opened.fndtn.reveal",this.open_video).on("close.fndtn.reveal",this.settings.close).on("closed.fndtn.reveal",this.settings.closed).on("closed.fndtn.reveal",this.close_video):s(this.scope).on("open.fndtn.reveal","["+e.attr_name()+"]",this.settings.open).on("opened.fndtn.reveal","["+e.attr_name()+"]",this.settings.opened).on("opened.fndtn.reveal","["+e.attr_name()+"]",this.open_video).on("close.fndtn.reveal","["+e.attr_name()+"]",this.settings.close).on("closed.fndtn.reveal","["+e.attr_name()+"]",this.settings.closed).on("closed.fndtn.reveal","["+e.attr_name()+"]",this.close_video),!0},key_up_on:function(t){var e=this;return e.S("body").off("keyup.fndtn.reveal").on("keyup.fndtn.reveal",function(t){var i=e.S("["+e.attr_name()+"].open"),s=i.data(e.attr_name(!0)+"-init")||e.settings;s&&27===t.which&&s.close_on_esc&&!e.locked&&e.close.call(e,i)}),!0},key_up_off:function(t){return this.S("body").off("keyup.fndtn.reveal"),!0},open:function(i,n){var o,r=this;i?void 0!==i.selector?o=r.S("#"+i.data(r.data_attr("reveal-id"))).first():(o=r.S(this.scope),n=i):o=r.S(this.scope);var l=o.data(r.attr_name(!0)+"-init");if(l=l||this.settings,o.hasClass("open")&&i!==s&&i.attr("data-reveal-id")==o.attr("id"))return r.close(o);if(!o.hasClass("open")){var d=r.S("["+r.attr_name()+"].open");void 0===o.data("css-top")&&o.data("css-top",parseInt(o.css("top"),10)).data("offset",this.cache_offset(o)),o.attr("tabindex","0").attr("aria-hidden","false"),this.key_up_on(o),o.on("open.fndtn.reveal",function(t){t.namespace}),o.on("open.fndtn.reveal").trigger("open.fndtn.reveal"),d.length<1&&this.toggle_bg(o,!0),"string"==typeof n&&(n={url:n});var c=function(){d.length>0&&(l.multiple_opened?r.to_back(d):r.hide(d,l.css.close)),l.multiple_opened&&a.push(o),r.show(o,l.css.open)};if(void 0!==n&&n.url){var h=void 0!==n.success?n.success:null;t.extend(n,{success:function(e,i,s){if(t.isFunction(h)){var n=h(e,i,s);"string"==typeof n&&(e=n)}"undefined"!=typeof options&&void 0!==options.replaceContentSel?o.find(options.replaceContentSel).html(e):o.html(e),r.S(o).foundation("section","reflow"),r.S(o).children().foundation(),c()}}),l.on_ajax_error!==t.noop&&t.extend(n,{error:l.on_ajax_error}),t.ajax(n)}else c()}r.S(e).trigger("resize")},close:function(e){var e=e&&e.length?e:this.S(this.scope),i=this.S("["+this.attr_name()+"].open"),s=e.data(this.attr_name(!0)+"-init")||this.settings,n=this;if(i.length>0)if(e.removeAttr("tabindex","0").attr("aria-hidden","true"),this.locked=!0,this.key_up_off(e),e.trigger("close.fndtn.reveal"),(s.multiple_opened&&1===i.length||!s.multiple_opened||e.length>1)&&(n.toggle_bg(e,!1),n.to_front(e)),s.multiple_opened){var o=e.is(":not(.toback)");n.hide(e,s.css.close,s),o?a.pop():a=t.grep(a,function(t){var i=t[0]===e[0];return i&&n.to_front(e),!i}),a.length>0&&n.to_front(a[a.length-1])}else n.hide(i,s.css.close,s)},close_targets:function(){var t="."+this.settings.dismiss_modal_class;return this.settings.close_on_background_click?t+", ."+this.settings.bg_class:t},toggle_bg:function(e,i){0===this.S("."+this.settings.bg_class).length&&(this.settings.bg=t("<div />",{class:this.settings.bg_class}).appendTo("body").hide());var n=this.settings.bg.filter(":visible").length>0;i!=n&&((i==s?n:!i)?this.hide(this.settings.bg):this.show(this.settings.bg))},show:function(i,s){if(s){var a=i.data(this.attr_name(!0)+"-init")||this.settings,o=a.root_element,r=this;if(0===i.parent(o).length){var l=i.wrap('<div style="display: none;" />').parent();i.on("closed.fndtn.reveal.wrapped",function(){i.detach().appendTo(l),i.unwrap().unbind("closed.fndtn.reveal.wrapped")}),i.detach().appendTo(o)}var d=n(a.animation);if(d.animate||(this.locked=!1),d.pop){s.top=t(e).scrollTop()-i.data("offset")+"px";var c={top:t(e).scrollTop()+i.data("css-top")+"px",opacity:1};return setTimeout(function(){return i.css(s).animate(c,a.animation_speed,"linear",function(){r.locked=!1,i.trigger("opened.fndtn.reveal")}).addClass("open")},a.animation_speed/2)}if(s.top=t(e).scrollTop()+i.data("css-top")+"px",d.fade){var c={opacity:1};return setTimeout(function(){return i.css(s).animate(c,a.animation_speed,"linear",function(){r.locked=!1,i.trigger("opened.fndtn.reveal")}).addClass("open")},a.animation_speed/2)}return i.css(s).show().css({opacity:1}).addClass("open").trigger("opened.fndtn.reveal")}var a=this.settings;return n(a.animation).fade?i.fadeIn(a.animation_speed/2):(this.locked=!1,i.show())},to_back:function(t){t.addClass("toback")},to_front:function(t){t.removeClass("toback")},hide:function(i,s){if(s){var a=i.data(this.attr_name(!0)+"-init"),o=this;a=a||this.settings;var r=n(a.animation);if(r.animate||(this.locked=!1),r.pop){var l={top:-t(e).scrollTop()-i.data("offset")+"px",opacity:0};return setTimeout(function(){return i.animate(l,a.animation_speed,"linear",function(){o.locked=!1,i.css(s).trigger("closed.fndtn.reveal")}).removeClass("open")},a.animation_speed/2)}if(r.fade){var l={opacity:0};return setTimeout(function(){return i.animate(l,a.animation_speed,"linear",function(){o.locked=!1,i.css(s).trigger("closed.fndtn.reveal")}).removeClass("open")},a.animation_speed/2)}return i.hide().css(s).removeClass("open").trigger("closed.fndtn.reveal")}var a=this.settings;return n(a.animation).fade?i.fadeOut(a.animation_speed/2):i.hide()},close_video:function(e){var i=t(".flex-video",e.target),s=t("iframe",i);s.length>0&&(s.attr("data-src",s[0].src),s.attr("src",s.attr("src")),i.hide())},open_video:function(e){var i=t(".flex-video",e.target),n=i.find("iframe");if(n.length>0){if("string"==typeof n.attr("data-src"))n[0].src=n.attr("data-src");else{var a=n[0].src;n[0].src=s,n[0].src=a}i.show()}},data_attr:function(t){return this.namespace.length>0?this.namespace+"-"+t:t},cache_offset:function(t){var e=t.show().height()+parseInt(t.css("top"),10)+t.scrollY;return t.hide(),e},off:function(){t(this.scope).off(".fndtn.reveal")},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.slider={name:"slider",version:"5.5.3",settings:{start:0,end:100,step:1,precision:2,initial:null,display_selector:"",vertical:!1,trigger_input_change:!1,on_change:function(){}},cache:{},init:function(t,e,i){Foundation.inherit(this,"throttle"),this.bindings(e,i),this.reflow()},events:function(){var i=this;t(this.scope).off(".slider").on("mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider","["+i.attr_name()+"]:not(.disabled, [disabled]) .range-slider-handle",function(e){i.cache.active||(e.preventDefault(),i.set_active_slider(t(e.target)))}).on("mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider",function(s){if(i.cache.active)if(s.preventDefault(),t.data(i.cache.active[0],"settings").vertical){var n=0;s.pageY||(n=e.scrollY),i.calculate_position(i.cache.active,i.get_cursor_position(s,"y")+n)}else i.calculate_position(i.cache.active,i.get_cursor_position(s,"x"))}).on("mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider",function(s){if(!i.cache.active){var n="slider"===t(s.target).attr("role")?t(s.target):t(s.target).closest(".range-slider").find("[role='slider']");if(n.length&&!n.parent().hasClass("disabled")&&!n.parent().attr("disabled"))if(i.set_active_slider(n),t.data(i.cache.active[0],"settings").vertical){var a=0;s.pageY||(a=e.scrollY),i.calculate_position(i.cache.active,i.get_cursor_position(s,"y")+a)}else i.calculate_position(i.cache.active,i.get_cursor_position(s,"x"))}i.remove_active_slider()}).on("change.fndtn.slider",function(t){i.settings.on_change()}),i.S(e).on("resize.fndtn.slider",i.throttle(function(t){i.reflow()},300)),this.S("["+this.attr_name()+"]").each(function(){var e=t(this),s=e.children(".range-slider-handle")[0],n=i.initialize_settings(s);""!=n.display_selector&&t(n.display_selector).each(function(){t(this).attr("value")&&t(this).off("change").on("change",function(){e.foundation("slider","set_value",t(this).val())})})})},get_cursor_position:function(t,e){var i,s="page"+e.toUpperCase(),n="client"+e.toUpperCase();return void 0!==t[s]?i=t[s]:void 0!==t.originalEvent[n]?i=t.originalEvent[n]:t.originalEvent.touches&&t.originalEvent.touches[0]&&void 0!==t.originalEvent.touches[0][n]?i=t.originalEvent.touches[0][n]:t.currentPoint&&void 0!==t.currentPoint[e]&&(i=t.currentPoint[e]),i},set_active_slider:function(t){this.cache.active=t},remove_active_slider:function(){this.cache.active=null},calculate_position:function(e,i){var s=this,n=t.data(e[0],"settings"),a=(t.data(e[0],"handle_l"),t.data(e[0],"handle_o"),t.data(e[0],"bar_l")),o=t.data(e[0],"bar_o");requestAnimationFrame(function(){var t;t=Foundation.rtl&&!n.vertical?s.limit_to((o+a-i)/a,0,1):s.limit_to((i-o)/a,0,1),t=n.vertical?1-t:t;var r=s.normalized_value(t,n.start,n.end,n.step,n.precision);s.set_ui(e,r)})},set_ui:function(e,i){var s=t.data(e[0],"settings"),n=t.data(e[0],"handle_l"),a=t.data(e[0],"bar_l"),o=this.normalized_percentage(i,s.start,s.end),r=o*(a-n)-1,l=100*o,d=e.parent(),c=e.parent().children("input[type=hidden]");Foundation.rtl&&!s.vertical&&(r=-r),r=s.vertical?-r+a-n+1:r,this.set_translate(e,r,s.vertical),s.vertical?e.siblings(".range-slider-active-segment").css("height",l+"%"):e.siblings(".range-slider-active-segment").css("width",l+"%"),d.attr(this.attr_name(),i).trigger("change.fndtn.slider"),c.val(i),s.trigger_input_change&&c.trigger("change.fndtn.slider"),e[0].hasAttribute("aria-valuemin")||e.attr({"aria-valuemin":s.start,"aria-valuemax":s.end}),e.attr("aria-valuenow",i),""!=s.display_selector&&t(s.display_selector).each(function(){this.hasAttribute("value")?t(this).val(i):t(this).text(i)})},normalized_percentage:function(t,e,i){return Math.min(1,(t-e)/(i-e))},normalized_value:function(t,e,i,s,n){var a=i-e,o=t*a;return((o-o%s)/s*s+(o%s>=.5*s?s:0)+e).toFixed(n)},set_translate:function(e,i,s){s?t(e).css("-webkit-transform","translateY("+i+"px)").css("-moz-transform","translateY("+i+"px)").css("-ms-transform","translateY("+i+"px)").css("-o-transform","translateY("+i+"px)").css("transform","translateY("+i+"px)"):t(e).css("-webkit-transform","translateX("+i+"px)").css("-moz-transform","translateX("+i+"px)").css("-ms-transform","translateX("+i+"px)").css("-o-transform","translateX("+i+"px)").css("transform","translateX("+i+"px)")},limit_to:function(t,e,i){return Math.min(Math.max(t,e),i)},initialize_settings:function(e){var i,s=t.extend({},this.settings,this.data_options(t(e).parent()));return null===s.precision&&(i=(""+s.step).match(/\.([\d]*)/),s.precision=i&&i[1]?i[1].length:0),s.vertical?(t.data(e,"bar_o",t(e).parent().offset().top),t.data(e,"bar_l",t(e).parent().outerHeight()),t.data(e,"handle_o",t(e).offset().top),t.data(e,"handle_l",t(e).outerHeight())):(t.data(e,"bar_o",t(e).parent().offset().left),t.data(e,"bar_l",t(e).parent().outerWidth()),t.data(e,"handle_o",t(e).offset().left),t.data(e,"handle_l",t(e).outerWidth())),t.data(e,"bar",t(e).parent()),t.data(e,"settings",s)},set_initial_position:function(e){var i=t.data(e.children(".range-slider-handle")[0],"settings"),s="number"!=typeof i.initial||isNaN(i.initial)?Math.floor(.5*(i.end-i.start)/i.step)*i.step+i.start:i.initial,n=e.children(".range-slider-handle");this.set_ui(n,s)},set_value:function(e){var i=this;t("["+i.attr_name()+"]",this.scope).each(function(){t(this).attr(i.attr_name(),e)}),t(this.scope).attr(i.attr_name())&&t(this.scope).attr(i.attr_name(),e),i.reflow()},reflow:function(){var e=this;e.S("["+this.attr_name()+"]").each(function(){var i=t(this).children(".range-slider-handle")[0],s=t(this).attr(e.attr_name());e.initialize_settings(i),s?e.set_ui(t(i),parseFloat(s)):e.set_initial_position(t(this))})}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.tab={name:"tab",version:"5.5.3",settings:{active_class:"active",callback:function(){},deep_linking:!1,scroll_to_content:!0,is_hover:!1},default_tab_hashes:[],init:function(t,e,i){var s=this;(0,this.S)("["+this.attr_name()+"] > .active > a",this.scope).each(function(){s.default_tab_hashes.push(this.hash)}),this.bindings(e,i),this.handle_location_hash_change()},events:function(){var t=this,i=this.S,s=function(e,s){i(s).closest("["+t.attr_name()+"]").data(t.attr_name(!0)+"-init").is_hover&&!Modernizr.touch||(9!==(e.keyCode||e.which)&&(e.preventDefault(),e.stopPropagation()),t.toggle_active_tab(i(s).parent()))};i(this.scope).off(".tab").on("keydown.fndtn.tab","["+this.attr_name()+"] > * > a",function(t){var e=t.keyCode||t.which;if(13===e||32===e){s(t,this)}}).on("click.fndtn.tab","["+this.attr_name()+"] > * > a",function(t){s(t,this)}).on("mouseenter.fndtn.tab","["+this.attr_name()+"] > * > a",function(e){i(this).closest("["+t.attr_name()+"]").data(t.attr_name(!0)+"-init").is_hover&&t.toggle_active_tab(i(this).parent())}),i(e).on("hashchange.fndtn.tab",function(e){e.preventDefault(),t.handle_location_hash_change()})},handle_location_hash_change:function(){var e=this,i=this.S;i("["+this.attr_name()+"]",this.scope).each(function(){var n=i(this).data(e.attr_name(!0)+"-init");if(n.deep_linking){var a;if(""!=(a=n.scroll_to_content?e.scope.location.hash:e.scope.location.hash.replace("fndtn-",""))){var o=i(a);if(o.hasClass("content")&&o.parent().hasClass("tabs-content"))e.toggle_active_tab(t("["+e.attr_name()+"] > * > a[href="+a+"]").parent());else{var r=o.closest(".content").attr("id");r!=s&&e.toggle_active_tab(t("["+e.attr_name()+"] > * > a[href=#"+r+"]").parent(),a)}}else for(var l=0;l<e.default_tab_hashes.length;l++)e.toggle_active_tab(t("["+e.attr_name()+"] > * > a[href="+e.default_tab_hashes[l]+"]").parent())}})},toggle_active_tab:function(n,a){var o=this,r=o.S,l=n.closest("["+this.attr_name()+"]"),d=n.find("a"),c=n.children("a").first(),h="#"+c.attr("href").split("#")[1],u=r(h),f=n.siblings(),p=l.data(this.attr_name(!0)+"-init"),g=function(e){var s,n=t(this),a=t(this).parents("li").prev().children('[role="tab"]'),o=t(this).parents("li").next().children('[role="tab"]');switch(e.keyCode){case 37:s=a;break;case 39:s=o;break;default:s=!1}s.length&&(n.attr({tabindex:"-1","aria-selected":null}),s.attr({tabindex:"0","aria-selected":!0}).focus()),t('[role="tabpanel"]').attr("aria-hidden","true"),t("#"+t(i.activeElement).attr("href").substring(1)).attr("aria-hidden",null)},_=function(t){(t!==(p.scroll_to_content?o.default_tab_hashes[0]:"fndtn-"+o.default_tab_hashes[0].replace("#",""))||e.location.hash)&&(e.location.hash=t)};c.data("tab-content")&&(h="#"+c.data("tab-content").split("#")[1],u=r(h)),p.deep_linking&&(p.scroll_to_content?(_(a||h),a==s||a==h?n.parent()[0].scrollIntoView():r(h)[0].scrollIntoView()):_(a!=s?"fndtn-"+a.replace("#",""):"fndtn-"+h.replace("#",""))),n.addClass(p.active_class).triggerHandler("opened"),d.attr({"aria-selected":"true",tabindex:0}),f.removeClass(p.active_class),f.find("a").attr({"aria-selected":"false"}),u.siblings().removeClass(p.active_class).attr({"aria-hidden":"true"}),u.addClass(p.active_class).attr("aria-hidden","false").removeAttr("tabindex"),p.callback(n),u.triggerHandler("toggled",[u]),l.triggerHandler("toggled",[n]),d.off("keydown").on("keydown",g)},data_attr:function(t){return this.namespace.length>0?this.namespace+"-"+t:t},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.tooltip={name:"tooltip",version:"5.5.3",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,hover_delay:200,fade_in_duration:150,fade_out_duration:150,show_on:"all",tip_template:function(t,e){return'<span data-selector="'+t+'" id="'+t+'" class="'+Foundation.libs.tooltip.settings.tooltip_class.substring(1)+'" role="tooltip">'+e+'<span class="nub"></span></span>'}},cache:{},init:function(t,e,i){Foundation.inherit(this,"random_str"),this.bindings(e,i)},should_show:function(e,i){var s=t.extend({},this.settings,this.data_options(e));return"all"===s.show_on||(!(!this.small()||"small"!==s.show_on)||(!(!this.medium()||"medium"!==s.show_on)||!(!this.large()||"large"!==s.show_on)))},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},events:function(e){function i(t,e,i){t.timer||(i?(t.timer=null,n.showTip(e)):t.timer=setTimeout(function(){t.timer=null,n.showTip(e)}.bind(t),n.settings.hover_delay))}function s(t,e){t.timer&&(clearTimeout(t.timer),t.timer=null),n.hide(e)}var n=this,a=n.S;n.create(this.S(e)),t(this.scope).off(".tooltip").on("mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"]",function(e){var o=a(this),r=t.extend({},n.settings,n.data_options(o));if(Modernizr.touch&&/touchstart|MSPointerDown/i.test(e.type)&&a(e.target).is("a"))return!1;if(/mouse/i.test(e.type)&&n.ie_touch(e))return!1;if(o.hasClass("open"))Modernizr.touch&&/touchstart|MSPointerDown/i.test(e.type)&&e.preventDefault(),n.hide(o);else{if(r.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(e.type))return;if(!r.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(e.type)&&(e.preventDefault(),a(r.tooltip_class+".open").hide(),!0,t(".open["+n.attr_name()+"]").length>0)){
+var l=a(t(".open["+n.attr_name()+"]")[0]);n.hide(l)}/enter|over/i.test(e.type)?i(this,o):"mouseout"===e.type||"mouseleave"===e.type?s(this,o):i(this,o,!0)}}).on("mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"].open",function(e){return(!/mouse/i.test(e.type)||!n.ie_touch(e))&&void(("touch"!=t(this).data("tooltip-open-event-type")||"mouseleave"!=e.type)&&("mouse"==t(this).data("tooltip-open-event-type")&&/MSPointerDown|touchstart/i.test(e.type)?n.convert_to_touch(t(this)):s(this,t(this))))}).on("DOMNodeRemoved DOMAttrModified","["+this.attr_name()+"]:not(a)",function(t){s(this,a(this))})},ie_touch:function(t){return!1},showTip:function(t){var e=this.getTip(t);return this.should_show(t,e)?this.show(t):void 0},getTip:function(e){var i=this.selector(e),s=t.extend({},this.settings,this.data_options(e)),n=null;return i&&(n=this.S('span[data-selector="'+i+'"]'+s.tooltip_class)),"object"==typeof n&&n},selector:function(t){var e=t.attr(this.attr_name())||t.attr("data-selector");return"string"!=typeof e&&(e=this.random_str(6),t.attr("data-selector",e).attr("aria-describedby",e)),e},create:function(i){var s=this,n=t.extend({},this.settings,this.data_options(i)),a=this.settings.tip_template;"string"==typeof n.tip_template&&e.hasOwnProperty(n.tip_template)&&(a=e[n.tip_template]);var o=t(a(this.selector(i),t("<div></div>").html(i.attr("title")).html())),r=this.inheritable_classes(i);o.addClass(r).appendTo(n.append_to),Modernizr.touch&&(o.append('<span class="tap-to-close">'+n.touch_close_text+"</span>"),o.on("touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip",function(t){s.hide(i)})),i.removeAttr("title").attr("title","")},reposition:function(e,i,s){var n,a,o,r;i.css("visibility","hidden").show(),n=e.data("width"),a=i.children(".nub"),o=a.outerHeight(),a.outerWidth(),this.small()?i.css({width:"100%"}):i.css({width:n||"auto"}),r=function(t,e,i,s,n,a){return t.css({top:e||"auto",bottom:s||"auto",left:n||"auto",right:i||"auto"}).end()};var l=e.offset().top,d=e.offset().left,c=e.outerHeight();if(r(i,l+c+10,"auto","auto",d),this.small())r(i,l+c+10,"auto","auto",12.5,t(this.scope).width()),i.addClass("tip-override"),r(a,-o,"auto","auto",d);else{Foundation.rtl&&(a.addClass("rtl"),d=d+e.outerWidth()-i.outerWidth()),r(i,l+c+10,"auto","auto",d),a.attr("style")&&a.removeAttr("style"),i.removeClass("tip-override");var h=i.outerHeight();s&&s.indexOf("tip-top")>-1?(Foundation.rtl&&a.addClass("rtl"),r(i,l-h,"auto","auto",d).removeClass("tip-override")):s&&s.indexOf("tip-left")>-1?(r(i,l+c/2-h/2,"auto","auto",d-i.outerWidth()-o).removeClass("tip-override"),a.removeClass("rtl")):s&&s.indexOf("tip-right")>-1&&(r(i,l+c/2-h/2,"auto","auto",d+e.outerWidth()+o).removeClass("tip-override"),a.removeClass("rtl"))}i.css("visibility","visible").hide()},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},inheritable_classes:function(e){var i=t.extend({},this.settings,this.data_options(e)),s=["tip-top","tip-left","tip-bottom","tip-right","radius","round"].concat(i.additional_inheritable_classes),n=e.attr("class"),a=n?t.map(n.split(" "),function(e,i){return-1!==t.inArray(e,s)?e:void 0}).join(" "):"";return t.trim(a)},convert_to_touch:function(e){var i=this,s=i.getTip(e),n=t.extend({},i.settings,i.data_options(e));0===s.find(".tap-to-close").length&&(s.append('<span class="tap-to-close">'+n.touch_close_text+"</span>"),s.on("click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose",function(t){i.hide(e)})),e.data("tooltip-open-event-type","touch")},show:function(t){var e=this.getTip(t);"touch"==t.data("tooltip-open-event-type")&&this.convert_to_touch(t),this.reposition(t,e,t.attr("class")),t.addClass("open"),e.fadeIn(this.settings.fade_in_duration)},hide:function(t){var e=this.getTip(t);e.fadeOut(this.settings.fade_out_duration,function(){e.find(".tap-to-close").remove(),e.off("click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose"),t.removeClass("open")})},off:function(){var e=this;this.S(this.scope).off(".fndtn.tooltip"),this.S(this.settings.tooltip_class).each(function(i){t("["+e.attr_name()+"]").eq(i).attr("title",t(this).text())}).remove()},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.topbar={name:"topbar",version:"5.5.3",settings:{index:0,start_offset:0,sticky_class:"sticky",custom_back_text:!0,back_text:"Back",mobile_show_parent_link:!0,is_hover:!0,scrolltop:!0,sticky_on:"all",dropdown_autoclose:!0},init:function(e,i,s){Foundation.inherit(this,"add_custom_rule register_media throttle");var n=this;n.register_media("topbar","foundation-mq-topbar"),this.bindings(i,s),n.S("["+this.attr_name()+"]",this.scope).each(function(){var e=t(this),i=e.data(n.attr_name(!0)+"-init");n.S("section, .top-bar-section",this),e.data("index",0);var s=e.parent();s.hasClass("fixed")||n.is_sticky(e,s,i)?(n.settings.sticky_class=i.sticky_class,n.settings.sticky_topbar=e,e.data("height",s.outerHeight()),e.data("stickyoffset",s.offset().top)):e.data("height",e.outerHeight()),i.assembled||n.assemble(e),i.is_hover?n.S(".has-dropdown",e).addClass("not-click"):n.S(".has-dropdown",e).removeClass("not-click"),n.add_custom_rule(".f-topbar-fixed { padding-top: "+e.data("height")+"px }"),s.hasClass("fixed")&&n.S("body").addClass("f-topbar-fixed")})},is_sticky:function(t,e,i){var s=e.hasClass(i.sticky_class),n=matchMedia(Foundation.media_queries.small).matches,a=matchMedia(Foundation.media_queries.medium).matches,o=matchMedia(Foundation.media_queries.large).matches;return!(!s||"all"!==i.sticky_on)||(!(!(s&&this.small()&&-1!==i.sticky_on.indexOf("small")&&n)||a||o)||(!(!(s&&this.medium()&&-1!==i.sticky_on.indexOf("medium")&&n&&a)||o)||!!(s&&this.large()&&-1!==i.sticky_on.indexOf("large")&&n&&a&&o)))},toggle:function(i){var s,n=this;s=i?n.S(i).closest("["+this.attr_name()+"]"):n.S("["+this.attr_name()+"]");var a=s.data(this.attr_name(!0)+"-init"),o=n.S("section, .top-bar-section",s);n.breakpoint()&&(n.rtl?(o.css({right:"0%"}),t(">.name",o).css({right:"100%"})):(o.css({left:"0%"}),t(">.name",o).css({left:"100%"})),n.S("li.moved",o).removeClass("moved"),s.data("index",0),s.toggleClass("expanded").css("height","")),a.scrolltop?s.hasClass("expanded")?s.parent().hasClass("fixed")&&(a.scrolltop?(s.parent().removeClass("fixed"),s.addClass("fixed"),n.S("body").removeClass("f-topbar-fixed"),e.scrollTo(0,0)):s.parent().removeClass("expanded")):s.hasClass("fixed")&&(s.parent().addClass("fixed"),s.removeClass("fixed"),n.S("body").addClass("f-topbar-fixed")):(n.is_sticky(s,s.parent(),a)&&s.parent().addClass("fixed"),s.parent().hasClass("fixed")&&(s.hasClass("expanded")?(s.addClass("fixed"),s.parent().addClass("expanded"),n.S("body").addClass("f-topbar-fixed")):(s.removeClass("fixed"),s.parent().removeClass("expanded"),n.update_sticky_positioning())))},timer:null,events:function(i){var s=this,n=this.S;n(this.scope).off(".topbar").on("click.fndtn.topbar","["+this.attr_name()+"] .toggle-topbar",function(t){t.preventDefault(),s.toggle(this)}).on("click.fndtn.topbar contextmenu.fndtn.topbar",'.top-bar .top-bar-section li a[href^="#"],['+this.attr_name()+'] .top-bar-section li a[href^="#"]',function(e){var i=t(this).closest("li"),n=i.closest("["+s.attr_name()+"]"),a=n.data(s.attr_name(!0)+"-init");if(a.dropdown_autoclose&&a.is_hover){t(this).closest(".hover").removeClass("hover")}!s.breakpoint()||i.hasClass("back")||i.hasClass("has-dropdown")||s.toggle()}).on("click.fndtn.topbar","["+this.attr_name()+"] li.has-dropdown",function(e){var i=n(this),a=n(e.target),o=i.closest("["+s.attr_name()+"]"),r=o.data(s.attr_name(!0)+"-init");return a.data("revealId")?void s.toggle():void(s.breakpoint()||(!r.is_hover||Modernizr.touch)&&(e.stopImmediatePropagation(),i.hasClass("hover")?(i.removeClass("hover").find("li").removeClass("hover"),i.parents("li.hover").removeClass("hover")):(i.addClass("hover"),t(i).siblings().removeClass("hover"),"A"===a[0].nodeName&&a.parent().hasClass("has-dropdown")&&e.preventDefault())))}).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown>a",function(t){if(s.breakpoint()){t.preventDefault();var e=n(this),i=e.closest("["+s.attr_name()+"]"),a=i.find("section, .top-bar-section"),o=(e.next(".dropdown").outerHeight(),e.closest("li"));i.data("index",i.data("index")+1),o.addClass("moved"),s.rtl?(a.css({right:-100*i.data("index")+"%"}),a.find(">.name").css({right:100*i.data("index")+"%"})):(a.css({left:-100*i.data("index")+"%"}),a.find(">.name").css({left:100*i.data("index")+"%"})),i.css("height",e.siblings("ul").outerHeight(!0)+i.data("height"))}}),n(e).off(".topbar").on("resize.fndtn.topbar",s.throttle(function(){s.resize.call(s)},50)).trigger("resize.fndtn.topbar").load(function(){n(this).trigger("resize.fndtn.topbar")}),n("body").off(".topbar").on("click.fndtn.topbar",function(t){n(t.target).closest("li").closest("li.hover").length>0||n("["+s.attr_name()+"] li.hover").removeClass("hover")}),n(this.scope).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown .back",function(t){t.preventDefault();var e=n(this),i=e.closest("["+s.attr_name()+"]"),a=i.find("section, .top-bar-section"),o=(i.data(s.attr_name(!0)+"-init"),e.closest("li.moved")),r=o.parent();i.data("index",i.data("index")-1),s.rtl?(a.css({right:-100*i.data("index")+"%"}),a.find(">.name").css({right:100*i.data("index")+"%"})):(a.css({left:-100*i.data("index")+"%"}),a.find(">.name").css({left:100*i.data("index")+"%"})),0===i.data("index")?i.css("height",""):i.css("height",r.outerHeight(!0)+i.data("height")),setTimeout(function(){o.removeClass("moved")},300)}),n(this.scope).find(".dropdown a").focus(function(){t(this).parents(".has-dropdown").addClass("hover")}).blur(function(){t(this).parents(".has-dropdown").removeClass("hover")})},resize:function(){var t=this;t.S("["+this.attr_name()+"]").each(function(){var e,s=t.S(this),n=s.data(t.attr_name(!0)+"-init"),a=s.parent("."+t.settings.sticky_class);if(!t.breakpoint()){var o=s.hasClass("expanded");s.css("height","").removeClass("expanded").find("li").removeClass("hover"),o&&t.toggle(s)}t.is_sticky(s,a,n)&&(a.hasClass("fixed")?(a.removeClass("fixed"),e=a.offset().top,t.S(i.body).hasClass("f-topbar-fixed")&&(e-=s.data("height")),s.data("stickyoffset",e),a.addClass("fixed")):(e=a.offset().top,s.data("stickyoffset",e)))})},breakpoint:function(){return!matchMedia(Foundation.media_queries.topbar).matches},small:function(){return matchMedia(Foundation.media_queries.small).matches},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},assemble:function(e){var i=this,s=e.data(this.attr_name(!0)+"-init"),n=i.S("section, .top-bar-section",e);n.detach(),i.S(".has-dropdown>a",n).each(function(){var e,n=i.S(this),a=n.siblings(".dropdown"),o=n.attr("href");a.find(".title.back").length||(e=t(1==s.mobile_show_parent_link&&o?'<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5></li><li class="parent-link hide-for-medium-up"><a class="parent-link js-generated" href="'+o+'">'+n.html()+"</a></li>":'<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5>'),1==s.custom_back_text?t("h5>a",e).html(s.back_text):t("h5>a",e).html("&laquo; "+n.html()),a.prepend(e))}),n.appendTo(e),this.sticky(),this.assembled(e)},assembled:function(e){e.data(this.attr_name(!0),t.extend({},e.data(this.attr_name(!0)),{assembled:!0}))},height:function(e){var i=0,s=this;return t("> li",e).each(function(){i+=s.S(this).outerHeight(!0)}),i},sticky:function(){var t=this;this.S(e).on("scroll",function(){t.update_sticky_positioning()})},update_sticky_positioning:function(){var t="."+this.settings.sticky_class,i=this.S(e),s=this;if(s.settings.sticky_topbar&&s.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(),this.settings)){var n=this.settings.sticky_topbar.data("stickyoffset")+this.settings.start_offset;s.S(t).hasClass("expanded")||(i.scrollTop()>n?s.S(t).hasClass("fixed")||(s.S(t).addClass("fixed"),s.S("body").addClass("f-topbar-fixed")):i.scrollTop()<=n&&s.S(t).hasClass("fixed")&&(s.S(t).removeClass("fixed"),s.S("body").removeClass("f-topbar-fixed")))}},off:function(){this.S(this.scope).off(".fndtn.topbar"),this.S(e).off(".fndtn.topbar")},reflow:function(){}}}(jQuery,window,window.document),$(document).foundation(),$(document).ready(function(){$("ul.children").each(function(){$(this).before('<a class="toggle" href="#"></a>')}),$("a.toggle").click("click",function(){$(this).toggleClass("open"),$(this).siblings("ul").toggleClass("open")}),$(".top-bar-section").find("ul.sub-menu.dropdown").each(function(){var menuImg=$(this).parent("li").prop("id"),menuNum=menuImg.match(/\d+/)[0],menuImgSrc="img_for_menu_"+menuNum;window["img_for_menu_"+menuNum]?$(this).find("li.image-placeholder").html('<img src="'+eval(menuImgSrc)+'">'):($(this).find("li.image-placeholder").parent("ul").addClass("no-image-subul"),$(this).find("li.image-placeholder").remove())}),$("#glm-member-password-lost-link").click(function(){$("#glm-member-password-lost-form").show()});var headerVideo=document.getElementById("front-page-video"),loc=window.location.href;/regions/.test(loc)&&$("#interactive-map > li").addClass("active"),/destinations/.test(loc)&&$("#dropdown-destination > li").addClass("active"),/venues/.test(loc)&&$("#dropdown-venues > li").addClass("active"),$("section.left-small").on("click",function(){window.scrollTo(0,0)})});
\ No newline at end of file
diff --git a/dev/js/custom/pageSetup.js b/dev/js/custom/pageSetup.js
new file mode 100644 (file)
index 0000000..1551179
--- /dev/null
@@ -0,0 +1,46 @@
+// Load foundation
+$(document).foundation();
+$(document).ready(function () {
+    $('ul.children').each(function () {
+        $(this).before('<a class="toggle" href="#"></a>');
+    });
+    $('a.toggle').click('click', function () {
+        $(this).toggleClass('open');
+        $(this).siblings('ul').toggleClass('open');
+    });
+    $('.top-bar-section').find('ul.sub-menu.dropdown').each(function (){
+        var menuImg = $(this).parent('li').prop('id');
+        var menuNum = menuImg.match(/\d+/)[0];
+        var menuImgSrc = 'img_for_menu_' + menuNum;
+        if (window['img_for_menu_' + menuNum]) {
+            $(this).find('li.image-placeholder').html('<img src="' + eval(menuImgSrc) + '">');
+        } else {
+            $(this).find('li.image-placeholder').parent('ul').addClass('no-image-subul');
+            $(this).find('li.image-placeholder').remove();
+        }
+        //console.log('ul = ' + menuImg);
+        //console.log('menu-id = ' + menuNum);
+    });
+    $('#glm-member-password-lost-link').click(function() {
+        $('#glm-member-password-lost-form').show();
+    });
+    var headerVideo = document.getElementById('front-page-video');
+
+    // if($(window).width() > 1024){
+    //     $(headerVideo).attr("controls",false); 
+    // }
+
+    var loc = window.location.href; // returns the full URL
+    if(/regions/.test(loc)) {
+        $('#interactive-map > li').addClass('active');
+    }
+    if(/destinations/.test(loc)) {
+        $('#dropdown-destination > li').addClass('active');
+    }
+    if(/venues/.test(loc)) {
+        $('#dropdown-venues > li').addClass('active');
+    }
+    $('section.left-small').on("click", function(){
+        window.scrollTo(0, 0);
+    })
+});
diff --git a/dev/js/dollarsign.js b/dev/js/dollarsign.js
new file mode 100644 (file)
index 0000000..2d7a2e9
--- /dev/null
@@ -0,0 +1,6 @@
+/*
+ * To avoid conflicts, Wordpress tends to prefer jQuery being used over $.
+ * As long as this file is included, no such conflicts should arise. Ensure it
+ * is called before other .js files using $.
+ */
+var $=jQuery.noConflict();
\ No newline at end of file
diff --git a/dev/js/foundation.min.js b/dev/js/foundation.min.js
new file mode 100644 (file)
index 0000000..558dcfa
--- /dev/null
@@ -0,0 +1,5 @@
+!function(a,b,c,d){"use strict";function e(a){return("string"==typeof a||a instanceof String)&&(a=a.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g,"")),a}function f(a){this.selector=a,this.query=""}var g=function(b){var c=a("head");c.prepend(a.map(b,function(a){return 0===c.has("."+a).length?'<meta class="'+a+'" />':void 0}))};g(["foundation-mq-small","foundation-mq-small-only","foundation-mq-medium","foundation-mq-medium-only","foundation-mq-large","foundation-mq-large-only","foundation-mq-xlarge","foundation-mq-xlarge-only","foundation-mq-xxlarge","foundation-data-attribute-namespace"]),a(function(){"undefined"!=typeof FastClick&&"undefined"!=typeof c.body&&FastClick.attach(c.body)});var h=function(b,d){if("string"==typeof b){if(d){var e;if(d.jquery){if(e=d[0],!e)return d}else e=d;return a(e.querySelectorAll(b))}return a(c.querySelectorAll(b))}return a(b,d)},i=function(a){var b=[];return a||b.push("data"),this.namespace.length>0&&b.push(this.namespace),b.push(this.name),b.join("-")},j=function(a){for(var b=a.split("-"),c=b.length,d=[];c--;)0!==c?d.push(b[c]):this.namespace.length>0?d.push(this.namespace,b[c]):d.push(b[c]);return d.reverse().join("-")},k=function(b,c){var d=this,e=function(){var e=h(this),f=!e.data(d.attr_name(!0)+"-init");e.data(d.attr_name(!0)+"-init",a.extend({},d.settings,c||b,d.data_options(e))),f&&d.events(this)};return h(this.scope).is("["+this.attr_name()+"]")?e.call(this.scope):h("["+this.attr_name()+"]",this.scope).each(e),"string"==typeof b?this[b].call(this,c):void 0},l=function(a,b){function c(){b(a[0])}function d(){if(this.one("load",c),/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var a=this.attr("src"),b=a.match(/\?/)?"&":"?";b+="random="+(new Date).getTime(),this.attr("src",a+b)}}return a.attr("src")?void(a[0].complete||4===a[0].readyState?c():d.call(a)):void c()};/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */
+b.matchMedia||(b.matchMedia=function(){var a=b.styleMedia||b.media;if(!a){var d=c.createElement("style"),e=c.getElementsByTagName("script")[0],f=null;d.type="text/css",d.id="matchmediajs-test",e.parentNode.insertBefore(d,e),f="getComputedStyle"in b&&b.getComputedStyle(d,null)||d.currentStyle,a={matchMedium:function(a){var b="@media "+a+"{ #matchmediajs-test { width: 1px; } }";return d.styleSheet?d.styleSheet.cssText=b:d.textContent=b,"1px"===f.width}}}return function(b){return{matches:a.matchMedium(b||"all"),media:b||"all"}}}()),function(a){function c(){d&&(g(c),i&&a.fx.tick())}for(var d,e=0,f=["webkit","moz"],g=b.requestAnimationFrame,h=b.cancelAnimationFrame,i="undefined"!=typeof a.fx;e<f.length&&!g;e++)g=b[f[e]+"RequestAnimationFrame"],h=h||b[f[e]+"CancelAnimationFrame"]||b[f[e]+"CancelRequestAnimationFrame"];g?(b.requestAnimationFrame=g,b.cancelAnimationFrame=h,i&&(a.fx.timer=function(b){b()&&a.timers.push(b)&&!d&&(d=!0,c())},a.fx.stop=function(){d=!1})):(b.requestAnimationFrame=function(a){var c=(new Date).getTime(),d=Math.max(0,16-(c-e)),f=b.setTimeout(function(){a(c+d)},d);return e=c+d,f},b.cancelAnimationFrame=function(a){clearTimeout(a)})}(a),f.prototype.toString=function(){return this.query||(this.query=h(this.selector).css("font-family").replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g,""))},b.Foundation={name:"Foundation",version:"5.5.3",media_queries:{small:new f(".foundation-mq-small"),"small-only":new f(".foundation-mq-small-only"),medium:new f(".foundation-mq-medium"),"medium-only":new f(".foundation-mq-medium-only"),large:new f(".foundation-mq-large"),"large-only":new f(".foundation-mq-large-only"),xlarge:new f(".foundation-mq-xlarge"),"xlarge-only":new f(".foundation-mq-xlarge-only"),xxlarge:new f(".foundation-mq-xxlarge")},stylesheet:a("<style></style>").appendTo("head")[0].sheet,global:{namespace:d},init:function(a,c,d,e,f){var g=[a,d,e,f],i=[];if(this.rtl=/rtl/i.test(h("html").attr("dir")),this.scope=a||this.scope,this.set_namespace(),c&&"string"==typeof c&&!/reflow/i.test(c))this.libs.hasOwnProperty(c)&&i.push(this.init_lib(c,g));else for(var j in this.libs)i.push(this.init_lib(j,c));return h(b).load(function(){h(b).trigger("resize.fndtn.clearing").trigger("resize.fndtn.dropdown").trigger("resize.fndtn.equalizer").trigger("resize.fndtn.interchange").trigger("resize.fndtn.joyride").trigger("resize.fndtn.magellan").trigger("resize.fndtn.topbar").trigger("resize.fndtn.slider")}),a},init_lib:function(b,c){return this.libs.hasOwnProperty(b)?(this.patch(this.libs[b]),c&&c.hasOwnProperty(b)?("undefined"!=typeof this.libs[b].settings?a.extend(!0,this.libs[b].settings,c[b]):"undefined"!=typeof this.libs[b].defaults&&a.extend(!0,this.libs[b].defaults,c[b]),this.libs[b].init.apply(this.libs[b],[this.scope,c[b]])):(c=c instanceof Array?c:new Array(c),this.libs[b].init.apply(this.libs[b],c))):function(){}},patch:function(a){a.scope=this.scope,a.namespace=this.global.namespace,a.rtl=this.rtl,a.data_options=this.utils.data_options,a.attr_name=i,a.add_namespace=j,a.bindings=k,a.S=this.utils.S},inherit:function(a,b){for(var c=b.split(" "),d=c.length;d--;)this.utils.hasOwnProperty(c[d])&&(a[c[d]]=this.utils[c[d]])},set_namespace:function(){var b=this.global.namespace===d?a(".foundation-data-attribute-namespace").css("font-family"):this.global.namespace;this.global.namespace=b===d||/false/i.test(b)?"":b},libs:{},utils:{S:h,throttle:function(a,b){var c=null;return function(){var d=this,e=arguments;null==c&&(c=setTimeout(function(){a.apply(d,e),c=null},b))}},debounce:function(a,b,c){var d,e;return function(){var f=this,g=arguments,h=function(){d=null,c||(e=a.apply(f,g))},i=c&&!d;return clearTimeout(d),d=setTimeout(h,b),i&&(e=a.apply(f,g)),e}},data_options:function(b,c){function d(a){return!isNaN(a-0)&&null!==a&&""!==a&&a!==!1&&a!==!0}function e(b){return"string"==typeof b?a.trim(b):b}c=c||"options";var f,g,h,i={},j=function(a){var b=Foundation.global.namespace;return b.length>0?a.data(b+"-"+c):a.data(c)},k=j(b);if("object"==typeof k)return k;for(h=(k||":").split(";"),f=h.length;f--;)g=h[f].split(":"),g=[g[0],g.slice(1).join(":")],/true/i.test(g[1])&&(g[1]=!0),/false/i.test(g[1])&&(g[1]=!1),d(g[1])&&(-1===g[1].indexOf(".")?g[1]=parseInt(g[1],10):g[1]=parseFloat(g[1])),2===g.length&&g[0].length>0&&(i[e(g[0])]=e(g[1]));return i},register_media:function(b,c){Foundation.media_queries[b]===d&&(a("head").append('<meta class="'+c+'"/>'),Foundation.media_queries[b]=e(a("."+c).css("font-family")))},add_custom_rule:function(a,b){if(b===d&&Foundation.stylesheet)Foundation.stylesheet.insertRule(a,Foundation.stylesheet.cssRules.length);else{var c=Foundation.media_queries[b];c!==d&&Foundation.stylesheet.insertRule("@media "+Foundation.media_queries[b]+"{ "+a+" }",Foundation.stylesheet.cssRules.length)}},image_loaded:function(a,b){function c(a){for(var b=a.length,c=b-1;c>=0;c--)if(a.attr("height")===d)return!1;return!0}var e=this,f=a.length;(0===f||c(a))&&b(a),a.each(function(){l(e.S(this),function(){f-=1,0===f&&b(a)})})},random_str:function(){return this.fidx||(this.fidx=0),this.prefix=this.prefix||[this.name||"F",(+new Date).toString(36)].join("-"),this.prefix+(this.fidx++).toString(36)},match:function(a){return b.matchMedia(a).matches},is_small_up:function(){return this.match(Foundation.media_queries.small)},is_medium_up:function(){return this.match(Foundation.media_queries.medium)},is_large_up:function(){return this.match(Foundation.media_queries.large)},is_xlarge_up:function(){return this.match(Foundation.media_queries.xlarge)},is_xxlarge_up:function(){return this.match(Foundation.media_queries.xxlarge)},is_small_only:function(){return!(this.is_medium_up()||this.is_large_up()||this.is_xlarge_up()||this.is_xxlarge_up())},is_medium_only:function(){return this.is_medium_up()&&!this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_large_only:function(){return this.is_medium_up()&&this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xxlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&this.is_xxlarge_up()}}},a.fn.foundation=function(){var a=Array.prototype.slice.call(arguments,0);return this.each(function(){return Foundation.init.apply(Foundation,[this].concat(a)),this})}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.abide={name:"abide",version:"5.5.3",settings:{live_validate:!0,validate_on_blur:!0,focus_on_invalid:!0,error_labels:!0,error_class:"error",timeout:1e3,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/},validators:{equalTo:function(a,b,d){var e=c.getElementById(a.getAttribute(this.add_namespace("data-equalto"))).value,f=a.value,g=e===f;return g}}},timer:null,init:function(a,b,c){this.bindings(b,c)},events:function(b){function c(a,b){clearTimeout(d.timer),d.timer=setTimeout(function(){d.validate([a],b)}.bind(a),f.timeout)}var d=this,e=d.S(b).attr("novalidate","novalidate"),f=e.data(this.attr_name(!0)+"-init")||{};this.invalid_attr=this.add_namespace("data-invalid"),e.off(".abide").on("submit.fndtn.abide",function(a){var b=/ajax/i.test(d.S(this).attr(d.attr_name()));return d.validate(d.S(this).find("input, textarea, select").not(":hidden, [data-abide-ignore]").get(),a,b)}).on("validate.fndtn.abide",function(a){"manual"===f.validate_on&&d.validate([a.target],a)}).on("reset",function(b){return d.reset(a(this),b)}).find("input, textarea, select").not(":hidden, [data-abide-ignore]").off(".abide").on("blur.fndtn.abide change.fndtn.abide",function(a){var b=this.getAttribute("id"),d=e.find('[data-equalto="'+b+'"]');f.validate_on_blur&&f.validate_on_blur===!0&&c(this,a),"undefined"!=typeof d.get(0)&&d.val().length&&c(d.get(0),a),"change"===f.validate_on&&c(this,a)}).on("keydown.fndtn.abide",function(a){var b=this.getAttribute("id"),d=e.find('[data-equalto="'+b+'"]');f.live_validate&&f.live_validate===!0&&9!=a.which&&c(this,a),"undefined"!=typeof d.get(0)&&d.val().length&&c(d.get(0),a),"tab"===f.validate_on&&9===a.which?c(this,a):"change"===f.validate_on&&c(this,a)}).on("focus",function(b){navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)&&a("html, body").animate({scrollTop:a(b.target).offset().top},100)})},reset:function(b,c){var d=this;b.removeAttr(d.invalid_attr),a("["+d.invalid_attr+"]",b).removeAttr(d.invalid_attr),a("."+d.settings.error_class,b).not("small").removeClass(d.settings.error_class),a(":input",b).not(":button, :submit, :reset, :hidden, [data-abide-ignore]").val("").removeAttr(d.invalid_attr)},validate:function(a,b,c){for(var d=this.parse_patterns(a),e=d.length,f=this.S(a[0]).closest("form"),g=/submit/.test(b.type),h=0;e>h;h++)if(!d[h]&&(g||c))return this.settings.focus_on_invalid&&a[h].focus(),f.trigger("invalid.fndtn.abide"),this.S(a[h]).closest("form").attr(this.invalid_attr,""),!1;return(g||c)&&f.trigger("valid.fndtn.abide"),f.removeAttr(this.invalid_attr),c?!1:!0},parse_patterns:function(a){for(var b=a.length,c=[];b--;)c.push(this.pattern(a[b]));return this.check_validation_and_apply_styles(c)},pattern:function(a){var b=a.getAttribute("type"),c="string"==typeof a.getAttribute("required"),d=a.getAttribute("pattern")||"";return this.settings.patterns.hasOwnProperty(d)&&d.length>0?[a,this.settings.patterns[d],c]:d.length>0?[a,new RegExp(d),c]:this.settings.patterns.hasOwnProperty(b)?[a,this.settings.patterns[b],c]:(d=/.*/,[a,d,c])},check_validation_and_apply_styles:function(b){var c=b.length,d=[];if(0==c)return d;var e=this.S(b[0][0]).closest("[data-"+this.attr_name(!0)+"]");for(e.data(this.attr_name(!0)+"-init")||{};c--;){var f,g,h=b[c][0],i=b[c][2],j=h.value.trim(),k=this.S(h).parent(),l=h.getAttribute(this.add_namespace("data-abide-validator")),m="radio"===h.type,n="checkbox"===h.type,o=this.S('label[for="'+h.getAttribute("id")+'"]'),p=i?h.value.length>0:!0,q=[];if(h.getAttribute(this.add_namespace("data-equalto"))&&(l="equalTo"),f=k.is("label")?k.parent():k,m&&i)q.push(this.valid_radio(h,i));else if(n&&i)q.push(this.valid_checkbox(h,i));else if(l){for(var r=l.split(" "),s=!0,t=!0,u=0;u<r.length;u++)g=this.settings.validators[r[u]].apply(this,[h,i,f]),q.push(g),t=g&&s,s=g;t?(this.S(h).removeAttr(this.invalid_attr),f.removeClass("error"),o.length>0&&this.settings.error_labels&&o.removeClass(this.settings.error_class).removeAttr("role"),a(h).triggerHandler("valid")):(this.S(h).attr(this.invalid_attr,""),f.addClass("error"),o.length>0&&this.settings.error_labels&&o.addClass(this.settings.error_class).attr("role","alert"),a(h).triggerHandler("invalid"))}else if(b[c][1].test(j)&&p||!i&&h.value.length<1||a(h).attr("disabled")?q.push(!0):q.push(!1),q=[q.every(function(a){return a})],q[0])this.S(h).removeAttr(this.invalid_attr),h.setAttribute("aria-invalid","false"),h.removeAttribute("aria-describedby"),f.removeClass(this.settings.error_class),o.length>0&&this.settings.error_labels&&o.removeClass(this.settings.error_class).removeAttr("role"),a(h).triggerHandler("valid");else{this.S(h).attr(this.invalid_attr,""),h.setAttribute("aria-invalid","true");var v=f.find("small."+this.settings.error_class,"span."+this.settings.error_class),w=v.length>0?v[0].id:"";w.length>0&&h.setAttribute("aria-describedby",w),f.addClass(this.settings.error_class),o.length>0&&this.settings.error_labels&&o.addClass(this.settings.error_class).attr("role","alert"),a(h).triggerHandler("invalid")}d=d.concat(q)}return d},valid_checkbox:function(b,c){var b=this.S(b),d=b.is(":checked")||!c||b.get(0).getAttribute("disabled");return d?(b.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),a(b).triggerHandler("valid")):(b.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),a(b).triggerHandler("invalid")),d},valid_radio:function(b,c){for(var d=b.getAttribute("name"),e=this.S(b).closest("[data-"+this.attr_name(!0)+"]").find("[name='"+d+"']"),f=e.length,g=!1,h=!1,i=0;f>i;i++)e[i].getAttribute("disabled")?(h=!0,g=!0):e[i].checked?g=!0:h&&(g=!1);for(var i=0;f>i;i++)g?(this.S(e[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),a(e[i]).triggerHandler("valid")):(this.S(e[i]).attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),a(e[i]).triggerHandler("invalid"));return g},valid_equal:function(a,b,d){var e=c.getElementById(a.getAttribute(this.add_namespace("data-equalto"))).value,f=a.value,g=e===f;return g?(this.S(a).removeAttr(this.invalid_attr),d.removeClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.removeClass(this.settings.error_class)):(this.S(a).attr(this.invalid_attr,""),d.addClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.addClass(this.settings.error_class)),g},valid_oneof:function(a,b,c,d){var a=this.S(a),e=this.S("["+this.add_namespace("data-oneof")+"]"),f=e.filter(":checked").length>0;if(f?a.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class):a.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),!d){var g=this;e.each(function(){g.valid_oneof.call(g,this,null,null,!0)})}return f},reflow:function(a,b){var c=this,d=c.S("["+this.attr_name()+"]").attr("novalidate","novalidate");c.S(d).each(function(a,b){c.events(b)})}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.accordion={name:"accordion",version:"5.5.3",settings:{content_class:"content",active_class:"active",multi_expand:!1,toggleable:!0,callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(b){var c=this,d=this.S;c.create(this.S(b)),d(this.scope).off(".fndtn.accordion").on("click.fndtn.accordion","["+this.attr_name()+"] > dd > a, ["+this.attr_name()+"] > li > a",function(b){var e=d(this).closest("["+c.attr_name()+"]"),f=c.attr_name()+"="+e.attr(c.attr_name()),g=e.data(c.attr_name(!0)+"-init")||c.settings,h=d("#"+this.href.split("#")[1]),i=a("> dd, > li",e),j=i.children("."+g.content_class),k=j.filter("."+g.active_class);return b.preventDefault(),e.attr(c.attr_name())&&(j=j.add("["+f+"] dd > ."+g.content_class+", ["+f+"] li > ."+g.content_class),i=i.add("["+f+"] dd, ["+f+"] li")),g.toggleable&&h.is(k)?(h.parent("dd, li").toggleClass(g.active_class,!1),h.toggleClass(g.active_class,!1),d(this).attr("aria-expanded",function(a,b){return"true"===b?"false":"true"}),g.callback(h),h.triggerHandler("toggled",[e]),void e.triggerHandler("toggled",[h])):(g.multi_expand||(j.removeClass(g.active_class),i.removeClass(g.active_class),i.children("a").attr("aria-expanded","false")),h.addClass(g.active_class).parent().addClass(g.active_class),g.callback(h),h.triggerHandler("toggled",[e]),e.triggerHandler("toggled",[h]),void d(this).attr("aria-expanded","true"))})},create:function(b){var c=this,d=b,e=a("> .accordion-navigation",d),f=d.data(c.attr_name(!0)+"-init")||c.settings;e.children("a").attr("aria-expanded","false"),e.has("."+f.content_class+"."+f.active_class).addClass(f.active_class).children("a").attr("aria-expanded","true"),f.multi_expand&&b.attr("aria-multiselectable","true")},toggle:function(a){var a="undefined"!=typeof a?a:{},c="undefined"!=typeof a.selector?a.selector:"",d="undefined"!=typeof a.toggle_state?a.toggle_state:"",e="undefined"!=typeof a.$accordion?a.$accordion:this.S(this.scope).closest("["+this.attr_name()+"]"),f=e.find("> dd"+c+", > li"+c);if(f.length<1)return b.console&&console.error("Selection not found.",c),!1;var g=this.S,h=this.settings.active_class;f.each(function(){var a=g(this),b=a.hasClass(h);(b&&"close"===d||!b&&"open"===d||""===d)&&a.find("> a").trigger("click.fndtn.accordion")})},open:function(a){var a="undefined"!=typeof a?a:{};a.toggle_state="open",this.toggle(a)},close:function(a){var a="undefined"!=typeof a?a:{};a.toggle_state="close",this.toggle(a)},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.alert={name:"alert",version:"5.5.3",settings:{callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this,c=this.S;a(this.scope).off(".alert").on("click.fndtn.alert","["+this.attr_name()+"] .close",function(a){var d=c(this).closest("["+b.attr_name()+"]"),e=d.data(b.attr_name(!0)+"-init")||b.settings;a.preventDefault(),Modernizr.csstransitions?(d.addClass("alert-close"),d.on("transitionend webkitTransitionEnd oTransitionEnd",function(a){c(this).trigger("close.fndtn.alert").remove(),e.callback()})):d.fadeOut(300,function(){c(this).trigger("close.fndtn.alert").remove(),e.callback()})})},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.clearing={name:"clearing",version:"5.5.3",settings:{templates:{viewing:'<a href="#" class="clearing-close">&times;</a><div class="visible-img" style="display: none"><div class="clearing-touch-label"></div><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" /><p class="clearing-caption"></p><a href="#" class="clearing-main-prev"><span></span></a><a href="#" class="clearing-main-next"><span></span></a></div><img class="clearing-preload-next" style="display: none" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" /><img class="clearing-preload-prev" style="display: none" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" />'},close_selectors:".clearing-close, div.clearing-blackout",open_selectors:"",skip_selector:"",touch_label:"",init:!1,locked:!1},init:function(a,b,c){var d=this;Foundation.inherit(this,"throttle image_loaded"),this.bindings(b,c),d.S(this.scope).is("["+this.attr_name()+"]")?this.assemble(d.S("li",this.scope)):d.S("["+this.attr_name()+"]",this.scope).each(function(){d.assemble(d.S("li",this))})},events:function(d){var e=this,f=e.S,g=a(".scroll-container");g.length>0&&(this.scope=g),f(this.scope).off(".clearing").on("click.fndtn.clearing","ul["+this.attr_name()+"] li "+this.settings.open_selectors,function(a,b,c){var b=b||f(this),c=c||b,d=b.next("li"),g=b.closest("["+e.attr_name()+"]").data(e.attr_name(!0)+"-init"),h=f(a.target);a.preventDefault(),g||(e.init(),g=b.closest("["+e.attr_name()+"]").data(e.attr_name(!0)+"-init")),c.hasClass("visible")&&b[0]===c[0]&&d.length>0&&e.is_open(b)&&(c=d,h=f("img",c)),e.open(h,b,c),e.update_paddles(c)}).on("click.fndtn.clearing",".clearing-main-next",function(a){e.nav(a,"next")}).on("click.fndtn.clearing",".clearing-main-prev",function(a){e.nav(a,"prev")}).on("click.fndtn.clearing",this.settings.close_selectors,function(a){Foundation.libs.clearing.close(a,this)}),a(c).on("keydown.fndtn.clearing",function(a){e.keydown(a)}),f(b).off(".clearing").on("resize.fndtn.clearing",function(){e.resize()}),this.swipe_events(d)},swipe_events:function(a){var b=this,c=b.S;c(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(a){a.touches||(a=a.originalEvent);var b={start_page_x:a.touches[0].pageX,start_page_y:a.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};c(this).data("swipe-transition",b),a.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(a){if(a.touches||(a=a.originalEvent),!(a.touches.length>1||a.scale&&1!==a.scale)){var d=c(this).data("swipe-transition");if("undefined"==typeof d&&(d={}),d.delta_x=a.touches[0].pageX-d.start_page_x,Foundation.rtl&&(d.delta_x=-d.delta_x),"undefined"==typeof d.is_scrolling&&(d.is_scrolling=!!(d.is_scrolling||Math.abs(d.delta_x)<Math.abs(a.touches[0].pageY-d.start_page_y))),!d.is_scrolling&&!d.active){a.preventDefault();var e=d.delta_x<0?"next":"prev";d.active=!0,b.nav(a,e)}}}).on("touchend.fndtn.clearing",".visible-img",function(a){c(this).data("swipe-transition",{}),a.stopPropagation()})},assemble:function(b){var c=b.parent();if(!c.parent().hasClass("carousel")){c.after('<div id="foundationClearingHolder"></div>');var d=c.detach(),e="";if(null!=d[0]){e=d[0].outerHTML;var f=this.S("#foundationClearingHolder"),g=c.data(this.attr_name(!0)+"-init"),h={grid:'<div class="carousel">'+e+"</div>",viewing:g.templates.viewing},i='<div class="clearing-assembled"><div>'+h.viewing+h.grid+"</div></div>",j=this.settings.touch_label;Modernizr.touch&&(i=a(i).find(".clearing-touch-label").html(j).end()),f.after(i).remove()}}},open:function(b,d,e){function f(){setTimeout(function(){this.image_loaded(m,function(){1!==m.outerWidth()||o?g.call(this,m):f.call(this)}.bind(this))}.bind(this),100)}function g(b){var c=a(b);c.css("visibility","visible"),c.trigger("imageVisible"),i.css("overflow","hidden"),j.addClass("clearing-blackout"),k.addClass("clearing-container"),l.show(),this.fix_height(e).caption(h.S(".clearing-caption",l),h.S("img",e)).center_and_label(b,n).shift(d,e,function(){e.closest("li").siblings().removeClass("visible"),e.closest("li").addClass("visible")}),l.trigger("opened.fndtn.clearing")}var h=this,i=a(c.body),j=e.closest(".clearing-assembled"),k=h.S("div",j).first(),l=h.S(".visible-img",k),m=h.S("img",l).not(b),n=h.S(".clearing-touch-label",k),o=!1,p={};a("body").on("touchmove",function(a){a.preventDefault()}),m.error(function(){o=!0}),this.locked()||(l.trigger("open.fndtn.clearing"),p=this.load(b),p.interchange?m.attr("data-interchange",p.interchange).foundation("interchange","reflow"):m.attr("src",p.src).attr("data-interchange",""),m.css("visibility","hidden"),f.call(this))},close:function(b,d){b.preventDefault();var e,f,g=function(a){return/blackout/.test(a.selector)?a:a.closest(".clearing-blackout")}(a(d)),h=a(c.body);return d===b.target&&g&&(h.css("overflow",""),e=a("div",g).first(),f=a(".visible-img",e),f.trigger("close.fndtn.clearing"),this.settings.prev_index=0,a("ul["+this.attr_name()+"]",g).attr("style","").closest(".clearing-blackout").removeClass("clearing-blackout"),e.removeClass("clearing-container"),f.hide(),f.trigger("closed.fndtn.clearing")),a("body").off("touchmove"),!1},is_open:function(a){return a.parent().prop("style").length>0},keydown:function(b){var c=a(".clearing-blackout ul["+this.attr_name()+"]"),d=this.rtl?37:39,e=this.rtl?39:37,f=27;b.which===d&&this.go(c,"next"),b.which===e&&this.go(c,"prev"),b.which===f&&this.S("a.clearing-close").trigger("click.fndtn.clearing")},nav:function(b,c){var d=a("ul["+this.attr_name()+"]",".clearing-blackout");b.preventDefault(),this.go(d,c)},resize:function(){var b=a("img",".clearing-blackout .visible-img"),c=a(".clearing-touch-label",".clearing-blackout");b.length&&(this.center_and_label(b,c),b.trigger("resized.fndtn.clearing"))},fix_height:function(a){var b=a.parent().children(),c=this;return b.each(function(){var a=c.S(this),b=a.find("img");a.height()>b.outerHeight()&&a.addClass("fix-height")}).closest("ul").width(100*b.length+"%"),this},update_paddles:function(a){a=a.closest("li");var b=a.closest(".carousel").siblings(".visible-img");a.next().length>0?this.S(".clearing-main-next",b).removeClass("disabled"):this.S(".clearing-main-next",b).addClass("disabled"),a.prev().length>0?this.S(".clearing-main-prev",b).removeClass("disabled"):this.S(".clearing-main-prev",b).addClass("disabled")},center_and_label:function(a,b){return!this.rtl&&b.length>0?b.css({marginLeft:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10}):b.css({marginRight:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10,left:"auto",right:"50%"}),this},load:function(a){var b,c,d;return"A"===a[0].nodeName?(b=a.attr("href"),c=a.data("clearing-interchange")):(d=a.closest("a"),b=d.attr("href"),c=d.data("clearing-interchange")),this.preload(a),{src:b?b:a.attr("src"),interchange:b?c:a.data("clearing-interchange")}},preload:function(a){this.img(a.closest("li").next(),"next").img(a.closest("li").prev(),"prev")},img:function(b,c){if(b.length){var d,e,f,g=a(".clearing-preload-"+c),h=this.S("a",b);h.length?(d=h.attr("href"),e=h.data("clearing-interchange")):(f=this.S("img",b),d=f.attr("src"),e=f.data("clearing-interchange")),e?g.attr("data-interchange",e):(g.attr("src",d),g.attr("data-interchange",""))}return this},caption:function(a,b){var c=b.attr("data-caption");if(c){var d=a.get(0);d.innerHTML=c,a.show()}else a.text("").hide();return this},go:function(a,b){var c=this.S(".visible",a),d=c[b]();this.settings.skip_selector&&0!=d.find(this.settings.skip_selector).length&&(d=d[b]()),d.length&&this.S("img",d).trigger("click.fndtn.clearing",[c,d]).trigger("change.fndtn.clearing")},shift:function(a,b,c){var d,e=b.parent(),f=this.settings.prev_index||b.index(),g=this.direction(e,a,b),h=this.rtl?"right":"left",i=parseInt(e.css("left"),10),j=b.outerWidth(),k={};b.index()===f||/skip/.test(g)?/skip/.test(g)&&(d=b.index()-this.settings.up_count,this.lock(),d>0?(k[h]=-(d*j),e.animate(k,300,this.unlock())):(k[h]=0,e.animate(k,300,this.unlock()))):/left/.test(g)?(this.lock(),k[h]=i+j,e.animate(k,300,this.unlock())):/right/.test(g)&&(this.lock(),k[h]=i-j,e.animate(k,300,this.unlock())),c()},direction:function(a,b,c){var d,e=this.S("li",a),f=e.outerWidth()+e.outerWidth()/4,g=Math.floor(this.S(".clearing-container").outerWidth()/f)-1,h=e.index(c);return this.settings.up_count=g,d=this.adjacent(this.settings.prev_index,h)?h>g&&h>this.settings.prev_index?"right":h>g-1&&h<=this.settings.prev_index?"left":!1:"skip",this.settings.prev_index=h,d},adjacent:function(a,b){for(var c=b+1;c>=b-1;c--)if(c===a)return!0;return!1},lock:function(){this.settings.locked=!0},unlock:function(){this.settings.locked=!1},locked:function(){return this.settings.locked},off:function(){this.S(this.scope).off(".fndtn.clearing"),this.S(b).off(".fndtn.clearing")},reflow:function(){this.init()}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.dropdown={name:"dropdown",version:"5.5.3",settings:{active_class:"open",disabled_class:"disabled",mega_class:"mega",align:"bottom",is_hover:!1,hover_timeout:150,opened:function(){},closed:function(){}},init:function(b,c,d){Foundation.inherit(this,"throttle"),a.extend(!0,this.settings,c,d),this.bindings(c,d)},events:function(d){var e=this,f=e.S;f(this.scope).off(".dropdown").on("click.fndtn.dropdown","["+this.attr_name()+"]",function(b){var c=f(this).data(e.attr_name(!0)+"-init")||e.settings;(!c.is_hover||Modernizr.touch)&&(b.preventDefault(),f(this).parent("[data-reveal-id]").length&&b.stopPropagation(),e.toggle(a(this)))}).on("mouseenter.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(a){var b,c,d=f(this);clearTimeout(e.timeout),d.data(e.data_attr())?(b=f("#"+d.data(e.data_attr())),c=d):(b=d,c=f("["+e.attr_name()+'="'+b.attr("id")+'"]'));var g=c.data(e.attr_name(!0)+"-init")||e.settings;f(a.currentTarget).data(e.data_attr())&&g.is_hover&&e.closeall.call(e),g.is_hover&&e.open.apply(e,[b,c])}).on("mouseleave.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(a){var b,c=f(this);if(c.data(e.data_attr()))b=c.data(e.data_attr(!0)+"-init")||e.settings;else var d=f("["+e.attr_name()+'="'+f(this).attr("id")+'"]'),b=d.data(e.attr_name(!0)+"-init")||e.settings;e.timeout=setTimeout(function(){c.data(e.data_attr())?b.is_hover&&e.close.call(e,f("#"+c.data(e.data_attr()))):b.is_hover&&e.close.call(e,c)}.bind(this),b.hover_timeout)}).on("click.fndtn.dropdown",function(b){var d=f(b.target).closest("["+e.attr_name()+"-content]"),g=d.find("a");return g.length>0&&"false"!==d.attr("aria-autoclose")&&e.close.call(e,f("["+e.attr_name()+"-content]")),b.target!==c&&!a.contains(c.documentElement,b.target)||f(b.target).closest("["+e.attr_name()+"]").length>0?void 0:!f(b.target).data("revealId")&&d.length>0&&(f(b.target).is("["+e.attr_name()+"-content]")||a.contains(d.first()[0],b.target))?void b.stopPropagation():void e.close.call(e,f("["+e.attr_name()+"-content]"))}).on("opened.fndtn.dropdown","["+e.attr_name()+"-content]",function(){e.settings.opened.call(this)}).on("closed.fndtn.dropdown","["+e.attr_name()+"-content]",function(){e.settings.closed.call(this)}),f(b).off(".dropdown").on("resize.fndtn.dropdown",e.throttle(function(){e.resize.call(e)},50)),this.resize()},close:function(b){var c=this;b.each(function(d){var e=a("["+c.attr_name()+"="+b[d].id+"]")||a("aria-controls="+b[d].id+"]");e.attr("aria-expanded","false"),c.S(this).hasClass(c.settings.active_class)&&(c.S(this).css(Foundation.rtl?"right":"left","-99999px").attr("aria-hidden","true").removeClass(c.settings.active_class).prev("["+c.attr_name()+"]").removeClass(c.settings.active_class).removeData("target"),c.S(this).trigger("closed.fndtn.dropdown",[b]))}),b.removeClass("f-open-"+this.attr_name(!0))},closeall:function(){var b=this;a.each(b.S(".f-open-"+this.attr_name(!0)),function(){b.close.call(b,b.S(this))})},open:function(a,b){this.css(a.addClass(this.settings.active_class),b),a.prev("["+this.attr_name()+"]").addClass(this.settings.active_class),a.data("target",b.get(0)).trigger("opened.fndtn.dropdown",[a,b]),a.attr("aria-hidden","false"),b.attr("aria-expanded","true"),a.focus(),a.addClass("f-open-"+this.attr_name(!0))},data_attr:function(){return this.namespace.length>0?this.namespace+"-"+this.name:this.name},toggle:function(a){if(!a.hasClass(this.settings.disabled_class)){var b=this.S("#"+a.data(this.data_attr()));0!==b.length&&(this.close.call(this,this.S("["+this.attr_name()+"-content]").not(b)),b.hasClass(this.settings.active_class)?(this.close.call(this,b),b.data("target")!==a.get(0)&&this.open.call(this,b,a)):this.open.call(this,b,a))}},resize:function(){var b=this.S("["+this.attr_name()+"-content].open"),c=a(b.data("target"));b.length&&c.length&&this.css(b,c)},css:function(a,b){var c=Math.max((b.width()-a.width())/2,8),d=b.data(this.attr_name(!0)+"-init")||this.settings,e=a.parent().css("overflow-y")||a.parent().css("overflow");if(this.clear_idx(),this.small()){var f=this.dirs.bottom.call(a,b,d);a.attr("style","").removeClass("drop-left drop-right drop-top").css({position:"absolute",width:"95%","max-width":"none",top:f.top}),a.css(Foundation.rtl?"right":"left",c)}else if("visible"!==e){var g=b[0].offsetTop+b[0].offsetHeight;a.attr("style","").css({position:"absolute",top:g}),a.css(Foundation.rtl?"right":"left",c)}else this.style(a,b,d);return a},style:function(b,c,d){var e=a.extend({position:"absolute"},this.dirs[d.align].call(b,c,d));b.attr("style","").css(e)},dirs:{_base:function(a,d){var e=this.offsetParent(),f=e.offset(),g=a.offset();g.top-=f.top,g.left-=f.left,g.missRight=!1,g.missTop=!1,g.missLeft=!1,g.leftRightFlag=!1;var h,i=b.innerWidth;h=c.getElementsByClassName("row")[0]?c.getElementsByClassName("row")[0].clientWidth:i;var j=(i-h)/2,k=h;if(!this.hasClass("mega")&&!d.ignore_repositioning){var l=this.outerWidth(),m=a.offset().left;a.offset().top<=this.outerHeight()&&(g.missTop=!0,k=i-j,g.leftRightFlag=!0),m+l>m+j&&m-j>l&&(g.missRight=!0,g.missLeft=!1),0>=m-l&&(g.missLeft=!0,g.missRight=!1)}return g},top:function(a,b){var c=Foundation.libs.dropdown,d=c.dirs._base.call(this,a,b);return this.addClass("drop-top"),1==d.missTop&&(d.top=d.top+a.outerHeight()+this.outerHeight(),
+this.removeClass("drop-top")),1==d.missRight&&(d.left=d.left-this.outerWidth()+a.outerWidth()),(a.outerWidth()<this.outerWidth()||c.small()||this.hasClass(b.mega_menu))&&c.adjust_pip(this,a,b,d),Foundation.rtl?{left:d.left-this.outerWidth()+a.outerWidth(),top:d.top-this.outerHeight()}:{left:d.left,top:d.top-this.outerHeight()}},bottom:function(a,b){var c=Foundation.libs.dropdown,d=c.dirs._base.call(this,a,b);return 1==d.missRight&&(d.left=d.left-this.outerWidth()+a.outerWidth()),(a.outerWidth()<this.outerWidth()||c.small()||this.hasClass(b.mega_menu))&&c.adjust_pip(this,a,b,d),c.rtl?{left:d.left-this.outerWidth()+a.outerWidth(),top:d.top+a.outerHeight()}:{left:d.left,top:d.top+a.outerHeight()}},left:function(a,b){var c=Foundation.libs.dropdown.dirs._base.call(this,a,b);return this.addClass("drop-left"),1==c.missLeft&&(c.left=c.left+this.outerWidth(),c.top=c.top+a.outerHeight(),this.removeClass("drop-left")),{left:c.left-this.outerWidth(),top:c.top}},right:function(a,b){var c=Foundation.libs.dropdown.dirs._base.call(this,a,b);this.addClass("drop-right"),1==c.missRight?(c.left=c.left-this.outerWidth(),c.top=c.top+a.outerHeight(),this.removeClass("drop-right")):c.triggeredRight=!0;var d=Foundation.libs.dropdown;return(a.outerWidth()<this.outerWidth()||d.small()||this.hasClass(b.mega_menu))&&d.adjust_pip(this,a,b,c),{left:c.left+a.outerWidth(),top:c.top}}},adjust_pip:function(a,b,c,d){var e=Foundation.stylesheet,f=8;a.hasClass(c.mega_class)?f=d.left+b.outerWidth()/2-8:this.small()&&(f+=d.left-8),this.rule_idx=e.cssRules.length;var g=".f-dropdown.open:before",h=".f-dropdown.open:after",i="left: "+f+"px;",j="left: "+(f-1)+"px;";1==d.missRight&&(f=a.outerWidth()-23,g=".f-dropdown.open:before",h=".f-dropdown.open:after",i="left: "+f+"px;",j="left: "+(f-1)+"px;"),1==d.triggeredRight&&(g=".f-dropdown.open:before",h=".f-dropdown.open:after",i="left:-12px;",j="left:-14px;"),e.insertRule?(e.insertRule([g,"{",i,"}"].join(" "),this.rule_idx),e.insertRule([h,"{",j,"}"].join(" "),this.rule_idx+1)):(e.addRule(g,i,this.rule_idx),e.addRule(h,j,this.rule_idx+1))},clear_idx:function(){var a=Foundation.stylesheet;"undefined"!=typeof this.rule_idx&&(a.deleteRule(this.rule_idx),a.deleteRule(this.rule_idx),delete this.rule_idx)},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},off:function(){this.S(this.scope).off(".fndtn.dropdown"),this.S("html, body").off(".fndtn.dropdown"),this.S(b).off(".fndtn.dropdown"),this.S("[data-dropdown-content]").off(".fndtn.dropdown")},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.equalizer={name:"equalizer",version:"5.5.3",settings:{use_tallest:!0,before_height_change:a.noop,after_height_change:a.noop,equalize_on_stack:!1,act_on_hidden_el:!1},init:function(a,b,c){Foundation.inherit(this,"image_loaded"),this.bindings(b,c),this.reflow()},events:function(){this.S(b).off(".equalizer").on("resize.fndtn.equalizer",function(a){this.reflow()}.bind(this))},equalize:function(b){var c,d,e=!1,f=b.data("equalizer"),g=b.data(this.attr_name(!0)+"-init")||this.settings;if(c=g.act_on_hidden_el?f?b.find("["+this.attr_name()+'-watch="'+f+'"]'):b.find("["+this.attr_name()+"-watch]"):f?b.find("["+this.attr_name()+'-watch="'+f+'"]:visible'):b.find("["+this.attr_name()+"-watch]:visible"),0!==c.length&&(g.before_height_change(),b.trigger("before-height-change.fndth.equalizer"),c.height("inherit"),g.equalize_on_stack!==!1||(d=c.first().offset().top,c.each(function(){return a(this).offset().top!==d?(e=!0,!1):void 0}),!e))){var h=c.map(function(){return a(this).outerHeight(!1)}).get();if(g.use_tallest){var i=Math.max.apply(null,h);c.css("height",i)}else{var j=Math.min.apply(null,h);c.css("height",j)}g.after_height_change(),b.trigger("after-height-change.fndtn.equalizer")}},reflow:function(){var b=this;this.S("["+this.attr_name()+"]",this.scope).each(function(){var c=a(this),d=c.data("equalizer-mq"),e=!0;d&&(d="is_"+d.replace(/-/g,"_"),Foundation.utils.hasOwnProperty(d)&&(e=!1)),b.image_loaded(b.S("img",this),function(){if(e||Foundation.utils[d]())b.equalize(c);else{var a=c.find("["+b.attr_name()+"-watch]:visible");a.css("height","auto")}})})}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.interchange={name:"interchange",version:"5.5.3",cache:{},images_loaded:!1,nodes_loaded:!1,settings:{load_attr:"interchange",named_queries:{"default":"only screen",small:Foundation.media_queries.small,"small-only":Foundation.media_queries["small-only"],medium:Foundation.media_queries.medium,"medium-only":Foundation.media_queries["medium-only"],large:Foundation.media_queries.large,"large-only":Foundation.media_queries["large-only"],xlarge:Foundation.media_queries.xlarge,"xlarge-only":Foundation.media_queries["xlarge-only"],xxlarge:Foundation.media_queries.xxlarge,landscape:"only screen and (orientation: landscape)",portrait:"only screen and (orientation: portrait)",retina:"only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx)"},directives:{replace:function(b,c,d){if(null!==b&&/IMG/.test(b[0].nodeName)){var e=a.each(b,function(){this.src=c});if(new RegExp(c,"i").test(e))return;return b.attr("src",c),d(b[0].src)}var f=b.data(this.data_attr+"-last-path"),g=this;if(f!=c)return/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(c)?(a(b).css("background-image","url("+c+")"),b.data("interchange-last-path",c),d(c)):a.get(c,function(a){b.html(a),b.data(g.data_attr+"-last-path",c),d()})}}},init:function(b,c,d){Foundation.inherit(this,"throttle random_str"),this.data_attr=this.set_data_attr(),a.extend(!0,this.settings,c,d),this.bindings(c,d),this.reflow()},get_media_hash:function(){var a="";for(var b in this.settings.named_queries)a+=matchMedia(this.settings.named_queries[b]).matches.toString();return a},events:function(){var c,d=this;return a(b).off(".interchange").on("resize.fndtn.interchange",d.throttle(function(){var a=d.get_media_hash();a!==c&&d.resize(),c=a},50)),this},resize:function(){var b=this.cache;if(!this.images_loaded||!this.nodes_loaded)return void setTimeout(a.proxy(this.resize,this),50);for(var c in b)if(b.hasOwnProperty(c)){var d=this.results(c,b[c]);d&&this.settings.directives[d.scenario[1]].call(this,d.el,d.scenario[0],function(a){if(arguments[0]instanceof Array)var b=arguments[0];else var b=Array.prototype.slice.call(arguments,0);return function(){a.el.trigger(a.scenario[1],b)}}(d))}},results:function(a,b){var c=b.length;if(c>0)for(var d=this.S("["+this.add_namespace("data-uuid")+'="'+a+'"]');c--;){var e,f=b[c][2];if(e=this.settings.named_queries.hasOwnProperty(f)?matchMedia(this.settings.named_queries[f]):matchMedia(f),e.matches)return{el:d,scenario:b[c]}}return!1},load:function(a,b){return("undefined"==typeof this["cached_"+a]||b)&&this["update_"+a](),this["cached_"+a]},update_images:function(){var a=this.S("img["+this.data_attr+"]"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cache={},this.cached_images=[],this.images_loaded=0===b;c--;){if(d++,a[c]){var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_images.push(a[c])}d===b&&(this.images_loaded=!0,this.enhance("images"))}return this},update_nodes:function(){var a=this.S("["+this.data_attr+"]").not("img"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cached_nodes=[],this.nodes_loaded=0===b;c--;){d++;var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_nodes.push(a[c]),d===b&&(this.nodes_loaded=!0,this.enhance("nodes"))}return this},enhance:function(c){for(var d=this["cached_"+c].length;d--;)this.object(a(this["cached_"+c][d]));return a(b).trigger("resize.fndtn.interchange")},convert_directive:function(a){var b=this.trim(a);return b.length>0?b:"replace"},parse_scenario:function(a){var b=a[0].match(/(.+),\s*(\w+)\s*$/),c=a[1].match(/(.*)\)/);if(b)var d=b[1],e=b[2];else var f=a[0].split(/,\s*$/),d=f[0],e="";return[this.trim(d),this.convert_directive(e),this.trim(c[1])]},object:function(a){var b=this.parse_data_attr(a),c=[],d=b.length;if(d>0)for(;d--;){var e=b[d].split(/,\s?\(/);if(e.length>1){var f=this.parse_scenario(e);c.push(f)}}return this.store(a,c)},store:function(a,b){var c=this.random_str(),d=a.data(this.add_namespace("uuid",!0));return this.cache[d]?this.cache[d]:(a.attr(this.add_namespace("data-uuid"),c),this.cache[c]=b)},trim:function(b){return"string"==typeof b?a.trim(b):b},set_data_attr:function(a){return a?this.namespace.length>0?this.namespace+"-"+this.settings.load_attr:this.settings.load_attr:this.namespace.length>0?"data-"+this.namespace+"-"+this.settings.load_attr:"data-"+this.settings.load_attr},parse_data_attr:function(a){for(var b=a.attr(this.attr_name()).split(/\[(.*?)\]/),c=b.length,d=[];c--;)b[c].replace(/[\W\d]+/,"").length>4&&d.push(b[c]);return d},reflow:function(){this.load("images",!0),this.load("nodes",!0)}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.joyride={name:"joyride",version:"5.5.3",defaults:{expose:!1,modal:!0,keyboard:!0,tip_location:"bottom",nub_position:"auto",scroll_speed:1500,scroll_animation:"linear",timer:0,start_timer_on_click:!0,start_offset:0,next_button:!0,prev_button:!0,tip_animation:"fade",pause_after:[],exposed:[],tip_animation_fade_speed:300,cookie_monster:!1,cookie_name:"joyride",cookie_domain:!1,cookie_expires:365,tip_container:"body",abort_on_close:!0,tip_location_patterns:{top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},post_ride_callback:function(){},post_step_callback:function(){},pre_step_callback:function(){},pre_ride_callback:function(){},post_expose_callback:function(){},template:{link:'<a href="#close" class="joyride-close-tip">&times;</a>',timer:'<div class="joyride-timer-indicator-wrap"><span class="joyride-timer-indicator"></span></div>',tip:'<div class="joyride-tip-guide"><span class="joyride-nub"></span></div>',wrapper:'<div class="joyride-content-wrapper"></div>',button:'<a href="#" class="small button joyride-next-tip"></a>',prev_button:'<a href="#" class="small button joyride-prev-tip"></a>',modal:'<div class="joyride-modal-bg"></div>',expose:'<div class="joyride-expose-wrapper"></div>',expose_cover:'<div class="joyride-expose-cover"></div>'},expose_add_class:""},init:function(b,c,d){Foundation.inherit(this,"throttle random_str"),this.settings=this.settings||a.extend({},this.defaults,d||c),this.bindings(c,d)},go_next:function(){this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())},go_prev:function(){this.settings.$li.prev().length<1||(this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(null,!0),this.startTimer()):(this.hide(),this.show(null,!0)))},events:function(){var c=this;a(this.scope).off(".joyride").on("click.fndtn.joyride",".joyride-next-tip, .joyride-modal-bg",function(a){a.preventDefault(),this.go_next()}.bind(this)).on("click.fndtn.joyride",".joyride-prev-tip",function(a){a.preventDefault(),this.go_prev()}.bind(this)).on("click.fndtn.joyride",".joyride-close-tip",function(a){a.preventDefault(),this.end(this.settings.abort_on_close)}.bind(this)).on("keyup.fndtn.joyride",function(a){if(this.settings.keyboard&&this.settings.riding)switch(a.which){case 39:a.preventDefault(),this.go_next();break;case 37:a.preventDefault(),this.go_prev();break;case 27:a.preventDefault(),this.end(this.settings.abort_on_close)}}.bind(this)),a(b).off(".joyride").on("resize.fndtn.joyride",c.throttle(function(){if(a("["+c.attr_name()+"]").length>0&&c.settings.$next_tip&&c.settings.riding){if(c.settings.exposed.length>0){var b=a(c.settings.exposed);b.each(function(){var b=a(this);c.un_expose(b),c.expose(b)})}c.is_phone()?c.pos_phone():c.pos_default(!1)}},100))},start:function(){var b=this,c=a("["+this.attr_name()+"]",this.scope),d=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],e=d.length;!c.length>0||(this.settings.init||this.events(),this.settings=c.data(this.attr_name(!0)+"-init"),this.settings.$content_el=c,this.settings.$body=a(this.settings.tip_container),this.settings.body_offset=a(this.settings.tip_container).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,this.settings.riding=!0,"function"!=typeof a.cookie&&(this.settings.cookie_monster=!1),(!this.settings.cookie_monster||this.settings.cookie_monster&&!a.cookie(this.settings.cookie_name))&&(this.settings.$tip_content.each(function(c){var f=a(this);this.settings=a.extend({},b.defaults,b.data_options(f));for(var g=e;g--;)b.settings[d[g]]=parseInt(b.settings[d[g]],10);b.create({$li:f,index:c})}),!this.settings.start_timer_on_click&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")))},resume:function(){this.set_li(),this.show()},tip_template:function(b){var c,d;return b.tip_class=b.tip_class||"",c=a(this.settings.template.tip).addClass(b.tip_class),d=a.trim(a(b.li).html())+this.prev_button_text(b.prev_button_text,b.index)+this.button_text(b.button_text)+this.settings.template.link+this.timer_instance(b.index),c.append(a(this.settings.template.wrapper)),c.first().attr(this.add_namespace("data-index"),b.index),a(".joyride-content-wrapper",c).append(d),c[0]},timer_instance:function(b){var c;return c=0===b&&this.settings.start_timer_on_click&&this.settings.timer>0||0===this.settings.timer?"":a(this.settings.template.timer)[0].outerHTML},button_text:function(b){return this.settings.tip_settings.next_button?(b=a.trim(b)||"Next",b=a(this.settings.template.button).append(b)[0].outerHTML):b="",b},prev_button_text:function(b,c){return this.settings.tip_settings.prev_button?(b=a.trim(b)||"Previous",b=0==c?a(this.settings.template.prev_button).append(b).addClass("disabled")[0].outerHTML:a(this.settings.template.prev_button).append(b)[0].outerHTML):b="",b},create:function(b){this.settings.tip_settings=a.extend({},this.settings,this.data_options(b.$li));var c=b.$li.attr(this.add_namespace("data-button"))||b.$li.attr(this.add_namespace("data-text")),d=b.$li.attr(this.add_namespace("data-button-prev"))||b.$li.attr(this.add_namespace("data-prev-text")),e=b.$li.attr("class"),f=a(this.tip_template({tip_class:e,index:b.index,button_text:c,prev_button_text:d,li:b.$li}));a(this.settings.tip_container).append(f)},show:function(b,c){var e=null;if(this.settings.$li===d||-1===a.inArray(this.settings.$li.index(),this.settings.pause_after))if(this.settings.paused?this.settings.paused=!1:this.set_li(b,c),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0){if(b&&(this.settings.pre_ride_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.pre_step_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tip_settings=a.extend({},this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tip_settings.tip_location_pattern=this.settings.tip_location_patterns[this.settings.tip_settings.tip_location],!/body/i.test(this.settings.$target.selector)&&!this.settings.expose){var f=a(".joyride-modal-bg");/pop/i.test(this.settings.tipAnimation)?f.hide():f.fadeOut(this.settings.tipAnimationFadeSpeed),this.scroll_to()}this.is_phone()?this.pos_phone(!0):this.pos_default(!0),e=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tip_animation)?(e.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tip_animation)&&(e.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed).show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed)),this.settings.$current_tip=this.settings.$next_tip}else this.settings.$li&&this.settings.$target.length<1?this.show(b,c):this.end();else this.settings.paused=!0},is_phone:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||a(".joyride-modal-bg").hide(),this.settings.$current_tip.css("visibility","hidden"),setTimeout(a.proxy(function(){this.hide(),this.css("visibility","visible")},this.settings.$current_tip),0),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(a,b){a?(this.settings.$li=this.settings.$tip_content.eq(this.settings.start_offset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(b?this.settings.$li=this.settings.$li.prev():this.settings.$li=this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=a(".joyride-tip-guide").eq(this.settings.$li.index()),this.settings.$next_tip.data("closed","")},set_target:function(){var b=this.settings.$li.attr(this.add_namespace("data-class")),d=this.settings.$li.attr(this.add_namespace("data-id")),e=function(){return d?a(c.getElementById(d)):b?a("."+b).first():a("body")};this.settings.$target=e()},scroll_to:function(){var c,d;c=a(b).height()/2,d=Math.ceil(this.settings.$target.offset().top-c+this.settings.$next_tip.outerHeight()),0!=d&&a("html, body").stop().animate({scrollTop:d},this.settings.scroll_speed,"swing")},paused:function(){return-1===a.inArray(this.settings.$li.index()+1,this.settings.pause_after)},restart:function(){this.hide(),this.settings.$li=d,this.show("init")},pos_default:function(a){var b=this.settings.$next_tip.find(".joyride-nub"),c=Math.ceil(b.outerWidth()/2),d=Math.ceil(b.outerHeight()/2),e=a||!1;if(e&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),/body/i.test(this.settings.$target.selector))this.settings.$li.length&&this.pos_modal(b);else{var f=this.settings.tip_settings.tipAdjustmentY?parseInt(this.settings.tip_settings.tipAdjustmentY):0,g=this.settings.tip_settings.tipAdjustmentX?parseInt(this.settings.tip_settings.tipAdjustmentX):0;this.bottom()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()+g}):this.settings.$next_tip.css({top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"top")):this.top()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()}):this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"bottom")):this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.outerWidth()+this.settings.$target.offset().left+c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.offset().left-this.settings.$next_tip.outerWidth()-c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"right")),!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts<this.settings.tip_settings.tip_location_pattern.length&&(b.removeClass("bottom").removeClass("top").removeClass("right").removeClass("left"),this.settings.tip_settings.tip_location=this.settings.tip_settings.tip_location_pattern[this.settings.attempts],this.settings.attempts++,this.pos_default())}e&&(this.settings.$next_tip.hide(),this.settings.$next_tip.css("visibility","visible"))},pos_phone:function(b){var c=this.settings.$next_tip.outerHeight(),d=(this.settings.$next_tip.offset(),this.settings.$target.outerHeight()),e=a(".joyride-nub",this.settings.$next_tip),f=Math.ceil(e.outerHeight()/2),g=b||!1;e.removeClass("bottom").removeClass("top").removeClass("right").removeClass("left"),g&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),/body/i.test(this.settings.$target.selector)?this.settings.$li.length&&this.pos_modal(e):this.top()?(this.settings.$next_tip.offset({top:this.settings.$target.offset().top-c-f}),e.addClass("bottom")):(this.settings.$next_tip.offset({top:this.settings.$target.offset().top+d+f}),e.addClass("top")),g&&(this.settings.$next_tip.hide(),this.settings.$next_tip.css("visibility","visible"))},pos_modal:function(a){this.center(),a.hide(),this.show_modal()},show_modal:function(){if(!this.settings.$next_tip.data("closed")){var b=a(".joyride-modal-bg");if(b.length<1){var b=a(this.settings.template.modal);b.appendTo("body")}/pop/i.test(this.settings.tip_animation)?b.show():b.fadeIn(this.settings.tip_animation_fade_speed)}},expose:function(){var c,d,e,f,g,h="expose-"+this.random_str(6);if(arguments.length>0&&arguments[0]instanceof a)e=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;e=this.settings.$target}return e.length<1?(b.console&&console.error("element not valid",e),!1):(c=a(this.settings.template.expose),this.settings.$body.append(c),c.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),d=a(this.settings.template.expose_cover),f={zIndex:e.css("z-index"),position:e.css("position")},g=null==e.attr("class")?"":e.attr("class"),e.css("z-index",parseInt(c.css("z-index"))+1),"static"==f.position&&e.css("position","relative"),e.data("expose-css",f),e.data("orig-class",g),e.attr("class",g+" "+this.settings.expose_add_class),d.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),this.settings.modal&&this.show_modal(),this.settings.$body.append(d),c.addClass(h),d.addClass(h),e.data("expose",h),this.settings.post_expose_callback(this.settings.$li.index(),this.settings.$next_tip,e),void this.add_exposed(e))},un_expose:function(){var c,d,e,f,g,h=!1;if(arguments.length>0&&arguments[0]instanceof a)d=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;d=this.settings.$target}return d.length<1?(b.console&&console.error("element not valid",d),!1):(c=d.data("expose"),e=a("."+c),arguments.length>1&&(h=arguments[1]),h===!0?a(".joyride-expose-wrapper,.joyride-expose-cover").remove():e.remove(),f=d.data("expose-css"),"auto"==f.zIndex?d.css("z-index",""):d.css("z-index",f.zIndex),f.position!=d.css("position")&&("static"==f.position?d.css("position",""):d.css("position",f.position)),g=d.data("orig-class"),d.attr("class",g),d.removeData("orig-classes"),d.removeData("expose"),d.removeData("expose-z-index"),void this.remove_exposed(d))},add_exposed:function(b){this.settings.exposed=this.settings.exposed||[],b instanceof a||"object"==typeof b?this.settings.exposed.push(b[0]):"string"==typeof b&&this.settings.exposed.push(b)},remove_exposed:function(b){var c,d;for(b instanceof a?c=b[0]:"string"==typeof b&&(c=b),this.settings.exposed=this.settings.exposed||[],d=this.settings.exposed.length;d--;)if(this.settings.exposed[d]==c)return void this.settings.exposed.splice(d,1)},center:function(){var c=a(b);return this.settings.$next_tip.css({top:(c.height()-this.settings.$next_tip.outerHeight())/2+c.scrollTop(),left:(c.width()-this.settings.$next_tip.outerWidth())/2+c.scrollLeft()}),!0},bottom:function(){return/bottom/i.test(this.settings.tip_settings.tip_location)},top:function(){return/top/i.test(this.settings.tip_settings.tip_location)},right:function(){return/right/i.test(this.settings.tip_settings.tip_location)},left:function(){return/left/i.test(this.settings.tip_settings.tip_location)},corners:function(c){if(0===c.length)return[!1,!1,!1,!1];var d=a(b),e=d.height()/2,f=Math.ceil(this.settings.$target.offset().top-e+this.settings.$next_tip.outerHeight()),g=d.width()+d.scrollLeft(),h=d.height()+f,i=d.height()+d.scrollTop(),j=d.scrollTop();return j>f&&(j=0>f?0:f),h>i&&(i=h),[c.offset().top<j,g<c.offset().left+c.outerWidth(),i<c.offset().top+c.outerHeight(),d.scrollLeft()>c.offset().left]},visible:function(a){for(var b=a.length;b--;)if(a[b])return!1;return!0},nub_position:function(a,b,c){"auto"===b?a.addClass(c):a.addClass(b)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(b){this.settings.cookie_monster&&a.cookie(this.settings.cookie_name,"ridden",{expires:this.settings.cookie_expires,domain:this.settings.cookie_domain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),a(this.scope).off("keyup.joyride"),this.settings.$next_tip.data("closed",!0),this.settings.riding=!1,a(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),("undefined"==typeof b||b===!1)&&(this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip),this.settings.post_ride_callback(this.settings.$li.index(),this.settings.$current_tip)),a(".joyride-tip-guide").remove()},off:function(){a(this.scope).off(".joyride"),a(b).off(".joyride"),a(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),a(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate)},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs["magellan-expedition"]={name:"magellan-expedition",version:"5.5.3",settings:{active_class:"active",threshold:0,destination_threshold:20,throttle_delay:30,fixed_top:0,offset_by_height:!0,duration:700,easing:"swing"},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c)},events:function(){var b=this,c=b.S,d=b.settings;b.set_expedition_position(),c(b.scope).off(".magellan").on("click.fndtn.magellan","["+b.add_namespace("data-magellan-arrival")+"] a[href*=#]",function(c){var d=this.hostname===location.hostname||!this.hostname,e=b.filterPathname(location.pathname)===b.filterPathname(this.pathname),f=this.hash.replace(/(:|\.|\/)/g,"\\$1"),g=this;if(d&&e&&f){c.preventDefault();var h=a(this).closest("["+b.attr_name()+"]"),i=h.data("magellan-expedition-init"),j=this.hash.split("#").join(""),k=a('a[name="'+j+'"]');0===k.length&&(k=a("#"+j));var l=k.offset().top-i.destination_threshold+1;i.offset_by_height&&(l-=h.outerHeight()),a("html, body").stop().animate({scrollTop:l},i.duration,i.easing,function(){history.pushState?history.pushState(null,null,g.pathname+g.search+"#"+j):location.hash=g.pathname+g.search+"#"+j})}}).on("scroll.fndtn.magellan",b.throttle(this.check_for_arrivals.bind(this),d.throttle_delay))},check_for_arrivals:function(){var a=this;a.update_arrivals(),a.update_expedition_positions()},set_expedition_position:function(){var b=this;a("["+this.attr_name()+"=fixed]",b.scope).each(function(c,d){var e,f,g=a(this),h=g.data("magellan-expedition-init"),i=g.attr("styles");g.attr("style",""),e=g.offset().top+h.threshold,f=parseInt(g.data("magellan-fixed-top")),isNaN(f)||(b.settings.fixed_top=f),g.data(b.data_attr("magellan-top-offset"),e),g.attr("style",i)})},update_expedition_positions:function(){var c=this,d=a(b).scrollTop();a("["+this.attr_name()+"=fixed]",c.scope).each(function(){var b=a(this),e=b.data("magellan-expedition-init"),f=b.attr("style"),g=b.data("magellan-top-offset");if(d+c.settings.fixed_top>=g){var h=b.prev("["+c.add_namespace("data-magellan-expedition-clone")+"]");0===h.length&&(h=b.clone(),h.removeAttr(c.attr_name()),h.attr(c.add_namespace("data-magellan-expedition-clone"),""),b.before(h)),b.css({position:"fixed",top:e.fixed_top}).addClass("fixed")}else b.prev("["+c.add_namespace("data-magellan-expedition-clone")+"]").remove(),b.attr("style",f).css("position","").css("top","").removeClass("fixed")})},update_arrivals:function(){var c=this,d=a(b).scrollTop();a("["+this.attr_name()+"]",c.scope).each(function(){var b=a(this),e=b.data(c.attr_name(!0)+"-init"),f=c.offsets(b,d),g=b.find("["+c.add_namespace("data-magellan-arrival")+"]"),h=!1;f.each(function(a,d){if(d.viewport_offset>=d.top_offset){var f=b.find("["+c.add_namespace("data-magellan-arrival")+"]");return f.not(d.arrival).removeClass(e.active_class),d.arrival.addClass(e.active_class),h=!0,!0}}),h||g.removeClass(e.active_class)})},offsets:function(b,c){var d=this,e=b.data(d.attr_name(!0)+"-init"),f=c;return b.find("["+d.add_namespace("data-magellan-arrival")+"]").map(function(c,g){var h=a(this).data(d.data_attr("magellan-arrival")),i=a("["+d.add_namespace("data-magellan-destination")+"="+h+"]");if(i.length>0){var j=i.offset().top-e.destination_threshold;return e.offset_by_height&&(j-=b.outerHeight()),j=Math.floor(j),{destination:i,arrival:a(this),top_offset:j,viewport_offset:f}}}).sort(function(a,b){return a.top_offset<b.top_offset?-1:a.top_offset>b.top_offset?1:0})},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},off:function(){this.S(this.scope).off(".magellan"),this.S(b).off(".magellan")},filterPathname:function(a){return a=a||"",a.replace(/^\//,"").replace(/(?:index|default).[a-zA-Z]{3,4}$/,"").replace(/\/$/,"")},reflow:function(){var b=this;a("["+b.add_namespace("data-magellan-expedition-clone")+"]",b.scope).remove()}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.offcanvas={name:"offcanvas",version:"5.5.3",settings:{open_method:"move",close_on_click:!1},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this,c=b.S,d="",e="",f="",g="",h="";"move"===this.settings.open_method?(d="move-",e="right",f="left",g="top",h="bottom"):"overlap_single"===this.settings.open_method?(d="offcanvas-overlap-",e="right",f="left",g="top",h="bottom"):"overlap"===this.settings.open_method&&(d="offcanvas-overlap"),c(this.scope).off(".offcanvas").on("click.fndtn.offcanvas",".left-off-canvas-toggle",function(f){b.click_toggle_class(f,d+e),"overlap"!==b.settings.open_method&&c(".left-submenu").removeClass(d+e),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".left-off-canvas-menu a",function(f){var g=b.get_settings(f),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(f.preventDefault(),c(this).siblings(".left-submenu").toggleClass(d+e)):h.hasClass("back")&&(f.preventDefault(),h.parent().removeClass(d+e)):(b.hide.call(b,d+e,b.get_wrapper(f)),h.parent().removeClass(d+e)),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-toggle",function(e){b.click_toggle_class(e,d+f),"overlap"!==b.settings.open_method&&c(".right-submenu").removeClass(d+f),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-menu a",function(e){var g=b.get_settings(e),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".right-submenu").toggleClass(d+f)):h.hasClass("back")&&(e.preventDefault(),h.parent().removeClass(d+f)):(b.hide.call(b,d+f,b.get_wrapper(e)),h.parent().removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true");
+}).on("click.fndtn.offcanvas",".top-off-canvas-toggle",function(e){b.click_toggle_class(e,d+h),"overlap"!==b.settings.open_method&&c(".top-submenu").removeClass(d+h),a(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".top-off-canvas-menu a",function(e){var f=b.get_settings(e),g=c(this).parent();!f.close_on_click||g.hasClass("has-submenu")||g.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".top-submenu").toggleClass(d+h)):g.hasClass("back")&&(e.preventDefault(),g.parent().removeClass(d+h)):(b.hide.call(b,d+h,b.get_wrapper(e)),g.parent().removeClass(d+h)),a(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-toggle",function(e){b.click_toggle_class(e,d+g),"overlap"!==b.settings.open_method&&c(".bottom-submenu").removeClass(d+g),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-menu a",function(e){var f=b.get_settings(e),h=c(this).parent();!f.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".bottom-submenu").toggleClass(d+g)):h.hasClass("back")&&(e.preventDefault(),h.parent().removeClass(d+g)):(b.hide.call(b,d+g,b.get_wrapper(e)),h.parent().removeClass(d+g)),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(g){b.click_remove_class(g,d+f),c(".right-submenu").removeClass(d+f),e&&(b.click_remove_class(g,d+e),c(".left-submenu").removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(c){b.click_remove_class(c,d+f),a(".left-off-canvas-toggle").attr("aria-expanded","false"),e&&(b.click_remove_class(c,d+e),a(".right-off-canvas-toggle").attr("aria-expanded","false"))}).on("click.fndtn.offcanvas",".exit-off-canvas",function(e){b.click_remove_class(e,d+g),c(".bottom-submenu").removeClass(d+g),h&&(b.click_remove_class(e,d+h),c(".top-submenu").removeClass(d+g)),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(c){b.click_remove_class(c,d+g),a(".top-off-canvas-toggle").attr("aria-expanded","false"),h&&(b.click_remove_class(c,d+h),a(".bottom-off-canvas-toggle").attr("aria-expanded","false"))})},toggle:function(a,b){b=b||this.get_wrapper(),b.is("."+a)?this.hide(a,b):this.show(a,b)},show:function(a,b){b=b||this.get_wrapper(),b.trigger("open.fndtn.offcanvas"),b.addClass(a)},hide:function(a,b){b=b||this.get_wrapper(),b.trigger("close.fndtn.offcanvas"),b.removeClass(a)},click_toggle_class:function(a,b){a.preventDefault();var c=this.get_wrapper(a);this.toggle(b,c)},click_remove_class:function(a,b){a.preventDefault();var c=this.get_wrapper(a);this.hide(b,c)},get_settings:function(a){var b=this.S(a.target).closest("["+this.attr_name()+"]");return b.data(this.attr_name(!0)+"-init")||this.settings},get_wrapper:function(a){var b=this.S(a?a.target:this.scope).closest(".off-canvas-wrap");return 0===b.length&&(b=this.S(".off-canvas-wrap")),b},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";var e=function(){},f=function(e,f){if(e.hasClass(f.slides_container_class))return this;var j,k,l,m,n,o,p=this,q=e,r=0,s=!1;p.slides=function(){return q.children(f.slide_selector)},p.slides().first().addClass(f.active_slide_class),p.update_slide_number=function(b){f.slide_number&&(k.find("span:first").text(parseInt(b)+1),k.find("span:last").text(p.slides().length)),f.bullets&&(l.children().removeClass(f.bullets_active_class),a(l.children().get(b)).addClass(f.bullets_active_class))},p.update_active_link=function(b){var c=a('[data-orbit-link="'+p.slides().eq(b).attr("data-orbit-slide")+'"]');c.siblings().removeClass(f.bullets_active_class),c.addClass(f.bullets_active_class)},p.build_markup=function(){q.wrap('<div class="'+f.container_class+'"></div>'),j=q.parent(),q.addClass(f.slides_container_class),f.stack_on_small&&j.addClass(f.stack_on_small_class),f.navigation_arrows&&(j.append(a('<a href="#"><span></span></a>').addClass(f.prev_class)),j.append(a('<a href="#"><span></span></a>').addClass(f.next_class))),f.timer&&(m=a("<div>").addClass(f.timer_container_class),m.append("<span>"),m.append(a("<div>").addClass(f.timer_progress_class)),m.addClass(f.timer_paused_class),j.append(m)),f.slide_number&&(k=a("<div>").addClass(f.slide_number_class),k.append("<span></span> "+f.slide_number_text+" <span></span>"),j.append(k)),f.bullets&&(l=a("<ol>").addClass(f.bullets_container_class),j.append(l),l.wrap('<div class="orbit-bullets-container"></div>'),p.slides().each(function(b,c){var d=a("<li>").attr("data-orbit-slide",b).on("click",p.link_bullet);l.append(d)}))},p._goto=function(b,c){if(b===r)return!1;"object"==typeof o&&o.restart();var d=p.slides(),e="next";if(s=!0,r>b&&(e="prev"),b>=d.length){if(!f.circular)return!1;b=0}else if(0>b){if(!f.circular)return!1;b=d.length-1}var g=a(d.get(r)),h=a(d.get(b));g.css("zIndex",2),g.removeClass(f.active_slide_class),h.css("zIndex",4).addClass(f.active_slide_class),q.trigger("before-slide-change.fndtn.orbit"),f.before_slide_change(),p.update_active_link(b);var i=function(){var a=function(){r=b,s=!1,c===!0&&(o=p.create_timer(),o.start()),p.update_slide_number(r),q.trigger("after-slide-change.fndtn.orbit",[{slide_number:r,total_slides:d.length}]),f.after_slide_change(r,d.length)};q.outerHeight()!=h.outerHeight()&&f.variable_height?q.animate({height:h.outerHeight()},250,"linear",a):a()};if(1===d.length)return i(),!1;var j=function(){"next"===e&&n.next(g,h,i),"prev"===e&&n.prev(g,h,i)};h.outerHeight()>q.outerHeight()&&f.variable_height?q.animate({height:h.outerHeight()},250,"linear",j):j()},p.next=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r+1)},p.prev=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r-1)},p.link_custom=function(b){b.preventDefault();var c=a(this).attr("data-orbit-link");if("string"==typeof c&&""!=(c=a.trim(c))){var d=j.find("[data-orbit-slide="+c+"]");-1!=d.index()&&p._goto(d.index())}},p.link_bullet=function(b){var c=a(this).attr("data-orbit-slide");if("string"==typeof c&&""!=(c=a.trim(c)))if(isNaN(parseInt(c))){var d=j.find("[data-orbit-slide="+c+"]");-1!=d.index()&&p._goto(d.index()+1)}else p._goto(parseInt(c))},p.timer_callback=function(){p._goto(r+1,!0)},p.compute_dimensions=function(){var b=a(p.slides().get(r)),c=b.outerHeight();f.variable_height||p.slides().each(function(){a(this).outerHeight()>c&&(c=a(this).outerHeight())}),q.height(c)},p.create_timer=function(){var a=new g(j.find("."+f.timer_container_class),f,p.timer_callback);return a},p.stop_timer=function(){"object"==typeof o&&o.stop()},p.toggle_timer=function(){var a=j.find("."+f.timer_container_class);a.hasClass(f.timer_paused_class)?("undefined"==typeof o&&(o=p.create_timer()),o.start()):"object"==typeof o&&o.stop()},p.init=function(){p.build_markup(),f.timer&&(o=p.create_timer(),Foundation.utils.image_loaded(this.slides().children("img"),o.start)),n=new i(f,q),"slide"===f.animation&&(n=new h(f,q)),j.on("click","."+f.next_class,p.next),j.on("click","."+f.prev_class,p.prev),f.next_on_click&&j.on("click","."+f.slides_container_class+" [data-orbit-slide]",p.link_bullet),j.on("click",p.toggle_timer),f.swipe&&j.on("touchstart.fndtn.orbit",function(a){a.touches||(a=a.originalEvent);var b={start_page_x:a.touches[0].pageX,start_page_y:a.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};j.data("swipe-transition",b),a.stopPropagation()}).on("touchmove.fndtn.orbit",function(a){if(a.touches||(a=a.originalEvent),!(a.touches.length>1||a.scale&&1!==a.scale)){var b=j.data("swipe-transition");if("undefined"==typeof b&&(b={}),b.delta_x=a.touches[0].pageX-b.start_page_x,"undefined"==typeof b.is_scrolling&&(b.is_scrolling=!!(b.is_scrolling||Math.abs(b.delta_x)<Math.abs(a.touches[0].pageY-b.start_page_y))),!b.is_scrolling&&!b.active){a.preventDefault();var c=b.delta_x<0?r+1:r-1;b.active=!0,p._goto(c)}}}).on("touchend.fndtn.orbit",function(a){j.data("swipe-transition",{}),a.stopPropagation()}),j.on("mouseenter.fndtn.orbit",function(a){f.timer&&f.pause_on_hover&&p.stop_timer()}).on("mouseleave.fndtn.orbit",function(a){f.timer&&f.resume_on_mouseout&&o.start()}),a(c).on("click","[data-orbit-link]",p.link_custom),a(b).on("load resize",p.compute_dimensions),Foundation.utils.image_loaded(this.slides().children("img"),p.compute_dimensions),Foundation.utils.image_loaded(this.slides().children("img"),function(){j.prev("."+f.preloader_class).css("display","none"),p.update_slide_number(0),p.update_active_link(0),q.trigger("ready.fndtn.orbit")})},p.init()},g=function(a,b,c){var d,e,f=this,g=b.timer_speed,h=a.find("."+b.timer_progress_class),i=-1;this.update_progress=function(a){var b=h.clone();b.attr("style",""),b.css("width",a+"%"),h.replaceWith(b),h=b},this.restart=function(){clearTimeout(e),a.addClass(b.timer_paused_class),i=-1,f.update_progress(0)},this.start=function(){return a.hasClass(b.timer_paused_class)?(i=-1===i?g:i,a.removeClass(b.timer_paused_class),d=(new Date).getTime(),h.animate({width:"100%"},i,"linear"),e=setTimeout(function(){f.restart(),c()},i),void a.trigger("timer-started.fndtn.orbit")):!0},this.stop=function(){if(a.hasClass(b.timer_paused_class))return!0;clearTimeout(e),a.addClass(b.timer_paused_class);var c=(new Date).getTime();i-=c-d;var h=100-i/g*100;f.update_progress(h),a.trigger("timer-stopped.fndtn.orbit")}},h=function(b,c){var d=b.animation_speed,e=1===a("html[dir=rtl]").length,f=e?"marginRight":"marginLeft",g={};g[f]="0%",this.next=function(a,b,c){a.animate({marginLeft:"-100%"},d),b.animate(g,d,function(){a.css(f,"100%"),c()})},this.prev=function(a,b,c){a.animate({marginLeft:"100%"},d),b.css(f,"-100%"),b.animate(g,d,function(){a.css(f,"100%"),c()})}},i=function(b,c){var d=b.animation_speed;1===a("html[dir=rtl]").length;this.next=function(a,b,c){b.css({margin:"0%",opacity:"0.01"}),b.animate({opacity:"1"},d,"linear",function(){a.css("margin","100%"),c()})},this.prev=function(a,b,c){b.css({margin:"0%",opacity:"0.01"}),b.animate({opacity:"1"},d,"linear",function(){a.css("margin","100%"),c()})}};Foundation.libs=Foundation.libs||{},Foundation.libs.orbit={name:"orbit",version:"5.5.3",settings:{animation:"slide",timer_speed:1e4,pause_on_hover:!0,resume_on_mouseout:!1,next_on_click:!0,animation_speed:500,stack_on_small:!1,navigation_arrows:!0,slide_number:!0,slide_number_text:"of",container_class:"orbit-container",stack_on_small_class:"orbit-stack-on-small",next_class:"orbit-next",prev_class:"orbit-prev",timer_container_class:"orbit-timer",timer_paused_class:"paused",timer_progress_class:"orbit-progress",slides_container_class:"orbit-slides-container",preloader_class:"preloader",slide_selector:"*",bullets_container_class:"orbit-bullets",bullets_active_class:"active",slide_number_class:"orbit-slide-number",caption_class:"orbit-caption",active_slide_class:"active",orbit_transition_class:"orbit-transitioning",bullets:!0,circular:!0,timer:!0,variable_height:!1,swipe:!0,before_slide_change:e,after_slide_change:e},init:function(a,b,c){this.bindings(b,c)},events:function(a){var b=new f(this.S(a),this.S(a).data("orbit-init"));this.S(a).data(this.name+"-instance",b)},reflow:function(){var a=this;if(a.S(a.scope).is("[data-orbit]")){var b=a.S(a.scope),c=b.data(a.name+"-instance");c.compute_dimensions()}else a.S("[data-orbit]",a.scope).each(function(b,c){var d=a.S(c),e=(a.data_options(d),d.data(a.name+"-instance"));e.compute_dimensions()})}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";function e(a){var b=/fade/i.test(a),c=/pop/i.test(a);return{animate:b||c,pop:c,fade:b}}var f=[];Foundation.libs.reveal={name:"reveal",version:"5.5.3",locked:!1,settings:{animation:"fadeAndPop",animation_speed:250,close_on_background_click:!0,close_on_esc:!0,dismiss_modal_class:"close-reveal-modal",multiple_opened:!1,bg_class:"reveal-modal-bg",root_element:"body",open:function(){},opened:function(){},close:function(){},closed:function(){},on_ajax_error:a.noop,bg:a(".reveal-modal-bg"),css:{open:{opacity:0,visibility:"visible",display:"block"},close:{opacity:1,visibility:"hidden",display:"none"}}},init:function(b,c,d){a.extend(!0,this.settings,c,d),this.bindings(c,d)},events:function(a){var b=this,d=b.S;return d(this.scope).off(".reveal").on("click.fndtn.reveal","["+this.add_namespace("data-reveal-id")+"]:not([disabled])",function(a){if(a.preventDefault(),!b.locked){var c=d(this),e=c.data(b.data_attr("reveal-ajax")),f=c.data(b.data_attr("reveal-replace-content"));if(b.locked=!0,"undefined"==typeof e)b.open.call(b,c);else{var g=e===!0?c.attr("href"):e;b.open.call(b,c,{url:g},{replaceContentSel:f})}}}),d(c).on("click.fndtn.reveal",this.close_targets(),function(a){if(a.preventDefault(),!b.locked){var c=d("["+b.attr_name()+"].open").data(b.attr_name(!0)+"-init")||b.settings,e=d(a.target)[0]===d("."+c.bg_class)[0];if(e){if(!c.close_on_background_click)return;a.stopPropagation()}b.locked=!0,b.close.call(b,e?d("["+b.attr_name()+"].open:not(.toback)"):d(this).closest("["+b.attr_name()+"]"))}}),d("["+b.attr_name()+"]",this.scope).length>0?d(this.scope).on("open.fndtn.reveal",this.settings.open).on("opened.fndtn.reveal",this.settings.opened).on("opened.fndtn.reveal",this.open_video).on("close.fndtn.reveal",this.settings.close).on("closed.fndtn.reveal",this.settings.closed).on("closed.fndtn.reveal",this.close_video):d(this.scope).on("open.fndtn.reveal","["+b.attr_name()+"]",this.settings.open).on("opened.fndtn.reveal","["+b.attr_name()+"]",this.settings.opened).on("opened.fndtn.reveal","["+b.attr_name()+"]",this.open_video).on("close.fndtn.reveal","["+b.attr_name()+"]",this.settings.close).on("closed.fndtn.reveal","["+b.attr_name()+"]",this.settings.closed).on("closed.fndtn.reveal","["+b.attr_name()+"]",this.close_video),!0},key_up_on:function(a){var b=this;return b.S("body").off("keyup.fndtn.reveal").on("keyup.fndtn.reveal",function(a){var c=b.S("["+b.attr_name()+"].open"),d=c.data(b.attr_name(!0)+"-init")||b.settings;d&&27===a.which&&d.close_on_esc&&!b.locked&&b.close.call(b,c)}),!0},key_up_off:function(a){return this.S("body").off("keyup.fndtn.reveal"),!0},open:function(c,e){var g,h=this;c?"undefined"!=typeof c.selector?g=h.S("#"+c.data(h.data_attr("reveal-id"))).first():(g=h.S(this.scope),e=c):g=h.S(this.scope);var i=g.data(h.attr_name(!0)+"-init");if(i=i||this.settings,g.hasClass("open")&&c!==d&&c.attr("data-reveal-id")==g.attr("id"))return h.close(g);if(!g.hasClass("open")){var j=h.S("["+h.attr_name()+"].open");"undefined"==typeof g.data("css-top")&&g.data("css-top",parseInt(g.css("top"),10)).data("offset",this.cache_offset(g)),g.attr("tabindex","0").attr("aria-hidden","false"),this.key_up_on(g),g.on("open.fndtn.reveal",function(a){"fndtn.reveal"!==a.namespace}),g.on("open.fndtn.reveal").trigger("open.fndtn.reveal"),j.length<1&&this.toggle_bg(g,!0),"string"==typeof e&&(e={url:e});var k=function(){j.length>0&&(i.multiple_opened?h.to_back(j):h.hide(j,i.css.close)),i.multiple_opened&&f.push(g),h.show(g,i.css.open)};if("undefined"!=typeof e&&e.url){var l="undefined"!=typeof e.success?e.success:null;a.extend(e,{success:function(b,c,d){if(a.isFunction(l)){var e=l(b,c,d);"string"==typeof e&&(b=e)}"undefined"!=typeof options&&"undefined"!=typeof options.replaceContentSel?g.find(options.replaceContentSel).html(b):g.html(b),h.S(g).foundation("section","reflow"),h.S(g).children().foundation(),k()}}),i.on_ajax_error!==a.noop&&a.extend(e,{error:i.on_ajax_error}),a.ajax(e)}else k()}h.S(b).trigger("resize")},close:function(b){var b=b&&b.length?b:this.S(this.scope),c=this.S("["+this.attr_name()+"].open"),d=b.data(this.attr_name(!0)+"-init")||this.settings,e=this;if(c.length>0)if(b.removeAttr("tabindex","0").attr("aria-hidden","true"),this.locked=!0,this.key_up_off(b),b.trigger("close.fndtn.reveal"),(d.multiple_opened&&1===c.length||!d.multiple_opened||b.length>1)&&(e.toggle_bg(b,!1),e.to_front(b)),d.multiple_opened){var g=b.is(":not(.toback)");e.hide(b,d.css.close,d),g?f.pop():f=a.grep(f,function(a){var c=a[0]===b[0];return c&&e.to_front(b),!c}),f.length>0&&e.to_front(f[f.length-1])}else e.hide(c,d.css.close,d)},close_targets:function(){var a="."+this.settings.dismiss_modal_class;return this.settings.close_on_background_click?a+", ."+this.settings.bg_class:a},toggle_bg:function(b,c){0===this.S("."+this.settings.bg_class).length&&(this.settings.bg=a("<div />",{"class":this.settings.bg_class}).appendTo("body").hide());var e=this.settings.bg.filter(":visible").length>0;c!=e&&((c==d?e:!c)?this.hide(this.settings.bg):this.show(this.settings.bg))},show:function(c,d){if(d){var f=c.data(this.attr_name(!0)+"-init")||this.settings,g=f.root_element,h=this;if(0===c.parent(g).length){var i=c.wrap('<div style="display: none;" />').parent();c.on("closed.fndtn.reveal.wrapped",function(){c.detach().appendTo(i),c.unwrap().unbind("closed.fndtn.reveal.wrapped")}),c.detach().appendTo(g)}var j=e(f.animation);if(j.animate||(this.locked=!1),j.pop){d.top=a(b).scrollTop()-c.data("offset")+"px";var k={top:a(b).scrollTop()+c.data("css-top")+"px",opacity:1};return setTimeout(function(){return c.css(d).animate(k,f.animation_speed,"linear",function(){h.locked=!1,c.trigger("opened.fndtn.reveal")}).addClass("open")},f.animation_speed/2)}if(d.top=a(b).scrollTop()+c.data("css-top")+"px",j.fade){var k={opacity:1};return setTimeout(function(){return c.css(d).animate(k,f.animation_speed,"linear",function(){h.locked=!1,c.trigger("opened.fndtn.reveal")}).addClass("open")},f.animation_speed/2)}return c.css(d).show().css({opacity:1}).addClass("open").trigger("opened.fndtn.reveal")}var f=this.settings;return e(f.animation).fade?c.fadeIn(f.animation_speed/2):(this.locked=!1,c.show())},to_back:function(a){a.addClass("toback")},to_front:function(a){a.removeClass("toback")},hide:function(c,d){if(d){var f=c.data(this.attr_name(!0)+"-init"),g=this;f=f||this.settings;var h=e(f.animation);if(h.animate||(this.locked=!1),h.pop){var i={top:-a(b).scrollTop()-c.data("offset")+"px",opacity:0};return setTimeout(function(){return c.animate(i,f.animation_speed,"linear",function(){g.locked=!1,c.css(d).trigger("closed.fndtn.reveal")}).removeClass("open")},f.animation_speed/2)}if(h.fade){var i={opacity:0};return setTimeout(function(){return c.animate(i,f.animation_speed,"linear",function(){g.locked=!1,c.css(d).trigger("closed.fndtn.reveal")}).removeClass("open")},f.animation_speed/2)}return c.hide().css(d).removeClass("open").trigger("closed.fndtn.reveal")}var f=this.settings;return e(f.animation).fade?c.fadeOut(f.animation_speed/2):c.hide()},close_video:function(b){var c=a(".flex-video",b.target),d=a("iframe",c);d.length>0&&(d.attr("data-src",d[0].src),d.attr("src",d.attr("src")),c.hide())},open_video:function(b){var c=a(".flex-video",b.target),e=c.find("iframe");if(e.length>0){var f=e.attr("data-src");if("string"==typeof f)e[0].src=e.attr("data-src");else{var g=e[0].src;e[0].src=d,e[0].src=g}c.show()}},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},cache_offset:function(a){var b=a.show().height()+parseInt(a.css("top"),10)+a.scrollY;return a.hide(),b},off:function(){a(this.scope).off(".fndtn.reveal")},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.slider={name:"slider",version:"5.5.3",settings:{start:0,end:100,step:1,precision:2,initial:null,display_selector:"",vertical:!1,trigger_input_change:!1,on_change:function(){}},cache:{},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c),this.reflow()},events:function(){var c=this;a(this.scope).off(".slider").on("mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider","["+c.attr_name()+"]:not(.disabled, [disabled]) .range-slider-handle",function(b){c.cache.active||(b.preventDefault(),c.set_active_slider(a(b.target)))}).on("mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider",function(d){if(c.cache.active)if(d.preventDefault(),a.data(c.cache.active[0],"settings").vertical){var e=0;d.pageY||(e=b.scrollY),c.calculate_position(c.cache.active,c.get_cursor_position(d,"y")+e)}else c.calculate_position(c.cache.active,c.get_cursor_position(d,"x"))}).on("mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider",function(d){if(!c.cache.active){var e="slider"===a(d.target).attr("role")?a(d.target):a(d.target).closest(".range-slider").find("[role='slider']");if(e.length&&!e.parent().hasClass("disabled")&&!e.parent().attr("disabled"))if(c.set_active_slider(e),a.data(c.cache.active[0],"settings").vertical){var f=0;d.pageY||(f=b.scrollY),c.calculate_position(c.cache.active,c.get_cursor_position(d,"y")+f)}else c.calculate_position(c.cache.active,c.get_cursor_position(d,"x"))}c.remove_active_slider()}).on("change.fndtn.slider",function(a){c.settings.on_change()}),c.S(b).on("resize.fndtn.slider",c.throttle(function(a){c.reflow()},300)),this.S("["+this.attr_name()+"]").each(function(){var b=a(this),d=b.children(".range-slider-handle")[0],e=c.initialize_settings(d);""!=e.display_selector&&a(e.display_selector).each(function(){a(this).attr("value")&&a(this).off("change").on("change",function(){b.foundation("slider","set_value",a(this).val())})})})},get_cursor_position:function(a,b){var c,d="page"+b.toUpperCase(),e="client"+b.toUpperCase();return"undefined"!=typeof a[d]?c=a[d]:"undefined"!=typeof a.originalEvent[e]?c=a.originalEvent[e]:a.originalEvent.touches&&a.originalEvent.touches[0]&&"undefined"!=typeof a.originalEvent.touches[0][e]?c=a.originalEvent.touches[0][e]:a.currentPoint&&"undefined"!=typeof a.currentPoint[b]&&(c=a.currentPoint[b]),c},set_active_slider:function(a){this.cache.active=a},remove_active_slider:function(){this.cache.active=null},calculate_position:function(b,c){var d=this,e=a.data(b[0],"settings"),f=(a.data(b[0],"handle_l"),a.data(b[0],"handle_o"),a.data(b[0],"bar_l")),g=a.data(b[0],"bar_o");requestAnimationFrame(function(){var a;a=Foundation.rtl&&!e.vertical?d.limit_to((g+f-c)/f,0,1):d.limit_to((c-g)/f,0,1),a=e.vertical?1-a:a;var h=d.normalized_value(a,e.start,e.end,e.step,e.precision);d.set_ui(b,h)})},set_ui:function(b,c){var d=a.data(b[0],"settings"),e=a.data(b[0],"handle_l"),f=a.data(b[0],"bar_l"),g=this.normalized_percentage(c,d.start,d.end),h=g*(f-e)-1,i=100*g,j=b.parent(),k=b.parent().children("input[type=hidden]");Foundation.rtl&&!d.vertical&&(h=-h),h=d.vertical?-h+f-e+1:h,this.set_translate(b,h,d.vertical),d.vertical?b.siblings(".range-slider-active-segment").css("height",i+"%"):b.siblings(".range-slider-active-segment").css("width",i+"%"),j.attr(this.attr_name(),c).trigger("change.fndtn.slider"),k.val(c),d.trigger_input_change&&k.trigger("change.fndtn.slider"),b[0].hasAttribute("aria-valuemin")||b.attr({"aria-valuemin":d.start,"aria-valuemax":d.end}),b.attr("aria-valuenow",c),""!=d.display_selector&&a(d.display_selector).each(function(){this.hasAttribute("value")?a(this).val(c):a(this).text(c)})},normalized_percentage:function(a,b,c){return Math.min(1,(a-b)/(c-b))},normalized_value:function(a,b,c,d,e){var f=c-b,g=a*f,h=(g-g%d)/d,i=g%d,j=i>=.5*d?d:0;return(h*d+j+b).toFixed(e)},set_translate:function(b,c,d){d?a(b).css("-webkit-transform","translateY("+c+"px)").css("-moz-transform","translateY("+c+"px)").css("-ms-transform","translateY("+c+"px)").css("-o-transform","translateY("+c+"px)").css("transform","translateY("+c+"px)"):a(b).css("-webkit-transform","translateX("+c+"px)").css("-moz-transform","translateX("+c+"px)").css("-ms-transform","translateX("+c+"px)").css("-o-transform","translateX("+c+"px)").css("transform","translateX("+c+"px)")},limit_to:function(a,b,c){return Math.min(Math.max(a,b),c)},initialize_settings:function(b){var c,d=a.extend({},this.settings,this.data_options(a(b).parent()));return null===d.precision&&(c=(""+d.step).match(/\.([\d]*)/),d.precision=c&&c[1]?c[1].length:0),d.vertical?(a.data(b,"bar_o",a(b).parent().offset().top),a.data(b,"bar_l",a(b).parent().outerHeight()),a.data(b,"handle_o",a(b).offset().top),a.data(b,"handle_l",a(b).outerHeight())):(a.data(b,"bar_o",a(b).parent().offset().left),a.data(b,"bar_l",a(b).parent().outerWidth()),a.data(b,"handle_o",a(b).offset().left),a.data(b,"handle_l",a(b).outerWidth())),a.data(b,"bar",a(b).parent()),a.data(b,"settings",d)},set_initial_position:function(b){var c=a.data(b.children(".range-slider-handle")[0],"settings"),d="number"!=typeof c.initial||isNaN(c.initial)?Math.floor(.5*(c.end-c.start)/c.step)*c.step+c.start:c.initial,e=b.children(".range-slider-handle");this.set_ui(e,d)},set_value:function(b){var c=this;a("["+c.attr_name()+"]",this.scope).each(function(){a(this).attr(c.attr_name(),b)}),a(this.scope).attr(c.attr_name())&&a(this.scope).attr(c.attr_name(),b),c.reflow()},reflow:function(){var b=this;b.S("["+this.attr_name()+"]").each(function(){var c=a(this).children(".range-slider-handle")[0],d=a(this).attr(b.attr_name());b.initialize_settings(c),d?b.set_ui(a(c),parseFloat(d)):b.set_initial_position(a(this))})}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.tab={name:"tab",version:"5.5.3",settings:{active_class:"active",callback:function(){},deep_linking:!1,scroll_to_content:!0,is_hover:!1},default_tab_hashes:[],init:function(a,b,c){var d=this,e=this.S;e("["+this.attr_name()+"] > .active > a",this.scope).each(function(){d.default_tab_hashes.push(this.hash)}),this.bindings(b,c),this.handle_location_hash_change()},events:function(){var a=this,c=this.S,d=function(b,d){var e=c(d).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");if(!e.is_hover||Modernizr.touch){var f=b.keyCode||b.which;9!==f&&(b.preventDefault(),b.stopPropagation()),a.toggle_active_tab(c(d).parent())}};c(this.scope).off(".tab").on("keydown.fndtn.tab","["+this.attr_name()+"] > * > a",function(a){var b=a.keyCode||a.which;if(13===b||32===b){var c=this;d(a,c)}}).on("click.fndtn.tab","["+this.attr_name()+"] > * > a",function(a){var b=this;d(a,b)}).on("mouseenter.fndtn.tab","["+this.attr_name()+"] > * > a",function(b){var d=c(this).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");d.is_hover&&a.toggle_active_tab(c(this).parent())}),c(b).on("hashchange.fndtn.tab",function(b){b.preventDefault(),a.handle_location_hash_change()})},handle_location_hash_change:function(){var b=this,c=this.S;c("["+this.attr_name()+"]",this.scope).each(function(){var e=c(this).data(b.attr_name(!0)+"-init");if(e.deep_linking){var f;if(f=e.scroll_to_content?b.scope.location.hash:b.scope.location.hash.replace("fndtn-",""),""!=f){var g=c(f);if(g.hasClass("content")&&g.parent().hasClass("tabs-content"))b.toggle_active_tab(a("["+b.attr_name()+"] > * > a[href="+f+"]").parent());else{var h=g.closest(".content").attr("id");h!=d&&b.toggle_active_tab(a("["+b.attr_name()+"] > * > a[href=#"+h+"]").parent(),f)}}else for(var i=0;i<b.default_tab_hashes.length;i++)b.toggle_active_tab(a("["+b.attr_name()+"] > * > a[href="+b.default_tab_hashes[i]+"]").parent())}})},toggle_active_tab:function(e,f){var g=this,h=g.S,i=e.closest("["+this.attr_name()+"]"),j=e.find("a"),k=e.children("a").first(),l="#"+k.attr("href").split("#")[1],m=h(l),n=e.siblings(),o=i.data(this.attr_name(!0)+"-init"),p=function(b){var d,e=a(this),f=a(this).parents("li").prev().children('[role="tab"]'),g=a(this).parents("li").next().children('[role="tab"]');switch(b.keyCode){case 37:d=f;break;case 39:d=g;break;default:d=!1}d.length&&(e.attr({tabindex:"-1","aria-selected":null}),d.attr({tabindex:"0","aria-selected":!0}).focus()),a('[role="tabpanel"]').attr("aria-hidden","true"),a("#"+a(c.activeElement).attr("href").substring(1)).attr("aria-hidden",null)},q=function(a){var c=o.scroll_to_content?g.default_tab_hashes[0]:"fndtn-"+g.default_tab_hashes[0].replace("#","");(a!==c||b.location.hash)&&(b.location.hash=a)};k.data("tab-content")&&(l="#"+k.data("tab-content").split("#")[1],m=h(l)),o.deep_linking&&(o.scroll_to_content?(q(f||l),f==d||f==l?e.parent()[0].scrollIntoView():h(l)[0].scrollIntoView()):q(f!=d?"fndtn-"+f.replace("#",""):"fndtn-"+l.replace("#",""))),e.addClass(o.active_class).triggerHandler("opened"),j.attr({"aria-selected":"true",tabindex:0}),n.removeClass(o.active_class),n.find("a").attr({"aria-selected":"false"}),m.siblings().removeClass(o.active_class).attr({"aria-hidden":"true"}),m.addClass(o.active_class).attr("aria-hidden","false").removeAttr("tabindex"),o.callback(e),m.triggerHandler("toggled",[m]),i.triggerHandler("toggled",[e]),j.off("keydown").on("keydown",p)},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.tooltip={name:"tooltip",version:"5.5.3",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,hover_delay:200,fade_in_duration:150,fade_out_duration:150,show_on:"all",tip_template:function(a,b){return'<span data-selector="'+a+'" id="'+a+'" class="'+Foundation.libs.tooltip.settings.tooltip_class.substring(1)+'" role="tooltip">'+b+'<span class="nub"></span></span>'}},cache:{},init:function(a,b,c){Foundation.inherit(this,"random_str"),this.bindings(b,c)},should_show:function(b,c){var d=a.extend({},this.settings,this.data_options(b));return"all"===d.show_on?!0:this.small()&&"small"===d.show_on?!0:this.medium()&&"medium"===d.show_on?!0:this.large()&&"large"===d.show_on?!0:!1},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},events:function(b){function c(a,b,c){a.timer||(c?(a.timer=null,e.showTip(b)):a.timer=setTimeout(function(){a.timer=null,e.showTip(b)}.bind(a),e.settings.hover_delay))}function d(a,b){a.timer&&(clearTimeout(a.timer),a.timer=null),e.hide(b)}var e=this,f=e.S;e.create(this.S(b)),a(this.scope).off(".tooltip").on("mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"]",function(b){var g=f(this),h=a.extend({},e.settings,e.data_options(g)),i=!1;if(Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&f(b.target).is("a"))return!1;if(/mouse/i.test(b.type)&&e.ie_touch(b))return!1;if(g.hasClass("open"))Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&b.preventDefault(),e.hide(g);else{if(h.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type))return;if(!h.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&(b.preventDefault(),f(h.tooltip_class+".open").hide(),i=!0,a(".open["+e.attr_name()+"]").length>0)){var j=f(a(".open["+e.attr_name()+"]")[0]);e.hide(j)}/enter|over/i.test(b.type)?c(this,g):"mouseout"===b.type||"mouseleave"===b.type?d(this,g):c(this,g,!0)}}).on("mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"].open",function(b){return/mouse/i.test(b.type)&&e.ie_touch(b)?!1:void(("touch"!=a(this).data("tooltip-open-event-type")||"mouseleave"!=b.type)&&("mouse"==a(this).data("tooltip-open-event-type")&&/MSPointerDown|touchstart/i.test(b.type)?e.convert_to_touch(a(this)):d(this,a(this))))}).on("DOMNodeRemoved DOMAttrModified","["+this.attr_name()+"]:not(a)",function(a){d(this,f(this))})},ie_touch:function(a){return!1},showTip:function(a){var b=this.getTip(a);return this.should_show(a,b)?this.show(a):void 0},getTip:function(b){var c=this.selector(b),d=a.extend({},this.settings,this.data_options(b)),e=null;return c&&(e=this.S('span[data-selector="'+c+'"]'+d.tooltip_class)),"object"==typeof e?e:!1},selector:function(a){var b=a.attr(this.attr_name())||a.attr("data-selector");return"string"!=typeof b&&(b=this.random_str(6),a.attr("data-selector",b).attr("aria-describedby",b)),b},create:function(c){var d=this,e=a.extend({},this.settings,this.data_options(c)),f=this.settings.tip_template;"string"==typeof e.tip_template&&b.hasOwnProperty(e.tip_template)&&(f=b[e.tip_template]);
+var g=a(f(this.selector(c),a("<div></div>").html(c.attr("title")).html())),h=this.inheritable_classes(c);g.addClass(h).appendTo(e.append_to),Modernizr.touch&&(g.append('<span class="tap-to-close">'+e.touch_close_text+"</span>"),g.on("touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip",function(a){d.hide(c)})),c.removeAttr("title").attr("title","")},reposition:function(b,c,d){var e,f,g,h,i;c.css("visibility","hidden").show(),e=b.data("width"),f=c.children(".nub"),g=f.outerHeight(),h=f.outerWidth(),this.small()?c.css({width:"100%"}):c.css({width:e?e:"auto"}),i=function(a,b,c,d,e,f){return a.css({top:b?b:"auto",bottom:d?d:"auto",left:e?e:"auto",right:c?c:"auto"}).end()};var j=b.offset().top,k=b.offset().left,l=b.outerHeight();if(i(c,j+l+10,"auto","auto",k),this.small())i(c,j+l+10,"auto","auto",12.5,a(this.scope).width()),c.addClass("tip-override"),i(f,-g,"auto","auto",k);else{Foundation.rtl&&(f.addClass("rtl"),k=k+b.outerWidth()-c.outerWidth()),i(c,j+l+10,"auto","auto",k),f.attr("style")&&f.removeAttr("style"),c.removeClass("tip-override");var m=c.outerHeight();d&&d.indexOf("tip-top")>-1?(Foundation.rtl&&f.addClass("rtl"),i(c,j-m,"auto","auto",k).removeClass("tip-override")):d&&d.indexOf("tip-left")>-1?(i(c,j+l/2-m/2,"auto","auto",k-c.outerWidth()-g).removeClass("tip-override"),f.removeClass("rtl")):d&&d.indexOf("tip-right")>-1&&(i(c,j+l/2-m/2,"auto","auto",k+b.outerWidth()+g).removeClass("tip-override"),f.removeClass("rtl"))}c.css("visibility","visible").hide()},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},inheritable_classes:function(b){var c=a.extend({},this.settings,this.data_options(b)),d=["tip-top","tip-left","tip-bottom","tip-right","radius","round"].concat(c.additional_inheritable_classes),e=b.attr("class"),f=e?a.map(e.split(" "),function(b,c){return-1!==a.inArray(b,d)?b:void 0}).join(" "):"";return a.trim(f)},convert_to_touch:function(b){var c=this,d=c.getTip(b),e=a.extend({},c.settings,c.data_options(b));0===d.find(".tap-to-close").length&&(d.append('<span class="tap-to-close">'+e.touch_close_text+"</span>"),d.on("click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose",function(a){c.hide(b)})),b.data("tooltip-open-event-type","touch")},show:function(a){var b=this.getTip(a);"touch"==a.data("tooltip-open-event-type")&&this.convert_to_touch(a),this.reposition(a,b,a.attr("class")),a.addClass("open"),b.fadeIn(this.settings.fade_in_duration)},hide:function(a){var b=this.getTip(a);b.fadeOut(this.settings.fade_out_duration,function(){b.find(".tap-to-close").remove(),b.off("click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose"),a.removeClass("open")})},off:function(){var b=this;this.S(this.scope).off(".fndtn.tooltip"),this.S(this.settings.tooltip_class).each(function(c){a("["+b.attr_name()+"]").eq(c).attr("title",a(this).text())}).remove()},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.topbar={name:"topbar",version:"5.5.3",settings:{index:0,start_offset:0,sticky_class:"sticky",custom_back_text:!0,back_text:"Back",mobile_show_parent_link:!0,is_hover:!0,scrolltop:!0,sticky_on:"all",dropdown_autoclose:!0},init:function(b,c,d){Foundation.inherit(this,"add_custom_rule register_media throttle");var e=this;e.register_media("topbar","foundation-mq-topbar"),this.bindings(c,d),e.S("["+this.attr_name()+"]",this.scope).each(function(){var b=a(this),c=b.data(e.attr_name(!0)+"-init");e.S("section, .top-bar-section",this);b.data("index",0);var d=b.parent();d.hasClass("fixed")||e.is_sticky(b,d,c)?(e.settings.sticky_class=c.sticky_class,e.settings.sticky_topbar=b,b.data("height",d.outerHeight()),b.data("stickyoffset",d.offset().top)):b.data("height",b.outerHeight()),c.assembled||e.assemble(b),c.is_hover?e.S(".has-dropdown",b).addClass("not-click"):e.S(".has-dropdown",b).removeClass("not-click"),e.add_custom_rule(".f-topbar-fixed { padding-top: "+b.data("height")+"px }"),d.hasClass("fixed")&&e.S("body").addClass("f-topbar-fixed")})},is_sticky:function(a,b,c){var d=b.hasClass(c.sticky_class),e=matchMedia(Foundation.media_queries.small).matches,f=matchMedia(Foundation.media_queries.medium).matches,g=matchMedia(Foundation.media_queries.large).matches;return d&&"all"===c.sticky_on?!0:d&&this.small()&&-1!==c.sticky_on.indexOf("small")&&e&&!f&&!g?!0:d&&this.medium()&&-1!==c.sticky_on.indexOf("medium")&&e&&f&&!g?!0:d&&this.large()&&-1!==c.sticky_on.indexOf("large")&&e&&f&&g?!0:!1},toggle:function(c){var d,e=this;d=c?e.S(c).closest("["+this.attr_name()+"]"):e.S("["+this.attr_name()+"]");var f=d.data(this.attr_name(!0)+"-init"),g=e.S("section, .top-bar-section",d);e.breakpoint()&&(e.rtl?(g.css({right:"0%"}),a(">.name",g).css({right:"100%"})):(g.css({left:"0%"}),a(">.name",g).css({left:"100%"})),e.S("li.moved",g).removeClass("moved"),d.data("index",0),d.toggleClass("expanded").css("height","")),f.scrolltop?d.hasClass("expanded")?d.parent().hasClass("fixed")&&(f.scrolltop?(d.parent().removeClass("fixed"),d.addClass("fixed"),e.S("body").removeClass("f-topbar-fixed"),b.scrollTo(0,0)):d.parent().removeClass("expanded")):d.hasClass("fixed")&&(d.parent().addClass("fixed"),d.removeClass("fixed"),e.S("body").addClass("f-topbar-fixed")):(e.is_sticky(d,d.parent(),f)&&d.parent().addClass("fixed"),d.parent().hasClass("fixed")&&(d.hasClass("expanded")?(d.addClass("fixed"),d.parent().addClass("expanded"),e.S("body").addClass("f-topbar-fixed")):(d.removeClass("fixed"),d.parent().removeClass("expanded"),e.update_sticky_positioning())))},timer:null,events:function(c){var d=this,e=this.S;e(this.scope).off(".topbar").on("click.fndtn.topbar","["+this.attr_name()+"] .toggle-topbar",function(a){a.preventDefault(),d.toggle(this)}).on("click.fndtn.topbar contextmenu.fndtn.topbar",'.top-bar .top-bar-section li a[href^="#"],['+this.attr_name()+'] .top-bar-section li a[href^="#"]',function(b){var c=a(this).closest("li"),e=c.closest("["+d.attr_name()+"]"),f=e.data(d.attr_name(!0)+"-init");if(f.dropdown_autoclose&&f.is_hover){var g=a(this).closest(".hover");g.removeClass("hover")}!d.breakpoint()||c.hasClass("back")||c.hasClass("has-dropdown")||d.toggle()}).on("click.fndtn.topbar","["+this.attr_name()+"] li.has-dropdown",function(b){var c=e(this),f=e(b.target),g=c.closest("["+d.attr_name()+"]"),h=g.data(d.attr_name(!0)+"-init");return f.data("revealId")?void d.toggle():void(d.breakpoint()||(!h.is_hover||Modernizr.touch)&&(b.stopImmediatePropagation(),c.hasClass("hover")?(c.removeClass("hover").find("li").removeClass("hover"),c.parents("li.hover").removeClass("hover")):(c.addClass("hover"),a(c).siblings().removeClass("hover"),"A"===f[0].nodeName&&f.parent().hasClass("has-dropdown")&&b.preventDefault())))}).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown>a",function(a){if(d.breakpoint()){a.preventDefault();var b=e(this),c=b.closest("["+d.attr_name()+"]"),f=c.find("section, .top-bar-section"),g=(b.next(".dropdown").outerHeight(),b.closest("li"));c.data("index",c.data("index")+1),g.addClass("moved"),d.rtl?(f.css({right:-(100*c.data("index"))+"%"}),f.find(">.name").css({right:100*c.data("index")+"%"})):(f.css({left:-(100*c.data("index"))+"%"}),f.find(">.name").css({left:100*c.data("index")+"%"})),c.css("height",b.siblings("ul").outerHeight(!0)+c.data("height"))}}),e(b).off(".topbar").on("resize.fndtn.topbar",d.throttle(function(){d.resize.call(d)},50)).trigger("resize.fndtn.topbar").load(function(){e(this).trigger("resize.fndtn.topbar")}),e("body").off(".topbar").on("click.fndtn.topbar",function(a){var b=e(a.target).closest("li").closest("li.hover");b.length>0||e("["+d.attr_name()+"] li.hover").removeClass("hover")}),e(this.scope).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown .back",function(a){a.preventDefault();var b=e(this),c=b.closest("["+d.attr_name()+"]"),f=c.find("section, .top-bar-section"),g=(c.data(d.attr_name(!0)+"-init"),b.closest("li.moved")),h=g.parent();c.data("index",c.data("index")-1),d.rtl?(f.css({right:-(100*c.data("index"))+"%"}),f.find(">.name").css({right:100*c.data("index")+"%"})):(f.css({left:-(100*c.data("index"))+"%"}),f.find(">.name").css({left:100*c.data("index")+"%"})),0===c.data("index")?c.css("height",""):c.css("height",h.outerHeight(!0)+c.data("height")),setTimeout(function(){g.removeClass("moved")},300)}),e(this.scope).find(".dropdown a").focus(function(){a(this).parents(".has-dropdown").addClass("hover")}).blur(function(){a(this).parents(".has-dropdown").removeClass("hover")})},resize:function(){var a=this;a.S("["+this.attr_name()+"]").each(function(){var b,d=a.S(this),e=d.data(a.attr_name(!0)+"-init"),f=d.parent("."+a.settings.sticky_class);if(!a.breakpoint()){var g=d.hasClass("expanded");d.css("height","").removeClass("expanded").find("li").removeClass("hover"),g&&a.toggle(d)}a.is_sticky(d,f,e)&&(f.hasClass("fixed")?(f.removeClass("fixed"),b=f.offset().top,a.S(c.body).hasClass("f-topbar-fixed")&&(b-=d.data("height")),d.data("stickyoffset",b),f.addClass("fixed")):(b=f.offset().top,d.data("stickyoffset",b)))})},breakpoint:function(){return!matchMedia(Foundation.media_queries.topbar).matches},small:function(){return matchMedia(Foundation.media_queries.small).matches},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},assemble:function(b){var c=this,d=b.data(this.attr_name(!0)+"-init"),e=c.S("section, .top-bar-section",b);e.detach(),c.S(".has-dropdown>a",e).each(function(){var b,e=c.S(this),f=e.siblings(".dropdown"),g=e.attr("href");f.find(".title.back").length||(b=a(1==d.mobile_show_parent_link&&g?'<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5></li><li class="parent-link hide-for-medium-up"><a class="parent-link js-generated" href="'+g+'">'+e.html()+"</a></li>":'<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5>'),1==d.custom_back_text?a("h5>a",b).html(d.back_text):a("h5>a",b).html("&laquo; "+e.html()),f.prepend(b))}),e.appendTo(b),this.sticky(),this.assembled(b)},assembled:function(b){b.data(this.attr_name(!0),a.extend({},b.data(this.attr_name(!0)),{assembled:!0}))},height:function(b){var c=0,d=this;return a("> li",b).each(function(){c+=d.S(this).outerHeight(!0)}),c},sticky:function(){var a=this;this.S(b).on("scroll",function(){a.update_sticky_positioning()})},update_sticky_positioning:function(){var a="."+this.settings.sticky_class,c=this.S(b),d=this;if(d.settings.sticky_topbar&&d.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(),this.settings)){var e=this.settings.sticky_topbar.data("stickyoffset")+this.settings.start_offset;d.S(a).hasClass("expanded")||(c.scrollTop()>e?d.S(a).hasClass("fixed")||(d.S(a).addClass("fixed"),d.S("body").addClass("f-topbar-fixed")):c.scrollTop()<=e&&d.S(a).hasClass("fixed")&&(d.S(a).removeClass("fixed"),d.S("body").removeClass("f-topbar-fixed")))}},off:function(){this.S(this.scope).off(".fndtn.topbar"),this.S(b).off(".fndtn.topbar")},reflow:function(){}}}(jQuery,window,window.document);
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/a-download.js b/dev/js/modernizr/feature-detects/a-download.js
new file mode 100644 (file)
index 0000000..559fadd
--- /dev/null
@@ -0,0 +1,8 @@
+
+// a[download] attribute
+// When used on an <a>, this attribute signifies that the resource it
+// points to should be downloaded by the browser rather than navigating to it.
+// http://developers.whatwg.org/links.html#downloading-resources
+// By Addy Osmani
+
+Modernizr.addTest('adownload', 'download' in document.createElement('a'));
diff --git a/dev/js/modernizr/feature-detects/audio-audiodata-api.js b/dev/js/modernizr/feature-detects/audio-audiodata-api.js
new file mode 100644 (file)
index 0000000..bfcd9fe
--- /dev/null
@@ -0,0 +1,4 @@
+// Mozilla Audio Data API
+// https://wiki.mozilla.org/Audio_Data_API
+// by Addy Osmani
+Modernizr.addTest('audiodata', !!(window.Audio));
diff --git a/dev/js/modernizr/feature-detects/audio-webaudio-api.js b/dev/js/modernizr/feature-detects/audio-webaudio-api.js
new file mode 100644 (file)
index 0000000..46d3c63
--- /dev/null
@@ -0,0 +1,4 @@
+// Web Audio API
+// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
+// By Addy Osmani
+Modernizr.addTest('webaudio', !!(window.webkitAudioContext || window.AudioContext));
diff --git a/dev/js/modernizr/feature-detects/battery-api.js b/dev/js/modernizr/feature-detects/battery-api.js
new file mode 100644 (file)
index 0000000..4177e8f
--- /dev/null
@@ -0,0 +1,8 @@
+
+// Battery API
+// https://developer.mozilla.org/en/DOM/window.navigator.mozBattery
+// By: Paul Sayre
+
+Modernizr.addTest('battery',
+       !!Modernizr.prefixed('battery', navigator)
+);
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/battery-level.js b/dev/js/modernizr/feature-detects/battery-level.js
new file mode 100644 (file)
index 0000000..07f9575
--- /dev/null
@@ -0,0 +1,11 @@
+
+// Low Battery Level
+// Enable a developer to remove CPU intensive CSS/JS when battery is low
+// developer.mozilla.org/en/DOM/window.navigator.mozBattery
+// By: Paul Sayre
+
+Modernizr.addTest('lowbattery', function () {
+       var minLevel = 0.20,
+               battery = Modernizr.prefixed('battery', navigator);
+       return !!(battery && !battery.charging && battery.level <= minLevel);
+});
diff --git a/dev/js/modernizr/feature-detects/blob-constructor.js b/dev/js/modernizr/feature-detects/blob-constructor.js
new file mode 100644 (file)
index 0000000..f10bd7b
--- /dev/null
@@ -0,0 +1,10 @@
+// Blob constructor
+// http://dev.w3.org/2006/webapi/FileAPI/#constructorBlob
+
+Modernizr.addTest('blobconstructor', function () {
+    try {
+        return !!new Blob();
+    } catch (e) {
+        return false;
+    }
+});
diff --git a/dev/js/modernizr/feature-detects/canvas-todataurl-type.js b/dev/js/modernizr/feature-detects/canvas-todataurl-type.js
new file mode 100644 (file)
index 0000000..bf8f2e3
--- /dev/null
@@ -0,0 +1,28 @@
+// canvas.toDataURL type support
+// http://www.w3.org/TR/html5/the-canvas-element.html#dom-canvas-todataurl
+
+// This test is asynchronous. Watch out.
+
+(function () {
+
+    if (!Modernizr.canvas) {
+        return false;
+    }
+
+    var image = new Image(),
+        canvas = document.createElement('canvas'),
+        ctx = canvas.getContext('2d');
+
+    image.onload = function() {
+        ctx.drawImage(image, 0, 0);
+
+        Modernizr.addTest('todataurljpeg', function() {
+            return canvas.toDataURL('image/jpeg').indexOf('data:image/jpeg') === 0;
+        });
+        Modernizr.addTest('todataurlwebp', function() {
+            return canvas.toDataURL('image/webp').indexOf('data:image/webp') === 0;
+        });
+    };
+
+    image.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==';
+}());
diff --git a/dev/js/modernizr/feature-detects/contenteditable.js b/dev/js/modernizr/feature-detects/contenteditable.js
new file mode 100644 (file)
index 0000000..6543666
--- /dev/null
@@ -0,0 +1,9 @@
+// contentEditable
+// http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#contenteditable
+
+// this is known to false positive in some mobile browsers
+// here is a whitelist of verified working browsers:
+// https://github.com/NielsLeenheer/html5test/blob/549f6eac866aa861d9649a0707ff2c0157895706/scripts/engine.js#L2083
+
+Modernizr.addTest('contenteditable',
+        'contentEditable' in document.documentElement);
diff --git a/dev/js/modernizr/feature-detects/contentsecuritypolicy.js b/dev/js/modernizr/feature-detects/contentsecuritypolicy.js
new file mode 100644 (file)
index 0000000..a95e45a
--- /dev/null
@@ -0,0 +1,10 @@
+// Test for (experimental) Content Security Policy 1.1 support.
+//
+// This feature is still quite experimental, but is available now in Chrome 22.
+// If the `SecurityPolicy` property is available, you can be sure the browser
+// supports CSP. If it's not available, the browser still might support an
+// earlier version of the CSP spec.
+//
+// Editor's Draft: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html
+
+Modernizr.addTest('contentsecuritypolicy', ('securityPolicy' in document || 'SecurityPolicy' in document));
diff --git a/dev/js/modernizr/feature-detects/contextmenu.js b/dev/js/modernizr/feature-detects/contextmenu.js
new file mode 100644 (file)
index 0000000..dd8182f
--- /dev/null
@@ -0,0 +1,11 @@
+// http://www.w3.org/TR/html5/interactive-elements.html#context-menus
+// Demo at http://thewebrocks.com/demos/context-menu/
+Modernizr.addTest(
+  'contextmenu', 
+  ('contextMenu' in document.documentElement && 'HTMLMenuItemElement' in window) 
+);
+
+
+
+
+
diff --git a/dev/js/modernizr/feature-detects/cookies.js b/dev/js/modernizr/feature-detects/cookies.js
new file mode 100644 (file)
index 0000000..6a2f9d4
--- /dev/null
@@ -0,0 +1,15 @@
+
+// by tauren
+// https://github.com/Modernizr/Modernizr/issues/191
+
+Modernizr.addTest('cookies', function () {
+  // Quick test if browser has cookieEnabled host property
+  if (navigator.cookieEnabled) return true;
+  // Create cookie
+  document.cookie = "cookietest=1";
+  var ret = document.cookie.indexOf("cookietest=") != -1;
+  // Delete cookie
+  document.cookie = "cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT";
+  return ret;
+});
+
diff --git a/dev/js/modernizr/feature-detects/cors.js b/dev/js/modernizr/feature-detects/cors.js
new file mode 100644 (file)
index 0000000..286d717
--- /dev/null
@@ -0,0 +1,3 @@
+// cors
+// By Theodoor van Donge
+Modernizr.addTest('cors', !!(window.XMLHttpRequest && 'withCredentials' in new XMLHttpRequest()));
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/css-backgroundposition-shorthand.js b/dev/js/modernizr/feature-detects/css-backgroundposition-shorthand.js
new file mode 100644 (file)
index 0000000..ce016e1
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+    https://developer.mozilla.org/en/CSS/background-position
+    http://www.w3.org/TR/css3-background/#background-position
+
+    Example: http://jsfiddle.net/Blink/bBXvt/
+*/
+
+(function() {
+
+    var elem = document.createElement('a'),
+        eStyle = elem.style,
+        val = "right 10px bottom 10px";
+
+    Modernizr.addTest('bgpositionshorthand', function(){
+        eStyle.cssText = "background-position: " + val + ";";
+        return (eStyle.backgroundPosition === val);
+    });
+
+}());
diff --git a/dev/js/modernizr/feature-detects/css-backgroundposition-xy.js b/dev/js/modernizr/feature-detects/css-backgroundposition-xy.js
new file mode 100644 (file)
index 0000000..d52d600
--- /dev/null
@@ -0,0 +1,15 @@
+/*
+       Allan Lei https://github.com/allanlei
+       
+       Check adapted from https://github.com/brandonaaron/jquery-cssHooks/blob/master/bgpos.js
+       
+       Test: http://jsfiddle.net/allanlei/R8AYS/
+*/
+Modernizr.addTest('bgpositionxy', function() {
+    return Modernizr.testStyles('#modernizr {background-position: 3px 5px;}', function(elem) {
+        var cssStyleDeclaration = window.getComputedStyle ? getComputedStyle(elem, null) : elem.currentStyle;
+        var xSupport = (cssStyleDeclaration.backgroundPositionX == '3px') || (cssStyleDeclaration['background-position-x'] == '3px');
+        var ySupport = (cssStyleDeclaration.backgroundPositionY == '5px') || (cssStyleDeclaration['background-position-y'] == '5px');
+        return xSupport && ySupport;
+    });
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/css-backgroundrepeat.js b/dev/js/modernizr/feature-detects/css-backgroundrepeat.js
new file mode 100644 (file)
index 0000000..365447c
--- /dev/null
@@ -0,0 +1,31 @@
+// developer.mozilla.org/en/CSS/background-repeat
+
+// test page: jsbin.com/uzesun/
+// http://jsfiddle.net/ryanseddon/yMLTQ/6/    
+
+(function(){
+
+
+function getBgRepeatValue(elem){
+    return (window.getComputedStyle ?
+             getComputedStyle(elem, null).getPropertyValue('background') :
+             elem.currentStyle['background']);
+}
+  
+
+Modernizr.testStyles(' #modernizr { background-repeat: round; } ', function(elem, rule){ 
+
+  Modernizr.addTest('bgrepeatround', getBgRepeatValue(elem) == 'round');
+
+});
+
+
+
+Modernizr.testStyles(' #modernizr { background-repeat: space; } ', function(elem, rule){ 
+
+  Modernizr.addTest('bgrepeatspace', getBgRepeatValue(elem) == 'space');
+
+});
+
+
+})();
diff --git a/dev/js/modernizr/feature-detects/css-backgroundsizecover.js b/dev/js/modernizr/feature-detects/css-backgroundsizecover.js
new file mode 100644 (file)
index 0000000..dd7e51b
--- /dev/null
@@ -0,0 +1,10 @@
+
+// developer.mozilla.org/en/CSS/background-size
+
+Modernizr.testStyles( '#modernizr{background-size:cover}', function( elem ) {
+       var style = window.getComputedStyle ?
+               window.getComputedStyle( elem, null )
+               : elem.currentStyle;
+               
+       Modernizr.addTest( 'bgsizecover', style.backgroundSize == 'cover' );
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/css-boxsizing.js b/dev/js/modernizr/feature-detects/css-boxsizing.js
new file mode 100644 (file)
index 0000000..ab90913
--- /dev/null
@@ -0,0 +1,9 @@
+
+// developer.mozilla.org/en/CSS/box-sizing
+// github.com/Modernizr/Modernizr/issues/248
+
+Modernizr.addTest("boxsizing",function(){
+    return Modernizr.testAllProps("boxSizing") && (document.documentMode === undefined || document.documentMode > 7);
+});
+
+
diff --git a/dev/js/modernizr/feature-detects/css-calc.js b/dev/js/modernizr/feature-detects/css-calc.js
new file mode 100644 (file)
index 0000000..bb5b7e9
--- /dev/null
@@ -0,0 +1,12 @@
+// Method of allowing calculated values for length units, i.e. width: calc(100%-3em) http://caniuse.com/#search=calc
+// By @calvein
+
+Modernizr.addTest('csscalc', function() {
+    var prop = 'width:';
+    var value = 'calc(10px);';
+    var el = document.createElement('div');
+
+    el.style.cssText = prop + Modernizr._prefixes.join(value + prop);
+
+    return !!el.style.length;
+});
diff --git a/dev/js/modernizr/feature-detects/css-cubicbezierrange.js b/dev/js/modernizr/feature-detects/css-cubicbezierrange.js
new file mode 100644 (file)
index 0000000..28e72aa
--- /dev/null
@@ -0,0 +1,8 @@
+// cubic-bezier values can't be > 1 for Webkit until bug #45761 (https://bugs.webkit.org/show_bug.cgi?id=45761) is fixed
+// By @calvein
+
+Modernizr.addTest('cubicbezierrange', function() {
+    var el = document.createElement('div');
+    el.style.cssText = Modernizr._prefixes.join('transition-timing-function' + ':cubic-bezier(1,0,0,1.1); ');
+    return !!el.style.length;
+});
diff --git a/dev/js/modernizr/feature-detects/css-displayrunin.js b/dev/js/modernizr/feature-detects/css-displayrunin.js
new file mode 100644 (file)
index 0000000..01eddb7
--- /dev/null
@@ -0,0 +1,18 @@
+
+// by alanhogan
+
+// https://github.com/Modernizr/Modernizr/issues/198
+// http://css-tricks.com/596-run-in/
+
+
+
+Modernizr.testStyles(' #modernizr { display: run-in; } ', function(elem, rule){ 
+
+  var ret = (window.getComputedStyle ?
+         getComputedStyle(elem, null).getPropertyValue('display') :
+         elem.currentStyle['display']);
+
+  Modernizr.addTest('display-runin', ret == 'run-in');
+
+});
+
diff --git a/dev/js/modernizr/feature-detects/css-displaytable.js b/dev/js/modernizr/feature-detects/css-displaytable.js
new file mode 100644 (file)
index 0000000..bc0a67c
--- /dev/null
@@ -0,0 +1,27 @@
+// display: table and table-cell test. (both are tested under one name "table-cell" )
+// By @scottjehl
+
+// all additional table display values are here: http://pastebin.com/Gk9PeVaQ though Scott has seen some IE false positives with that sort of weak detection.
+// more testing neccessary perhaps.
+
+Modernizr.addTest( "display-table",function(){
+  
+  var doc   = window.document,
+      docElem = doc.documentElement,   
+      parent  = doc.createElement( "div" ),
+      child = doc.createElement( "div" ),
+      childb  = doc.createElement( "div" ),
+      ret;
+  
+  parent.style.cssText = "display: table";
+  child.style.cssText = childb.style.cssText = "display: table-cell; padding: 10px";    
+          
+  parent.appendChild( child );
+  parent.appendChild( childb );
+  docElem.insertBefore( parent, docElem.firstChild );
+  
+  ret = child.offsetLeft < childb.offsetLeft;
+  docElem.removeChild(parent);
+  return ret; 
+});
+
diff --git a/dev/js/modernizr/feature-detects/css-filters.js b/dev/js/modernizr/feature-detects/css-filters.js
new file mode 100644 (file)
index 0000000..aec4fad
--- /dev/null
@@ -0,0 +1,7 @@
+// https://github.com/Modernizr/Modernizr/issues/615
+// documentMode is needed for false positives in oldIE, please see issue above
+Modernizr.addTest('cssfilters', function() {
+    var el = document.createElement('div');
+    el.style.cssText = Modernizr._prefixes.join('filter' + ':blur(2px); ');
+    return !!el.style.length && ((document.documentMode === undefined || document.documentMode > 9));
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/css-hyphens.js b/dev/js/modernizr/feature-detects/css-hyphens.js
new file mode 100644 (file)
index 0000000..8215dd5
--- /dev/null
@@ -0,0 +1,205 @@
+/* see http://davidnewton.ca/the-current-state-of-hyphenation-on-the-web
+   http://davidnewton.ca/demos/hyphenation/test.html
+
+
+There are three tests:
+   1. csshyphens      - tests hyphens:auto actually adds hyphens to text
+   2. softhyphens     - tests that &shy; does its job
+   3. softhyphensfind - tests that in-browser Find functionality still works correctly with &shy;
+
+These tests currently require document.body to be present
+
+Hyphenation is language specific, sometimes.
+  See for more details: http://code.google.com/p/hyphenator/source/diff?spec=svn975&r=975&format=side&path=/trunk/Hyphenator.js#sc_svn975_313
+
+If loading Hyphenator.js via Modernizr.load, be cautious of issue 158: http://code.google.com/p/hyphenator/issues/detail?id=158
+
+More details at https://github.com/Modernizr/Modernizr/issues/312
+
+*/
+
+(function() {
+
+       if (!document.body){
+               window.console && console.warn('document.body doesn\'t exist. Modernizr hyphens test needs it.');
+               return;
+       }
+
+       // functional test of adding hyphens:auto
+       function test_hyphens_css() {
+               try {
+                       /* create a div container and a span within that
+                        * these have to be appended to document.body, otherwise some browsers can give false negative */
+                       var div = document.createElement('div'),
+                               span = document.createElement('span'),
+                               divStyle = div.style,
+                               spanHeight = 0,
+                               spanWidth = 0,
+                               result = false,
+                               firstChild = document.body.firstElementChild || document.body.firstChild;
+
+                       div.appendChild(span);
+                       span.innerHTML = 'Bacon ipsum dolor sit amet jerky velit in culpa hamburger et. Laborum dolor proident, enim dolore duis commodo et strip steak. Salami anim et, veniam consectetur dolore qui tenderloin jowl velit sirloin. Et ad culpa, fatback cillum jowl ball tip ham hock nulla short ribs pariatur aute. Pig pancetta ham bresaola, ut boudin nostrud commodo flank esse cow tongue culpa. Pork belly bresaola enim pig, ea consectetur nisi. Fugiat officia turkey, ea cow jowl pariatur ullamco proident do laborum velit sausage. Magna biltong sint tri-tip commodo sed bacon, esse proident aliquip. Ullamco ham sint fugiat, velit in enim sed mollit nulla cow ut adipisicing nostrud consectetur. Proident dolore beef ribs, laborum nostrud meatball ea laboris rump cupidatat labore culpa. Shankle minim beef, velit sint cupidatat fugiat tenderloin pig et ball tip. Ut cow fatback salami, bacon ball tip et in shank strip steak bresaola. In ut pork belly sed mollit tri-tip magna culpa veniam, short ribs qui in andouille ham consequat. Dolore bacon t-bone, velit short ribs enim strip steak nulla. Voluptate labore ut, biltong swine irure jerky. Cupidatat excepteur aliquip salami dolore. Ball tip strip steak in pork dolor. Ad in esse biltong. Dolore tenderloin exercitation ad pork loin t-bone, dolore in chicken ball tip qui pig. Ut culpa tongue, sint ribeye dolore ex shank voluptate hamburger. Jowl et tempor, boudin pork chop labore ham hock drumstick consectetur tri-tip elit swine meatball chicken ground round. Proident shankle mollit dolore. Shoulder ut duis t-bone quis reprehenderit. Meatloaf dolore minim strip steak, laboris ea aute bacon beef ribs elit shank in veniam drumstick qui. Ex laboris meatball cow tongue pork belly. Ea ball tip reprehenderit pig, sed fatback boudin dolore flank aliquip laboris eu quis. Beef ribs duis beef, cow corned beef adipisicing commodo nisi deserunt exercitation. Cillum dolor t-bone spare ribs, ham hock est sirloin. Brisket irure meatloaf in, boudin pork belly sirloin ball tip. Sirloin sint irure nisi nostrud aliqua. Nostrud nulla aute, enim officia culpa ham hock. Aliqua reprehenderit dolore sunt nostrud sausage, ea boudin pork loin ut t-bone ham tempor. Tri-tip et pancetta drumstick laborum. Ham hock magna do nostrud in proident. Ex ground round fatback, venison non ribeye in.';
+
+                       document.body.insertBefore(div, firstChild);
+
+                       /* get size of unhyphenated text */
+                       divStyle.cssText = 'position:absolute;top:0;left:0;width:5em;text-align:justify;text-justification:newspaper;';
+                       spanHeight = span.offsetHeight;
+                       spanWidth = span.offsetWidth;
+
+                       /* compare size with hyphenated text */
+                       divStyle.cssText = 'position:absolute;top:0;left:0;width:5em;text-align:justify;'+
+                                                                                                'text-justification:newspaper;'+
+                                                                                                Modernizr._prefixes.join('hyphens:auto; ');
+
+                       result = (span.offsetHeight != spanHeight || span.offsetWidth != spanWidth);
+
+                       /* results and cleanup */
+                       document.body.removeChild(div);
+                       div.removeChild(span);
+
+                       return result;
+               } catch(e) {
+                       return false;
+               }
+       }
+
+       // for the softhyphens test
+       function test_hyphens(delimiter, testWidth) {
+               try {
+                       /* create a div container and a span within that
+                        * these have to be appended to document.body, otherwise some browsers can give false negative */
+                       var div = document.createElement('div'),
+                               span = document.createElement('span'),
+                               divStyle = div.style,
+                               spanSize = 0,
+                               result = false,
+                               result1 = false,
+                               result2 = false,
+                               firstChild = document.body.firstElementChild || document.body.firstChild;
+
+                       divStyle.cssText = 'position:absolute;top:0;left:0;overflow:visible;width:1.25em;';
+                       div.appendChild(span);
+                       document.body.insertBefore(div, firstChild);
+
+
+                       /* get height of unwrapped text */
+                       span.innerHTML = 'mm';
+                       spanSize = span.offsetHeight;
+
+                       /* compare height w/ delimiter, to see if it wraps to new line */
+                       span.innerHTML = 'm' + delimiter + 'm';
+                       result1 = (span.offsetHeight > spanSize);
+
+                       /* if we're testing the width too (i.e. for soft-hyphen, not zws),
+                        * this is because tested Blackberry devices will wrap the text but not display the hyphen */
+                       if (testWidth) {
+                               /* get width of wrapped, non-hyphenated text */
+                               span.innerHTML = 'm<br />m';
+                               spanSize = span.offsetWidth;
+
+                               /* compare width w/ wrapped w/ delimiter to see if hyphen is present */
+                               span.innerHTML = 'm' + delimiter + 'm';
+                               result2 = (span.offsetWidth > spanSize);
+                       } else {
+                               result2 = true;
+                       }
+
+                       /* results and cleanup */
+                       if (result1 === true && result2 === true) { result = true; }
+                       document.body.removeChild(div);
+                       div.removeChild(span);
+
+                       return result;
+               } catch(e) {
+                       return false;
+               }
+       }
+
+       // testing if in-browser Find functionality will work on hyphenated text
+       function test_hyphens_find(delimiter) {
+               try {
+                       /* create a dummy input for resetting selection location, and a div container
+                        * these have to be appended to document.body, otherwise some browsers can give false negative
+                        * div container gets the doubled testword, separated by the delimiter
+                        * Note: giving a width to div gives false positive in iOS Safari */
+                       var dummy = document.createElement('input'),
+                               div = document.createElement('div'),
+                               testword = 'lebowski',
+                               result = false,
+                               textrange,
+                               firstChild = document.body.firstElementChild || document.body.firstChild;
+
+                       div.innerHTML = testword + delimiter + testword;
+
+                       document.body.insertBefore(div, firstChild);
+                       document.body.insertBefore(dummy, div);
+
+
+                       /* reset the selection to the dummy input element, i.e. BEFORE the div container
+                        *   stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area */
+                       if (dummy.setSelectionRange) {
+                               dummy.focus();
+                               dummy.setSelectionRange(0,0);
+                       } else if (dummy.createTextRange) {
+                               textrange = dummy.createTextRange();
+                               textrange.collapse(true);
+                               textrange.moveEnd('character', 0);
+                               textrange.moveStart('character', 0);
+                               textrange.select();
+                       }
+
+                       /* try to find the doubled testword, without the delimiter */
+                       if (window.find) {
+                               result = window.find(testword + testword);
+                       } else {
+                               try {
+                                       textrange = window.self.document.body.createTextRange();
+                                       result = textrange.findText(testword + testword);
+                               } catch(e) {
+                                       result = false;
+                               }
+                       }
+
+                       document.body.removeChild(div);
+                       document.body.removeChild(dummy);
+
+                       return result;
+               } catch(e) {
+                       return false;
+               }
+       }
+
+       Modernizr.addTest("csshyphens", function() {
+
+               if (!Modernizr.testAllProps('hyphens')) return false;
+
+               /* Chrome lies about its hyphens support so we need a more robust test
+                               crbug.com/107111
+               */
+               try {
+                       return test_hyphens_css();
+               } catch(e) {
+                       return false;
+               }
+       });
+
+       Modernizr.addTest("softhyphens", function() {
+               try {
+                       // use numeric entity instead of &shy; in case it's XHTML
+                       return test_hyphens('&#173;', true) && test_hyphens('&#8203;', false);
+               } catch(e) {
+                       return false;
+               }
+       });
+
+       Modernizr.addTest("softhyphensfind", function() {
+               try {
+                       return test_hyphens_find('&#173;') && test_hyphens_find('&#8203;');
+               } catch(e) {
+                       return false;
+               }
+       });
+
+})();
diff --git a/dev/js/modernizr/feature-detects/css-lastchild.js b/dev/js/modernizr/feature-detects/css-lastchild.js
new file mode 100644 (file)
index 0000000..3e51516
--- /dev/null
@@ -0,0 +1,11 @@
+// last-child pseudo selector
+// https://github.com/Modernizr/Modernizr/pull/304
+
+
+Modernizr.addTest('lastchild', function(){
+
+  return Modernizr.testStyles("#modernizr div {width:100px} #modernizr :last-child{width:200px;display:block}", function (elem) {
+    return elem.lastChild.offsetWidth > elem.firstChild.offsetWidth;
+  }, 2);
+
+});
diff --git a/dev/js/modernizr/feature-detects/css-mask.js b/dev/js/modernizr/feature-detects/css-mask.js
new file mode 100644 (file)
index 0000000..2f6f28a
--- /dev/null
@@ -0,0 +1,12 @@
+// this tests passes for webkit's proprietary `-webkit-mask` feature
+//   www.webkit.org/blog/181/css-masks/
+//   developer.apple.com/library/safari/#documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Masks/Masks.html
+
+// it does not pass mozilla's implementation of `mask` for SVG
+
+//   developer.mozilla.org/en/CSS/mask
+//   developer.mozilla.org/En/Applying_SVG_effects_to_HTML_content
+
+// Can combine with clippaths for awesomeness: http://generic.cx/for/webkit/test.html
+
+Modernizr.addTest('cssmask', Modernizr.testAllProps('maskRepeat'));
diff --git a/dev/js/modernizr/feature-detects/css-mediaqueries.js b/dev/js/modernizr/feature-detects/css-mediaqueries.js
new file mode 100644 (file)
index 0000000..e0e2c50
--- /dev/null
@@ -0,0 +1,3 @@
+
+
+Modernizr.addTest('mediaqueries', Modernizr.mq('only all'));
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/css-objectfit.js b/dev/js/modernizr/feature-detects/css-objectfit.js
new file mode 100644 (file)
index 0000000..3daecde
--- /dev/null
@@ -0,0 +1,6 @@
+
+// dev.opera.com/articles/view/css3-object-fit-object-position/
+
+Modernizr.addTest('object-fit',
+       !!Modernizr.prefixed('objectFit')
+);
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/css-overflow-scrolling.js b/dev/js/modernizr/feature-detects/css-overflow-scrolling.js
new file mode 100644 (file)
index 0000000..364e71d
--- /dev/null
@@ -0,0 +1,9 @@
+
+// johanbrook.com/browsers/native-momentum-scrolling-ios-5/
+// introduced in iOS5b2. Possible API may change...
+
+Modernizr.addTest("overflowscrolling",function(){
+    return Modernizr.testAllProps("overflowScrolling");
+});
+
+
diff --git a/dev/js/modernizr/feature-detects/css-pointerevents.js b/dev/js/modernizr/feature-detects/css-pointerevents.js
new file mode 100644 (file)
index 0000000..f18a5c1
--- /dev/null
@@ -0,0 +1,25 @@
+
+// developer.mozilla.org/en/CSS/pointer-events
+
+// Test and project pages:
+// ausi.github.com/Feature-detection-technique-for-pointer-events/
+// github.com/ausi/Feature-detection-technique-for-pointer-events/wiki
+// github.com/Modernizr/Modernizr/issues/80
+
+
+Modernizr.addTest('pointerevents', function(){
+    var element = document.createElement('x'),
+        documentElement = document.documentElement,
+        getComputedStyle = window.getComputedStyle,
+        supports;
+    if(!('pointerEvents' in element.style)){
+        return false;
+    }
+    element.style.pointerEvents = 'auto';
+    element.style.pointerEvents = 'x';
+    documentElement.appendChild(element);
+    supports = getComputedStyle &&
+        getComputedStyle(element, '').pointerEvents === 'auto';
+    documentElement.removeChild(element);
+    return !!supports;
+});
diff --git a/dev/js/modernizr/feature-detects/css-positionsticky.js b/dev/js/modernizr/feature-detects/css-positionsticky.js
new file mode 100644 (file)
index 0000000..43a19ec
--- /dev/null
@@ -0,0 +1,13 @@
+// Sticky positioning - constrains an element to be positioned inside the
+// intersection of its container box, and the viewport.
+Modernizr.addTest('csspositionsticky', function () {
+
+    var prop = 'position:';
+    var value = 'sticky';
+    var el = document.createElement('modernizr');
+    var mStyle = el.style;
+
+    mStyle.cssText = prop + Modernizr._prefixes.join(value + ';' + prop).slice(0, -prop.length);
+
+    return mStyle.position.indexOf(value) !== -1;
+});
diff --git a/dev/js/modernizr/feature-detects/css-regions.js b/dev/js/modernizr/feature-detects/css-regions.js
new file mode 100644 (file)
index 0000000..c8995c3
--- /dev/null
@@ -0,0 +1,55 @@
+// CSS Regions
+// http://www.w3.org/TR/css3-regions/
+// By: Mihai Balan
+
+// We start with a CSS parser test then we check page geometry to see if it's affected by regions
+// Later we might be able to retire the second part, as WebKit builds with the false positives die out
+
+Modernizr.addTest('regions', function() {
+
+       /* Get the 'flowFrom' property name available in the browser. Either default or vendor prefixed.
+       If the property name can't be found we'll get Boolean 'false' and fail quickly */
+       var flowFromProperty = Modernizr.prefixed("flowFrom"),
+               flowIntoProperty = Modernizr.prefixed("flowInto");
+
+       if (!flowFromProperty || !flowIntoProperty){
+               return false;
+       }
+
+       /* If CSS parsing is there, try to determine if regions actually work. */
+       var container           = document.createElement('div'),
+               content                 = document.createElement('div'),
+               region                  = document.createElement('div'),
+
+       /* we create a random, unlikely to be generated flow number to make sure we don't
+       clash with anything more vanilla, like 'flow', or 'article', or 'f1' */
+       flowName = 'modernizr_flow_for_regions_check';
+
+       /* First create a div with two adjacent divs inside it. The first will be the
+       content, the second will be the region. To be able to distinguish between the two,
+       we'll give the region a particular padding */
+       content.innerText               = 'M';
+       container.style.cssText = 'top: 150px; left: 150px; padding: 0px;';
+       region.style.cssText    = 'width: 50px; height: 50px; padding: 42px;';
+
+       region.style[flowFromProperty] = flowName;
+       container.appendChild(content);
+       container.appendChild(region);
+       document.documentElement.appendChild(container);
+
+       /* Now compute the bounding client rect, before and after attempting to flow the
+       content div in the region div. If regions are enabled, the after bounding rect
+       should reflect the padding of the region div.*/
+       var flowedRect, delta,
+               plainRect = content.getBoundingClientRect();
+
+
+       content.style[flowIntoProperty] = flowName;
+       flowedRect = content.getBoundingClientRect();
+
+       delta = flowedRect.left - plainRect.left;
+       document.documentElement.removeChild(container);
+       content = region = container = undefined;
+
+       return (delta == 42);
+});
diff --git a/dev/js/modernizr/feature-detects/css-remunit.js b/dev/js/modernizr/feature-detects/css-remunit.js
new file mode 100644 (file)
index 0000000..38e15b8
--- /dev/null
@@ -0,0 +1,19 @@
+
+// test by github.com/nsfmc
+
+// "The 'rem' unit ('root em') is relative to the computed
+// value of the 'font-size' value of the root element."
+// http://www.w3.org/TR/css3-values/#relative0
+// you can test by checking if the prop was ditched
+
+// http://snook.ca/archives/html_and_css/font-size-with-rem
+
+Modernizr.addTest('cssremunit', function(){
+
+  var div = document.createElement('div');
+  try {
+    div.style.fontSize = '3rem';
+  } catch(er){}
+  return (/rem/).test(div.style.fontSize);
+
+});
diff --git a/dev/js/modernizr/feature-detects/css-resize.js b/dev/js/modernizr/feature-detects/css-resize.js
new file mode 100644 (file)
index 0000000..fff99ba
--- /dev/null
@@ -0,0 +1,8 @@
+
+// Test for CSS 3 UI "resize" property
+// http://www.w3.org/TR/css3-ui/#resize
+// https://developer.mozilla.org/en/CSS/resize
+
+Modernizr.addTest('cssresize', Modernizr.testAllProps('resize'));
+
+
diff --git a/dev/js/modernizr/feature-detects/css-scrollbars.js b/dev/js/modernizr/feature-detects/css-scrollbars.js
new file mode 100644 (file)
index 0000000..f26de9f
--- /dev/null
@@ -0,0 +1,19 @@
+// Stylable scrollbars detection
+Modernizr.addTest('cssscrollbar', function() {
+
+       var bool,
+
+               styles = "#modernizr{overflow: scroll; width: 40px }#" +
+                       Modernizr._prefixes
+                               .join("scrollbar{width:0px}"+' #modernizr::')
+                               .split('#')
+                               .slice(1)
+                               .join('#') + "scrollbar{width:0px}";
+
+       Modernizr.testStyles(styles, function(node) {
+               bool = 'scrollWidth' in node && node.scrollWidth == 40;
+       });
+
+       return bool;
+
+});
diff --git a/dev/js/modernizr/feature-detects/css-shapes.js b/dev/js/modernizr/feature-detects/css-shapes.js
new file mode 100644 (file)
index 0000000..2801165
--- /dev/null
@@ -0,0 +1,4 @@
+
+// http://html.adobe.com/webplatform/layout/shapes
+
+Modernizr.addTest('shapes', Modernizr.testAllProps('shapeOutside', 'content-box', true));
diff --git a/dev/js/modernizr/feature-detects/css-subpixelfont.js b/dev/js/modernizr/feature-detects/css-subpixelfont.js
new file mode 100644 (file)
index 0000000..57a11b0
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * Test for SubPixel Font Rendering
+ * (to infer if GDI or DirectWrite is used on Windows)
+ * Authors: @derSchepp, @gerritvanaaken, @rodneyrehm, @yatil, @ryanseddon
+ * Web: https://github.com/gerritvanaaken/subpixeldetect
+ */
+Modernizr.addTest('subpixelfont', function() {
+    var bool,
+        styles = "#modernizr{position: absolute; top: -10em; visibility:hidden; font: normal 10px arial;}#subpixel{float: left; font-size: 33.3333%;}";
+    
+    // see https://github.com/Modernizr/Modernizr/blob/master/modernizr.js#L97
+    Modernizr.testStyles(styles, function(elem) {
+        var subpixel = elem.firstChild;
+
+        subpixel.innerHTML = 'This is a text written in Arial';
+
+        bool = window.getComputedStyle ?
+            window.getComputedStyle(subpixel, null).getPropertyValue("width") !== '44px'
+            : false;
+    }, 1, ['subpixel']);
+
+    return bool;
+});
diff --git a/dev/js/modernizr/feature-detects/css-supports.js b/dev/js/modernizr/feature-detects/css-supports.js
new file mode 100644 (file)
index 0000000..24d26d4
--- /dev/null
@@ -0,0 +1,6 @@
+// http://dev.w3.org/csswg/css3-conditional/#at-supports
+// github.com/Modernizr/Modernizr/issues/648
+// Relies on the fact that a browser vendor should expose the CSSSupportsRule interface
+// http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface
+
+Modernizr.addTest("supports","CSSSupportsRule" in window);
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/css-userselect.js b/dev/js/modernizr/feature-detects/css-userselect.js
new file mode 100644 (file)
index 0000000..062ee90
--- /dev/null
@@ -0,0 +1,10 @@
+// -moz-user-select:none test.
+
+// by ryan seddon
+//https://github.com/Modernizr/Modernizr/issues/250
+
+
+Modernizr.addTest("userselect",function(){
+    return Modernizr.testAllProps("user-select");
+});
+
diff --git a/dev/js/modernizr/feature-detects/css-vhunit.js b/dev/js/modernizr/feature-detects/css-vhunit.js
new file mode 100644 (file)
index 0000000..9de2b64
--- /dev/null
@@ -0,0 +1,14 @@
+// https://github.com/Modernizr/Modernizr/issues/572
+// Similar to http://jsfiddle.net/FWeinb/etnYC/
+Modernizr.addTest('cssvhunit', function() {
+    var bool;
+    Modernizr.testStyles("#modernizr { height: 50vh; }", function(elem, rule) {   
+        var height = parseInt(window.innerHeight/2,10),
+            compStyle = parseInt((window.getComputedStyle ?
+                      getComputedStyle(elem, null) :
+                      elem.currentStyle)["height"],10);
+        
+        bool= (compStyle == height);
+    });
+    return bool;
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/css-vmaxunit.js b/dev/js/modernizr/feature-detects/css-vmaxunit.js
new file mode 100644 (file)
index 0000000..142346b
--- /dev/null
@@ -0,0 +1,14 @@
+// https://github.com/Modernizr/Modernizr/issues/572
+// http://jsfiddle.net/glsee/JDsWQ/4/
+Modernizr.addTest('cssvmaxunit', function(){
+    var bool;
+    Modernizr.testStyles("#modernizr { width: 50vmax; }", function(elem, rule) {
+        var one_vw = window.innerWidth/100,
+            one_vh = window.innerHeight/100,
+            compWidth = parseInt((window.getComputedStyle ?
+                                  getComputedStyle(elem, null) :
+                                  elem.currentStyle)['width'],10);
+        bool = ( parseInt(Math.max(one_vw, one_vh)*50,10) == compWidth );
+    });
+    return bool;
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/css-vminunit.js b/dev/js/modernizr/feature-detects/css-vminunit.js
new file mode 100644 (file)
index 0000000..e6b9881
--- /dev/null
@@ -0,0 +1,14 @@
+// https://github.com/Modernizr/Modernizr/issues/572
+// http://jsfiddle.net/glsee/JRmdq/8/
+Modernizr.addTest('cssvminunit', function(){
+    var bool;
+    Modernizr.testStyles("#modernizr { width: 50vmin; }", function(elem, rule) {
+        var one_vw = window.innerWidth/100,
+            one_vh = window.innerHeight/100,
+            compWidth = parseInt((window.getComputedStyle ?
+                                  getComputedStyle(elem, null) :
+                                  elem.currentStyle)['width'],10);
+        bool = ( parseInt(Math.min(one_vw, one_vh)*50,10) == compWidth );
+    });
+    return bool;
+});
diff --git a/dev/js/modernizr/feature-detects/css-vwunit.js b/dev/js/modernizr/feature-detects/css-vwunit.js
new file mode 100644 (file)
index 0000000..28f8ca2
--- /dev/null
@@ -0,0 +1,14 @@
+// https://github.com/Modernizr/Modernizr/issues/572
+// http://jsfiddle.net/FWeinb/etnYC/
+Modernizr.addTest('cssvwunit', function(){
+    var bool;
+    Modernizr.testStyles("#modernizr { width: 50vw; }", function(elem, rule) {
+        var width = parseInt(window.innerWidth/2,10),
+            compStyle = parseInt((window.getComputedStyle ?
+                      getComputedStyle(elem, null) :
+                      elem.currentStyle)["width"],10);
+        
+        bool= (compStyle == width);
+    });
+    return bool;
+});
diff --git a/dev/js/modernizr/feature-detects/custom-protocol-handler.js b/dev/js/modernizr/feature-detects/custom-protocol-handler.js
new file mode 100644 (file)
index 0000000..2534189
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+       Custom protocol handler support
+       http://developers.whatwg.org/timers.html#custom-handlers
+       
+       Added by @benschwarz
+*/
+
+Modernizr.addTest('customprotocolhandler', function () {
+    return !!navigator.registerProtocolHandler;
+});
diff --git a/dev/js/modernizr/feature-detects/dart.js b/dev/js/modernizr/feature-detects/dart.js
new file mode 100644 (file)
index 0000000..9a8bc82
--- /dev/null
@@ -0,0 +1,6 @@
+// Dart
+// By Theodoor van Donge
+
+// https://chromiumcodereview.appspot.com/9232049/
+
+Modernizr.addTest('dart', !!Modernizr.prefixed('startDart', navigator));
diff --git a/dev/js/modernizr/feature-detects/dataview-api.js b/dev/js/modernizr/feature-detects/dataview-api.js
new file mode 100644 (file)
index 0000000..249bfff
--- /dev/null
@@ -0,0 +1,4 @@
+// DataView 
+// https://developer.mozilla.org/en/JavaScript_typed_arrays/DataView
+// By Addy Osmani
+Modernizr.addTest('dataview', (typeof DataView !== 'undefined' && 'getFloat64' in DataView.prototype));
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/dom-classlist.js b/dev/js/modernizr/feature-detects/dom-classlist.js
new file mode 100644 (file)
index 0000000..c227057
--- /dev/null
@@ -0,0 +1,4 @@
+// classList
+// https://developer.mozilla.org/en/DOM/element.classList
+// By Addy Osmani
+Modernizr.addTest('classlist', 'classList' in document.documentElement);
diff --git a/dev/js/modernizr/feature-detects/dom-createElement-attrs.js b/dev/js/modernizr/feature-detects/dom-createElement-attrs.js
new file mode 100644 (file)
index 0000000..d9a3b11
--- /dev/null
@@ -0,0 +1,11 @@
+// by james a rosen.
+// https://github.com/Modernizr/Modernizr/issues/258
+
+Modernizr.addTest('createelement-attrs', function() {
+  try {
+    return document.createElement("<input name='test' />").getAttribute('name') == 'test';
+  } catch(e) {
+    return false;
+  }
+});
+
diff --git a/dev/js/modernizr/feature-detects/dom-dataset.js b/dev/js/modernizr/feature-detects/dom-dataset.js
new file mode 100644 (file)
index 0000000..810ff50
--- /dev/null
@@ -0,0 +1,9 @@
+
+// dataset API for data-* attributes
+// test by @phiggins42
+
+Modernizr.addTest('dataset', function(){
+  var n = document.createElement("div");
+  n.setAttribute("data-a-b", "c");
+  return !!(n.dataset && n.dataset.aB === "c");
+});
diff --git a/dev/js/modernizr/feature-detects/dom-microdata.js b/dev/js/modernizr/feature-detects/dom-microdata.js
new file mode 100644 (file)
index 0000000..ab0a5d6
--- /dev/null
@@ -0,0 +1,4 @@
+// Microdata support
+// http://www.w3.org/TR/html5/microdata.html
+// By Addy Osmani
+Modernizr.addTest('microdata', !!(document['getItems']));
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/elem-datalist.js b/dev/js/modernizr/feature-detects/elem-datalist.js
new file mode 100644 (file)
index 0000000..4bcdc1f
--- /dev/null
@@ -0,0 +1,12 @@
+
+
+// lol. we already have a test for datalist built in! silly you.
+
+
+// Helpful links while you're here, though..
+
+// http://css-tricks.com/15346-relevant-dropdowns-polyfill-for-datalist/
+// http://miketaylr.com/test/datalist.html
+// http://miketaylr.com/code/datalist.html
+
+Modernizr.addTest('datalistelem', Modernizr.input.list );
diff --git a/dev/js/modernizr/feature-detects/elem-details.js b/dev/js/modernizr/feature-detects/elem-details.js
new file mode 100644 (file)
index 0000000..90501f1
--- /dev/null
@@ -0,0 +1,25 @@
+// By @mathias, based on http://mths.be/axh
+Modernizr.addTest('details', function() {
+    var doc = document,
+        el = doc.createElement('details'),
+        fake,
+        root,
+        diff;
+    if (!('open' in el)) { // return early if possible; thanks @aFarkas!
+        return false;
+    }
+    root = doc.body || (function() {
+        var de = doc.documentElement;
+        fake = true;
+        return de.insertBefore(doc.createElement('body'), de.firstElementChild || de.firstChild);
+    }());
+    el.innerHTML = '<summary>a</summary>b';
+    el.style.display = 'block';
+    root.appendChild(el);
+    diff = el.offsetHeight;
+    el.open = true;
+    diff = diff != el.offsetHeight;
+    root.removeChild(el);
+    fake && root.parentNode.removeChild(root);
+    return diff;
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/elem-output.js b/dev/js/modernizr/feature-detects/elem-output.js
new file mode 100644 (file)
index 0000000..54276b2
--- /dev/null
@@ -0,0 +1,4 @@
+// <output>
+// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-output-element
+// by Addy Osmani
+Modernizr.addTest('outputelem', 'value' in document.createElement('output'));
diff --git a/dev/js/modernizr/feature-detects/elem-progress-meter.js b/dev/js/modernizr/feature-detects/elem-progress-meter.js
new file mode 100644 (file)
index 0000000..cfa4bdf
--- /dev/null
@@ -0,0 +1,11 @@
+//By Stefan Wallin
+
+//tests for progressbar-support. All browsers that don't support progressbar returns undefined =)
+Modernizr.addTest("progressbar",function(){
+    return document.createElement('progress').max !== undefined;
+});
+
+//tests for meter-support. All browsers that don't support meters returns undefined =)
+Modernizr.addTest("meter",function(){
+    return document.createElement('meter').max !== undefined;
+});
diff --git a/dev/js/modernizr/feature-detects/elem-ruby.js b/dev/js/modernizr/feature-detects/elem-ruby.js
new file mode 100644 (file)
index 0000000..dbb978f
--- /dev/null
@@ -0,0 +1,53 @@
+// Browser support test for the HTML5 <ruby>, <rt> and <rp> elements
+// http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-ruby-element
+//
+// by @alrra
+
+Modernizr.addTest('ruby', function () {
+
+    var ruby = document.createElement('ruby'),
+        rt = document.createElement('rt'),
+        rp = document.createElement('rp'),
+        docElement = document.documentElement,
+        displayStyleProperty = 'display',
+        fontSizeStyleProperty = 'fontSize'; // 'fontSize' - because it`s only used for IE6 and IE7
+
+    ruby.appendChild(rp);
+    ruby.appendChild(rt);
+    docElement.appendChild(ruby);
+
+    // browsers that support <ruby> hide the <rp> via "display:none"
+    if ( getStyle(rp, displayStyleProperty) == 'none' ||                                                       // for non-IE browsers
+    // but in IE browsers <rp> has "display:inline" so, the test needs other conditions:
+        getStyle(ruby, displayStyleProperty) == 'ruby' && getStyle(rt, displayStyleProperty) == 'ruby-text' || // for IE8 & IE9
+        getStyle(rp, fontSizeStyleProperty) == '6pt' && getStyle(rt, fontSizeStyleProperty) == '6pt' ) {       // for IE6 & IE7
+
+        cleanUp();
+        return true;
+
+    } else {
+        cleanUp();
+        return false;
+    }
+
+    function getStyle( element, styleProperty ) {
+        var result;
+
+        if ( window.getComputedStyle ) {     // for non-IE browsers
+            result = document.defaultView.getComputedStyle(element,null).getPropertyValue(styleProperty);
+        } else if ( element.currentStyle ) { // for IE
+            result = element.currentStyle[styleProperty];
+        }
+
+        return result;
+    }
+
+    function cleanUp() {
+        docElement.removeChild(ruby);
+        // the removed child node still exists in memory, so ...
+        ruby = null;
+        rt = null;
+        rp = null;
+    }
+
+});
diff --git a/dev/js/modernizr/feature-detects/elem-time.js b/dev/js/modernizr/feature-detects/elem-time.js
new file mode 100644 (file)
index 0000000..fc88606
--- /dev/null
@@ -0,0 +1,4 @@
+// <time> element
+// http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#the-time-element-0
+// by Addy Osmani
+Modernizr.addTest('time', 'valueAsDate' in document.createElement('time'));
diff --git a/dev/js/modernizr/feature-detects/elem-track.js b/dev/js/modernizr/feature-detects/elem-track.js
new file mode 100644 (file)
index 0000000..7d8e495
--- /dev/null
@@ -0,0 +1,11 @@
+// Track element + Timed Text Track API
+// http://www.w3.org/TR/html5/video.html#the-track-element
+// http://www.w3.org/TR/html5/media-elements.html#text-track-api
+//
+// While IE10 has implemented the track element, IE10 does not expose the underlying APIs to create timed text tracks by JS (really sad)
+// By Addy Osmani
+Modernizr.addTest({
+       texttrackapi: (typeof (document.createElement('video').addTextTrack) === 'function'),
+       // a more strict test for track including UI support: document.createElement('track').kind === 'subtitles'
+       track: ('kind' in document.createElement('track'))
+});
diff --git a/dev/js/modernizr/feature-detects/emoji.js b/dev/js/modernizr/feature-detects/emoji.js
new file mode 100644 (file)
index 0000000..271db65
--- /dev/null
@@ -0,0 +1,11 @@
+// Requires a Modernizr build with `canvastext` included
+// http://www.modernizr.com/download/#-canvas-canvastext
+Modernizr.addTest('emoji', function() {
+  if (!Modernizr.canvastext) return false;
+  var node = document.createElement('canvas'),
+      ctx = node.getContext('2d');
+  ctx.textBaseline = 'top';
+  ctx.font = '32px Arial';
+  ctx.fillText('\ud83d\ude03', 0, 0); // "smiling face with open mouth" emoji
+  return ctx.getImageData(16, 16, 1, 1).data[0] !== 0;
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/es5-strictmode.js b/dev/js/modernizr/feature-detects/es5-strictmode.js
new file mode 100644 (file)
index 0000000..bffbe95
--- /dev/null
@@ -0,0 +1,7 @@
+// strict mode
+
+// test by @kangax
+
+Modernizr.addTest('strictmode', function(){
+       return (function(){ "use strict"; return !this; })(); 
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/event-deviceorientation-motion.js b/dev/js/modernizr/feature-detects/event-deviceorientation-motion.js
new file mode 100644 (file)
index 0000000..644e671
--- /dev/null
@@ -0,0 +1,11 @@
+//By Shi Chuan
+//Part of Device Access aspect of HTML5, same category as geolocation
+//W3C Editor's Draft at http://dev.w3.org/geo/api/spec-source-orientation.html
+//Implementation by iOS Safari at http://goo.gl/fhce3 and http://goo.gl/rLKz8
+
+
+//test for Device Motion Event support, returns boolean value true/false
+Modernizr.addTest('devicemotion', ('DeviceMotionEvent' in window) );
+
+//test for Device Orientation Event support, returns boolean value true/false
+Modernizr.addTest('deviceorientation', ('DeviceOrientationEvent' in window) );
diff --git a/dev/js/modernizr/feature-detects/exif-orientation.js b/dev/js/modernizr/feature-detects/exif-orientation.js
new file mode 100644 (file)
index 0000000..994c13d
--- /dev/null
@@ -0,0 +1,32 @@
+// EXIF Orientation test
+
+// iOS looks at the EXIF Orientation flag in jpgs and rotates the image
+// accordingly. Looks like most desktop browsers just ignore this data.
+
+// description: www.impulseadventure.com/photo/exif-orientation.html
+
+// Bug trackers:
+//    bugzil.la/298619 (unimplemented)
+//    crbug.com/56845 (looks incomplete)
+//    webk.it/19688 (available upstream but its up all ports to turn on individually)
+//
+
+// detect by Paul Sayre
+
+
+(function(){
+
+  var img = new Image();
+
+  img.onerror = function() {
+      Modernizr.addTest('exif-orientation', function () { return false; });
+  };
+
+  img.onload = function() {
+      Modernizr.addTest('exif-orientation', function () { return img.width !== 2; });
+  };
+
+  // There may be a way to shrink this more, it's a 1x2 white jpg with the orientation flag set to 6
+  img.src = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAASUkqAAgAAAABABIBAwABAAAABgASAAAAAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAABAAIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigD/2Q==";
+
+})();
diff --git a/dev/js/modernizr/feature-detects/file-api.js b/dev/js/modernizr/feature-detects/file-api.js
new file mode 100644 (file)
index 0000000..7c31e8c
--- /dev/null
@@ -0,0 +1,12 @@
+/**
+ * file tests for the File API specification
+ *   Tests for objects specific to the File API W3C specification without
+ *   being redundant (don't bother testing for Blob since it is assumed
+ *   to be the File object's prototype.
+ *
+ *   Will fail in Safari 5 due to its lack of support for the standards
+ *   defined FileReader object
+ */
+Modernizr.addTest('filereader', function () {
+    return !!(window.File && window.FileList && window.FileReader);
+});
diff --git a/dev/js/modernizr/feature-detects/file-filesystem.js b/dev/js/modernizr/feature-detects/file-filesystem.js
new file mode 100644 (file)
index 0000000..ced6761
--- /dev/null
@@ -0,0 +1,9 @@
+// Filesystem API
+// dev.w3.org/2009/dap/file-system/file-dir-sys.html
+
+// The API will be present in Chrome incognito, but will throw an exception.
+// See crbug.com/93417
+//
+// By Eric Bidelman (@ebidel)
+
+Modernizr.addTest('filesystem', !!Modernizr.prefixed('requestFileSystem', window));
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/forms-fileinput.js b/dev/js/modernizr/feature-detects/forms-fileinput.js
new file mode 100644 (file)
index 0000000..b33eb97
--- /dev/null
@@ -0,0 +1,13 @@
+
+
+// Detects whether input type="file" is available on the platform
+// E.g. iOS < 6 and some android version don't support this
+
+//  It's useful if you want to hide the upload feature of your app on devices that
+//  don't support it (iphone, ipad, etc).
+
+Modernizr.addTest('fileinput', function() {
+    var elem = document.createElement('input');
+    elem.type = 'file';
+    return !elem.disabled;
+});
diff --git a/dev/js/modernizr/feature-detects/forms-formattribute.js b/dev/js/modernizr/feature-detects/forms-formattribute.js
new file mode 100644 (file)
index 0000000..6b8e114
--- /dev/null
@@ -0,0 +1,29 @@
+// Detects whether input form="form_id" is available on the platform
+// E.g. IE 10 (and below), don't support this
+Modernizr.addTest("formattribute", function() {
+       var form = document.createElement("form"),
+               input = document.createElement("input"),
+               div = document.createElement("div"),
+               id = "formtest"+(new Date().getTime()),
+               attr,
+               bool = false;
+
+               form.id = id;
+
+       //IE6/7 confuses the form idl attribute and the form content attribute
+       if(document.createAttribute){
+               attr = document.createAttribute("form");
+               attr.nodeValue = id;
+               input.setAttributeNode(attr);
+               div.appendChild(form);
+               div.appendChild(input);
+
+               document.documentElement.appendChild(div);
+
+               bool = form.elements.length === 1 && input.form == form;
+
+               div.parentNode.removeChild(div);
+       }
+
+       return bool;
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/forms-inputnumber-l10n.js b/dev/js/modernizr/feature-detects/forms-inputnumber-l10n.js
new file mode 100644 (file)
index 0000000..8746b42
--- /dev/null
@@ -0,0 +1,32 @@
+// input[type="number"] localized input/output
+// // Detects whether input type="number" is capable of receiving and
+// // displaying localized numbers, e.g. with comma separator
+// // https://bugs.webkit.org/show_bug.cgi?id=42484
+// // Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/forms/script-tests/input-number-keyoperation.js?rev=80096#L9
+// // By Peter Janes
+
+Modernizr.addTest('localizedNumber', function() {
+    var doc = document,
+        el = document.createElement('div'),
+        fake,
+        root,
+        input,
+        diff;
+    root = doc.body || (function() {
+        var de = doc.documentElement;
+        fake = true;
+        return de.insertBefore(doc.createElement('body'), de.firstElementChild || de.firstChild);
+    }());
+    el.innerHTML = '<input type="number" value="1.0" step="0.1"/>';
+    input = el.childNodes[0];
+    root.appendChild(el);
+    input.focus();
+    try {
+        doc.execCommand('InsertText', false, '1,1');
+    } catch(e) { // prevent warnings in IE
+    }
+    diff = input.type === 'number' && input.valueAsNumber === 1.1 && input.checkValidity();
+    root.removeChild(el);
+    fake && root.parentNode.removeChild(root);
+    return diff;
+});
diff --git a/dev/js/modernizr/feature-detects/forms-placeholder.js b/dev/js/modernizr/feature-detects/forms-placeholder.js
new file mode 100644 (file)
index 0000000..e68014b
--- /dev/null
@@ -0,0 +1,10 @@
+// testing for placeholder attribute in inputs and textareas
+// re-using Modernizr.input if available
+
+Modernizr.addTest('placeholder', function(){
+
+  return !!( 'placeholder' in ( Modernizr.input    || document.createElement('input')    ) && 
+             'placeholder' in ( Modernizr.textarea || document.createElement('textarea') )
+           );
+
+});
diff --git a/dev/js/modernizr/feature-detects/forms-speechinput.js b/dev/js/modernizr/feature-detects/forms-speechinput.js
new file mode 100644 (file)
index 0000000..48c9021
--- /dev/null
@@ -0,0 +1,19 @@
+// speech input for inputs
+// by @alrra
+
+
+// `webkitSpeech` in elem 
+// doesn`t work correctly in all versions of Chromium based browsers.
+//   It can return false even if they have support for speech i.imgur.com/2Y40n.png
+//  Testing with 'onwebkitspeechchange' seems to fix this problem
+
+// this detect only checks the webkit version because
+// the speech attribute is likely to be deprecated in favor of a JavaScript API.
+// http://lists.w3.org/Archives/Public/public-webapps/2011OctDec/att-1696/speechapi.html
+
+// FIXME: add support for detecting the new spec'd behavior
+
+Modernizr.addTest('speechinput', function(){
+    var elem = document.createElement('input'); 
+    return 'speech' in elem || 'onwebkitspeechchange' in elem; 
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/forms-validation.js b/dev/js/modernizr/feature-detects/forms-validation.js
new file mode 100644 (file)
index 0000000..d52921a
--- /dev/null
@@ -0,0 +1,62 @@
+// This implementation only tests support for interactive form validation.
+// To check validation for a specific type or a specific other constraint,
+// the test can be combined: 
+//    - Modernizr.inputtypes.numer && Modernizr.formvalidation (browser supports rangeOverflow, typeMismatch etc. for type=number)
+//    - Modernizr.input.required && Modernizr.formvalidation (browser supports valueMissing)
+//
+(function(document, Modernizr){
+
+
+  Modernizr.formvalidationapi = false;
+  Modernizr.formvalidationmessage = false;
+
+  Modernizr.addTest('formvalidation', function() {
+    var form = document.createElement('form');
+    if ( !('checkValidity' in form) || !('addEventListener' in form) ) {
+      return false;
+    }
+    if ('reportValidity' in form) {
+      return true;
+    }
+    var invalidFired = false;
+    var input;
+
+    Modernizr.formvalidationapi =  true;
+
+    // Prevent form from being submitted
+    form.addEventListener('submit', function(e) {
+      //Opera does not validate form, if submit is prevented
+      if ( !window.opera ) {
+        e.preventDefault();
+      }
+      e.stopPropagation();
+    }, false);
+
+    // Calling form.submit() doesn't trigger interactive validation,
+    // use a submit button instead
+    //older opera browsers need a name attribute
+    form.innerHTML = '<input name="modTest" required><button></button>';
+
+    Modernizr.testStyles('#modernizr form{position:absolute;top:-99999em}', function( node ) {
+      node.appendChild(form);
+
+      input = form.getElementsByTagName('input')[0];
+
+      // Record whether "invalid" event is fired
+      input.addEventListener('invalid', function(e) {
+        invalidFired = true;
+        e.preventDefault();
+        e.stopPropagation();
+      }, false);
+
+      //Opera does not fully support the validationMessage property
+      Modernizr.formvalidationmessage = !!input.validationMessage;
+
+      // Submit form by clicking submit button
+      form.getElementsByTagName('button')[0].click();
+    });
+
+    return invalidFired;
+  });
+
+})(document, window.Modernizr);
diff --git a/dev/js/modernizr/feature-detects/fullscreen-api.js b/dev/js/modernizr/feature-detects/fullscreen-api.js
new file mode 100644 (file)
index 0000000..7432571
--- /dev/null
@@ -0,0 +1,10 @@
+Modernizr.addTest('fullscreen',function(){
+     for(var i = 0; i < Modernizr._domPrefixes.length; i++) {
+        if( document[Modernizr._domPrefixes[i].toLowerCase() + 'CancelFullScreen'])
+            return true;
+     }
+     return !!document['cancelFullScreen'] || false;
+});
+
+// http://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/ControllingMediaWithJavaScript/ControllingMediaWithJavaScript.html#//apple_ref/doc/uid/TP40009523-CH3-SW20
+// https://developer.mozilla.org/en/API/Fullscreen
diff --git a/dev/js/modernizr/feature-detects/gamepad.js b/dev/js/modernizr/feature-detects/gamepad.js
new file mode 100644 (file)
index 0000000..0756289
--- /dev/null
@@ -0,0 +1,12 @@
+// GamePad API
+// https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html
+// By Eric Bidelman
+
+// FF has Gamepad API support only in special builds, but not in any release (even behind a flag)
+// Their current implementation has no way to feature detect, only events to bind to.
+//   http://www.html5rocks.com/en/tutorials/doodles/gamepad/#toc-featuredetect
+
+// but a patch will bring them up to date with the spec when it lands (and they'll pass this test)
+//   https://bugzilla.mozilla.org/show_bug.cgi?id=690935
+
+Modernizr.addTest('gamepads', !!Modernizr.prefixed('getGamepads', navigator));
diff --git a/dev/js/modernizr/feature-detects/getusermedia.js b/dev/js/modernizr/feature-detects/getusermedia.js
new file mode 100644 (file)
index 0000000..4c38bec
--- /dev/null
@@ -0,0 +1,5 @@
+// getUserMedia
+// http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html
+// By Eric Bidelman
+
+Modernizr.addTest('getusermedia', !!Modernizr.prefixed('getUserMedia', navigator));
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/ie8compat.js b/dev/js/modernizr/feature-detects/ie8compat.js
new file mode 100644 (file)
index 0000000..c95e56a
--- /dev/null
@@ -0,0 +1,12 @@
+
+// IE8 compat mode aka Fake IE7
+// by Erich Ocean
+
+// In this case, IE8 will be acting as IE7. You may choose to remove features in this case.
+
+// related:
+// james.padolsey.com/javascript/detect-ie-in-js-using-conditional-comments/
+
+Modernizr.addTest('ie8compat',function(){
+    return (!window.addEventListener && document.documentMode && document.documentMode === 7);
+});
diff --git a/dev/js/modernizr/feature-detects/iframe-sandbox.js b/dev/js/modernizr/feature-detects/iframe-sandbox.js
new file mode 100644 (file)
index 0000000..869c94a
--- /dev/null
@@ -0,0 +1,5 @@
+// Test for `sandbox` attribute in iframes.
+//
+// Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-sandbox
+
+Modernizr.addTest('sandbox', 'sandbox' in document.createElement('iframe'));
diff --git a/dev/js/modernizr/feature-detects/iframe-seamless.js b/dev/js/modernizr/feature-detects/iframe-seamless.js
new file mode 100644 (file)
index 0000000..247b9e6
--- /dev/null
@@ -0,0 +1,5 @@
+// Test for `seamless` attribute in iframes.
+//
+// Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-seamless
+
+Modernizr.addTest('seamless', 'seamless' in document.createElement('iframe'));
diff --git a/dev/js/modernizr/feature-detects/iframe-srcdoc.js b/dev/js/modernizr/feature-detects/iframe-srcdoc.js
new file mode 100644 (file)
index 0000000..1769858
--- /dev/null
@@ -0,0 +1,5 @@
+// Test for `srcdoc` attribute in iframes.
+//
+// Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-srcdoc
+
+Modernizr.addTest('srcdoc', 'srcdoc' in document.createElement('iframe'));
diff --git a/dev/js/modernizr/feature-detects/img-apng.js b/dev/js/modernizr/feature-detects/img-apng.js
new file mode 100644 (file)
index 0000000..069ac93
--- /dev/null
@@ -0,0 +1,26 @@
+// Animated PNG
+// http://en.wikipedia.org/wiki/APNG
+// By Addy Osmani
+(function () {
+
+    if (!Modernizr.canvas) return false;
+    
+    var image = new Image(),
+        canvas = document.createElement('canvas'),
+        ctx = canvas.getContext('2d');
+
+
+    image.onload = function () {
+        Modernizr.addTest('apng', function () {
+            if (typeof canvas.getContext == 'undefined') {
+                return false;
+            } else {
+                ctx.drawImage(image, 0, 0);
+                return ctx.getImageData(0, 0, 1, 1).data[3] === 0;
+            }
+        });
+    };
+
+    image.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACGFjVEwAAAABAAAAAcMq2TYAAAANSURBVAiZY2BgYPgPAAEEAQB9ssjfAAAAGmZjVEwAAAAAAAAAAQAAAAEAAAAAAAAAAAD6A+gBAbNU+2sAAAARZmRBVAAAAAEImWNgYGBgAAAABQAB6MzFdgAAAABJRU5ErkJggg==";
+
+}());
diff --git a/dev/js/modernizr/feature-detects/img-webp.js b/dev/js/modernizr/feature-detects/img-webp.js
new file mode 100644 (file)
index 0000000..360cdf8
--- /dev/null
@@ -0,0 +1,20 @@
+// code.google.com/speed/webp/
+// by rich bradshaw, ryan seddon, and paul irish
+
+
+// This test is asynchronous. Watch out.
+
+(function(){
+
+  var image = new Image();
+
+  image.onerror = function() {
+      Modernizr.addTest('webp', false);
+  };  
+  image.onload = function() {
+      Modernizr.addTest('webp', function() { return image.width == 1; });
+  };
+
+  image.src = 'data:image/webp;base64,UklGRiwAAABXRUJQVlA4ICAAAAAUAgCdASoBAAEAL/3+/3+CAB/AAAFzrNsAAP5QAAAAAA==';
+
+}());
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/json.js b/dev/js/modernizr/feature-detects/json.js
new file mode 100644 (file)
index 0000000..af58064
--- /dev/null
@@ -0,0 +1,7 @@
+// native JSON support.
+// developer.mozilla.org/en/JSON
+
+// this will also succeed if you've loaded the JSON2.js polyfill ahead of time
+//   ... but that should be obvious. :)
+
+Modernizr.addTest('json', !!window.JSON && !!JSON.parse);
diff --git a/dev/js/modernizr/feature-detects/lists-reversed.js b/dev/js/modernizr/feature-detects/lists-reversed.js
new file mode 100644 (file)
index 0000000..22fd92c
--- /dev/null
@@ -0,0 +1,6 @@
+
+// impressivewebs.com/reverse-ordered-lists-html5
+// polyfill: github.com/impressivewebs/HTML5-Reverse-Ordered-Lists
+
+
+Modernizr.addTest('olreversed', 'reversed' in document.createElement('ol'));
diff --git a/dev/js/modernizr/feature-detects/mathml.js b/dev/js/modernizr/feature-detects/mathml.js
new file mode 100644 (file)
index 0000000..e1c907a
--- /dev/null
@@ -0,0 +1,23 @@
+// MathML
+// http://www.w3.org/Math/ 
+// By Addy Osmani
+// Based on work by Davide (@dpvc) and David (@davidcarlisle)
+// in https://github.com/mathjax/MathJax/issues/182
+
+Modernizr.addTest('mathml', function(){
+       var hasMathML = false;
+       if ( document.createElementNS ) {
+       var ns = "http://www.w3.org/1998/Math/MathML",
+           div = document.createElement("div");
+           div.style.position = "absolute"; 
+       var mfrac = div.appendChild(document.createElementNS(ns,"math"))
+                      .appendChild(document.createElementNS(ns,"mfrac"));
+       mfrac.appendChild(document.createElementNS(ns,"mi"))
+            .appendChild(document.createTextNode("xx"));
+       mfrac.appendChild(document.createElementNS(ns,"mi"))
+            .appendChild(document.createTextNode("yy"));
+       document.body.appendChild(div);
+       hasMathML = div.offsetHeight > div.offsetWidth;
+       }
+       return hasMathML;
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/network-connection.js b/dev/js/modernizr/feature-detects/network-connection.js
new file mode 100644 (file)
index 0000000..242cdfe
--- /dev/null
@@ -0,0 +1,22 @@
+// determining low-bandwidth via navigator.connection
+
+// There are two iterations of the navigator.connection interface:
+
+// The first is present in Android 2.2+ and only in the Browser (not WebView)
+// : docs.phonegap.com/en/1.2.0/phonegap_connection_connection.md.html#connection.type
+// : davidbcalhoun.com/2010/using-navigator-connection-android
+
+// The second is specced at dev.w3.org/2009/dap/netinfo/ and perhaps landing in WebKit
+// : bugs.webkit.org/show_bug.cgi?id=73528
+
+// unknown devices are assumed as fast
+// for more rigorous network testing, consider boomerang.js: github.com/bluesmoon/boomerang/
+
+Modernizr.addTest('lowbandwidth', function() {
+
+  var connection = navigator.connection || { type: 0 }; // polyfill
+
+  return connection.type == 3 || // connection.CELL_2G
+      connection.type == 4 || // connection.CELL_3G
+      /^[23]g$/.test(connection.type); // string value in new spec
+});
diff --git a/dev/js/modernizr/feature-detects/network-eventsource.js b/dev/js/modernizr/feature-detects/network-eventsource.js
new file mode 100644 (file)
index 0000000..ac94065
--- /dev/null
@@ -0,0 +1,5 @@
+
+// server sent events aka eventsource
+// dev.w3.org/html5/eventsource/
+
+Modernizr.addTest('eventsource', !!window.EventSource);
diff --git a/dev/js/modernizr/feature-detects/network-xhr2.js b/dev/js/modernizr/feature-detects/network-xhr2.js
new file mode 100644 (file)
index 0000000..8d3fb51
--- /dev/null
@@ -0,0 +1,13 @@
+
+
+// XML HTTP Request Level 2
+// www.w3.org/TR/XMLHttpRequest2/
+
+// Much more details at github.com/Modernizr/Modernizr/issues/385
+
+// all three of these details report consistently across all target browsers:
+//   !!(window.ProgressEvent);
+//   !!(window.FormData);
+//   window.XMLHttpRequest && "withCredentials" in new XMLHttpRequest;
+
+Modernizr.addTest('xhr2', 'FormData' in window);
diff --git a/dev/js/modernizr/feature-detects/notification.js b/dev/js/modernizr/feature-detects/notification.js
new file mode 100644 (file)
index 0000000..92d1eef
--- /dev/null
@@ -0,0 +1,10 @@
+// Notifications
+// By Theodoor van Donge
+
+// window.webkitNotifications is only used by Chrome 
+//     http://www.html5rocks.com/en/tutorials/notifications/quick/
+
+// window.Notification only exist in the draft specs 
+//     http://dev.w3.org/2006/webapi/WebNotifications/publish/Notifications.html#idl-if-Notification
+
+Modernizr.addTest('notification', 'Notification' in window && 'permission' in window.Notification && 'requestPermission' in window.Notification);
diff --git a/dev/js/modernizr/feature-detects/performance.js b/dev/js/modernizr/feature-detects/performance.js
new file mode 100644 (file)
index 0000000..903c5c9
--- /dev/null
@@ -0,0 +1,5 @@
+// Navigation Timing (Performance)
+// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/
+// http://www.html5rocks.com/en/tutorials/webperformance/basics/
+// By Scott Murphy (uxder)
+Modernizr.addTest('performance', !!Modernizr.prefixed('performance', window));
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/pointerlock-api.js b/dev/js/modernizr/feature-detects/pointerlock-api.js
new file mode 100644 (file)
index 0000000..07eb07e
--- /dev/null
@@ -0,0 +1,4 @@
+// https://developer.mozilla.org/en-US/docs/API/Pointer_Lock_API
+
+Modernizr.addTest('pointerlock',!!Modernizr.prefixed('pointerLockElement', document));
+
diff --git a/dev/js/modernizr/feature-detects/quota-management-api.js b/dev/js/modernizr/feature-detects/quota-management-api.js
new file mode 100644 (file)
index 0000000..5ce2b02
--- /dev/null
@@ -0,0 +1,11 @@
+// Quota Storage Management API
+// This API can be used to check how much quota an origin is using and request more
+
+// Currently only implemented in Chrome.
+// https://developers.google.com/chrome/whitepapers/storage
+// By Addy Osmani
+
+Modernizr.addTest('quotamanagement', function(){
+  var storage = Modernizr.prefixed('StorageInfo', window);
+  return !!(storage && 'TEMPORARY' in storage && 'PERSISTENT' in storage);
+});
diff --git a/dev/js/modernizr/feature-detects/requestanimationframe.js b/dev/js/modernizr/feature-detects/requestanimationframe.js
new file mode 100644 (file)
index 0000000..5ac4bcf
--- /dev/null
@@ -0,0 +1,7 @@
+
+// requestAnimationFrame
+// Offload animation repainting to browser for optimized performance. 
+// http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/Overview.html
+// By Addy Osmani
+
+Modernizr.addTest('raf', !!Modernizr.prefixed('requestAnimationFrame', window));
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/script-async.js b/dev/js/modernizr/feature-detects/script-async.js
new file mode 100644 (file)
index 0000000..d80d04b
--- /dev/null
@@ -0,0 +1,3 @@
+// async script
+// By Theodoor van Donge
+Modernizr.addTest('scriptasync', 'async' in document.createElement('script'));
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/script-defer.js b/dev/js/modernizr/feature-detects/script-defer.js
new file mode 100644 (file)
index 0000000..782f14a
--- /dev/null
@@ -0,0 +1,3 @@
+// defer script
+// By Theodoor van Donge
+Modernizr.addTest('scriptdefer', 'defer' in document.createElement('script'));
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/style-scoped.js b/dev/js/modernizr/feature-detects/style-scoped.js
new file mode 100644 (file)
index 0000000..3add1b0
--- /dev/null
@@ -0,0 +1,6 @@
+// Browser support test for <style scoped>
+// http://www.w3.org/TR/html5/the-style-element.html#attr-style-scoped
+//
+// by @alrra
+
+Modernizr.addTest( 'stylescoped', 'scoped' in document.createElement('style') );
diff --git a/dev/js/modernizr/feature-detects/svg-filters.js b/dev/js/modernizr/feature-detects/svg-filters.js
new file mode 100644 (file)
index 0000000..d289b9d
--- /dev/null
@@ -0,0 +1,13 @@
+// Detect support for svg filters - http://www.w3.org/TR/SVG11/filters.html.
+// Should fail in Safari: http://stackoverflow.com/questions/9739955/feature-detecting-support-for-svg-filters.
+// detect by erik dahlstrom
+
+Modernizr.addTest('svgfilters', function(){
+       var result = false;
+    try {
+      result = typeof SVGFEColorMatrixElement !== undefined &&
+               SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE == 2;
+    }
+    catch(e) {}
+    return result;
+});
diff --git a/dev/js/modernizr/feature-detects/unicode.js b/dev/js/modernizr/feature-detects/unicode.js
new file mode 100644 (file)
index 0000000..39908bf
--- /dev/null
@@ -0,0 +1,32 @@
+/**
+ * Unicode special character support
+ * 
+ * Detection is made by testing missing glyph box rendering against star character
+ * If widths are the same, this "probably" means the browser didn't support the star character and rendered a glyph box instead
+ * Just need to ensure the font characters have different widths
+ * 
+ * Warning : positive Unicode support doesn't mean you can use it inside <title>, this seams more related to OS & Language packs
+ */
+Modernizr.addTest('unicode', function() {
+       
+       
+       var bool,
+
+               missingGlyph = document.createElement('span'),
+               
+               star = document.createElement('span');
+
+       Modernizr.testStyles('#modernizr{font-family:Arial,sans;font-size:300em;}', function(node) {
+
+               missingGlyph.innerHTML = '&#5987';
+               star.innerHTML = '&#9734';              
+               
+               node.appendChild(missingGlyph);
+               node.appendChild(star);
+               
+               bool = 'offsetWidth' in missingGlyph && missingGlyph.offsetWidth !== star.offsetWidth;
+       });
+
+       return bool;
+
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/url-data-uri.js b/dev/js/modernizr/feature-detects/url-data-uri.js
new file mode 100644 (file)
index 0000000..e6479a2
--- /dev/null
@@ -0,0 +1,26 @@
+// data uri test.
+// https://github.com/Modernizr/Modernizr/issues/14
+
+// This test is asynchronous. Watch out.
+
+
+// in IE7 in HTTPS this can cause a Mixed Content security popup. 
+//  github.com/Modernizr/Modernizr/issues/362
+// To avoid that you can create a new iframe and inject this.. perhaps..
+
+
+(function(){
+
+  var datauri = new Image();
+
+
+  datauri.onerror = function() {
+      Modernizr.addTest('datauri', function () { return false; });
+  };  
+  datauri.onload = function() {
+      Modernizr.addTest('datauri', function () { return (datauri.width == 1 && datauri.height == 1); });
+  };
+
+  datauri.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
+
+})();
diff --git a/dev/js/modernizr/feature-detects/userdata.js b/dev/js/modernizr/feature-detects/userdata.js
new file mode 100644 (file)
index 0000000..79d921e
--- /dev/null
@@ -0,0 +1,7 @@
+// test if IE userdata supported
+// msdn.microsoft.com/en-us/library/ms531424(v=vs.85).aspx
+// test by @stereobooster
+
+Modernizr.addTest('userdata', function(){
+  return !!document.createElement('div').addBehavior;
+});
diff --git a/dev/js/modernizr/feature-detects/vibration.js b/dev/js/modernizr/feature-detects/vibration.js
new file mode 100644 (file)
index 0000000..034c25d
--- /dev/null
@@ -0,0 +1,4 @@
+// Vibration API
+// http://www.w3.org/TR/vibration/
+// https://developer.mozilla.org/en/DOM/window.navigator.mozVibrate
+Modernizr.addTest('vibrate', !!Modernizr.prefixed('vibrate', navigator));
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/web-intents.js b/dev/js/modernizr/feature-detects/web-intents.js
new file mode 100644 (file)
index 0000000..d0557fe
--- /dev/null
@@ -0,0 +1,6 @@
+// Tests for the ability to use Web Intents (http://webintents.org).
+// By Eric Bidelman
+
+Modernizr.addTest('webintents', function() {
+  return !!Modernizr.prefixed('startActivity', navigator);
+});
diff --git a/dev/js/modernizr/feature-detects/webgl-extensions.js b/dev/js/modernizr/feature-detects/webgl-extensions.js
new file mode 100644 (file)
index 0000000..c005c00
--- /dev/null
@@ -0,0 +1,42 @@
+
+// Grab the WebGL extensions currently supported and add to the Modernizr.webgl object
+// spec: www.khronos.org/registry/webgl/specs/latest/#5.13.14
+
+// based on code from ilmari heikkinen
+// code.google.com/p/graphics-detect/source/browse/js/detect.js
+
+
+(function(){
+
+    if (!Modernizr.webgl) return;
+
+    var canvas, ctx, exts;
+
+    try {
+        canvas  = document.createElement('canvas');
+        ctx     = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
+        exts    = ctx.getSupportedExtensions();
+    }
+    catch (e) {
+        return;
+    }
+
+    if (ctx === undefined) {
+        Modernizr.webgl = new Boolean(false);
+    }
+    else {
+        Modernizr.webgl = new Boolean(true);
+    }
+
+
+    for (var i = -1, len = exts.length; ++i < len; ){
+        Modernizr.webgl[exts[i]] = true;
+    }
+
+    // hack for addressing modernizr testsuite failures. sorry.
+    if (window.TEST && TEST.audvid){
+        TEST.audvid.push('webgl');
+    }
+
+    canvas = undefined;
+})();
\ No newline at end of file
diff --git a/dev/js/modernizr/feature-detects/websockets-binary.js b/dev/js/modernizr/feature-detects/websockets-binary.js
new file mode 100644 (file)
index 0000000..8f549ce
--- /dev/null
@@ -0,0 +1,20 @@
+
+// binaryType is truthy if there is support.. returns "blob" in new-ish chrome.
+// plus.google.com/115535723976198353696/posts/ERN6zYozENV
+// github.com/Modernizr/Modernizr/issues/370
+
+Modernizr.addTest('websocketsbinary', function() {
+  var protocol = 'https:'==location.protocol?'wss':'ws',
+  protoBin;
+
+  if('WebSocket' in window) {
+    if( protoBin = 'binaryType' in WebSocket.prototype ) {
+      return protoBin;
+    }
+    try {
+      return !!(new WebSocket(protocol+'://.').binaryType);
+    } catch (e){}
+  }
+
+  return false;
+});
diff --git a/dev/js/modernizr/feature-detects/window-framed.js b/dev/js/modernizr/feature-detects/window-framed.js
new file mode 100644 (file)
index 0000000..f8a6704
--- /dev/null
@@ -0,0 +1,8 @@
+
+// tests if page is iframed
+
+// github.com/Modernizr/Modernizr/issues/242
+
+Modernizr.addTest('framed', function(){
+  return window.location != top.location;
+});
diff --git a/dev/js/modernizr/feature-detects/workers-blobworkers.js b/dev/js/modernizr/feature-detects/workers-blobworkers.js
new file mode 100644 (file)
index 0000000..33e82eb
--- /dev/null
@@ -0,0 +1,66 @@
+// by jussi-kalliokoski
+
+
+// This test is asynchronous. Watch out.
+
+// The test will potentially add garbage to console.
+
+(function(){
+  try {
+    // we're avoiding using Modernizr._domPrefixes as the prefix capitalization on
+    // these guys are notoriously peculiar.
+    var BlobBuilder = window.MozBlobBuilder || window.WebKitBlobBuilder || window.MSBlobBuilder || window.OBlobBuilder || window.BlobBuilder;
+    var URL         = window.MozURL || window.webkitURL || window.MSURL || window.OURL || window.URL;
+    var data    = 'Modernizr',
+        blob,
+        bb,
+        worker,
+        url,
+        timeout,
+        scriptText = 'this.onmessage=function(e){postMessage(e.data)}';
+
+    try {
+      blob = new Blob([scriptText], {type:'text/javascript'});
+    } catch(e) {
+      // we'll fall back to the deprecated BlobBuilder
+    }
+    if (!blob) {
+      bb = new BlobBuilder();
+      bb.append(scriptText);
+      blob = bb.getBlob();
+    }
+
+    url = URL.createObjectURL(blob);
+    worker = new Worker(url);
+
+    worker.onmessage = function(e) {
+      Modernizr.addTest('blobworkers', data === e.data);
+      cleanup();
+    };
+
+    // Just in case...
+    worker.onerror = fail;
+    timeout = setTimeout(fail, 200);
+
+    worker.postMessage(data);
+  } catch (e) {
+    fail();
+  }
+
+  function fail() {
+    Modernizr.addTest('blobworkers', false);
+    cleanup();
+  }
+
+  function cleanup() {
+    if (url) {
+      URL.revokeObjectURL(url);
+    }
+    if (worker) {
+      worker.terminate();
+    }
+    if (timeout) {
+      clearTimeout(timeout);
+    }
+  }
+}());
diff --git a/dev/js/modernizr/feature-detects/workers-dataworkers.js b/dev/js/modernizr/feature-detects/workers-dataworkers.js
new file mode 100644 (file)
index 0000000..efa95a5
--- /dev/null
@@ -0,0 +1,34 @@
+// by jussi-kalliokoski
+
+
+// This test is asynchronous. Watch out.
+
+// The test will potentially add garbage to console.
+
+(function(){
+  try {
+    var data    = 'Modernizr',
+        worker  = new Worker('data:text/javascript;base64,dGhpcy5vbm1lc3NhZ2U9ZnVuY3Rpb24oZSl7cG9zdE1lc3NhZ2UoZS5kYXRhKX0=');
+
+    worker.onmessage = function(e) {
+      worker.terminate();
+      Modernizr.addTest('dataworkers', data === e.data);
+      worker = null;
+    };
+
+    // Just in case...
+    worker.onerror = function() {
+      Modernizr.addTest('dataworkers', false);
+      worker = null;
+    };
+
+    setTimeout(function() {
+        Modernizr.addTest('dataworkers', false);
+    }, 200);
+
+    worker.postMessage(data);
+
+  } catch (e) {
+    Modernizr.addTest('dataworkers', false);
+  }
+}());
diff --git a/dev/js/modernizr/feature-detects/workers-sharedworkers.js b/dev/js/modernizr/feature-detects/workers-sharedworkers.js
new file mode 100644 (file)
index 0000000..a9d78eb
--- /dev/null
@@ -0,0 +1,3 @@
+Modernizr.addTest('sharedworkers', function(){
+  return !!window.SharedWorker;
+});
\ No newline at end of file
diff --git a/dev/js/modernizr/grunt.js b/dev/js/modernizr/grunt.js
new file mode 100644 (file)
index 0000000..ed591da
--- /dev/null
@@ -0,0 +1,69 @@
+/*global module */
+module.exports = function( grunt ) {
+    'use strict';
+
+    grunt.initConfig({
+        meta: {
+          version: '2.8.3',
+          banner: '/*!\n' +
+            ' * Modernizr v<%= meta.version %>\n' +
+            ' * www.modernizr.com\n *\n' +
+            ' * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton\n' +
+            ' * Available under the BSD and MIT licenses: www.modernizr.com/license/\n */'
+        },
+        qunit: {
+            files: ['test/index.html']
+        },
+        lint: {
+            files: [
+                'grunt.js',
+                'modernizr.js',
+                'feature-detects/*.js'
+            ]
+        },
+        min: {
+            dist: {
+                src: [
+                    '<banner:meta.banner>',
+                    'modernizr.js'
+                ],
+                dest: 'modernizr.min.js'
+            }
+        },
+        watch: {
+            files: '<config:lint.files>',
+            tasks: 'lint'
+        },
+        jshint: {
+            options: {
+                boss: true,
+                browser: true,
+                curly: false,
+                devel: true,
+                eqeqeq: false,
+                eqnull: true,
+                expr: true,
+                evil: true,
+                immed: false,
+                laxcomma: true,
+                newcap: false,
+                noarg: true,
+                smarttabs: true,
+                sub: true,
+                undef: true
+            },
+            globals: {
+                Modernizr: true,
+                DocumentTouch: true,
+                TEST: true,
+                SVGFEColorMatrixElement : true,
+                Blob: true
+            }
+        }
+    });
+
+    grunt.registerTask('default', 'min');
+
+    // Travis CI task.
+    grunt.registerTask('travis', 'qunit');
+};
diff --git a/dev/js/modernizr/modernizr.js b/dev/js/modernizr/modernizr.js
new file mode 100644 (file)
index 0000000..3365339
--- /dev/null
@@ -0,0 +1,1406 @@
+/*!
+ * Modernizr v2.8.3
+ * www.modernizr.com
+ *
+ * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton
+ * Available under the BSD and MIT licenses: www.modernizr.com/license/
+ */
+
+/*
+ * Modernizr tests which native CSS3 and HTML5 features are available in
+ * the current UA and makes the results available to you in two ways:
+ * as properties on a global Modernizr object, and as classes on the
+ * <html> element. This information allows you to progressively enhance
+ * your pages with a granular level of control over the experience.
+ *
+ * Modernizr has an optional (not included) conditional resource loader
+ * called Modernizr.load(), based on Yepnope.js (yepnopejs.com).
+ * To get a build that includes Modernizr.load(), as well as choosing
+ * which tests to include, go to www.modernizr.com/download/
+ *
+ * Authors        Faruk Ates, Paul Irish, Alex Sexton
+ * Contributors   Ryan Seddon, Ben Alman
+ */
+
+window.Modernizr = (function( window, document, undefined ) {
+
+    var version = '2.8.3',
+
+    Modernizr = {},
+
+    /*>>cssclasses*/
+    // option for enabling the HTML classes to be added
+    enableClasses = true,
+    /*>>cssclasses*/
+
+    docElement = document.documentElement,
+
+    /**
+     * Create our "modernizr" element that we do most feature tests on.
+     */
+    mod = 'modernizr',
+    modElem = document.createElement(mod),
+    mStyle = modElem.style,
+
+    /**
+     * Create the input element for various Web Forms feature tests.
+     */
+    inputElem /*>>inputelem*/ = document.createElement('input') /*>>inputelem*/ ,
+
+    /*>>smile*/
+    smile = ':)',
+    /*>>smile*/
+
+    toString = {}.toString,
+
+    // TODO :: make the prefixes more granular
+    /*>>prefixes*/
+    // List of property values to set for css tests. See ticket #21
+    prefixes = ' -webkit- -moz- -o- -ms- '.split(' '),
+    /*>>prefixes*/
+
+    /*>>domprefixes*/
+    // Following spec is to expose vendor-specific style properties as:
+    //   elem.style.WebkitBorderRadius
+    // and the following would be incorrect:
+    //   elem.style.webkitBorderRadius
+
+    // Webkit ghosts their properties in lowercase but Opera & Moz do not.
+    // Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+
+    //   erik.eae.net/archives/2008/03/10/21.48.10/
+
+    // More here: github.com/Modernizr/Modernizr/issues/issue/21
+    omPrefixes = 'Webkit Moz O ms',
+
+    cssomPrefixes = omPrefixes.split(' '),
+
+    domPrefixes = omPrefixes.toLowerCase().split(' '),
+    /*>>domprefixes*/
+
+    /*>>ns*/
+    ns = {'svg': 'http://www.w3.org/2000/svg'},
+    /*>>ns*/
+
+    tests = {},
+    inputs = {},
+    attrs = {},
+
+    classes = [],
+
+    slice = classes.slice,
+
+    featureName, // used in testing loop
+
+
+    /*>>teststyles*/
+    // Inject element with style element and some CSS rules
+    injectElementWithStyles = function( rule, callback, nodes, testnames ) {
+
+      var style, ret, node, docOverflow,
+          div = document.createElement('div'),
+          // After page load injecting a fake body doesn't work so check if body exists
+          body = document.body,
+          // IE6 and 7 won't return offsetWidth or offsetHeight unless it's in the body element, so we fake it.
+          fakeBody = body || document.createElement('body');
+
+      if ( parseInt(nodes, 10) ) {
+          // In order not to give false positives we create a node for each test
+          // This also allows the method to scale for unspecified uses
+          while ( nodes-- ) {
+              node = document.createElement('div');
+              node.id = testnames ? testnames[nodes] : mod + (nodes + 1);
+              div.appendChild(node);
+          }
+      }
+
+      // <style> elements in IE6-9 are considered 'NoScope' elements and therefore will be removed
+      // when injected with innerHTML. To get around this you need to prepend the 'NoScope' element
+      // with a 'scoped' element, in our case the soft-hyphen entity as it won't mess with our measurements.
+      // msdn.microsoft.com/en-us/library/ms533897%28VS.85%29.aspx
+      // Documents served as xml will throw if using &shy; so use xml friendly encoded version. See issue #277
+      style = ['&#173;','<style id="s', mod, '">', rule, '</style>'].join('');
+      div.id = mod;
+      // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody.
+      // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270
+      (body ? div : fakeBody).innerHTML += style;
+      fakeBody.appendChild(div);
+      if ( !body ) {
+          //avoid crashing IE8, if background image is used
+          fakeBody.style.background = '';
+          //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible
+          fakeBody.style.overflow = 'hidden';
+          docOverflow = docElement.style.overflow;
+          docElement.style.overflow = 'hidden';
+          docElement.appendChild(fakeBody);
+      }
+
+      ret = callback(div, rule);
+      // If this is done after page load we don't want to remove the body so check if body exists
+      if ( !body ) {
+          fakeBody.parentNode.removeChild(fakeBody);
+          docElement.style.overflow = docOverflow;
+      } else {
+          div.parentNode.removeChild(div);
+      }
+
+      return !!ret;
+
+    },
+    /*>>teststyles*/
+
+    /*>>mq*/
+    // adapted from matchMedia polyfill
+    // by Scott Jehl and Paul Irish
+    // gist.github.com/786768
+    testMediaQuery = function( mq ) {
+
+      var matchMedia = window.matchMedia || window.msMatchMedia;
+      if ( matchMedia ) {
+        return matchMedia(mq) && matchMedia(mq).matches || false;
+      }
+
+      var bool;
+
+      injectElementWithStyles('@media ' + mq + ' { #' + mod + ' { position: absolute; } }', function( node ) {
+        bool = (window.getComputedStyle ?
+                  getComputedStyle(node, null) :
+                  node.currentStyle)['position'] == 'absolute';
+      });
+
+      return bool;
+
+     },
+     /*>>mq*/
+
+
+    /*>>hasevent*/
+    //
+    // isEventSupported determines if a given element supports the given event
+    // kangax.github.com/iseventsupported/
+    //
+    // The following results are known incorrects:
+    //   Modernizr.hasEvent("webkitTransitionEnd", elem) // false negative
+    //   Modernizr.hasEvent("textInput") // in Webkit. github.com/Modernizr/Modernizr/issues/333
+    //   ...
+    isEventSupported = (function() {
+
+      var TAGNAMES = {
+        'select': 'input', 'change': 'input',
+        'submit': 'form', 'reset': 'form',
+        'error': 'img', 'load': 'img', 'abort': 'img'
+      };
+
+      function isEventSupported( eventName, element ) {
+
+        element = element || document.createElement(TAGNAMES[eventName] || 'div');
+        eventName = 'on' + eventName;
+
+        // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those
+        var isSupported = eventName in element;
+
+        if ( !isSupported ) {
+          // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element
+          if ( !element.setAttribute ) {
+            element = document.createElement('div');
+          }
+          if ( element.setAttribute && element.removeAttribute ) {
+            element.setAttribute(eventName, '');
+            isSupported = is(element[eventName], 'function');
+
+            // If property was created, "remove it" (by setting value to `undefined`)
+            if ( !is(element[eventName], 'undefined') ) {
+              element[eventName] = undefined;
+            }
+            element.removeAttribute(eventName);
+          }
+        }
+
+        element = null;
+        return isSupported;
+      }
+      return isEventSupported;
+    })(),
+    /*>>hasevent*/
+
+    // TODO :: Add flag for hasownprop ? didn't last time
+
+    // hasOwnProperty shim by kangax needed for Safari 2.0 support
+    _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp;
+
+    if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) {
+      hasOwnProp = function (object, property) {
+        return _hasOwnProperty.call(object, property);
+      };
+    }
+    else {
+      hasOwnProp = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */
+        return ((property in object) && is(object.constructor.prototype[property], 'undefined'));
+      };
+    }
+
+    // Adapted from ES5-shim https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js
+    // es5.github.com/#x15.3.4.5
+
+    if (!Function.prototype.bind) {
+      Function.prototype.bind = function bind(that) {
+
+        var target = this;
+
+        if (typeof target != "function") {
+            throw new TypeError();
+        }
+
+        var args = slice.call(arguments, 1),
+            bound = function () {
+
+            if (this instanceof bound) {
+
+              var F = function(){};
+              F.prototype = target.prototype;
+              var self = new F();
+
+              var result = target.apply(
+                  self,
+                  args.concat(slice.call(arguments))
+              );
+              if (Object(result) === result) {
+                  return result;
+              }
+              return self;
+
+            } else {
+
+              return target.apply(
+                  that,
+                  args.concat(slice.call(arguments))
+              );
+
+            }
+
+        };
+
+        return bound;
+      };
+    }
+
+    /**
+     * setCss applies given styles to the Modernizr DOM node.
+     */
+    function setCss( str ) {
+        mStyle.cssText = str;
+    }
+
+    /**
+     * setCssAll extrapolates all vendor-specific css strings.
+     */
+    function setCssAll( str1, str2 ) {
+        return setCss(prefixes.join(str1 + ';') + ( str2 || '' ));
+    }
+
+    /**
+     * is returns a boolean for if typeof obj is exactly type.
+     */
+    function is( obj, type ) {
+        return typeof obj === type;
+    }
+
+    /**
+     * contains returns a boolean for if substr is found within str.
+     */
+    function contains( str, substr ) {
+        return !!~('' + str).indexOf(substr);
+    }
+
+    /*>>testprop*/
+
+    // testProps is a generic CSS / DOM property test.
+
+    // In testing support for a given CSS property, it's legit to test:
+    //    `elem.style[styleName] !== undefined`
+    // If the property is supported it will return an empty string,
+    // if unsupported it will return undefined.
+
+    // We'll take advantage of this quick test and skip setting a style
+    // on our modernizr element, but instead just testing undefined vs
+    // empty string.
+
+    // Because the testing of the CSS property names (with "-", as
+    // opposed to the camelCase DOM properties) is non-portable and
+    // non-standard but works in WebKit and IE (but not Gecko or Opera),
+    // we explicitly reject properties with dashes so that authors
+    // developing in WebKit or IE first don't end up with
+    // browser-specific content by accident.
+
+    function testProps( props, prefixed ) {
+        for ( var i in props ) {
+            var prop = props[i];
+            if ( !contains(prop, "-") && mStyle[prop] !== undefined ) {
+                return prefixed == 'pfx' ? prop : true;
+            }
+        }
+        return false;
+    }
+    /*>>testprop*/
+
+    // TODO :: add testDOMProps
+    /**
+     * testDOMProps is a generic DOM property test; if a browser supports
+     *   a certain property, it won't return undefined for it.
+     */
+    function testDOMProps( props, obj, elem ) {
+        for ( var i in props ) {
+            var item = obj[props[i]];
+            if ( item !== undefined) {
+
+                // return the property name as a string
+                if (elem === false) return props[i];
+
+                // let's bind a function
+                if (is(item, 'function')){
+                  // default to autobind unless override
+                  return item.bind(elem || obj);
+                }
+
+                // return the unbound function or obj or value
+                return item;
+            }
+        }
+        return false;
+    }
+
+    /*>>testallprops*/
+    /**
+     * testPropsAll tests a list of DOM properties we want to check against.
+     *   We specify literally ALL possible (known and/or likely) properties on
+     *   the element including the non-vendor prefixed one, for forward-
+     *   compatibility.
+     */
+    function testPropsAll( prop, prefixed, elem ) {
+
+        var ucProp  = prop.charAt(0).toUpperCase() + prop.slice(1),
+            props   = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');
+
+        // did they call .prefixed('boxSizing') or are we just testing a prop?
+        if(is(prefixed, "string") || is(prefixed, "undefined")) {
+          return testProps(props, prefixed);
+
+        // otherwise, they called .prefixed('requestAnimationFrame', window[, elem])
+        } else {
+          props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');
+          return testDOMProps(props, prefixed, elem);
+        }
+    }
+    /*>>testallprops*/
+
+
+    /**
+     * Tests
+     * -----
+     */
+
+    // The *new* flexbox
+    // dev.w3.org/csswg/css3-flexbox
+
+    tests['flexbox'] = function() {
+      return testPropsAll('flexWrap');
+    };
+
+    // The *old* flexbox
+    // www.w3.org/TR/2009/WD-css3-flexbox-20090723/
+
+    tests['flexboxlegacy'] = function() {
+        return testPropsAll('boxDirection');
+    };
+
+    // On the S60 and BB Storm, getContext exists, but always returns undefined
+    // so we actually have to call getContext() to verify
+    // github.com/Modernizr/Modernizr/issues/issue/97/
+
+    tests['canvas'] = function() {
+        var elem = document.createElement('canvas');
+        return !!(elem.getContext && elem.getContext('2d'));
+    };
+
+    tests['canvastext'] = function() {
+        return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function'));
+    };
+
+    // webk.it/70117 is tracking a legit WebGL feature detect proposal
+
+    // We do a soft detect which may false positive in order to avoid
+    // an expensive context creation: bugzil.la/732441
+
+    tests['webgl'] = function() {
+        return !!window.WebGLRenderingContext;
+    };
+
+    /*
+     * The Modernizr.touch test only indicates if the browser supports
+     *    touch events, which does not necessarily reflect a touchscreen
+     *    device, as evidenced by tablets running Windows 7 or, alas,
+     *    the Palm Pre / WebOS (touch) phones.
+     *
+     * Additionally, Chrome (desktop) used to lie about its support on this,
+     *    but that has since been rectified: crbug.com/36415
+     *
+     * We also test for Firefox 4 Multitouch Support.
+     *
+     * For more info, see: modernizr.github.com/Modernizr/touch.html
+     */
+
+    tests['touch'] = function() {
+        var bool;
+
+        if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {
+          bool = true;
+        } else {
+          injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function( node ) {
+            bool = node.offsetTop === 9;
+          });
+        }
+
+        return bool;
+    };
+
+
+    // geolocation is often considered a trivial feature detect...
+    // Turns out, it's quite tricky to get right:
+    //
+    // Using !!navigator.geolocation does two things we don't want. It:
+    //   1. Leaks memory in IE9: github.com/Modernizr/Modernizr/issues/513
+    //   2. Disables page caching in WebKit: webk.it/43956
+    //
+    // Meanwhile, in Firefox < 8, an about:config setting could expose
+    // a false positive that would throw an exception: bugzil.la/688158
+
+    tests['geolocation'] = function() {
+        return 'geolocation' in navigator;
+    };
+
+
+    tests['postmessage'] = function() {
+      return !!window.postMessage;
+    };
+
+
+    // Chrome incognito mode used to throw an exception when using openDatabase
+    // It doesn't anymore.
+    tests['websqldatabase'] = function() {
+      return !!window.openDatabase;
+    };
+
+    // Vendors had inconsistent prefixing with the experimental Indexed DB:
+    // - Webkit's implementation is accessible through webkitIndexedDB
+    // - Firefox shipped moz_indexedDB before FF4b9, but since then has been mozIndexedDB
+    // For speed, we don't test the legacy (and beta-only) indexedDB
+    tests['indexedDB'] = function() {
+      return !!testPropsAll("indexedDB", window);
+    };
+
+    // documentMode logic from YUI to filter out IE8 Compat Mode
+    //   which false positives.
+    tests['hashchange'] = function() {
+      return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7);
+    };
+
+    // Per 1.6:
+    // This used to be Modernizr.historymanagement but the longer
+    // name has been deprecated in favor of a shorter and property-matching one.
+    // The old API is still available in 1.6, but as of 2.0 will throw a warning,
+    // and in the first release thereafter disappear entirely.
+    tests['history'] = function() {
+      return !!(window.history && history.pushState);
+    };
+
+    tests['draganddrop'] = function() {
+        var div = document.createElement('div');
+        return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div);
+    };
+
+    // FF3.6 was EOL'ed on 4/24/12, but the ESR version of FF10
+    // will be supported until FF19 (2/12/13), at which time, ESR becomes FF17.
+    // FF10 still uses prefixes, so check for it until then.
+    // for more ESR info, see: mozilla.org/en-US/firefox/organizations/faq/
+    tests['websockets'] = function() {
+        return 'WebSocket' in window || 'MozWebSocket' in window;
+    };
+
+
+    // css-tricks.com/rgba-browser-support/
+    tests['rgba'] = function() {
+        // Set an rgba() color and check the returned value
+
+        setCss('background-color:rgba(150,255,150,.5)');
+
+        return contains(mStyle.backgroundColor, 'rgba');
+    };
+
+    tests['hsla'] = function() {
+        // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally,
+        //   except IE9 who retains it as hsla
+
+        setCss('background-color:hsla(120,40%,100%,.5)');
+
+        return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla');
+    };
+
+    tests['multiplebgs'] = function() {
+        // Setting multiple images AND a color on the background shorthand property
+        //  and then querying the style.background property value for the number of
+        //  occurrences of "url(" is a reliable method for detecting ACTUAL support for this!
+
+        setCss('background:url(https://),url(https://),red url(https://)');
+
+        // If the UA supports multiple backgrounds, there should be three occurrences
+        //   of the string "url(" in the return value for elemStyle.background
+
+        return (/(url\s*\(.*?){3}/).test(mStyle.background);
+    };
+
+
+
+    // this will false positive in Opera Mini
+    //   github.com/Modernizr/Modernizr/issues/396
+
+    tests['backgroundsize'] = function() {
+        return testPropsAll('backgroundSize');
+    };
+
+    tests['borderimage'] = function() {
+        return testPropsAll('borderImage');
+    };
+
+
+    // Super comprehensive table about all the unique implementations of
+    // border-radius: muddledramblings.com/table-of-css3-border-radius-compliance
+
+    tests['borderradius'] = function() {
+        return testPropsAll('borderRadius');
+    };
+
+    // WebOS unfortunately false positives on this test.
+    tests['boxshadow'] = function() {
+        return testPropsAll('boxShadow');
+    };
+
+    // FF3.0 will false positive on this test
+    tests['textshadow'] = function() {
+        return document.createElement('div').style.textShadow === '';
+    };
+
+
+    tests['opacity'] = function() {
+        // Browsers that actually have CSS Opacity implemented have done so
+        //  according to spec, which means their return values are within the
+        //  range of [0.0,1.0] - including the leading zero.
+
+        setCssAll('opacity:.55');
+
+        // The non-literal . in this regex is intentional:
+        //   German Chrome returns this value as 0,55
+        // github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632
+        return (/^0.55$/).test(mStyle.opacity);
+    };
+
+
+    // Note, Android < 4 will pass this test, but can only animate
+    //   a single property at a time
+    //   goo.gl/v3V4Gp
+    tests['cssanimations'] = function() {
+        return testPropsAll('animationName');
+    };
+
+
+    tests['csscolumns'] = function() {
+        return testPropsAll('columnCount');
+    };
+
+
+    tests['cssgradients'] = function() {
+        /**
+         * For CSS Gradients syntax, please see:
+         * webkit.org/blog/175/introducing-css-gradients/
+         * developer.mozilla.org/en/CSS/-moz-linear-gradient
+         * developer.mozilla.org/en/CSS/-moz-radial-gradient
+         * dev.w3.org/csswg/css3-images/#gradients-
+         */
+
+        var str1 = 'background-image:',
+            str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));',
+            str3 = 'linear-gradient(left top,#9f9, white);';
+
+        setCss(
+             // legacy webkit syntax (FIXME: remove when syntax not in use anymore)
+              (str1 + '-webkit- '.split(' ').join(str2 + str1) +
+             // standard syntax             // trailing 'background-image:'
+              prefixes.join(str3 + str1)).slice(0, -str1.length)
+        );
+
+        return contains(mStyle.backgroundImage, 'gradient');
+    };
+
+
+    tests['cssreflections'] = function() {
+        return testPropsAll('boxReflect');
+    };
+
+
+    tests['csstransforms'] = function() {
+        return !!testPropsAll('transform');
+    };
+
+
+    tests['csstransforms3d'] = function() {
+
+        var ret = !!testPropsAll('perspective');
+
+        // Webkit's 3D transforms are passed off to the browser's own graphics renderer.
+        //   It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in
+        //   some conditions. As a result, Webkit typically recognizes the syntax but
+        //   will sometimes throw a false positive, thus we must do a more thorough check:
+        if ( ret && 'webkitPerspective' in docElement.style ) {
+
+          // Webkit allows this media query to succeed only if the feature is enabled.
+          // `@media (transform-3d),(-webkit-transform-3d){ ... }`
+          injectElementWithStyles('@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}', function( node, rule ) {
+            ret = node.offsetLeft === 9 && node.offsetHeight === 3;
+          });
+        }
+        return ret;
+    };
+
+
+    tests['csstransitions'] = function() {
+        return testPropsAll('transition');
+    };
+
+
+    /*>>fontface*/
+    // @font-face detection routine by Diego Perini
+    // javascript.nwbox.com/CSSSupport/
+
+    // false positives:
+    //   WebOS github.com/Modernizr/Modernizr/issues/342
+    //   WP7   github.com/Modernizr/Modernizr/issues/538
+    tests['fontface'] = function() {
+        var bool;
+
+        injectElementWithStyles('@font-face {font-family:"font";src:url("https://")}', function( node, rule ) {
+          var style = document.getElementById('smodernizr'),
+              sheet = style.sheet || style.styleSheet,
+              cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : '';
+
+          bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0;
+        });
+
+        return bool;
+    };
+    /*>>fontface*/
+
+    // CSS generated content detection
+    tests['generatedcontent'] = function() {
+        var bool;
+
+        injectElementWithStyles(['#',mod,'{font:0/0 a}#',mod,':after{content:"',smile,'";visibility:hidden;font:3px/1 a}'].join(''), function( node ) {
+          bool = node.offsetHeight >= 3;
+        });
+
+        return bool;
+    };
+
+
+
+    // These tests evaluate support of the video/audio elements, as well as
+    // testing what types of content they support.
+    //
+    // We're using the Boolean constructor here, so that we can extend the value
+    // e.g.  Modernizr.video     // true
+    //       Modernizr.video.ogg // 'probably'
+    //
+    // Codec values from : github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845
+    //                     thx to NielsLeenheer and zcorpan
+
+    // Note: in some older browsers, "no" was a return value instead of empty string.
+    //   It was live in FF3.5.0 and 3.5.1, but fixed in 3.5.2
+    //   It was also live in Safari 4.0.0 - 4.0.4, but fixed in 4.0.5
+
+    tests['video'] = function() {
+        var elem = document.createElement('video'),
+            bool = false;
+
+        // IE9 Running on Windows Server SKU can cause an exception to be thrown, bug #224
+        try {
+            if ( bool = !!elem.canPlayType ) {
+                bool      = new Boolean(bool);
+                bool.ogg  = elem.canPlayType('video/ogg; codecs="theora"')      .replace(/^no$/,'');
+
+                // Without QuickTime, this value will be `undefined`. github.com/Modernizr/Modernizr/issues/546
+                bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,'');
+
+                bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,'');
+            }
+
+        } catch(e) { }
+
+        return bool;
+    };
+
+    tests['audio'] = function() {
+        var elem = document.createElement('audio'),
+            bool = false;
+
+        try {
+            if ( bool = !!elem.canPlayType ) {
+                bool      = new Boolean(bool);
+                bool.ogg  = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,'');
+                bool.mp3  = elem.canPlayType('audio/mpeg;')               .replace(/^no$/,'');
+
+                // Mimetypes accepted:
+                //   developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements
+                //   bit.ly/iphoneoscodecs
+                bool.wav  = elem.canPlayType('audio/wav; codecs="1"')     .replace(/^no$/,'');
+                bool.m4a  = ( elem.canPlayType('audio/x-m4a;')            ||
+                              elem.canPlayType('audio/aac;'))             .replace(/^no$/,'');
+            }
+        } catch(e) { }
+
+        return bool;
+    };
+
+
+    // In FF4, if disabled, window.localStorage should === null.
+
+    // Normally, we could not test that directly and need to do a
+    //   `('localStorage' in window) && ` test first because otherwise Firefox will
+    //   throw bugzil.la/365772 if cookies are disabled
+
+    // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem
+    // will throw the exception:
+    //   QUOTA_EXCEEDED_ERRROR DOM Exception 22.
+    // Peculiarly, getItem and removeItem calls do not throw.
+
+    // Because we are forced to try/catch this, we'll go aggressive.
+
+    // Just FWIW: IE8 Compat mode supports these features completely:
+    //   www.quirksmode.org/dom/html5.html
+    // But IE8 doesn't support either with local files
+
+    tests['localstorage'] = function() {
+        try {
+            localStorage.setItem(mod, mod);
+            localStorage.removeItem(mod);
+            return true;
+        } catch(e) {
+            return false;
+        }
+    };
+
+    tests['sessionstorage'] = function() {
+        try {
+            sessionStorage.setItem(mod, mod);
+            sessionStorage.removeItem(mod);
+            return true;
+        } catch(e) {
+            return false;
+        }
+    };
+
+
+    tests['webworkers'] = function() {
+        return !!window.Worker;
+    };
+
+
+    tests['applicationcache'] = function() {
+        return !!window.applicationCache;
+    };
+
+
+    // Thanks to Erik Dahlstrom
+    tests['svg'] = function() {
+        return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect;
+    };
+
+    // specifically for SVG inline in HTML, not within XHTML
+    // test page: paulirish.com/demo/inline-svg
+    tests['inlinesvg'] = function() {
+      var div = document.createElement('div');
+      div.innerHTML = '<svg/>';
+      return (div.firstChild && div.firstChild.namespaceURI) == ns.svg;
+    };
+
+    // SVG SMIL animation
+    tests['smil'] = function() {
+        return !!document.createElementNS && /SVGAnimate/.test(toString.call(document.createElementNS(ns.svg, 'animate')));
+    };
+
+    // This test is only for clip paths in SVG proper, not clip paths on HTML content
+    // demo: srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg
+
+    // However read the comments to dig into applying SVG clippaths to HTML content here:
+    //   github.com/Modernizr/Modernizr/issues/213#issuecomment-1149491
+    tests['svgclippaths'] = function() {
+        return !!document.createElementNS && /SVGClipPath/.test(toString.call(document.createElementNS(ns.svg, 'clipPath')));
+    };
+
+    /*>>webforms*/
+    // input features and input types go directly onto the ret object, bypassing the tests loop.
+    // Hold this guy to execute in a moment.
+    function webforms() {
+        /*>>input*/
+        // Run through HTML5's new input attributes to see if the UA understands any.
+        // We're using f which is the <input> element created early on
+        // Mike Taylr has created a comprehensive resource for testing these attributes
+        //   when applied to all input types:
+        //   miketaylr.com/code/input-type-attr.html
+        // spec: www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary
+
+        // Only input placeholder is tested while textarea's placeholder is not.
+        // Currently Safari 4 and Opera 11 have support only for the input placeholder
+        // Both tests are available in feature-detects/forms-placeholder.js
+        Modernizr['input'] = (function( props ) {
+            for ( var i = 0, len = props.length; i < len; i++ ) {
+                attrs[ props[i] ] = !!(props[i] in inputElem);
+            }
+            if (attrs.list){
+              // safari false positive's on datalist: webk.it/74252
+              // see also github.com/Modernizr/Modernizr/issues/146
+              attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement);
+            }
+            return attrs;
+        })('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' '));
+        /*>>input*/
+
+        /*>>inputtypes*/
+        // Run through HTML5's new input types to see if the UA understands any.
+        //   This is put behind the tests runloop because it doesn't return a
+        //   true/false like all the other tests; instead, it returns an object
+        //   containing each input type with its corresponding true/false value
+
+        // Big thanks to @miketaylr for the html5 forms expertise. miketaylr.com/
+        Modernizr['inputtypes'] = (function(props) {
+
+            for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) {
+
+                inputElem.setAttribute('type', inputElemType = props[i]);
+                bool = inputElem.type !== 'text';
+
+                // We first check to see if the type we give it sticks..
+                // If the type does, we feed it a textual value, which shouldn't be valid.
+                // If the value doesn't stick, we know there's input sanitization which infers a custom UI
+                if ( bool ) {
+
+                    inputElem.value         = smile;
+                    inputElem.style.cssText = 'position:absolute;visibility:hidden;';
+
+                    if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) {
+
+                      docElement.appendChild(inputElem);
+                      defaultView = document.defaultView;
+
+                      // Safari 2-4 allows the smiley as a value, despite making a slider
+                      bool =  defaultView.getComputedStyle &&
+                              defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' &&
+                              // Mobile android web browser has false positive, so must
+                              // check the height to see if the widget is actually there.
+                              (inputElem.offsetHeight !== 0);
+
+                      docElement.removeChild(inputElem);
+
+                    } else if ( /^(search|tel)$/.test(inputElemType) ){
+                      // Spec doesn't define any special parsing or detectable UI
+                      //   behaviors so we pass these through as true
+
+                      // Interestingly, opera fails the earlier test, so it doesn't
+                      //  even make it here.
+
+                    } else if ( /^(url|email)$/.test(inputElemType) ) {
+                      // Real url and email support comes with prebaked validation.
+                      bool = inputElem.checkValidity && inputElem.checkValidity() === false;
+
+                    } else {
+                      // If the upgraded input compontent rejects the :) text, we got a winner
+                      bool = inputElem.value != smile;
+                    }
+                }
+
+                inputs[ props[i] ] = !!bool;
+            }
+            return inputs;
+        })('search tel url email datetime date month week time datetime-local number range color'.split(' '));
+        /*>>inputtypes*/
+    }
+    /*>>webforms*/
+
+
+    // End of test definitions
+    // -----------------------
+
+
+
+    // Run through all tests and detect their support in the current UA.
+    // todo: hypothetically we could be doing an array of tests and use a basic loop here.
+    for ( var feature in tests ) {
+        if ( hasOwnProp(tests, feature) ) {
+            // run the test, throw the return value into the Modernizr,
+            //   then based on that boolean, define an appropriate className
+            //   and push it into an array of classes we'll join later.
+            featureName  = feature.toLowerCase();
+            Modernizr[featureName] = tests[feature]();
+
+            classes.push((Modernizr[featureName] ? '' : 'no-') + featureName);
+        }
+    }
+
+    /*>>webforms*/
+    // input tests need to run.
+    Modernizr.input || webforms();
+    /*>>webforms*/
+
+
+    /**
+     * addTest allows the user to define their own feature tests
+     * the result will be added onto the Modernizr object,
+     * as well as an appropriate className set on the html element
+     *
+     * @param feature - String naming the feature
+     * @param test - Function returning true if feature is supported, false if not
+     */
+     Modernizr.addTest = function ( feature, test ) {
+       if ( typeof feature == 'object' ) {
+         for ( var key in feature ) {
+           if ( hasOwnProp( feature, key ) ) {
+             Modernizr.addTest( key, feature[ key ] );
+           }
+         }
+       } else {
+
+         feature = feature.toLowerCase();
+
+         if ( Modernizr[feature] !== undefined ) {
+           // we're going to quit if you're trying to overwrite an existing test
+           // if we were to allow it, we'd do this:
+           //   var re = new RegExp("\\b(no-)?" + feature + "\\b");
+           //   docElement.className = docElement.className.replace( re, '' );
+           // but, no rly, stuff 'em.
+           return Modernizr;
+         }
+
+         test = typeof test == 'function' ? test() : test;
+
+         if (typeof enableClasses !== "undefined" && enableClasses) {
+           docElement.className += ' ' + (test ? '' : 'no-') + feature;
+         }
+         Modernizr[feature] = test;
+
+       }
+
+       return Modernizr; // allow chaining.
+     };
+
+
+    // Reset modElem.cssText to nothing to reduce memory footprint.
+    setCss('');
+    modElem = inputElem = null;
+
+    /*>>shiv*/
+    /**
+     * @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+     */
+    ;(function(window, document) {
+        /*jshint evil:true */
+        /** version */
+        var version = '3.7.0';
+
+        /** Preset options */
+        var options = window.html5 || {};
+
+        /** Used to skip problem elements */
+        var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
+
+        /** Not all elements can be cloned in IE **/
+        var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
+
+        /** Detect whether the browser supports default html5 styles */
+        var supportsHtml5Styles;
+
+        /** Name of the expando, to work with multiple documents or to re-shiv one document */
+        var expando = '_html5shiv';
+
+        /** The id for the the documents expando */
+        var expanID = 0;
+
+        /** Cached data for each document */
+        var expandoData = {};
+
+        /** Detect whether the browser supports unknown elements */
+        var supportsUnknownElements;
+
+        (function() {
+          try {
+            var a = document.createElement('a');
+            a.innerHTML = '<xyz></xyz>';
+            //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
+            supportsHtml5Styles = ('hidden' in a);
+
+            supportsUnknownElements = a.childNodes.length == 1 || (function() {
+              // assign a false positive if unable to shiv
+              (document.createElement)('a');
+              var frag = document.createDocumentFragment();
+              return (
+                typeof frag.cloneNode == 'undefined' ||
+                typeof frag.createDocumentFragment == 'undefined' ||
+                typeof frag.createElement == 'undefined'
+              );
+            }());
+          } catch(e) {
+            // assign a false positive if detection fails => unable to shiv
+            supportsHtml5Styles = true;
+            supportsUnknownElements = true;
+          }
+
+        }());
+
+        /*--------------------------------------------------------------------------*/
+
+        /**
+         * Creates a style sheet with the given CSS text and adds it to the document.
+         * @private
+         * @param {Document} ownerDocument The document.
+         * @param {String} cssText The CSS text.
+         * @returns {StyleSheet} The style element.
+         */
+        function addStyleSheet(ownerDocument, cssText) {
+          var p = ownerDocument.createElement('p'),
+          parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
+
+          p.innerHTML = 'x<style>' + cssText + '</style>';
+          return parent.insertBefore(p.lastChild, parent.firstChild);
+        }
+
+        /**
+         * Returns the value of `html5.elements` as an array.
+         * @private
+         * @returns {Array} An array of shived element node names.
+         */
+        function getElements() {
+          var elements = html5.elements;
+          return typeof elements == 'string' ? elements.split(' ') : elements;
+        }
+
+        /**
+         * Returns the data associated to the given document
+         * @private
+         * @param {Document} ownerDocument The document.
+         * @returns {Object} An object of data.
+         */
+        function getExpandoData(ownerDocument) {
+          var data = expandoData[ownerDocument[expando]];
+          if (!data) {
+            data = {};
+            expanID++;
+            ownerDocument[expando] = expanID;
+            expandoData[expanID] = data;
+          }
+          return data;
+        }
+
+        /**
+         * returns a shived element for the given nodeName and document
+         * @memberOf html5
+         * @param {String} nodeName name of the element
+         * @param {Document} ownerDocument The context document.
+         * @returns {Object} The shived element.
+         */
+        function createElement(nodeName, ownerDocument, data){
+          if (!ownerDocument) {
+            ownerDocument = document;
+          }
+          if(supportsUnknownElements){
+            return ownerDocument.createElement(nodeName);
+          }
+          if (!data) {
+            data = getExpandoData(ownerDocument);
+          }
+          var node;
+
+          if (data.cache[nodeName]) {
+            node = data.cache[nodeName].cloneNode();
+          } else if (saveClones.test(nodeName)) {
+            node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
+          } else {
+            node = data.createElem(nodeName);
+          }
+
+          // Avoid adding some elements to fragments in IE < 9 because
+          // * Attributes like `name` or `type` cannot be set/changed once an element
+          //   is inserted into a document/fragment
+          // * Link elements with `src` attributes that are inaccessible, as with
+          //   a 403 response, will cause the tab/window to crash
+          // * Script elements appended to fragments will execute when their `src`
+          //   or `text` property is set
+          return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
+        }
+
+        /**
+         * returns a shived DocumentFragment for the given document
+         * @memberOf html5
+         * @param {Document} ownerDocument The context document.
+         * @returns {Object} The shived DocumentFragment.
+         */
+        function createDocumentFragment(ownerDocument, data){
+          if (!ownerDocument) {
+            ownerDocument = document;
+          }
+          if(supportsUnknownElements){
+            return ownerDocument.createDocumentFragment();
+          }
+          data = data || getExpandoData(ownerDocument);
+          var clone = data.frag.cloneNode(),
+          i = 0,
+          elems = getElements(),
+          l = elems.length;
+          for(;i<l;i++){
+            clone.createElement(elems[i]);
+          }
+          return clone;
+        }
+
+        /**
+         * Shivs the `createElement` and `createDocumentFragment` methods of the document.
+         * @private
+         * @param {Document|DocumentFragment} ownerDocument The document.
+         * @param {Object} data of the document.
+         */
+        function shivMethods(ownerDocument, data) {
+          if (!data.cache) {
+            data.cache = {};
+            data.createElem = ownerDocument.createElement;
+            data.createFrag = ownerDocument.createDocumentFragment;
+            data.frag = data.createFrag();
+          }
+
+
+          ownerDocument.createElement = function(nodeName) {
+            //abort shiv
+            if (!html5.shivMethods) {
+              return data.createElem(nodeName);
+            }
+            return createElement(nodeName, ownerDocument, data);
+          };
+
+          ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
+                                                          'var n=f.cloneNode(),c=n.createElement;' +
+                                                          'h.shivMethods&&(' +
+                                                          // unroll the `createElement` calls
+                                                          getElements().join().replace(/[\w\-]+/g, function(nodeName) {
+            data.createElem(nodeName);
+            data.frag.createElement(nodeName);
+            return 'c("' + nodeName + '")';
+          }) +
+            ');return n}'
+                                                         )(html5, data.frag);
+        }
+
+        /*--------------------------------------------------------------------------*/
+
+        /**
+         * Shivs the given document.
+         * @memberOf html5
+         * @param {Document} ownerDocument The document to shiv.
+         * @returns {Document} The shived document.
+         */
+        function shivDocument(ownerDocument) {
+          if (!ownerDocument) {
+            ownerDocument = document;
+          }
+          var data = getExpandoData(ownerDocument);
+
+          if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
+            data.hasCSS = !!addStyleSheet(ownerDocument,
+                                          // corrects block display not defined in IE6/7/8/9
+                                          'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
+                                            // adds styling not present in IE6/7/8/9
+                                            'mark{background:#FF0;color:#000}' +
+                                            // hides non-rendered elements
+                                            'template{display:none}'
+                                         );
+          }
+          if (!supportsUnknownElements) {
+            shivMethods(ownerDocument, data);
+          }
+          return ownerDocument;
+        }
+
+        /*--------------------------------------------------------------------------*/
+
+        /**
+         * The `html5` object is exposed so that more elements can be shived and
+         * existing shiving can be detected on iframes.
+         * @type Object
+         * @example
+         *
+         * // options can be changed before the script is included
+         * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
+         */
+        var html5 = {
+
+          /**
+           * An array or space separated string of node names of the elements to shiv.
+           * @memberOf html5
+           * @type Array|String
+           */
+          'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video',
+
+          /**
+           * current version of html5shiv
+           */
+          'version': version,
+
+          /**
+           * A flag to indicate that the HTML5 style sheet should be inserted.
+           * @memberOf html5
+           * @type Boolean
+           */
+          'shivCSS': (options.shivCSS !== false),
+
+          /**
+           * Is equal to true if a browser supports creating unknown/HTML5 elements
+           * @memberOf html5
+           * @type boolean
+           */
+          'supportsUnknownElements': supportsUnknownElements,
+
+          /**
+           * A flag to indicate that the document's `createElement` and `createDocumentFragment`
+           * methods should be overwritten.
+           * @memberOf html5
+           * @type Boolean
+           */
+          'shivMethods': (options.shivMethods !== false),
+
+          /**
+           * A string to describe the type of `html5` object ("default" or "default print").
+           * @memberOf html5
+           * @type String
+           */
+          'type': 'default',
+
+          // shivs the document according to the specified `html5` object options
+          'shivDocument': shivDocument,
+
+          //creates a shived element
+          createElement: createElement,
+
+          //creates a shived documentFragment
+          createDocumentFragment: createDocumentFragment
+        };
+
+        /*--------------------------------------------------------------------------*/
+
+        // expose html5
+        window.html5 = html5;
+
+        // shiv the document
+        shivDocument(document);
+
+    }(this, document));
+    /*>>shiv*/
+
+    // Assign private properties to the return object with prefix
+    Modernizr._version      = version;
+
+    // expose these for the plugin API. Look in the source for how to join() them against your input
+    /*>>prefixes*/
+    Modernizr._prefixes     = prefixes;
+    /*>>prefixes*/
+    /*>>domprefixes*/
+    Modernizr._domPrefixes  = domPrefixes;
+    Modernizr._cssomPrefixes  = cssomPrefixes;
+    /*>>domprefixes*/
+
+    /*>>mq*/
+    // Modernizr.mq tests a given media query, live against the current state of the window
+    // A few important notes:
+    //   * If a browser does not support media queries at all (eg. oldIE) the mq() will always return false
+    //   * A max-width or orientation query will be evaluated against the current state, which may change later.
+    //   * You must specify values. Eg. If you are testing support for the min-width media query use:
+    //       Modernizr.mq('(min-width:0)')
+    // usage:
+    // Modernizr.mq('only screen and (max-width:768)')
+    Modernizr.mq            = testMediaQuery;
+    /*>>mq*/
+
+    /*>>hasevent*/
+    // Modernizr.hasEvent() detects support for a given event, with an optional element to test on
+    // Modernizr.hasEvent('gesturestart', elem)
+    Modernizr.hasEvent      = isEventSupported;
+    /*>>hasevent*/
+
+    /*>>testprop*/
+    // Modernizr.testProp() investigates whether a given style property is recognized
+    // Note that the property names must be provided in the camelCase variant.
+    // Modernizr.testProp('pointerEvents')
+    Modernizr.testProp      = function(prop){
+        return testProps([prop]);
+    };
+    /*>>testprop*/
+
+    /*>>testallprops*/
+    // Modernizr.testAllProps() investigates whether a given style property,
+    //   or any of its vendor-prefixed variants, is recognized
+    // Note that the property names must be provided in the camelCase variant.
+    // Modernizr.testAllProps('boxSizing')
+    Modernizr.testAllProps  = testPropsAll;
+    /*>>testallprops*/
+
+
+    /*>>teststyles*/
+    // Modernizr.testStyles() allows you to add custom styles to the document and test an element afterwards
+    // Modernizr.testStyles('#modernizr { position:absolute }', function(elem, rule){ ... })
+    Modernizr.testStyles    = injectElementWithStyles;
+    /*>>teststyles*/
+
+
+    /*>>prefixed*/
+    // Modernizr.prefixed() returns the prefixed or nonprefixed property name variant of your input
+    // Modernizr.prefixed('boxSizing') // 'MozBoxSizing'
+
+    // Properties must be passed as dom-style camelcase, rather than `box-sizing` hypentated style.
+    // Return values will also be the camelCase variant, if you need to translate that to hypenated style use:
+    //
+    //     str.replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-');
+
+    // If you're trying to ascertain which transition end event to bind to, you might do something like...
+    //
+    //     var transEndEventNames = {
+    //       'WebkitTransition' : 'webkitTransitionEnd',
+    //       'MozTransition'    : 'transitionend',
+    //       'OTransition'      : 'oTransitionEnd',
+    //       'msTransition'     : 'MSTransitionEnd',
+    //       'transition'       : 'transitionend'
+    //     },
+    //     transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ];
+
+    Modernizr.prefixed      = function(prop, obj, elem){
+      if(!obj) {
+        return testPropsAll(prop, 'pfx');
+      } else {
+        // Testing DOM property e.g. Modernizr.prefixed('requestAnimationFrame', window) // 'mozRequestAnimationFrame'
+        return testPropsAll(prop, obj, elem);
+      }
+    };
+    /*>>prefixed*/
+
+
+    /*>>cssclasses*/
+    // Remove "no-js" class from <html> element, if it exists:
+    docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') +
+
+                            // Add the new classes to the <html> element.
+                            (enableClasses ? ' js ' + classes.join(' ') : '');
+    /*>>cssclasses*/
+
+    return Modernizr;
+
+})(this, this.document);
diff --git a/dev/js/modernizr/modernizr.min.js b/dev/js/modernizr/modernizr.min.js
new file mode 100644 (file)
index 0000000..6d551f1
--- /dev/null
@@ -0,0 +1 @@
+window.Modernizr=function(a,b,c){function d(a){t.cssText=a}function e(a,b){return d(x.join(a+";")+(b||""))}function f(a,b){return typeof a===b}function g(a,b){return!!~(""+a).indexOf(b)}function h(a,b){for(var d in a){var e=a[d];if(!g(e,"-")&&t[e]!==c)return"pfx"!=b||e}return!1}function i(a,b,d){for(var e in a){var g=b[a[e]];if(g!==c)return!1===d?a[e]:f(g,"function")?g.bind(d||b):g}return!1}function j(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+z.join(d+" ")+d).split(" ");return f(b,"string")||f(b,"undefined")?h(e,b):(e=(a+" "+A.join(d+" ")+d).split(" "),i(e,b,c))}function k(){o.input=function(c){for(var d=0,e=c.length;d<e;d++)E[c[d]]=!!(c[d]in u);return E.list&&(E.list=!(!b.createElement("datalist")||!a.HTMLDataListElement)),E}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),o.inputtypes=function(a){for(var d,e,f,g=0,h=a.length;g<h;g++)u.setAttribute("type",e=a[g]),d="text"!==u.type,d&&(u.value=v,u.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(e)&&u.style.WebkitAppearance!==c?(q.appendChild(u),f=b.defaultView,d=f.getComputedStyle&&"textfield"!==f.getComputedStyle(u,null).WebkitAppearance&&0!==u.offsetHeight,q.removeChild(u)):/^(search|tel)$/.test(e)||(d=/^(url|email)$/.test(e)?u.checkValidity&&!1===u.checkValidity():u.value!=v)),D[a[g]]=!!d;return D}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var l,m,n="2.8.3",o={},p=!0,q=b.documentElement,r="modernizr",s=b.createElement(r),t=s.style,u=b.createElement("input"),v=":)",w={}.toString,x=" -webkit- -moz- -o- -ms- ".split(" "),y="Webkit Moz O ms",z=y.split(" "),A=y.toLowerCase().split(" "),B={svg:"http://www.w3.org/2000/svg"},C={},D={},E={},F=[],G=F.slice,H=function(a,c,d,e){var f,g,h,i,j=b.createElement("div"),k=b.body,l=k||b.createElement("body");if(parseInt(d,10))for(;d--;)h=b.createElement("div"),h.id=e?e[d]:r+(d+1),j.appendChild(h);return f=["&#173;",'<style id="s',r,'">',a,"</style>"].join(""),j.id=r,(k?j:l).innerHTML+=f,l.appendChild(j),k||(l.style.background="",l.style.overflow="hidden",i=q.style.overflow,q.style.overflow="hidden",q.appendChild(l)),g=c(j,a),k?j.parentNode.removeChild(j):(l.parentNode.removeChild(l),q.style.overflow=i),!!g},I=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b)&&c(b).matches||!1;var d;return H("@media "+b+" { #"+r+" { position: absolute; } }",function(b){d="absolute"==(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position}),d},J=function(){function a(a,e){e=e||b.createElement(d[a]||"div"),a="on"+a;var g=a in e;return g||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(a,""),g=f(e[a],"function"),f(e[a],"undefined")||(e[a]=c),e.removeAttribute(a))),e=null,g}var d={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return a}(),K={}.hasOwnProperty;m=f(K,"undefined")||f(K.call,"undefined")?function(a,b){return b in a&&f(a.constructor.prototype[b],"undefined")}:function(a,b){return K.call(a,b)},Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError;var c=G.call(arguments,1),d=function(){if(this instanceof d){var e=function(){};e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(G.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(G.call(arguments)))};return d}),C.flexbox=function(){return j("flexWrap")},C.flexboxlegacy=function(){return j("boxDirection")},C.canvas=function(){var a=b.createElement("canvas");return!(!a.getContext||!a.getContext("2d"))},C.canvastext=function(){return!(!o.canvas||!f(b.createElement("canvas").getContext("2d").fillText,"function"))},C.webgl=function(){return!!a.WebGLRenderingContext},C.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:H(["@media (",x.join("touch-enabled),("),r,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=9===a.offsetTop}),c},C.geolocation=function(){return"geolocation"in navigator},C.postmessage=function(){return!!a.postMessage},C.websqldatabase=function(){return!!a.openDatabase},C.indexedDB=function(){return!!j("indexedDB",a)},C.hashchange=function(){return J("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},C.history=function(){return!(!a.history||!history.pushState)},C.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},C.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},C.rgba=function(){return d("background-color:rgba(150,255,150,.5)"),g(t.backgroundColor,"rgba")},C.hsla=function(){return d("background-color:hsla(120,40%,100%,.5)"),g(t.backgroundColor,"rgba")||g(t.backgroundColor,"hsla")},C.multiplebgs=function(){return d("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(t.background)},C.backgroundsize=function(){return j("backgroundSize")},C.borderimage=function(){return j("borderImage")},C.borderradius=function(){return j("borderRadius")},C.boxshadow=function(){return j("boxShadow")},C.textshadow=function(){return""===b.createElement("div").style.textShadow},C.opacity=function(){return e("opacity:.55"),/^0.55$/.test(t.opacity)},C.cssanimations=function(){return j("animationName")},C.csscolumns=function(){return j("columnCount")},C.cssgradients=function(){var a="background-image:";return d((a+"-webkit- ".split(" ").join("gradient(linear,left top,right bottom,from(#9f9),to(white));"+a)+x.join("linear-gradient(left top,#9f9, white);"+a)).slice(0,-a.length)),g(t.backgroundImage,"gradient")},C.cssreflections=function(){return j("boxReflect")},C.csstransforms=function(){return!!j("transform")},C.csstransforms3d=function(){var a=!!j("perspective");return a&&"webkitPerspective"in q.style&&H("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=9===b.offsetLeft&&3===b.offsetHeight}),a},C.csstransitions=function(){return j("transition")},C.fontface=function(){var a;return H('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&0===g.indexOf(d.split(" ")[0])}),a},C.generatedcontent=function(){var a;return H(["#",r,"{font:0/0 a}#",r,':after{content:"',v,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},C.video=function(){var a=b.createElement("video"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(a){}return c},C.audio=function(){var a=b.createElement("audio"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(a){}return c},C.localstorage=function(){try{return localStorage.setItem(r,r),localStorage.removeItem(r),!0}catch(a){return!1}},C.sessionstorage=function(){try{return sessionStorage.setItem(r,r),sessionStorage.removeItem(r),!0}catch(a){return!1}},C.webworkers=function(){return!!a.Worker},C.applicationcache=function(){return!!a.applicationCache},C.svg=function(){return!!b.createElementNS&&!!b.createElementNS(B.svg,"svg").createSVGRect},C.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==B.svg},C.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(w.call(b.createElementNS(B.svg,"animate")))},C.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(w.call(b.createElementNS(B.svg,"clipPath")))};for(var L in C)m(C,L)&&(l=L.toLowerCase(),o[l]=C[L](),F.push((o[l]?"":"no-")+l));return o.input||k(),o.addTest=function(a,b){if("object"==typeof a)for(var d in a)m(a,d)&&o.addTest(d,a[d]);else{if(a=a.toLowerCase(),o[a]!==c)return o;b="function"==typeof b?b():b,void 0!==p&&p&&(q.className+=" "+(b?"":"no-")+a),o[a]=b}return o},d(""),s=u=null,function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=s.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=r[a[p]];return b||(b={},q++,a[p]=q,r[q]=b),b}function f(a,c,d){if(c||(c=b),k)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():o.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!f.canHaveChildren||n.test(a)||f.tagUrn?f:d.frag.appendChild(f)}function g(a,c){if(a||(a=b),k)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;g<i;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(s,b.frag)}function i(a){a||(a=b);var d=e(a);return!s.shivCSS||j||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),k||h(a,d),a}var j,k,l="3.7.0",m=a.html5||{},n=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,o=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,p="_html5shiv",q=0,r={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",j="hidden"in a,k=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return void 0===a.cloneNode||void 0===a.createDocumentFragment||void 0===a.createElement}()}catch(a){j=!0,k=!0}}();var s={elements:m.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:l,shivCSS:!1!==m.shivCSS,supportsUnknownElements:k,shivMethods:!1!==m.shivMethods,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=s,i(b)}(this,b),o._version=n,o._prefixes=x,o._domPrefixes=A,o._cssomPrefixes=z,o.mq=I,o.hasEvent=J,o.testProp=function(a){return h([a])},o.testAllProps=j,o.testStyles=H,o.prefixed=function(a,b,c){return b?j(a,b,c):j(a,"pfx")},q.className=q.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(p?" js "+F.join(" "):""),o}(this,this.document);
\ No newline at end of file
diff --git a/dev/js/modernizr/test/caniuse_files/ga.js b/dev/js/modernizr/test/caniuse_files/ga.js
new file mode 100644 (file)
index 0000000..76a01b0
--- /dev/null
@@ -0,0 +1,43 @@
+(function(){var k=void 0,aa=encodeURIComponent,l=String,o=Math,ba="push",ca="cookie",p="charAt",q="indexOf",da="getTime",r="toString",t="window",v="length",w="document",x="split",y="location",ea="protocol",fa="href",z="substring",A="join",C="toLowerCase";var ga="_gat",ha="_gaq",ia="4.9.4",ja="_gaUserPrefs",ka="ioo",D="&",E="=",F="__utma=",H="__utmb=",la="__utmc=",ma="__utmk=",I="__utmv=",J="__utmz=",na="__utmx=",oa="GASO=";var pa=function(){var d=this,f=[],b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";d.set=function(b){f[b]=!0};d.Sc=function(){for(var d=[],e=0;e<f[v];e++)f[e]&&(d[o.floor(e/6)]^=1<<e%6);for(e=0;e<d[v];e++)d[e]=b[p](d[e]||0);return d[A]("")+"~"}},qa=new pa;function K(d){qa.set(d)};var ra=function(d,f){var b=this;b.window=d;b.document=f;b.setTimeout=function(b,e){setTimeout(b,e)};b.Jb=function(b){return navigator.userAgent[q](b)>=0};b.Xc=function(){return b.Jb("Firefox")&&![].reduce};b.Vc=function(){return L[t][ja]};b.Gc=function(){return L[t].external};b.Hc=function(){return L[t].performance||L[t].webkitPerformance};b.Ic=function(){return L[t].top==L[t]};b.Ya=function(b){var e=L[t]&&L[t].gaGlobal;if(b&&!e)e={},L[t].gaGlobal=e;return e};b.ec=function(b){L[w][y].href=b};b.qb=
+function(d){if(!d||!b.Jb("Firefox"))return d;for(var d=d.replace(/\n|\r/g," "),e=0,f=d[v];e<f;++e){var g=d.charCodeAt(e)&255;if(g==10||g==13)d=d[z](0,e)+"?"+d[z](e+1)}return d}},L=new ra(window,document);var sa=function(d){return function(f,b,h){d[f]=function(){K(b);return h.apply(d,arguments)};return h}},ta=function(d,f,b,h){d.addEventListener?d.addEventListener(f,b,!!h):d.attachEvent&&d.attachEvent("on"+f,b)},ua=function(d){return Object.prototype[r].call(Object(d))=="[object Array]"},M=function(d){return k==d||"-"==d||""==d},N=function(d,f,b){var h="-",e;!M(d)&&!M(f)&&!M(b)&&(e=d[q](f),e>-1&&(b=d[q](b,e),b<0&&(b=d[v]),h=d[z](e+f[q](E)+1,b)));return h},xa=function(d){var f=!1,b=0,h,e;if(!M(d)){f=
+!0;for(h=0;h<d[v];h++)e=d[p](h),b+="."==e?1:0,f=f&&b<=1&&(0==h&&"-"==e||".0123456789"[q](e)>-1)}return f},P=function(d,f){var b=aa;return b instanceof Function?f?encodeURI(d):b(d):(K(68),escape(d))},Q=function(d,f){var b=decodeURIComponent,h,d=d[x]("+")[A](" ");if(b instanceof Function)try{h=f?decodeURI(d):b(d)}catch(e){K(17),h=unescape(d)}else K(68),h=unescape(d);return h},R=function(d,f){return d[q](f)>-1};
+function ya(d){if(!d||""==d)return"";for(;d[p](0)[v]>0&&" \n\r\t"[q](d[p](0))>-1;)d=d[z](1);for(;d[p](d[v]-1)[v]>0&&" \n\r\t"[q](d[p](d[v]-1))>-1;)d=d[z](0,d[v]-1);return d}var T=function(d,f){d[ba]||K(94);d[d[v]]=f},za=function(d){var f=1,b=0,h;if(!M(d)){f=0;for(h=d[v]-1;h>=0;h--)b=d.charCodeAt(h),f=(f<<6&268435455)+b+(b<<14),b=f&266338304,f=b!=0?f^b>>21:f}return f},Aa=function(){return o.round(o.random()*2147483647)},Ba=function(){};var Ca=function(d,f){this.ib=d;this.jb=f},Da=function(){function d(b){for(var d=[],b=b[x](","),e,f=0;f<b[v];f++)e=b[f][x](":"),d[ba](new Ca(e[0],e[1]));return d}var f=this;f.Ca="utm_campaign";f.Da="utm_content";f.Ea="utm_id";f.Fa="utm_medium";f.Ga="utm_nooverride";f.Ha="utm_source";f.Ia="utm_term";f.Ja="gclid";f.vc="dclid";f.U=0;f.w=0;f.La=15768E6;f.Ma=18E5;f.s=63072E6;f.V=[];f.W=[];f.wc="cse";f.xc="q";f.Ta=50;f.J=d("daum:q,eniro:search_word,naver:query,pchome:q,images.google:q,google:q,yahoo:p,yahoo:q,msn:q,bing:q,aol:query,aol:encquery,aol:q,lycos:query,ask:q,altavista:q,netscape:query,cnn:query,about:terms,mamma:q,alltheweb:q,voila:rdata,virgilio:qs,live:q,baidu:wd,alice:qs,yandex:text,najdi:q,mama:query,seznam:q,search:q,wp:szukaj,onet:qt,szukacz:q,yam:k,kvasir:q,sesam:q,ozu:q,terra:query,mynet:q,ekolay:q,rambler:query,rambler:words");
+f.f="/";f.L=100;f.ga="/__utm.gif";f.la=1;f.ma=1;f.u="|";f.ka=1;f.Ka=1;f.Ua=1;f.b="auto";f.B=1;f.Wb=10;f.zc=10;f.Ac=0.2;f.o=k};var Ea=function(d){function f(a,c,b,j){var i="",d=0,i=N(a,"2"+c,";");if(!M(i)){a=i[q]("^"+b+".");if(a<0)return["",0];i=i[z](a+b[v]+2);i[q]("^")>0&&(i=i[x]("^")[0]);b=i[x](":");i=b[1];d=parseInt(b[0],10);!j&&d<e.m&&(i="")}M(i)&&(i="");return[i,d]}function b(a,c){return"^"+[[c,a[1]][A]("."),a[0]][A](":")}function h(a){var c=new Date,a=new Date(c[da]()+a);return"expires="+a.toGMTString()+"; "}var e=this,m=d;e.m=(new Date)[da]();var g=[F,H,la,J,I,na,oa];e.g=function(){var a=L[w][ca];return m.o?e.Nc(a,
+m.o):a};e.Nc=function(a,c){for(var b=[],j,i=0;i<g[v];i++)j=f(a,g[i],c)[0],M(j)||(b[b[v]]=g[i]+j+";");return b[A]("")};e.l=function(a,c,b){var j=b>0?h(b):"";m.o&&(c=e.Oc(L[w][ca],a,m.o,c,b),a="2"+a,j=b>0?h(m.s):"");a+=c;a=L.qb(a);a[v]>2E3&&(K(69),a=a[z](0,2E3));j=a+"; path="+m.f+"; "+j+e.hb();if(!V.pb())L[w].cookie=j};e.Oc=function(a,c,d,j,i){var g="",i=i||m.s,j=b([j,e.m+i*1],d),g=N(a,"2"+c,";");if(!M(g))return a=b(f(a,c,d,!0),d),g=g[x](a)[A](""),g=j+g;return j};e.hb=function(){return M(m.b)?"":"domain="+
+m.b+";"}};var Fa=function(d){function f(a){a=ua(a)?a[A]("."):"";return M(a)?"-":a}function b(a,c){var n=[],b;if(!M(a)&&(n=a[x]("."),c))for(b=0;b<n[v];b++)xa(n[b])||(n[b]="-");return n}function h(a,c,n){var b=i.I,j,d;for(j=0;j<b[v];j++)d=b[j][0],d+=M(c)?c:c+b[j][4],b[j][2](N(a,d,n))}var e,m,g,a,c,u,j,i=this,s,n=d;i.i=new Ea(d);i.Ba=function(){return k==s||s==i.K()};i.g=function(){return i.i.g()};i.ea=function(){return c?c:"-"};i.Pa=function(a){c=a};i.fa=function(a){s=xa(a)?a*1:"-"};i.da=function(){return f(u)};
+i.X=function(a){u=b(a)};i.yc=function(){i.i.l(I,"",-1)};i.Rb=function(){return s?s:"-"};i.hb=function(){return M(n.b)?"":"domain="+n.b+";"};i.ba=function(){return f(e)};i.Na=function(a){e=b(a,1)};i.z=function(){return f(m)};i.$=function(a){m=b(a,1)};i.ca=function(){return f(g)};i.Oa=function(a){g=b(a,1)};i.qa=function(){return f(a)};i.ra=function(c){a=b(c);for(c=0;c<a[v];c++)c<4&&!xa(a[c])&&(a[c]="-")};i.Fc=function(){return j};i.Dc=function(a){j=a};i.Qb=function(){e=[];m=[];g=[];a=[];c=k;u=[];s=
+k};i.K=function(){for(var a="",c=0;c<i.I[v];c++)a+=i.I[c][1]();return za(a)};i.Z=function(a){var c=i.g(),n=!1;c&&(h(c,a,";"),i.fa(l(i.K())),n=!0);return n};i.Sb=function(a){h(a,"",D);i.fa(N(a,ma,D))};i.Tb=function(){var a=i.I,c=[],n;for(n=0;n<a[v];n++)T(c,a[n][0]+a[n][1]());T(c,ma+i.K());return c[A](D)};i.Ub=function(a,c){var b=i.I,j=n.f;i.Z(a);n.f=c;for(var d=0;d<b[v];d++)if(!M(b[d][1]()))b[d][3]();n.f=j};i.Qa=function(){i.i.l(F,i.ba(),n.s)};i.aa=function(){i.i.l(H,i.z(),n.Ma)};i.Ra=function(){i.i.l(la,
+i.ca(),0)};i.sa=function(){i.i.l(J,i.qa(),n.La)};i.Sa=function(){i.i.l(na,i.ea(),n.s)};i.Y=function(){i.i.l(I,i.da(),n.s)};i.Ec=function(){i.i.l(oa,i.Fc(),0)};i.I=[[F,i.ba,i.Na,i.Qa,"."],[H,i.z,i.$,i.aa,""],[la,i.ca,i.Oa,i.Ra,""],[na,i.ea,i.Pa,i.Sa,""],[J,i.qa,i.ra,i.sa,"."],[I,i.da,i.X,i.Y,"."]]};var Ga="https:"==L[w][y][ea]?"https://ssl.google-analytics.com/":"http://www.google-analytics.com/",Ha=Ga+"p/__utm.gif",Ja=function(){var d=this;d.Bb=function(f,b,h,e,m){b[v]<=2036||m?d.Aa(f+"?"+b,e):b[v]<=8192?L.Xc()?d.Aa(f+"?"+h+"&err=ff2post&len="+b[v],e):d.fd(b,e):d.Aa(f+"?"+h+"&err=len&max=8192&len="+b[v],e)};d.Aa=function(d,b){var h=new Image(1,1);h.src=d;h.onload=function(){h.onload=null;(b||Ba)()}};d.fd=function(f,b){d.ed(f,b)||d.Ob(f,b)};d.ed=function(d,b){var h,e=L[t].XDomainRequest;if(e)h=
+new e,h.open("POST",Ha);else if(e=L[t].XMLHttpRequest)e=new e,"withCredentials"in e&&(h=e,h.open("POST",Ha,!0),h.setRequestHeader("Content-Type","text/plain"));if(h)return h.onreadystatechange=function(){h.readyState==4&&(b&&b(),h=null)},h.send(d),!0;return!1};d.Ob=function(f,b){var h=L[w];if(h.body){f=aa(f);try{var e=h.createElement('<iframe name="'+f+'"></iframe>')}catch(m){e=h.createElement("iframe"),e.name=f}e.height="0";e.width="0";e.style.display="none";e.style.visibility="hidden";var g=h[y],
+g=g[ea]+"//"+g.host+"/favicon.ico",g=Ga+"u/post_iframe.html#"+aa(g),a=function(){e.src="";e.parentNode&&e.parentNode.removeChild(e)};ta(L[t],"beforeunload",a);var c=!1,u=0,j=function(){if(!c){try{if(u>9||e.contentWindow[y].host==h[y].host){c=!0;a();var d=L[t],g="beforeunload",n=a;d.removeEventListener?d.removeEventListener(g,n,!1):d.detachEvent&&d.detachEvent("on"+g,n);b&&b();return}}catch(f){}u++;L.setTimeout(j,200)}};ta(e,"load",j);h.body.appendChild(e);e.src=g}else L.setTimeout(function(){d.Ob(f,
+b)},100)}};var Ka=function(d){var f=this,b=d,h=new Fa(b),e=null,m=!V.pb(),g=function(){};f.Uc=function(){return"https:"==L[w][y][ea]?"https://ssl.google-analytics.com/__utm.gif":"http://www.google-analytics.com/__utm.gif"};f.A=function(a,c,d,j,i,s){e||(e=new Ja);var n=b.B,O=L[w][y];h.Z(d);var B=h.z()[x](".");if(B[1]<500||j){if(i){var S=(new Date)[da](),X;X=(S-B[3])*(b.Ac/1E3);X>=1&&(B[2]=o.min(o.floor(B[2]*1+X),b.zc),B[3]=S)}if(j||!i||B[2]>=1){!j&&i&&(B[2]=B[2]*1-1);j=B[1]*1+1;B[1]=j;i="utmwv="+ia;S="&utms="+
+j;X="&utmn="+Aa();j=i+"e"+S+X;a=i+S+X+(M(O.hostname)?"":"&utmhn="+P(O.hostname))+(b.L==100?"":"&utmsp="+P(b.L))+a;if(0==n||2==n)O=2==n?g:s||g,m&&e.Bb(b.ga,a,j,O,!0);if(1==n||2==n)c="&utmac="+c,j+=c,a+=c+"&utmcc="+f.Tc(d),V.Ab&&(d="&aip=1",j+=d,a+=d),a+="&utmu="+qa.Sc(),m&&e.Bb(f.Uc(),a,j,s)}}h.$(B[A]("."));h.aa()};f.Tc=function(a){for(var c=[],b=[F,J,I,na],d=h.g(),i,g=0;g<b[v];g++)if(i=N(d,b[g]+a,";"),!M(i)){if(b[g]==I){i=i[x](a+".")[1][x]("|")[0];if(M(i))continue;i=a+"."+i}T(c,b[g]+i+";")}return P(c[A]("+"))}};var W=function(){var d=this;d.N=[];d.Va=function(f){for(var b,h=d.N,e=0;e<h[v];e++)b=f==h[e].q?h[e]:b;return b};d.Xb=function(f,b,h,e,m,g,a,c){var u=d.Va(f);k==u?(u=new W.Wc(f,b,h,e,m,g,a,c),T(d.N,u)):(u.tb=b,u.zb=h,u.yb=e,u.wb=m,u.ub=g,u.xb=a,u.vb=c);return u}};W.Qc=function(d,f,b,h,e,m){var g=this;g.Fb=d;g.va=f;g.n=b;g.Cb=h;g.Db=e;g.Eb=m;g.ha=function(){return"&"+["utmt=item","tid="+P(g.Fb),"ipc="+P(g.va),"ipn="+P(g.n),"iva="+P(g.Cb),"ipr="+P(g.Db),"iqt="+P(g.Eb)][A]("&utm")}};
+W.Wc=function(d,f,b,h,e,m,g,a){var c=this;c.q=d;c.tb=f;c.zb=b;c.yb=h;c.wb=e;c.ub=m;c.xb=g;c.vb=a;c.M=[];c.Vb=function(a,b,d,g,n){var e=c.Rc(a),f=c.q;k==e?T(c.M,new W.Qc(f,a,b,d,g,n)):(e.Fb=f,e.va=a,e.n=b,e.Cb=d,e.Db=g,e.Eb=n)};c.Rc=function(a){for(var b,d=c.M,g=0;g<d[v];g++)b=a==d[g].va?d[g]:b;return b};c.ha=function(){return"&"+["utmt=tran","id="+P(c.q),"st="+P(c.tb),"to="+P(c.zb),"tx="+P(c.yb),"sp="+P(c.wb),"ci="+P(c.ub),"rg="+P(c.xb),"co="+P(c.vb)][A]("&utmt")}};var La=function(d){function f(){var b,a,c;a="ShockwaveFlash";var d="$version",j=L[t].navigator;if((j=j?j.plugins:k)&&j[v]>0)for(b=0;b<j[v]&&!c;b++)a=j[b],R(a.name,"Shockwave Flash")&&(c=a.description[x]("Shockwave Flash ")[1]);else{a=a+"."+a;try{b=new ActiveXObject(a+".7"),c=b.GetVariable(d)}catch(e){}if(!c)try{b=new ActiveXObject(a+".6"),c="WIN 6,0,21,0",b.we="always",c=b.GetVariable(d)}catch(f){}if(!c)try{b=new ActiveXObject(a),c=b.GetVariable(d)}catch(n){}c&&(c=c[x](" ")[1][x](","),c=c[0]+"."+
+c[1]+" r"+c[2])}return c?c:h}var b=this,h="-",e=L[t].screen,m=L[t].navigator;b.Nb=e?e.width+"x"+e.height:h;b.Mb=e?e.colorDepth+"-bit":h;b.cd=P(L[w].characterSet?L[w].characterSet:L[w].charset?L[w].charset:h);b.Lb=(m&&m.language?m.language:m&&m.browserLanguage?m.browserLanguage:h)[C]();b.Kb=m&&m.javaEnabled()?1:0;b.dd=d?f():h;b.dc=function(){return D+"utm"+["cs="+P(b.cd),"sr="+b.Nb,"sc="+b.Mb,"ul="+b.Lb,"je="+b.Kb,"fl="+P(b.dd)][A]("&utm")};b.cc=function(){for(var d=L[t].navigator,a=L[t].history[v],
+d=d.appName+d.version+b.Lb+d.platform+d.userAgent+b.Kb+b.Nb+b.Mb+(L[w][ca]?L[w][ca]:"")+(L[w].referrer?L[w].referrer:""),c=d[v];a>0;)d+=a--^c++;return za(d)}};var Z=function(d,f,b,h){function e(a){var c="",c=a[x]("://")[1][C]();R(c,"/")&&(c=c[x]("/")[0]);return c}var m=h,g=this;g.a=d;g.ob=f;g.m=b;g.mb=function(a){var c=g.ua();return new Z.v(N(a,m.Ea+E,D),N(a,m.Ha+E,D),N(a,m.Ja+E,D),g.R(a,m.Ca,"(not set)"),g.R(a,m.Fa,"(not set)"),g.R(a,m.Ia,c&&!M(c.G)?Q(c.G):k),g.R(a,m.Da,k),N(a,m.vc+E,D))};g.nb=function(a){var c=e(a),b;b=a;var d="";b=b[x]("://")[1][C]();R(b,"/")&&(b=b[x]("/")[1],R(b,"?")&&(d=b[x]("?")[0]));b=d;if(R(c,"google")&&(a=a[x]("?")[A](D),R(a,D+
+m.xc+E)&&b==m.wc))return!0;return!1};g.ua=function(){var a,c=g.ob,b,d=m.J;if(!M(c)&&"0"!=c&&R(c,"://")&&!g.nb(c)){a=e(c);for(var i=0;i<d[v];i++)if(b=d[i],R(a,b.ib[C]())&&(c=c[x]("?")[A](D),R(c,D+b.jb+E)))return a=c[x](D+b.jb+E)[1],R(a,D)&&(a=a[x](D)[0]),new Z.v(k,b.ib,k,"(organic)","organic",a,k,k)}};g.R=function(a,c,b){a=N(a,c+E,D);return b=!M(a)?Q(a):!M(b)?b:"-"};g.Bc=function(a){var c=m.V,b=!1;if(a&&"organic"==a.P)for(var a=Q(a.G)[C](),d=0;d<c[v];d++)b=b||c[d][C]()==a;return b};g.lb=function(){var a=
+"",c="",a=g.ob;if(!M(a)&&"0"!=a&&R(a,"://")&&!g.nb(a))return a=a[x]("://")[1],R(a,"/")&&(c=a[z](a[q]("/")),c=c[x]("?")[0],a=a[x]("/")[0][C]()),0==a[q]("www.")&&(a=a[z](4)),new Z.v(k,a,k,"(referral)","referral",k,c,k)};g.kb=function(a){var c="";m.U&&(c=a&&a.hash?a[fa][z](a[fa][q]("#")):"",c=""!=c?c+D:c);c+=a.search;return c};g.ta=function(){return new Z.v(k,"(direct)",k,"(direct)","(none)",k,k,k)};g.Cc=function(a){var c=!1,b=m.W;if(a&&"referral"==a.P)for(var a=P(a.Q)[C](),d=0;d<b[v];d++)c=c||R(a,b[d][C]());
+return c};g.h=function(a){return k!=a&&a.fb()};g.te=function(a){var a=N(a,J+g.a+".",";"),c=a[x]("."),a=new Z.v;a.gb(c.slice(4)[A]("."));if(!g.h(a))return!0;c=L[w][y];c=g.kb(c);c=g.mb(c);g.h(c)||(c=g.ua(),g.h(c)||(c=g.lb()));return g.h(c)&&a.H()[C]()!=c.H()[C]()};g.Pb=function(a,c){if(m.Ka){var b="",d="-",e,f=0,n,h,B=g.a;if(a){h=a.g();b=g.kb(L[w][y]);if(m.w&&a.Ba()&&(d=Q(a.qa()),!M(d)&&!R(d,";"))){a.ra(d);a.sa();return}d=N(h,J+B+".",";");e=g.mb(b);if(g.h(e)&&(b=N(b,m.Ga+E,D),"1"==b&&!M(d)))return;
+if(!g.h(e)){e=g.ua();b=g.Bc(e);if(!M(d)&&b)return;b&&(e=g.ta())}if(!g.h(e)&&c){e=g.lb();b=g.Cc(e);if(!M(d)&&b)return;b&&(e=g.ta())}g.h(e)||M(d)&&c&&(e=g.ta());if(g.h(e)&&(M(d)||(f=d[x]("."),n=new Z.v,n.gb(f.slice(4)[A](".")),n=n.H()[C]()==e.H()[C](),f=f[3]*1),!n||c))h=N(h,F+B+".",";"),n=h.lastIndexOf("."),h=n>9?h[z](n+1)*1:0,f++,h=0==h?1:h,a.ra([B,g.m,h,f,e.H()][A](".")),a.sa()}}}};
+Z.v=function(d,f,b,h,e,m,g,a){var c=this;c.q=d;c.Q=f;c.ya=b;c.n=h;c.P=e;c.G=m;c.Gb=g;c.xa=a;c.H=function(){var a=[],b=[["cid",c.q],["csr",c.Q],["gclid",c.ya],["ccn",c.n],["cmd",c.P],["ctr",c.G],["cct",c.Gb],["dclid",c.xa]],d,e;if(c.fb())for(d=0;d<b[v];d++)M(b[d][1])||(e=b[d][1][x]("+")[A]("%20"),e=e[x](" ")[A]("%20"),T(a,"utm"+b[d][0]+E+e));return L.qb(a[A]("|"))};c.fb=function(){return!(M(c.q)&&M(c.Q)&&M(c.ya)&&M(c.xa))};c.gb=function(a){var b=function(b){return Q(N(a,"utm"+b+E,"|"))};c.q=b("cid");
+c.Q=b("csr");c.ya=b("gclid");c.n=b("ccn");c.P=b("cmd");c.G=b("ctr");c.Gb=b("cct");c.xa=b("dclid")}};var Ma=function(d,f,b,h){var e=this,m=f,g=E,a=d,c=h;e.S=b;e.wa="";e.r={};e.$b=function(){var a;a=N(e.S.g(),I+m+".",";")[x](m+".")[1];if(!M(a)){a=a[x]("|");var b=e.r,c=a[1],d;if(!M(c))for(var c=c[x](","),n=0;n<c[v];n++)d=c[n],M(d)||(d=d[x](g),d[v]==4&&(b[d[0]]=[Q(d[1]),Q(d[2]),1]));e.wa=Q(a[0]);e.T()}};e.T=function(){e.Pc();var a=P(e.wa),b,c,d="";for(b in e.r)(c=e.r[b])&&1===c[2]&&(d+=b+g+P(c[0])+g+P(c[1])+g+1+",");M(d)||(a+="|"+d);M(a)?e.S.yc():(e.S.X(m+"."+a),e.S.Y())};e.bc=function(a){e.wa=a;e.T()};
+e.ac=function(b,c,d,g){1!=g&&2!=g&&3!=g&&(g=3);var n=!1;if(c&&d&&b>0&&b<=a.Ta){var f=P(c),h=P(d);f[v]+h[v]<=64&&(e.r[b]=[c,d,g],e.T(),n=!0)}return n};e.Zb=function(a){if((a=e.r[a])&&1===a[2])return a[1]};e.Yb=function(a){var b=e.r;b[a]&&(delete b[a],e.T())};e.Pc=function(){c.t(8);c.t(9);c.t(11);var a=e.r,b,d;for(d in a)if(b=a[d])c.j(8,d,b[0]),c.j(9,d,b[1]),(b=b[2])&&3!=b&&c.j(11,d,""+b)}};var Na=function(){function d(a,b,c,d){k==g[a]&&(g[a]={});k==g[a][b]&&(g[a][b]=[]);g[a][b][c]=d}function f(a,b,c){if(k!=g[a]&&k!=g[a][b])return g[a][b][c]}function b(a,b){if(k!=g[a]&&k!=g[a][b]){g[a][b]=k;var c=!0,d;for(d=0;d<u[v];d++)if(k!=g[a][u[d]]){c=!1;break}c&&(g[a]=k)}}function h(a){var b="",c=!1,d,e;for(d=0;d<u[v];d++)if(e=a[u[d]],k!=e){c&&(b+=u[d]);for(var c=[],g=k,f=k,f=0;f<e[v];f++)if(k!=e[f]){g="";f!=S&&k==e[f-1]&&(g+=f[r]()+n);var h;h=e[f];for(var O="",m=k,U=k,wa=k,m=0;m<h[v];m++)U=h[p](m),
+wa=B[U],O+=k!=wa?wa:U;h=O;g+=h;T(c,g)}e=j+c[A](s)+i;b+=e;c=!1}else c=!0;return b}var e=this,m=sa(e),g={},a="k",c="v",u=[a,c],j="(",i=")",s="*",n="!",O="'",B={};B[O]="'0";B[i]="'1";B[s]="'2";B[n]="'3";var S=1;e.Yc=function(a){return k!=g[a]};e.C=function(){var a="",b;for(b in g)k!=g[b]&&(a+=b[r]()+h(g[b]));return a};e.hc=function(a){if(a==k)return e.C();var b=a.C(),c;for(c in g)k!=g[c]&&!a.Yc(c)&&(b+=c[r]()+h(g[c]));return b};e.j=m("_setKey",89,function(b,c,n){if(typeof n!="string")return!1;d(b,a,
+c,n);return!0});e.ja=m("_setValue",90,function(a,b,n){if(typeof n!="number"&&(k==Number||!(n instanceof Number))||o.round(n)!=n||n==NaN||n==Infinity)return!1;d(a,c,b,n[r]());return!0});e.fc=m("_getKey",87,function(b,c){return f(b,a,c)});e.gc=m("_getValue",88,function(a,b){return f(a,c,b)});e.t=m("_clearKey",85,function(c){b(c,a)});e.ia=m("_clearValue",86,function(a){b(a,c)})};var Oa=function(d,f){var b=this,h=sa(b);b.ze=f;b.gd=d;b.Za=h("_trackEvent",91,function(d,h,g){return f.Za(b.gd,d,h,g)})};var Pa=function(d,f){var b=this,h=L.Gc(),e=L.Hc(),m=10;b.rb=new Na;b.Kc=function(){var b,a="timing",c="onloadT";h&&h[c]!=k&&h.isValidLoadTime?b=h[c]:e&&e[a]&&(b=e[a].loadEventStart-e[a].fetchStart);return b};b.Mc=function(){return d.D()&&d.Xa()%100<m};b.Lc=function(){var e="&utmt=event&utme="+P(b.rb.C())+d.na();f.A(e,d.p,d.a,!1,!0)};b.Jc=function(b){b=o.min(o.floor(b/100),5E3);return b>0?b+"00":"0"};b.sb=function(){var d=b.Kc();if(d==k||isNaN(d))return!1;if(d<=0)return!0;if(d>2147483648)return!1;
+var a=b.rb;a.t(14);a.ia(14);var c=b.Jc(d);a.j(14,1,c)&&a.ja(14,1,d)&&b.Lc();h&&h.isValidLoadTime!=k&&h.setPageReadyTime();return!1};b.Wa=function(){if(!b.Mc())return!1;if(!L.Ic())return!1;b.sb()&&ta(L[t],"load",b.sb,!1);return!0}};var $=function(){};$.Zc=function(d){var f="gaso=",b=L[w][y].hash;d=b&&1==b[q](f)?N(b,f,D):(b=L[t].name)&&0<=b[q](f)?N(b,f,D):N(d.g(),oa,";");return d};$.ad=function(d,f){var b=(f||"www")+".google.com",b="https://"+b+"/analytics/reporting/overlay_js?gaso="+d+D+Aa(),h="_gasojs",e=L[w].createElement("script");e.type="text/javascript";e.src=b;if(h)e.id=h;(L[w].getElementsByTagName("head")[0]||L[w].getElementsByTagName("body")[0]).appendChild(e)};
+$.load=function(d,f){if(!$.$c){var b=$.Zc(f),h=b&&b.match(/^(?:\|([-0-9a-z.]{1,30})\|)?([-.\w]{10,1200})$/i);if(h)f.Dc(b),f.Ec(),V._gasoDomain=d.b,V._gasoCPath=d.f,$.ad(h[2],h[1]);$.$c=!0}};var Qa=function(d,f,b){function h(){if("auto"==j.b){var a=L[w].domain;"www."==a[z](0,4)&&(a=a[z](4));j.b=a}j.b=j.b[C]()}function e(){h();var a=j.b,b=a[q]("www.google.")*a[q](".google.")*a[q]("google.");return b||"/"!=j.f||a[q]("google.org")>-1}function m(b,c,d){if(M(b)||M(c)||M(d))return"-";b=N(b,F+a.a+".",c);M(b)||(b=b[x]("."),b[5]=""+(b[5]?b[5]*1+1:1),b[3]=b[4],b[4]=d,b=b[A]("."));return b}function g(){return"file:"!=L[w][y][ea]&&e()}var a=this,c=sa(a),u=k,j=new Da,i=!1,s=k;a.n=d;a.m=o.round((new Date)[da]()/
+1E3);a.p=f||"UA-XXXXX-X";a.ab=L[w].referrer;a.oa=k;a.d=k;a.F=!1;a.O=k;a.e=k;a.bb=k;a.pa=k;a.a=k;a.k=k;j.o=b?P(b):k;a.eb=!1;a.mc=function(){return Aa()^a.O.cc()&2147483647};a.lc=function(){if(!j.b||""==j.b||"none"==j.b)return j.b="",1;h();return j.Ua?za(j.b):1};a.kc=function(a,b){if(M(a))a="-";else{b+=j.f&&"/"!=j.f?j.f:"";var c=a[q](b),a=c>=0&&c<=8?"0":"["==a[p](0)&&"]"==a[p](a[v]-1)?"-":a}return a};a.na=function(b){var c="";c+=j.ka?a.O.dc():"";c+=j.la&&!M(L[w].title)?"&utmdt="+P(L[w].title):"";var d;
+d=L.Ya(!0);if(!d.hid)d.hid=Aa();d=d.hid;c+="&utmhid="+d+"&utmr="+P(l(a.oa))+"&utmp="+P(a.pc(b));return c};a.pc=function(a){var b=L[w][y];a&&K(13);return a=k!=a&&""!=a?P(a,!0):P(b.pathname+b.search,!0)};a.uc=function(b){if(a.D()){var c="";a.e!=k&&a.e.C()[v]>0&&(c+="&utme="+P(a.e.C()));c+=a.na(b);u.A(c,a.p,a.a)}};a.jc=function(){var b=new Fa(j);return b.Z(a.a)?b.Tb():k};a.cb=c("_getLinkerUrl",52,function(b,c){var d=b[x]("#"),e=b,f=a.jc();if(f)if(c&&1>=d[v])e+="#"+f;else if(!c||1>=d[v])1>=d[v]?e+=(R(b,
+"?")?D:"?")+f:e=d[0]+(R(b,"?")?D:"?")+f+"#"+d[1];return e});a.nc=function(){var b=a.m,c=a.k,d=c.g(),e=a.a+"",f=L.Ya(),g,h=R(d,F+e+"."),i=R(d,H+e),u=R(d,la+e),s,G=[],Y="",Ia=!1,d=M(d)?"":d;if(j.w&&!a.eb){g=L[w][y]&&L[w][y].hash?L[w][y][fa][z](L[w][y][fa][q]("#")):"";j.U&&!M(g)&&(Y=g+D);Y+=L[w][y].search;if(!M(Y)&&R(Y,F))c.Sb(Y),c.Ba()||c.Qb(),s=c.ba(),a.eb=!0;g=c.ea;var va=c.Pa,U=c.Sa;M(g())||(va(Q(g())),R(g(),";")||U());g=c.da;va=c.X;U=c.Y;M(g())||(va(g()),R(g(),";")||U())}M(s)?h?(s=!i||!u)?(s=m(d,
+";",l(b)),a.F=!0):(s=N(d,F+e+".",";"),G=N(d,H+e,";")[x](".")):(s=[e,a.mc(),b,b,b,1][A]("."),Ia=a.F=!0):M(c.z())||M(c.ca())?(s=m(Y,D,l(b)),a.F=!0):(G=c.z()[x]("."),e=G[0]);s=s[x](".");L[t]&&f&&f.dh==e&&!j.o&&(s[4]=f.sid?f.sid:s[4],Ia&&(s[3]=f.sid?f.sid:s[4],f.vid&&(b=f.vid[x]("."),s[1]=b[0],s[2]=b[1])));c.Na(s[A]("."));G[0]=e;G[1]=G[1]?G[1]:0;G[2]=k!=G[2]?G[2]:j.Wb;G[3]=G[3]?G[3]:s[4];c.$(G[A]("."));c.Oa(e);M(c.Rb())||c.fa(c.K());c.Qa();c.aa();c.Ra()};a.oc=function(){u=new Ka(j)};a.getName=c("_getName",
+58,function(){return a.n});a.c=c("_initData",2,function(){var b;if(!i){if(!a.O)a.O=new La(j.ma);a.a=a.lc();a.k=new Fa(j);a.e=new Na;s=new Ma(j,l(a.a),a.k,a.e);a.oc()}if(g()){if(!i)a.oa=a.kc(a.ab,L[w].domain),b=new Z(l(a.a),a.oa,a.m,j);a.nc(b);s.$b()}if(!i)g()&&b.Pb(a.k,a.F),a.bb=new Na,$.load(j,a.k),i=!0});a.Xa=c("_visitCode",54,function(){a.c();var b=N(a.k.g(),F+a.a+".",";"),b=b[x](".");return b[v]<4?"":b[1]});a.qd=c("_cookiePathCopy",30,function(b){a.c();a.k&&a.k.Ub(a.a,b)});a.D=function(){return a.Xa()%
+1E4<j.L*100};a.re=c("_trackPageview",1,function(b){if(g())a.c(),a.uc(b),a.F=!1});a.se=c("_trackTrans",18,function(){var b=a.a,c=[],d,e,f;a.c();if(a.d&&a.D()){for(d=0;d<a.d.N[v];d++){e=a.d.N[d];T(c,e.ha());for(f=0;f<e.M[v];f++)T(c,e.M[f].ha())}for(d=0;d<c[v];d++)u.A(c[d],a.p,b,!0)}});a.me=c("_setTrans",20,function(){var b,c,d,e;b=L[w].getElementById?L[w].getElementById("utmtrans"):L[w].utmform&&L[w].utmform.utmtrans?L[w].utmform.utmtrans:k;a.c();if(b&&b.value){a.d=new W;e=b.value[x]("UTM:");j.u=!j.u||
+""==j.u?"|":j.u;for(b=0;b<e[v];b++){e[b]=ya(e[b]);c=e[b][x](j.u);for(d=0;d<c[v];d++)c[d]=ya(c[d]);"T"==c[0]?a.$a(c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8]):"I"==c[0]&&a.ic(c[1],c[2],c[3],c[4],c[5],c[6])}}});a.$a=c("_addTrans",21,function(b,c,d,e,f,g,h,i){a.d=a.d?a.d:new W;return a.d.Xb(b,c,d,e,f,g,h,i)});a.ic=c("_addItem",19,function(b,c,d,e,f,g){var h;a.d=a.d?a.d:new W;(h=a.d.Va(b))||(h=a.$a(b,"","","","","","",""));h.Vb(c,d,e,f,g)});a.oe=c("_setVar",22,function(b){b&&""!=b&&e()&&(a.c(),s.bc(b),a.D()&&
+u.A("&utmt=var",a.p,a.a))});a.Yd=c("_setCustomVar",10,function(b,c,d,e){a.c();return s.ac(b,c,d,e)});a.td=c("_deleteCustomVar",35,function(b){a.c();s.Yb(b)});a.Cd=c("_getVisitorCustomVar",50,function(b){a.c();return s.Zb(b)});a.fe=c("_setMaxCustomVariables",71,function(a){j.Ta=a});a.link=c("_link",101,function(b,c){j.w&&b&&(a.c(),L.ec(a.cb(b,c)))});a.Fd=c("_linkByPost",102,function(b,c){if(j.w&&b&&b.action)a.c(),b.action=a.cb(b.action,c)});a.pe=c("_setXKey",83,function(b,c,d){a.e.j(b,c,d)});a.qe=
+c("_setXValue",84,function(b,c,d){a.e.ja(b,c,d)});a.Dd=c("_getXKey",76,function(b,c){return a.e.fc(b,c)});a.Ed=c("_getXValue",77,function(b,c){return a.e.gc(b,c)});a.od=c("_clearXKey",72,function(b){a.e.t(b)});a.pd=c("_clearXValue",73,function(b){a.e.ia(b)});a.sd=c("_createXObj",75,function(){a.c();return new Na});a.qc=c("_sendXEvent",78,function(b){var c="";a.c();a.D()&&(c+="&utmt=event&utme="+P(a.e.hc(b))+a.na(),u.A(c,a.p,a.a,!1,!0))});a.rd=c("_createEventTracker",74,function(b){a.c();return new Oa(b,
+a)});a.Za=c("_trackEvent",4,function(b,c,d,e){a.c();var f=a.bb;k!=b&&k!=c&&""!=b&&""!=c?(f.t(5),f.ia(5),(b=f.j(5,1,b)&&f.j(5,2,c)&&(k==d||f.j(5,3,d))&&(k==e||f.ja(5,1,e)))&&a.qc(f)):b=!1;return b});a.Wa=c("_trackPageLoadTime",100,function(){a.c();if(!a.pa)a.pa=new Pa(a,u);return a.pa.Wa()});a.wd=function(){return j};a.ae=c("_setDomainName",6,function(a){j.b=a});a.kd=c("_addOrganic",14,function(a,b,c){j.J.splice(c?0:j.J[v],0,new Ca(a,b))});a.nd=c("_clearOrganic",70,function(){j.J=[]});a.hd=c("_addIgnoredOrganic",
+15,function(a){T(j.V,a)});a.ld=c("_clearIgnoredOrganic",97,function(){j.V=[]});a.jd=c("_addIgnoredRef",31,function(a){T(j.W,a)});a.md=c("_clearIgnoredRef",32,function(){j.W=[]});a.Id=c("_setAllowHash",8,function(a){j.Ua=a?1:0});a.Td=c("_setCampaignTrack",36,function(a){j.Ka=a?1:0});a.Ud=c("_setClientInfo",66,function(a){j.ka=a?1:0});a.vd=c("_getClientInfo",53,function(){return j.ka});a.Vd=c("_setCookiePath",9,function(a){j.f=a});a.ne=c("_setTransactionDelim",82,function(a){j.u=a});a.Xd=c("_setCookieTimeout",
+25,function(b){a.rc(b*1E3)});a.rc=c("_setCampaignCookieTimeout",29,function(a){j.La=a});a.Zd=c("_setDetectFlash",61,function(a){j.ma=a?1:0});a.xd=c("_getDetectFlash",65,function(){return j.ma});a.$d=c("_setDetectTitle",62,function(a){j.la=a?1:0});a.yd=c("_getDetectTitle",56,function(){return j.la});a.ce=c("_setLocalGifPath",46,function(a){j.ga=a});a.zd=c("_getLocalGifPath",57,function(){return j.ga});a.ee=c("_setLocalServerMode",92,function(){j.B=0});a.ie=c("_setRemoteServerMode",63,function(){j.B=
+1});a.de=c("_setLocalRemoteServerMode",47,function(){j.B=2});a.Ad=c("_getServiceMode",59,function(){return j.B});a.je=c("_setSampleRate",45,function(a){j.L=a});a.ke=c("_setSessionTimeout",27,function(b){a.sc(b*1E3)});a.sc=c("_setSessionCookieTimeout",26,function(a){j.Ma=a});a.Jd=c("_setAllowLinker",11,function(a){j.w=a?1:0});a.Hd=c("_setAllowAnchor",7,function(a){j.U=a?1:0});a.Qd=c("_setCampNameKey",41,function(a){j.Ca=a});a.Md=c("_setCampContentKey",38,function(a){j.Da=a});a.Nd=c("_setCampIdKey",
+39,function(a){j.Ea=a});a.Od=c("_setCampMediumKey",40,function(a){j.Fa=a});a.Pd=c("_setCampNOKey",42,function(a){j.Ga=a});a.Rd=c("_setCampSourceKey",43,function(a){j.Ha=a});a.Sd=c("_setCampTermKey",44,function(a){j.Ia=a});a.Ld=c("_setCampCIdKey",37,function(a){j.Ja=a});a.ud=c("_getAccount",64,function(){return a.p});a.Gd=c("_setAccount",3,function(b){a.p=b});a.ge=c("_setNamespace",48,function(a){j.o=a?P(a):k});a.Bd=c("_getVersion",60,function(){return ia});a.Kd=c("_setAutoTrackOutbound",79,Ba);a.le=
+c("_setTrackOutboundSubdomains",81,Ba);a.be=c("_setHrefExamineLimit",80,Ba);a.he=c("_setReferrerOverride",49,function(b){a.ab=b});a.Wd=c("_setCookiePersistence",24,function(b){a.tc(b)});a.tc=c("_setVisitorCookieTimeout",28,function(a){j.s=a})};var Ra=function(){var d=this,f=sa(d);d.Ab=!1;d.Ib={};d.bd=0;d._gasoDomain=k;d._gasoCPath=k;d.ve=f("_getTracker",0,function(b,f){return d.za(b,k,f)});d.za=f("_createTracker",55,function(b,d,e){d&&K(23);e&&K(67);d==k&&(d="~"+V.bd++);return V.Ib[d]=new Qa(d,b,e)});d.Hb=f("_getTrackerByName",51,function(b){b=b||"";return V.Ib[b]||V.za(k,b)});d.pb=function(){var b=L.Vc();return b&&b[ka]&&b[ka]()};d.ue=f("_anonymizeIp",16,function(){d.Ab=!0})};var Ta=function(){var d=this,f=sa(d);d.xe=f("_createAsyncTracker",33,function(b,d){return V.za(b,d||"")});d.ye=f("_getAsyncTracker",34,function(b){return V.Hb(b)});d.push=function(){K(5);for(var b=arguments,d=0,e=0;e<b[v];e++)try{if(typeof b[e]==="function")b[e]();else{var f="",g=b[e][0],a=g.lastIndexOf(".");a>0&&(f=g[z](0,a),g=g[z](a+1));var c=f==ga?V:f==ha?Sa:V.Hb(f);c[g].apply(c,b[e].slice(1))}}catch(u){d++}return d}};var V=new Ra;var Ua=L[t][ga];Ua&&typeof Ua._getTracker=="function"?V=Ua:L[t][ga]=V;var Sa=new Ta;a:{var Va=L[t][ha],Wa=!1;if(Va&&typeof Va[ba]=="function"&&(Wa=ua(Va),!Wa))break a;L[t][ha]=Sa;Wa&&Sa[ba].apply(Sa,Va)};})();
diff --git a/dev/js/modernizr/test/caniuse_files/jquery.min.js b/dev/js/modernizr/test/caniuse_files/jquery.min.js
new file mode 100644 (file)
index 0000000..b2ac174
--- /dev/null
@@ -0,0 +1,18 @@
+/*!
+ * jQuery JavaScript Library v1.6.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Thu May 12 15:04:36 2011 -0400
+ */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("<!doctype><html><body></body></html>");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bF.test(a)?d(a,e):b_(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bU,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bQ),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bD(a,b,c){var d=b==="width"?bx:by,e=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return e;f.each(d,function(){c||(e-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?e+=parseFloat(f.css(a,"margin"+this))||0:e-=parseFloat(f.css(a,"border"+this+"Width"))||0});return e}function bn(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bm(a){f.nodeName(a,"input")?bl(a):a.getElementsByTagName&&f.grep(a.getElementsByTagName("input"),bl)}function bl(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bk(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bj(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bi(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bh(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function X(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(S.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(y,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:E?function(a){return a==null?"":E.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?C.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(F)return F.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=D.call(arguments,2),g=function(){return a.apply(c,f.concat(D.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){G["[object "+b+"]"]=b.toLowerCase()}),x=e.uaMatch(w),x.browser&&(e.browser[x.browser]=!0,e.browser.version=x.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?z=function(){c.removeEventListener("DOMContentLoaded",z,!1),e.ready()}:c.attachEvent&&(z=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",z),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;a.setAttribute("className","t"),a.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(!0).fireEvent("onclick")),h=c.createElement("input"),h.value="t",h.setAttribute("type","radio"),j.radioValue=h.value==="t",h.setAttribute("checked","checked"),a.appendChild(h),k=c.createDocumentFragment(),k.appendChild(a.firstChild),j.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",l=c.createElement("body"),m={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(q in m)l.style[q]=m[q];l.appendChild(a),b.insertBefore(l,b.firstChild),j.appendChecked=h.checked,j.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,j.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",n=a.getElementsByTagName("td"),r=n[0].offsetHeight===0,n[0].style.display="",n[1].style.display="none",j.reliableHiddenOffsets=r&&n[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(i=c.createElement("div"),i.style.width="0",i.style.marginRight="0",a.appendChild(i),j.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(i,null)||{marginRight:0}).marginRight,10)||0)===0),l.innerHTML="",b.removeChild(l);if(a.attachEvent)for(q in{submit:1,change:1,focusin:1})p="on"+q,r=p in a,r||(a.setAttribute(p,"return;"),r=typeof a[p]=="function"),j[q+"Bubbles"]=r;return j}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.addClass(a.call(this,b,c.attr("class")||""))});if(a&&typeof a=="string"){var b=(a||"").split(o);for(var c=0,d=this.length;c<d;c++){var e=this[c];if(e.nodeType===1)if(!e.className)e.className=a;else{var g=" "+e.className+" ",h=e.className;for(var i=0,j=b.length;i<j;i++)g.indexOf(" "+b[i]+" ")<0&&(h+=" "+b[i]);e.className=f.trim(h)}}}return this},removeClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a=="string"||a===b){var c=(a||"").split(o);for(var d=0,e=this.length;d<e;d++){var g=this[d];if(g.nodeType===1&&g.className)if(a){var h=(" "+g.className+" ").replace(n," ");for(var i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){var d=f(this);d.toggleClass(a.call(this,c,d.attr("class"),b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c],i||(!t.test(c)||typeof d!="boolean"&&d!==b&&d.toLowerCase()!==c.toLowerCase()?v&&(f.nodeName(a,"form")||u.test(c))&&(i=v):i=w);if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return a[f.propFix[c]||c]?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=b),a.setAttribute(c,c.toLowerCase()));return c}},f.attrHooks.value={get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return a.value},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=Object.prototype.hasOwnProperty,y=/\.(.*)$/,z=/^(?:textarea|input|select)$/i,A=/\./g,B=/ /g,C=/[^\w\s.|`]/g,D=function(a){return a.replace(C,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=E;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=E);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),D).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem
+)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,O(a.origType,a.selector),f.extend({},a,{handler:N,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,O(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?F:E):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=F;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=F;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=F,this.stopPropagation()},isDefaultPrevented:E,isPropagationStopped:E,isImmediatePropagationStopped:E};var G=function(a){var b=a.relatedTarget;a.type=a.data;try{if(b&&b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&f.event.handle.apply(this,arguments)}catch(d){}},H=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?H:G,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?H:G)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&L("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&L("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var I,J=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},K=function(c){var d=c.target,e,g;if(!!z.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=J(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:K,beforedeactivate:K,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&K.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&K.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",J(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in I)f.event.add(this,c+".specialChange",I[c]);return z.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return z.test(this.nodeName)}},I=f.event.special.change.filters,I.focus=I.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var M={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||E,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=y.exec(h),k="",j&&(k=j[0],h=h.replace(y,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,M[h]?(a.push(M[h]+k),h=h+k):h=(M[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+O(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+O(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var P=/Until$/,Q=/^(?:parents|prevUntil|prevAll)/,R=/,/,S=/^.[^:#\[\.,]*$/,T=Array.prototype.slice,U=f.expr.match.POS,V={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(X(this,a,!1),"not",a)},filter:function(a){return this.pushStack(X(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=U.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=U.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(W(c[0])||W(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=T.call(arguments);P.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!V[a]?f.unique(e):e,(this.length>1||R.test(d))&&Q.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y=/ jQuery\d+="(?:\d+|null)"/g,Z=/^\s+/,$=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,_=/<([\w:]+)/,ba=/<tbody/i,bb=/<|&#?\w+;/,bc=/<(?:script|object|embed|option|style)/i,bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Y,""):null;if(typeof a=="string"&&!bc.test(a)&&(f.support.leadingWhitespace||!Z.test(a))&&!bg[(_.exec(a)||["",""])[1].toLowerCase()]){a=a.replace($,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bh(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bn)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bc.test(a[0])&&(f.support.checkClone||!bd.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bj(a,d),e=bk(a),g=bk(d);for(h=0;e[h];++h)bj(e[h],g[h])}if(b){bi(a,d);if(c){e=bk(a),g=bk(d);for(h=0;e[h];++h)bi(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||
+b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bb.test(k))k=b.createTextNode(k);else{k=k.replace($,"<$1></$2>");var l=(_.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=ba.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Z.test(k)&&o.insertBefore(b.createTextNode(Z.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bm(k[i]);else bm(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bo=/alpha\([^)]*\)/i,bp=/opacity=([^)]*)/,bq=/-([a-z])/ig,br=/([A-Z]|^ms)/g,bs=/^-?\d+(?:px)?$/i,bt=/^-?\d/,bu=/^[+\-]=/,bv=/[^+\-\.\de]+/g,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB,bC=function(a,b){return b.toUpperCase()};f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0,widows:!0,orphans:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bu.test(d)&&(d=+d.replace(bv,"")+parseFloat(f.css(a,c))),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bq,bC)}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){a.offsetWidth!==0?e=bD(a,b,d):f.swap(a,bw,function(){e=bD(a,b,d)});if(e<=0){e=bz(a,b,b),e==="0px"&&bB&&(e=bB(a,b,b));if(e!=null)return e===""||e==="auto"?"0px":e}if(e<0||e==null){e=a.style[b];return e===""||e==="auto"?"0px":e}return typeof e=="string"?e:e+"px"}},set:function(a,b){if(!bs.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bp.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bo.test(g)?g.replace(bo,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,c){var d,e,g;c=c.replace(br,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bs.test(d)&&bt.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bE=/%20/g,bF=/\[\]$/,bG=/\r?\n/g,bH=/#.*$/,bI=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bJ=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bK=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bL=/^(?:GET|HEAD)$/,bM=/^\/\//,bN=/\?/,bO=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bP=/^(?:select|textarea)/i,bQ=/\s+/,bR=/([?&])_=[^&]*/,bS=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bT=f.fn.load,bU={},bV={},bW,bX;try{bW=e.href}catch(bY){bW=c.createElement("a"),bW.href="",bW=bW.href}bX=bS.exec(bW.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bT)return bT.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bO,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bP.test(this.nodeName)||bJ.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bG,"\r\n")}}):{name:b.name,value:c.replace(bG,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bW,isLocal:bK.test(bX[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bZ(bU),ajaxTransport:bZ(bV),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?ca(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=cb(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bI.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bH,"").replace(bM,bX[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bQ),d.crossDomain==null&&(r=bS.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bX[1]&&r[2]==bX[2]&&(r[3]||(r[1]==="http:"?80:443))==(bX[3]||(bX[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bU,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bL.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bN.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bR,"$1_="+x);d.url=y+(y===d.url?(bN.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bV,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bE,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq,cr=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cv(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cm.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=cn.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this),f.isFunction(d.old)&&d.old.call(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cq||cs(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!co&&(cr?(co=1,g=function(){co&&(cr(g),e.tick())},cr(g)):co=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cq||cs(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
\ No newline at end of file
diff --git a/dev/js/modernizr/test/caniuse_files/modernizr-1.7.min.js b/dev/js/modernizr/test/caniuse_files/modernizr-1.7.min.js
new file mode 100644 (file)
index 0000000..6f54850
--- /dev/null
@@ -0,0 +1,2 @@
+// Modernizr v1.7  www.modernizr.com
+window.Modernizr=function(a,b,c){function G(){e.input=function(a){for(var b=0,c=a.length;b<c;b++)t[a[b]]=!!(a[b]in l);return t}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)l.setAttribute("type",f=a[d]),e=l.type!=="text",e&&(l.value=m,l.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&l.style.WebkitAppearance!==c?(g.appendChild(l),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(l,null).WebkitAppearance!=="textfield"&&l.offsetHeight!==0,g.removeChild(l)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=l.checkValidity&&l.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(l),g.offsetWidth,e=l.value!=m,g.removeChild(l)):e=l.value!=m)),s[a[d]]=!!e;return s}("search tel url email datetime date month week time datetime-local number range color".split(" "))}function F(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+p.join(c+" ")+c).split(" ");return!!E(d,b)}function E(a,b){for(var d in a)if(k[a[d]]!==c&&(!b||b(a[d],j)))return!0}function D(a,b){return(""+a).indexOf(b)!==-1}function C(a,b){return typeof a===b}function B(a,b){return A(o.join(a+";")+(b||""))}function A(a){k.cssText=a}var d="1.7",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l=b.createElement("input"),m=":)",n=Object.prototype.toString,o=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),p="Webkit Moz O ms Khtml".split(" "),q={svg:"http://www.w3.org/2000/svg"},r={},s={},t={},u=[],v,w=function(a){var c=b.createElement("style"),d=b.createElement("div"),e;c.textContent=a+"{#modernizr{height:3px}}",h.appendChild(c),d.id="modernizr",g.appendChild(d),e=d.offsetHeight===3,c.parentNode.removeChild(c),d.parentNode.removeChild(d);return!!e},x=function(){function d(d,e){e=e||b.createElement(a[d]||"div");var f=(d="on"+d)in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=C(e[d],"function"),C(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),y=({}).hasOwnProperty,z;C(y,c)||C(y.call,c)?z=function(a,b){return b in a&&C(a.constructor.prototype[b],c)}:z=function(a,b){return y.call(a,b)},r.flexbox=function(){function c(a,b,c,d){a.style.cssText=o.join(b+":"+c+";")+(d||"")}function a(a,b,c,d){b+=":",a.style.cssText=(b+o.join(c+";"+b)).slice(0,-b.length)+(d||"")}var d=b.createElement("div"),e=b.createElement("div");a(d,"display","box","width:42px;padding:0;"),c(e,"box-flex","1","width:10px;"),d.appendChild(e),g.appendChild(d);var f=e.offsetWidth===42;d.removeChild(e),g.removeChild(d);return f},r.canvas=function(){var a=b.createElement("canvas");return a.getContext&&a.getContext("2d")},r.canvastext=function(){return e.canvas&&C(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){return"ontouchstart"in a||w("@media ("+o.join("touch-enabled),(")+"modernizr)")},r.geolocation=function(){return!!navigator.geolocation},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){var b=!!a.openDatabase;return b},r.indexedDB=function(){for(var b=-1,c=p.length;++b<c;){var d=p[b].toLowerCase();if(a[d+"_indexedDB"]||a[d+"IndexedDB"])return!0}return!1},r.hashchange=function(){return x("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return !!(a.history&&history.pushState)},r.draganddrop=function(){return x("dragstart")&&x("drop")},r.websockets=function(){return"WebSocket"in a},r.rgba=function(){A("background-color:rgba(150,255,150,.5)");return D(k.backgroundColor,"rgba")},r.hsla=function(){A("background-color:hsla(120,40%,100%,.5)");return D(k.backgroundColor,"rgba")||D(k.backgroundColor,"hsla")},r.multiplebgs=function(){A("background:url(//:),url(//:),red url(//:)");return(new RegExp("(url\\s*\\(.*?){3}")).test(k.background)},r.backgroundsize=function(){return F("backgroundSize")},r.borderimage=function(){return F("borderImage")},r.borderradius=function(){return F("borderRadius","",function(a){return D(a,"orderRadius")})},r.boxshadow=function(){return F("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){B("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return F("animationName")},r.csscolumns=function(){return F("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";A((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return D(k.backgroundImage,"gradient")},r.cssreflections=function(){return F("boxReflect")},r.csstransforms=function(){return!!E(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!E(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=w("@media ("+o.join("transform-3d),(")+"modernizr)"));return a},r.csstransitions=function(){return F("transitionProperty")},r.fontface=function(){var a,c,d=h||g,e=b.createElement("style"),f=b.implementation||{hasFeature:function(){return!1}};e.type="text/css",d.insertBefore(e,d.firstChild),a=e.sheet||e.styleSheet;var i=f.hasFeature("CSS2","")?function(b){if(!a||!b)return!1;var c=!1;try{a.insertRule(b,0),c=/src/i.test(a.cssRules[0].cssText),a.deleteRule(a.cssRules.length-1)}catch(d){}return c}:function(b){if(!a||!b)return!1;a.cssText=b;return a.cssText.length!==0&&/src/i.test(a.cssText)&&a.cssText.replace(/\r+|\n+/g,"").indexOf(b.split(" ")[0])===0};c=i('@font-face { font-family: "font"; src: url(data:,); }'),d.removeChild(e);return c},r.video=function(){var a=b.createElement("video"),c=!!a.canPlayType;if(c){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}return c},r.audio=function(){var a=b.createElement("audio"),c=!!a.canPlayType;c&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;"));return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webWorkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="<svg/>";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var H in r)z(r,H)&&(v=H.toLowerCase(),e[v]=r[H](),u.push((e[v]?"":"no-")+v));e.input||G(),e.crosswindowmessaging=e.postmessage,e.historymanagement=e.history,e.addTest=function(a,b){a=a.toLowerCase();if(!e[a]){b=!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b;return e}},A(""),j=l=null,f&&a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function p(a,b){var c=-1,d=a.length,e,f=[];while(++c<d)e=a[c],(b=e.media||b)!="screen"&&f.push(p(e.imports,b),e.cssText);return f.join("")}function o(a){var b=-1;while(++b<e)a.createElement(d[b])}var c="abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",d=c.split("|"),e=d.length,f=new RegExp("(^|\\s)("+c+")","gi"),g=new RegExp("<(/*)("+c+")","gi"),h=new RegExp("(^|[^\\n]*?\\s)("+c+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),i=b.createDocumentFragment(),j=b.documentElement,k=j.firstChild,l=b.createElement("body"),m=b.createElement("style"),n;o(b),o(i),k.insertBefore(m,k.firstChild),m.media="print",a.attachEvent("onbeforeprint",function(){var a=-1,c=p(b.styleSheets,"all"),k=[],o;n=n||b.body;while((o=h.exec(c))!=null)k.push((o[1]+o[2]+o[3]).replace(f,"$1.iepp_$2")+o[4]);m.styleSheet.cssText=k.join("\n");while(++a<e){var q=b.getElementsByTagName(d[a]),r=q.length,s=-1;while(++s<r)q[s].className.indexOf("iepp_")<0&&(q[s].className+=" iepp_"+d[a])}i.appendChild(n),j.appendChild(l),l.className=n.className,l.innerHTML=n.innerHTML.replace(g,"<$1font")}),a.attachEvent("onafterprint",function(){l.innerHTML="",j.removeChild(l),j.appendChild(n),m.styleSheet.cssText=""})}(a,b),e._enableHTML5=f,e._version=d,g.className=g.className.replace(/\bno-js\b/,"")+" js "+u.join(" ");return e}(this,this.document)
\ No newline at end of file
diff --git a/dev/js/modernizr/test/js/dumpdata.js b/dev/js/modernizr/test/js/dumpdata.js
new file mode 100644 (file)
index 0000000..43c667b
--- /dev/null
@@ -0,0 +1,75 @@
+function dumpModernizr(){
+  var str = '';
+  dumpModernizr.old = dumpModernizr.old || {};
+
+    for (var prop in Modernizr) {
+
+      // skip previously done ones.
+      if (dumpModernizr.old[prop]) continue;
+      else dumpModernizr.old[prop] = true;
+
+      if (typeof Modernizr[prop] === 'function') continue;
+      // skip unit test items
+      if (/^test/.test(prop)) continue;
+
+      if (~TEST.inputs.indexOf(prop)) {
+        str += '<li><b>'+prop+'{}</b><ul>';
+        for (var field in Modernizr[prop]) {
+          str += '<li class="' + (Modernizr[prop][field] ? 'yes' : '') + '">' + field + ': ' + Modernizr[prop][field] + '</li>';
+        }
+        str += '</ul></li>';
+      } else {
+        str += '<li  id="'+prop+'" class="' + (Modernizr[prop] ? 'yes' : '') + '">' + prop + ': ' + Modernizr[prop] + '</li>';
+      }
+  }
+  return str;
+}
+
+
+function grabFeatDetects(){
+  // thx github.js
+  $.getScript('https://api.github.com/repos/Modernizr/Modernizr/git/trees/master?recursive=1&callback=processTree');
+}
+
+
+function processTree(data){
+  var filenames = [];
+
+  for (var i = 0; i < data.data.tree.length; i++){
+    var file = data.data.tree[i];
+    var match = file.path.match(/^feature-detects\/(.*)/);
+    if (!match) continue;
+
+    var relpath = location.host == "modernizr.github.com" ?
+                    '../modernizr-git/' : '../';
+
+    filenames.push(relpath + match[0]);
+  }
+
+  var jqxhrs = filenames.map(function(filename){
+    return jQuery.getScript(filename);
+  });
+
+  jQuery.when.apply(jQuery, jqxhrs).done(resultsToDOM);
+
+}
+
+function resultsToDOM(){
+
+  var modOutput = document.createElement('div'),
+      ref = document.getElementById('qunit-testresult') || document.getElementById('qunit-tests');
+
+  modOutput.className = 'output';
+  modOutput.innerHTML = dumpModernizr();
+
+  ref.parentNode.insertBefore(modOutput, ref);
+
+  // Modernizr object as text
+  document.getElementsByTagName('textarea')[0].innerHTML = JSON.stringify(Modernizr);
+
+}
+
+/* uno    */ resultsToDOM();
+/* dos    */ grabFeatDetects();
+/* tres   */ setTimeout(resultsToDOM,  5e3);
+/* quatro */ setTimeout(resultsToDOM, 15e3);
diff --git a/dev/js/modernizr/test/js/lib/detect-global.js b/dev/js/modernizr/test/js/lib/detect-global.js
new file mode 100644 (file)
index 0000000..48b4ac2
--- /dev/null
@@ -0,0 +1,153 @@
+// https://github.com/kangax/detect-global
+
+// tweaked to run without a UI.
+
+(function () {
+    function getPropertyDescriptors(object) {
+      var props = { };
+      for (var prop in object) {
+        
+        // nerfing for firefox who goes crazy over some objects like sessionStorage
+        try {
+          
+          props[prop] = {
+            type:  typeof object[prop],
+            value: object[prop]
+          };
+          
+        } catch(e){
+          props[prop] = {}; 
+        }
+      }
+      return props;
+    }
+    
+    function getCleanWindow() {
+      var elIframe = document.createElement('iframe');
+      elIframe.style.display = 'none';
+      
+      var ref = document.getElementsByTagName('script')[0];
+      ref.parentNode.insertBefore(elIframe, ref);
+      
+      elIframe.src = 'about:blank';
+      return elIframe.contentWindow;
+    }
+    
+    function appendControl(el, name) {
+      var elCheckbox = document.createElement('input');
+      elCheckbox.type = 'checkbox';
+      elCheckbox.checked = true;
+      elCheckbox.id = '__' + name;
+      
+      var elLabel = document.createElement('label');
+      elLabel.htmlFor = '__' + name;
+      elLabel.innerHTML = 'Exclude ' + name + ' properties?';
+      elLabel.style.marginLeft = '0.5em';
+      
+      var elWrapper = document.createElement('p');
+      elWrapper.style.marginBottom = '0.5em';
+      
+      elWrapper.appendChild(elCheckbox);
+      elWrapper.appendChild(elLabel);
+
+      el.appendChild(elWrapper);
+    }
+    
+    function appendAnalyze(el) {
+      var elAnalyze = document.createElement('button');
+      elAnalyze.id = '__analyze';
+      elAnalyze.innerHTML = 'Analyze';
+      elAnalyze.style.marginTop = '1em';
+      el.appendChild(elAnalyze);
+    }
+    
+    function appendCancel(el) {
+      var elCancel = document.createElement('a');
+      elCancel.href = '#';
+      elCancel.innerHTML = 'Cancel';
+      elCancel.style.cssText = 'color:#eee;margin-left:0.5em;';
+      elCancel.onclick = function() {
+        el.parentNode.removeChild(el);
+        return false; 
+      };
+      el.appendChild(elCancel);
+    }
+    
+    function initConfigPopup() {
+      var el = document.createElement('div');
+      
+      el.style.cssText =  'position:fixed; left:10px; top:10px; width:300px; background:rgba(50,50,50,0.9);' +
+                          '-moz-border-radius:10px; padding:1em; color: #eee; text-align: left;' +
+                          'font-family: "Helvetica Neue", Verdana, Arial, sans serif; z-index: 99999;';
+      
+      for (var prop in propSets) {
+        appendControl(el, prop);
+      }
+      
+      appendAnalyze(el);
+      appendCancel(el);
+      
+      var ref = document.getElementsByTagName('script')[0];
+      ref.parentNode.insertBefore(el, ref);
+    }
+    
+    function getPropsCount(object) {
+      var count = 0;
+      for (var prop in object) {
+        count++;
+      }
+      return count;
+    }
+    
+    function shouldDeleteProperty(propToCheck) {
+      for (var prop in propSets) {
+        var elCheckbox = document.getElementById('__' + prop);
+        var isPropInSet = propSets[prop].indexOf(propToCheck) > -1;
+        if (isPropInSet && (elCheckbox ? elCheckbox.checked : true) ) {
+          return true;
+        }
+      }
+    }
+    
+    function analyze() {
+      var global = (function(){ return this; })(),
+          globalProps = getPropertyDescriptors(global),
+          cleanWindow = getCleanWindow();
+          
+      for (var prop in cleanWindow) {
+        if (globalProps[prop]) {
+          delete globalProps[prop];
+        }
+      }
+      for (var prop in globalProps) {
+        if (shouldDeleteProperty(prop)) {
+          delete globalProps[prop];
+        }
+      }
+      
+      window.__globalsCount = getPropsCount(globalProps);
+      window.__globals      = globalProps;
+      
+      window.console && console.log('Total number of global properties: ' + __globalsCount);
+      window.console && console.dir(__globals);
+    }
+    
+    var propSets = {
+      'Prototype':        '$$ $A $F $H $R $break $continue $w Abstract Ajax Class Enumerable Element Field Form ' +
+                          'Hash Insertion ObjectRange PeriodicalExecuter Position Prototype Selector Template Toggle Try'.split(' '),
+                        
+      'Scriptaculous':    'Autocompleter Builder Control Draggable Draggables Droppables Effect Sortable SortableObserver Sound Scriptaculous'.split(' '),
+      'Firebug':          'loadFirebugConsole console _getFirebugConsoleElement _FirebugConsole _FirebugCommandLine _firebug'.split(' '),
+      'Mozilla':          'Components XPCNativeWrapper XPCSafeJSObjectWrapper getInterface netscape GetWeakReference GeckoActiveXObject'.split(' '),
+      'GoogleAnalytics':  'gaJsHost gaGlobal _gat _gaq pageTracker'.split(' '),
+      'lazyGlobals':      'onhashchange'.split(' ')
+    };
+    
+    // initConfigPopup(); // disable because we're going UI-less.
+    
+    var analyzeElem = document.getElementById('__analyze');
+    analyzeElem && (analyzeElem.onclick = analyze);
+    
+    analyze(); // and assign total added globals to window.__globalsCount
+    
+})();
\ No newline at end of file
diff --git a/dev/js/modernizr/test/js/lib/jquery-1.7b2.js b/dev/js/modernizr/test/js/lib/jquery-1.7b2.js
new file mode 100644 (file)
index 0000000..98c6d0d
--- /dev/null
@@ -0,0 +1,9279 @@
+/*!
+ * jQuery JavaScript Library v1.7b2
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Thu Oct 13 21:12:55 2011 -0400
+ */
+(function( window, undefined ) {
+
+// Use the correct document accordingly with window argument (sandbox)
+var document = window.document,
+       navigator = window.navigator,
+       location = window.location;
+var jQuery = (function() {
+
+// Define a local copy of jQuery
+var jQuery = function( selector, context ) {
+               // The jQuery object is actually just the init constructor 'enhanced'
+               return new jQuery.fn.init( selector, context, rootjQuery );
+       },
+
+       // Map over jQuery in case of overwrite
+       _jQuery = window.jQuery,
+
+       // Map over the $ in case of overwrite
+       _$ = window.$,
+
+       // A central reference to the root jQuery(document)
+       rootjQuery,
+
+       // A simple way to check for HTML strings or ID strings
+       // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+       quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
+
+       // Check if a string has a non-whitespace character in it
+       rnotwhite = /\S/,
+
+       // Used for trimming whitespace
+       trimLeft = /^\s+/,
+       trimRight = /\s+$/,
+
+       // Check for digits
+       rdigit = /\d/,
+
+       // Match a standalone tag
+       rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
+
+       // JSON RegExp
+       rvalidchars = /^[\],:{}\s]*$/,
+       rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
+       rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
+       rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
+
+       // Useragent RegExp
+       rwebkit = /(webkit)[ \/]([\w.]+)/,
+       ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
+       rmsie = /(msie) ([\w.]+)/,
+       rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
+
+       // Matches dashed string for camelizing
+       rdashAlpha = /-([a-z]|[0-9])/ig,
+       rmsPrefix = /^-ms-/,
+
+       // Used by jQuery.camelCase as callback to replace()
+       fcamelCase = function( all, letter ) {
+               return ( letter + "" ).toUpperCase();
+       },
+
+       // Keep a UserAgent string for use with jQuery.browser
+       userAgent = navigator.userAgent,
+
+       // For matching the engine and version of the browser
+       browserMatch,
+
+       // The deferred used on DOM ready
+       readyList,
+
+       // The ready event handler
+       DOMContentLoaded,
+
+       // Save a reference to some core methods
+       toString = Object.prototype.toString,
+       hasOwn = Object.prototype.hasOwnProperty,
+       push = Array.prototype.push,
+       slice = Array.prototype.slice,
+       trim = String.prototype.trim,
+       indexOf = Array.prototype.indexOf,
+
+       // [[Class]] -> type pairs
+       class2type = {};
+
+jQuery.fn = jQuery.prototype = {
+       constructor: jQuery,
+       init: function( selector, context, rootjQuery ) {
+               var match, elem, ret, doc;
+
+               // Handle $(""), $(null), or $(undefined)
+               if ( !selector ) {
+                       return this;
+               }
+
+               // Handle $(DOMElement)
+               if ( selector.nodeType ) {
+                       this.context = this[0] = selector;
+                       this.length = 1;
+                       return this;
+               }
+
+               // The body element only exists once, optimize finding it
+               if ( selector === "body" && !context && document.body ) {
+                       this.context = document;
+                       this[0] = document.body;
+                       this.selector = selector;
+                       this.length = 1;
+                       return this;
+               }
+
+               // Handle HTML strings
+               if ( typeof selector === "string" ) {
+                       // Are we dealing with HTML string or an ID?
+                       if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
+                               // Assume that strings that start and end with <> are HTML and skip the regex check
+                               match = [ null, selector, null ];
+
+                       } else {
+                               match = quickExpr.exec( selector );
+                       }
+
+                       // Verify a match, and that no context was specified for #id
+                       if ( match && (match[1] || !context) ) {
+
+                               // HANDLE: $(html) -> $(array)
+                               if ( match[1] ) {
+                                       context = context instanceof jQuery ? context[0] : context;
+                                       doc = (context ? context.ownerDocument || context : document);
+
+                                       // If a single string is passed in and it's a single tag
+                                       // just do a createElement and skip the rest
+                                       ret = rsingleTag.exec( selector );
+
+                                       if ( ret ) {
+                                               if ( jQuery.isPlainObject( context ) ) {
+                                                       selector = [ document.createElement( ret[1] ) ];
+                                                       jQuery.fn.attr.call( selector, context, true );
+
+                                               } else {
+                                                       selector = [ doc.createElement( ret[1] ) ];
+                                               }
+
+                                       } else {
+                                               ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
+                                               selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes;
+                                       }
+
+                                       return jQuery.merge( this, selector );
+
+                               // HANDLE: $("#id")
+                               } else {
+                                       elem = document.getElementById( match[2] );
+
+                                       // Check parentNode to catch when Blackberry 4.6 returns
+                                       // nodes that are no longer in the document #6963
+                                       if ( elem && elem.parentNode ) {
+                                               // Handle the case where IE and Opera return items
+                                               // by name instead of ID
+                                               if ( elem.id !== match[2] ) {
+                                                       return rootjQuery.find( selector );
+                                               }
+
+                                               // Otherwise, we inject the element directly into the jQuery object
+                                               this.length = 1;
+                                               this[0] = elem;
+                                       }
+
+                                       this.context = document;
+                                       this.selector = selector;
+                                       return this;
+                               }
+
+                       // HANDLE: $(expr, $(...))
+                       } else if ( !context || context.jquery ) {
+                               return (context || rootjQuery).find( selector );
+
+                       // HANDLE: $(expr, context)
+                       // (which is just equivalent to: $(context).find(expr)
+                       } else {
+                               return this.constructor( context ).find( selector );
+                       }
+
+               // HANDLE: $(function)
+               // Shortcut for document ready
+               } else if ( jQuery.isFunction( selector ) ) {
+                       return rootjQuery.ready( selector );
+               }
+
+               if (selector.selector !== undefined) {
+                       this.selector = selector.selector;
+                       this.context = selector.context;
+               }
+
+               return jQuery.makeArray( selector, this );
+       },
+
+       // Start with an empty selector
+       selector: "",
+
+       // The current version of jQuery being used
+       jquery: "1.7b2",
+
+       // The default length of a jQuery object is 0
+       length: 0,
+
+       // The number of elements contained in the matched element set
+       size: function() {
+               return this.length;
+       },
+
+       toArray: function() {
+               return slice.call( this, 0 );
+       },
+
+       // Get the Nth element in the matched element set OR
+       // Get the whole matched element set as a clean array
+       get: function( num ) {
+               return num == null ?
+
+                       // Return a 'clean' array
+                       this.toArray() :
+
+                       // Return just the object
+                       ( num < 0 ? this[ this.length + num ] : this[ num ] );
+       },
+
+       // Take an array of elements and push it onto the stack
+       // (returning the new matched element set)
+       pushStack: function( elems, name, selector ) {
+               // Build a new jQuery matched element set
+               var ret = this.constructor();
+
+               if ( jQuery.isArray( elems ) ) {
+                       push.apply( ret, elems );
+
+               } else {
+                       jQuery.merge( ret, elems );
+               }
+
+               // Add the old object onto the stack (as a reference)
+               ret.prevObject = this;
+
+               ret.context = this.context;
+
+               if ( name === "find" ) {
+                       ret.selector = this.selector + (this.selector ? " " : "") + selector;
+               } else if ( name ) {
+                       ret.selector = this.selector + "." + name + "(" + selector + ")";
+               }
+
+               // Return the newly-formed element set
+               return ret;
+       },
+
+       // Execute a callback for every element in the matched set.
+       // (You can seed the arguments with an array of args, but this is
+       // only used internally.)
+       each: function( callback, args ) {
+               return jQuery.each( this, callback, args );
+       },
+
+       ready: function( fn ) {
+               // Attach the listeners
+               jQuery.bindReady();
+
+               // Add the callback
+               readyList.add( fn );
+
+               return this;
+       },
+
+       eq: function( i ) {
+               return i === -1 ?
+                       this.slice( i ) :
+                       this.slice( i, +i + 1 );
+       },
+
+       first: function() {
+               return this.eq( 0 );
+       },
+
+       last: function() {
+               return this.eq( -1 );
+       },
+
+       slice: function() {
+               return this.pushStack( slice.apply( this, arguments ),
+                       "slice", slice.call(arguments).join(",") );
+       },
+
+       map: function( callback ) {
+               return this.pushStack( jQuery.map(this, function( elem, i ) {
+                       return callback.call( elem, i, elem );
+               }));
+       },
+
+       end: function() {
+               return this.prevObject || this.constructor(null);
+       },
+
+       // For internal use only.
+       // Behaves like an Array's method, not like a jQuery method.
+       push: push,
+       sort: [].sort,
+       splice: [].splice
+};
+
+// Give the init function the jQuery prototype for later instantiation
+jQuery.fn.init.prototype = jQuery.fn;
+
+jQuery.extend = jQuery.fn.extend = function() {
+       var options, name, src, copy, copyIsArray, clone,
+               target = arguments[0] || {},
+               i = 1,
+               length = arguments.length,
+               deep = false;
+
+       // Handle a deep copy situation
+       if ( typeof target === "boolean" ) {
+               deep = target;
+               target = arguments[1] || {};
+               // skip the boolean and the target
+               i = 2;
+       }
+
+       // Handle case when target is a string or something (possible in deep copy)
+       if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
+               target = {};
+       }
+
+       // extend jQuery itself if only one argument is passed
+       if ( length === i ) {
+               target = this;
+               --i;
+       }
+
+       for ( ; i < length; i++ ) {
+               // Only deal with non-null/undefined values
+               if ( (options = arguments[ i ]) != null ) {
+                       // Extend the base object
+                       for ( name in options ) {
+                               src = target[ name ];
+                               copy = options[ name ];
+
+                               // Prevent never-ending loop
+                               if ( target === copy ) {
+                                       continue;
+                               }
+
+                               // Recurse if we're merging plain objects or arrays
+                               if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
+                                       if ( copyIsArray ) {
+                                               copyIsArray = false;
+                                               clone = src && jQuery.isArray(src) ? src : [];
+
+                                       } else {
+                                               clone = src && jQuery.isPlainObject(src) ? src : {};
+                                       }
+
+                                       // Never move original objects, clone them
+                                       target[ name ] = jQuery.extend( deep, clone, copy );
+
+                               // Don't bring in undefined values
+                               } else if ( copy !== undefined ) {
+                                       target[ name ] = copy;
+                               }
+                       }
+               }
+       }
+
+       // Return the modified object
+       return target;
+};
+
+jQuery.extend({
+       noConflict: function( deep ) {
+               if ( window.$ === jQuery ) {
+                       window.$ = _$;
+               }
+
+               if ( deep && window.jQuery === jQuery ) {
+                       window.jQuery = _jQuery;
+               }
+
+               return jQuery;
+       },
+
+       // Is the DOM ready to be used? Set to true once it occurs.
+       isReady: false,
+
+       // A counter to track how many items to wait for before
+       // the ready event fires. See #6781
+       readyWait: 1,
+
+       // Hold (or release) the ready event
+       holdReady: function( hold ) {
+               if ( hold ) {
+                       jQuery.readyWait++;
+               } else {
+                       jQuery.ready( true );
+               }
+       },
+
+       // Handle when the DOM is ready
+       ready: function( wait ) {
+               // Either a released hold or an DOMready/load event and not yet ready
+               if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) {
+                       // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
+                       if ( !document.body ) {
+                               return setTimeout( jQuery.ready, 1 );
+                       }
+
+                       // Remember that the DOM is ready
+                       jQuery.isReady = true;
+
+                       // If a normal DOM Ready event fired, decrement, and wait if need be
+                       if ( wait !== true && --jQuery.readyWait > 0 ) {
+                               return;
+                       }
+
+                       // If there are functions bound, to execute
+                       readyList.fireWith( document, [ jQuery ] );
+
+                       // Trigger any bound ready events
+                       if ( jQuery.fn.trigger ) {
+                               jQuery( document ).trigger( "ready" ).unbind( "ready" );
+                       }
+               }
+       },
+
+       bindReady: function() {
+               if ( readyList ) {
+                       return;
+               }
+
+               readyList = jQuery.Callbacks( "once memory" );
+
+               // Catch cases where $(document).ready() is called after the
+               // browser event has already occurred.
+               if ( document.readyState === "complete" ) {
+                       // Handle it asynchronously to allow scripts the opportunity to delay ready
+                       return setTimeout( jQuery.ready, 1 );
+               }
+
+               // Mozilla, Opera and webkit nightlies currently support this event
+               if ( document.addEventListener ) {
+                       // Use the handy event callback
+                       document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
+
+                       // A fallback to window.onload, that will always work
+                       window.addEventListener( "load", jQuery.ready, false );
+
+               // If IE event model is used
+               } else if ( document.attachEvent ) {
+                       // ensure firing before onload,
+                       // maybe late but safe also for iframes
+                       document.attachEvent( "onreadystatechange", DOMContentLoaded );
+
+                       // A fallback to window.onload, that will always work
+                       window.attachEvent( "onload", jQuery.ready );
+
+                       // If IE and not a frame
+                       // continually check to see if the document is ready
+                       var toplevel = false;
+
+                       try {
+                               toplevel = window.frameElement == null;
+                       } catch(e) {}
+
+                       if ( document.documentElement.doScroll && toplevel ) {
+                               doScrollCheck();
+                       }
+               }
+       },
+
+       // See test/unit/core.js for details concerning isFunction.
+       // Since version 1.3, DOM methods and functions like alert
+       // aren't supported. They return false on IE (#2968).
+       isFunction: function( obj ) {
+               return jQuery.type(obj) === "function";
+       },
+
+       isArray: Array.isArray || function( obj ) {
+               return jQuery.type(obj) === "array";
+       },
+
+       // A crude way of determining if an object is a window
+       isWindow: function( obj ) {
+               return obj && typeof obj === "object" && "setInterval" in obj;
+       },
+
+       isNumeric: function( obj ) {
+               return obj != null && rdigit.test( obj ) && !isNaN( obj );
+       },
+
+       type: function( obj ) {
+               return obj == null ?
+                       String( obj ) :
+                       class2type[ toString.call(obj) ] || "object";
+       },
+
+       isPlainObject: function( obj ) {
+               // Must be an Object.
+               // Because of IE, we also have to check the presence of the constructor property.
+               // Make sure that DOM nodes and window objects don't pass through, as well
+               if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
+                       return false;
+               }
+
+               try {
+                       // Not own constructor property must be Object
+                       if ( obj.constructor &&
+                               !hasOwn.call(obj, "constructor") &&
+                               !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
+                               return false;
+                       }
+               } catch ( e ) {
+                       // IE8,9 Will throw exceptions on certain host objects #9897
+                       return false;
+               }
+
+               // Own properties are enumerated firstly, so to speed up,
+               // if last one is own, then all properties are own.
+
+               var key;
+               for ( key in obj ) {}
+
+               return key === undefined || hasOwn.call( obj, key );
+       },
+
+       isEmptyObject: function( obj ) {
+               for ( var name in obj ) {
+                       return false;
+               }
+               return true;
+       },
+
+       error: function( msg ) {
+               throw msg;
+       },
+
+       parseJSON: function( data ) {
+               if ( typeof data !== "string" || !data ) {
+                       return null;
+               }
+
+               // Make sure leading/trailing whitespace is removed (IE can't handle it)
+               data = jQuery.trim( data );
+
+               // Attempt to parse using the native JSON parser first
+               if ( window.JSON && window.JSON.parse ) {
+                       return window.JSON.parse( data );
+               }
+
+               // Make sure the incoming data is actual JSON
+               // Logic borrowed from http://json.org/json2.js
+               if ( rvalidchars.test( data.replace( rvalidescape, "@" )
+                       .replace( rvalidtokens, "]" )
+                       .replace( rvalidbraces, "")) ) {
+
+                       return (new Function( "return " + data ))();
+
+               }
+               jQuery.error( "Invalid JSON: " + data );
+       },
+
+       // Cross-browser xml parsing
+       parseXML: function( data ) {
+               var xml, tmp;
+               try {
+                       if ( window.DOMParser ) { // Standard
+                               tmp = new DOMParser();
+                               xml = tmp.parseFromString( data , "text/xml" );
+                       } else { // IE
+                               xml = new ActiveXObject( "Microsoft.XMLDOM" );
+                               xml.async = "false";
+                               xml.loadXML( data );
+                       }
+               } catch( e ) {
+                       xml = undefined;
+               }
+               if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
+                       jQuery.error( "Invalid XML: " + data );
+               }
+               return xml;
+       },
+
+       noop: function() {},
+
+       // Evaluates a script in a global context
+       // Workarounds based on findings by Jim Driscoll
+       // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
+       globalEval: function( data ) {
+               if ( data && rnotwhite.test( data ) ) {
+                       // We use execScript on Internet Explorer
+                       // We use an anonymous function so that context is window
+                       // rather than jQuery in Firefox
+                       ( window.execScript || function( data ) {
+                               window[ "eval" ].call( window, data );
+                       } )( data );
+               }
+       },
+
+       // Convert dashed to camelCase; used by the css and data modules
+       // Microsoft forgot to hump their vendor prefix (#9572)
+       camelCase: function( string ) {
+               return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+       },
+
+       nodeName: function( elem, name ) {
+               return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
+       },
+
+       // args is for internal usage only
+       each: function( object, callback, args ) {
+               var name, i = 0,
+                       length = object.length,
+                       isObj = length === undefined || jQuery.isFunction( object );
+
+               if ( args ) {
+                       if ( isObj ) {
+                               for ( name in object ) {
+                                       if ( callback.apply( object[ name ], args ) === false ) {
+                                               break;
+                                       }
+                               }
+                       } else {
+                               for ( ; i < length; ) {
+                                       if ( callback.apply( object[ i++ ], args ) === false ) {
+                                               break;
+                                       }
+                               }
+                       }
+
+               // A special, fast, case for the most common use of each
+               } else {
+                       if ( isObj ) {
+                               for ( name in object ) {
+                                       if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
+                                               break;
+                                       }
+                               }
+                       } else {
+                               for ( ; i < length; ) {
+                                       if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) {
+                                               break;
+                                       }
+                               }
+                       }
+               }
+
+               return object;
+       },
+
+       // Use native String.trim function wherever possible
+       trim: trim ?
+               function( text ) {
+                       return text == null ?
+                               "" :
+                               trim.call( text );
+               } :
+
+               // Otherwise use our own trimming functionality
+               function( text ) {
+                       return text == null ?
+                               "" :
+                               text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
+               },
+
+       // results is for internal usage only
+       makeArray: function( array, results ) {
+               var ret = results || [];
+
+               if ( array != null ) {
+                       // The window, strings (and functions) also have 'length'
+                       // The extra typeof function check is to prevent crashes
+                       // in Safari 2 (See: #3039)
+                       // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
+                       var type = jQuery.type( array );
+
+                       if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) {
+                               push.call( ret, array );
+                       } else {
+                               jQuery.merge( ret, array );
+                       }
+               }
+
+               return ret;
+       },
+
+       inArray: function( elem, array, i ) {
+               var len;
+
+               if ( array ) {
+                       if ( indexOf ) {
+                               return indexOf.call( array, elem, i );
+                       }
+
+                       len = array.length;
+                       i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
+
+                       for ( ; i < len; i++ ) {
+                               // Skip accessing in sparse arrays
+                               if ( i in array && array[ i ] === elem ) {
+                                       return i;
+                               }
+                       }
+               }
+
+               return -1;
+       },
+
+       merge: function( first, second ) {
+               var i = first.length,
+                       j = 0;
+
+               if ( typeof second.length === "number" ) {
+                       for ( var l = second.length; j < l; j++ ) {
+                               first[ i++ ] = second[ j ];
+                       }
+
+               } else {
+                       while ( second[j] !== undefined ) {
+                               first[ i++ ] = second[ j++ ];
+                       }
+               }
+
+               first.length = i;
+
+               return first;
+       },
+
+       grep: function( elems, callback, inv ) {
+               var ret = [], retVal;
+               inv = !!inv;
+
+               // Go through the array, only saving the items
+               // that pass the validator function
+               for ( var i = 0, length = elems.length; i < length; i++ ) {
+                       retVal = !!callback( elems[ i ], i );
+                       if ( inv !== retVal ) {
+                               ret.push( elems[ i ] );
+                       }
+               }
+
+               return ret;
+       },
+
+       // arg is for internal usage only
+       map: function( elems, callback, arg ) {
+               var value, key, ret = [],
+                       i = 0,
+                       length = elems.length,
+                       // jquery objects are treated as arrays
+                       isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ;
+
+               // Go through the array, translating each of the items to their
+               if ( isArray ) {
+                       for ( ; i < length; i++ ) {
+                               value = callback( elems[ i ], i, arg );
+
+                               if ( value != null ) {
+                                       ret[ ret.length ] = value;
+                               }
+                       }
+
+               // Go through every key on the object,
+               } else {
+                       for ( key in elems ) {
+                               value = callback( elems[ key ], key, arg );
+
+                               if ( value != null ) {
+                                       ret[ ret.length ] = value;
+                               }
+                       }
+               }
+
+               // Flatten any nested arrays
+               return ret.concat.apply( [], ret );
+       },
+
+       // A global GUID counter for objects
+       guid: 1,
+
+       // Bind a function to a context, optionally partially applying any
+       // arguments.
+       proxy: function( fn, context ) {
+               if ( typeof context === "string" ) {
+                       var tmp = fn[ context ];
+                       context = fn;
+                       fn = tmp;
+               }
+
+               // Quick check to determine if target is callable, in the spec
+               // this throws a TypeError, but we will just return undefined.
+               if ( !jQuery.isFunction( fn ) ) {
+                       return undefined;
+               }
+
+               // Simulated bind
+               var args = slice.call( arguments, 2 ),
+                       proxy = function() {
+                               return fn.apply( context, args.concat( slice.call( arguments ) ) );
+                       };
+
+               // Set the guid of unique handler to the same of original handler, so it can be removed
+               proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
+
+               return proxy;
+       },
+
+       // Mutifunctional method to get and set values to a collection
+       // The value/s can optionally be executed if it's a function
+       access: function( elems, key, value, exec, fn, pass ) {
+               var length = elems.length;
+
+               // Setting many attributes
+               if ( typeof key === "object" ) {
+                       for ( var k in key ) {
+                               jQuery.access( elems, k, key[k], exec, fn, value );
+                       }
+                       return elems;
+               }
+
+               // Setting one attribute
+               if ( value !== undefined ) {
+                       // Optionally, function values get executed if exec is true
+                       exec = !pass && exec && jQuery.isFunction(value);
+
+                       for ( var i = 0; i < length; i++ ) {
+                               fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
+                       }
+
+                       return elems;
+               }
+
+               // Getting an attribute
+               return length ? fn( elems[0], key ) : undefined;
+       },
+
+       now: function() {
+               return (new Date()).getTime();
+       },
+
+       // Use of jQuery.browser is frowned upon.
+       // More details: http://docs.jquery.com/Utilities/jQuery.browser
+       uaMatch: function( ua ) {
+               ua = ua.toLowerCase();
+
+               var match = rwebkit.exec( ua ) ||
+                       ropera.exec( ua ) ||
+                       rmsie.exec( ua ) ||
+                       ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
+                       [];
+
+               return { browser: match[1] || "", version: match[2] || "0" };
+       },
+
+       sub: function() {
+               function jQuerySub( selector, context ) {
+                       return new jQuerySub.fn.init( selector, context );
+               }
+               jQuery.extend( true, jQuerySub, this );
+               jQuerySub.superclass = this;
+               jQuerySub.fn = jQuerySub.prototype = this();
+               jQuerySub.fn.constructor = jQuerySub;
+               jQuerySub.sub = this.sub;
+               jQuerySub.fn.init = function init( selector, context ) {
+                       if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
+                               context = jQuerySub( context );
+                       }
+
+                       return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
+               };
+               jQuerySub.fn.init.prototype = jQuerySub.fn;
+               var rootjQuerySub = jQuerySub(document);
+               return jQuerySub;
+       },
+
+       browser: {}
+});
+
+// Populate the class2type map
+jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
+       class2type[ "[object " + name + "]" ] = name.toLowerCase();
+});
+
+browserMatch = jQuery.uaMatch( userAgent );
+if ( browserMatch.browser ) {
+       jQuery.browser[ browserMatch.browser ] = true;
+       jQuery.browser.version = browserMatch.version;
+}
+
+// Deprecated, use jQuery.browser.webkit instead
+if ( jQuery.browser.webkit ) {
+       jQuery.browser.safari = true;
+}
+
+// IE doesn't match non-breaking spaces with \s
+if ( rnotwhite.test( "\xA0" ) ) {
+       trimLeft = /^[\s\xA0]+/;
+       trimRight = /[\s\xA0]+$/;
+}
+
+// All jQuery objects should point back to these
+rootjQuery = jQuery(document);
+
+// Cleanup functions for the document ready method
+if ( document.addEventListener ) {
+       DOMContentLoaded = function() {
+               document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
+               jQuery.ready();
+       };
+
+} else if ( document.attachEvent ) {
+       DOMContentLoaded = function() {
+               // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
+               if ( document.readyState === "complete" ) {
+                       document.detachEvent( "onreadystatechange", DOMContentLoaded );
+                       jQuery.ready();
+               }
+       };
+}
+
+// The DOM ready check for Internet Explorer
+function doScrollCheck() {
+       if ( jQuery.isReady ) {
+               return;
+       }
+
+       try {
+               // If IE is used, use the trick by Diego Perini
+               // http://javascript.nwbox.com/IEContentLoaded/
+               document.documentElement.doScroll("left");
+       } catch(e) {
+               setTimeout( doScrollCheck, 1 );
+               return;
+       }
+
+       // and execute any waiting functions
+       jQuery.ready();
+}
+
+// Expose jQuery as an AMD module, but only for AMD loaders that
+// understand the issues with loading multiple versions of jQuery
+// in a page that all might call define(). The loader will indicate
+// they have special allowances for multiple jQuery versions by
+// specifying define.amd.jQuery = true. Register as a named module,
+// since jQuery can be concatenated with other files that may use define,
+// but not use a proper concatenation script that understands anonymous
+// AMD modules. A named AMD is safest and most robust way to register.
+// Lowercase jquery is used because AMD module names are derived from
+// file names, and jQuery is normally delivered in a lowercase file name.
+if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
+       define( "jquery", [], function () { return jQuery; } );
+}
+
+return jQuery;
+
+})();
+
+
+// String to Object flags format cache
+var flagsCache = {};
+
+// Convert String-formatted flags into Object-formatted ones and store in cache
+function createFlags( flags ) {
+       var object = flagsCache[ flags ] = {},
+               i, length;
+       flags = flags.split( /\s+/ );
+       for ( i = 0, length = flags.length; i < length; i++ ) {
+               object[ flags[i] ] = true;
+       }
+       return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ *     flags:  an optional list of space-separated flags that will change how
+ *                     the callback list behaves
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible flags:
+ *
+ *     once:                   will ensure the callback list can only be fired once (like a Deferred)
+ *
+ *     memory:                 will keep track of previous values and will call any callback added
+ *                                     after the list has been fired right away with the latest "memorized"
+ *                                     values (like a Deferred)
+ *
+ *     unique:                 will ensure a callback can only be added once (no duplicate in the list)
+ *
+ *     stopOnFalse:    interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( flags ) {
+
+       // Convert flags from String-formatted to Object-formatted
+       // (we check in cache first)
+       flags = flags ? ( flagsCache[ flags ] || createFlags( flags ) ) : {};
+
+       var // Actual callback list
+               list = [],
+               // Stack of fire calls for repeatable lists
+               stack = [],
+               // Last fire value (for non-forgettable lists)
+               memory,
+               // Flag to know if list is currently firing
+               firing,
+               // First callback to fire (used internally by add and fireWith)
+               firingStart,
+               // End of the loop when firing
+               firingLength,
+               // Index of currently firing callback (modified by remove if needed)
+               firingIndex,
+               // Add one or several callbacks to the list
+               add = function( args ) {
+                       var i,
+                               length,
+                               elem,
+                               type,
+                               actual;
+                       for ( i = 0, length = args.length; i < length; i++ ) {
+                               elem = args[ i ];
+                               type = jQuery.type( elem );
+                               if ( type === "array" ) {
+                                       // Inspect recursively
+                                       add( elem );
+                               } else if ( type === "function" ) {
+                                       // Add if not in unique mode and callback is not in
+                                       if ( !flags.unique || !self.has( elem ) ) {
+                                               list.push( elem );
+                                       }
+                               }
+                       }
+               },
+               // Fire callbacks
+               fire = function( context, args ) {
+                       args = args || [];
+                       memory = !flags.memory || [ context, args ];
+                       firing = true;
+                       firingIndex = firingStart || 0;
+                       firingStart = 0;
+                       firingLength = list.length;
+                       for ( ; list && firingIndex < firingLength; firingIndex++ ) {
+                               if ( list[ firingIndex ].apply( context, args ) === false && flags.stopOnFalse ) {
+                                       memory = true; // Mark as halted
+                                       break;
+                               }
+                       }
+                       firing = false;
+                       if ( list ) {
+                               if ( !flags.once ) {
+                                       if ( stack && stack.length ) {
+                                               memory = stack.shift();
+                                               self.fireWith( memory[ 0 ], memory[ 1 ] );
+                                       }
+                               } else if ( memory === true ) {
+                                       self.disable();
+                               } else {
+                                       list = [];
+                               }
+                       }
+               },
+               // Actual Callbacks object
+               self = {
+                       // Add a callback or a collection of callbacks to the list
+                       add: function() {
+                               if ( list ) {
+                                       var length = list.length;
+                                       add( arguments );
+                                       // Do we need to add the callbacks to the
+                                       // current firing batch?
+                                       if ( firing ) {
+                                               firingLength = list.length;
+                                       // With memory, if we're not firing then
+                                       // we should call right away, unless previous
+                                       // firing was halted (stopOnFalse)
+                                       } else if ( memory && memory !== true ) {
+                                               firingStart = length;
+                                               fire( memory[ 0 ], memory[ 1 ] );
+                                       }
+                               }
+                               return this;
+                       },
+                       // Remove a callback from the list
+                       remove: function() {
+                               if ( list ) {
+                                       var args = arguments,
+                                               argIndex = 0,
+                                               argLength = args.length;
+                                       for ( ; argIndex < argLength ; argIndex++ ) {
+                                               for ( var i = 0; i < list.length; i++ ) {
+                                                       if ( args[ argIndex ] === list[ i ] ) {
+                                                               // Handle firingIndex and firingLength
+                                                               if ( firing ) {
+                                                                       if ( i <= firingLength ) {
+                                                                               firingLength--;
+                                                                               if ( i <= firingIndex ) {
+                                                                                       firingIndex--;
+                                                                               }
+                                                                       }
+                                                               }
+                                                               // Remove the element
+                                                               list.splice( i--, 1 );
+                                                               // If we have some unicity property then
+                                                               // we only need to do this once
+                                                               if ( flags.unique ) {
+                                                                       break;
+                                                               }
+                                                       }
+                                               }
+                                       }
+                               }
+                               return this;
+                       },
+                       // Control if a given callback is in the list
+                       has: function( fn ) {
+                               if ( list ) {
+                                       var i = 0,
+                                               length = list.length;
+                                       for ( ; i < length; i++ ) {
+                                               if ( fn === list[ i ] ) {
+                                                       return true;
+                                               }
+                                       }
+                               }
+                               return false;
+                       },
+                       // Remove all callbacks from the list
+                       empty: function() {
+                               list = [];
+                               return this;
+                       },
+                       // Have the list do nothing anymore
+                       disable: function() {
+                               list = stack = memory = undefined;
+                               return this;
+                       },
+                       // Is it disabled?
+                       disabled: function() {
+                               return !list;
+                       },
+                       // Lock the list in its current state
+                       lock: function() {
+                               stack = undefined;
+                               if ( !memory || memory === true ) {
+                                       self.disable();
+                               }
+                               return this;
+                       },
+                       // Is it locked?
+                       locked: function() {
+                               return !stack;
+                       },
+                       // Call all callbacks with the given context and arguments
+                       fireWith: function( context, args ) {
+                               if ( stack ) {
+                                       if ( firing ) {
+                                               if ( !flags.once ) {
+                                                       stack.push( [ context, args ] );
+                                               }
+                                       } else if ( !( flags.once && memory ) ) {
+                                               fire( context, args );
+                                       }
+                               }
+                               return this;
+                       },
+                       // Call all the callbacks with the given arguments
+                       fire: function() {
+                               self.fireWith( this, arguments );
+                               return this;
+                       },
+                       // To know if the callbacks have already been called at least once
+                       fired: function() {
+                               return !!memory;
+                       }
+               };
+
+       return self;
+};
+
+
+
+
+var // Static reference to slice
+       sliceDeferred = [].slice;
+
+jQuery.extend({
+
+       Deferred: function( func ) {
+               var doneList = jQuery.Callbacks( "once memory" ),
+                       failList = jQuery.Callbacks( "once memory" ),
+                       progressList = jQuery.Callbacks( "memory" ),
+                       state = "pending",
+                       lists = {
+                               resolve: doneList,
+                               reject: failList,
+                               notify: progressList
+                       },
+                       promise = {
+                               done: doneList.add,
+                               fail: failList.add,
+                               progress: progressList.add,
+
+                               state: function() {
+                                       return state;
+                               },
+
+                               // Deprecated
+                               isResolved: doneList.fired,
+                               isRejected: failList.fired,
+
+                               then: function( doneCallbacks, failCallbacks, progressCallbacks ) {
+                                       deferred.done( doneCallbacks ).fail( failCallbacks ).progress( progressCallbacks );
+                                       return this;
+                               },
+                               always: function() {
+                                       return deferred.done.apply( deferred, arguments ).fail.apply( deferred, arguments );
+                               },
+                               pipe: function( fnDone, fnFail, fnProgress ) {
+                                       return jQuery.Deferred(function( newDefer ) {
+                                               jQuery.each( {
+                                                       done: [ fnDone, "resolve" ],
+                                                       fail: [ fnFail, "reject" ],
+                                                       progress: [ fnProgress, "notify" ]
+                                               }, function( handler, data ) {
+                                                       var fn = data[ 0 ],
+                                                               action = data[ 1 ],
+                                                               returned;
+                                                       if ( jQuery.isFunction( fn ) ) {
+                                                               deferred[ handler ](function() {
+                                                                       returned = fn.apply( this, arguments );
+                                                                       if ( returned && jQuery.isFunction( returned.promise ) ) {
+                                                                               returned.promise().then( newDefer.resolve, newDefer.reject, newDefer.notify );
+                                                                       } else {
+                                                                               newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] );
+                                                                       }
+                                                               });
+                                                       } else {
+                                                               deferred[ handler ]( newDefer[ action ] );
+                                                       }
+                                               });
+                                       }).promise();
+                               },
+                               // Get a promise for this deferred
+                               // If obj is provided, the promise aspect is added to the object
+                               promise: function( obj ) {
+                                       if ( obj == null ) {
+                                               obj = promise;
+                                       } else {
+                                               for( var key in promise ) {
+                                                       obj[ key ] = promise[ key ];
+                                               }
+                                       }
+                                       return obj;
+                               }
+                       },
+                       deferred = promise.promise({}),
+                       key;
+
+               for ( key in lists ) {
+                       deferred[ key ] = lists[ key ].fire;
+                       deferred[ key + "With" ] = lists[ key ].fireWith;
+               }
+
+               // Handle state
+               deferred.done( function() {
+                       state = "resolved";
+               }, failList.disable, progressList.lock ).fail( function() {
+                       state = "rejected";
+               }, doneList.disable, progressList.lock );
+
+               // Call given func if any
+               if ( func ) {
+                       func.call( deferred, deferred );
+               }
+
+               // All done!
+               return deferred;
+       },
+
+       // Deferred helper
+       when: function( firstParam ) {
+               var args = sliceDeferred.call( arguments, 0 ),
+                       i = 0,
+                       length = args.length,
+                       pValues = new Array( length ),
+                       count = length,
+                       pCount = length,
+                       deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ?
+                               firstParam :
+                               jQuery.Deferred(),
+                       promise = deferred.promise();
+               function resolveFunc( i ) {
+                       return function( value ) {
+                               args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
+                               if ( !( --count ) ) {
+                                       deferred.resolveWith( deferred, args );
+                               }
+                       };
+               }
+               function progressFunc( i ) {
+                       return function( value ) {
+                               pValues[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
+                               deferred.notifyWith( promise, pValues );
+                       };
+               }
+               if ( length > 1 ) {
+                       for( ; i < length; i++ ) {
+                               if ( args[ i ] && args[ i ].promise && jQuery.isFunction( args[ i ].promise ) ) {
+                                       args[ i ].promise().then( resolveFunc(i), deferred.reject, progressFunc(i) );
+                               } else {
+                                       --count;
+                               }
+                       }
+                       if ( !count ) {
+                               deferred.resolveWith( deferred, args );
+                       }
+               } else if ( deferred !== firstParam ) {
+                       deferred.resolveWith( deferred, length ? [ firstParam ] : [] );
+               }
+               return promise;
+       }
+});
+
+
+
+
+jQuery.support = (function() {
+
+       var div = document.createElement( "div" ),
+               documentElement = document.documentElement,
+               all,
+               a,
+               select,
+               opt,
+               input,
+               marginDiv,
+               support,
+               fragment,
+               body,
+               testElementParent,
+               testElement,
+               testElementStyle,
+               tds,
+               events,
+               eventName,
+               i,
+               isSupported,
+               offsetSupport;
+
+       // Preliminary tests
+       div.setAttribute("className", "t");
+       div.innerHTML = "   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/><nav></nav>";
+
+
+       all = div.getElementsByTagName( "*" );
+       a = div.getElementsByTagName( "a" )[ 0 ];
+
+       // Can't get basic test support
+       if ( !all || !all.length || !a ) {
+               return {};
+       }
+
+       // First batch of supports tests
+       select = document.createElement( "select" );
+       opt = select.appendChild( document.createElement("option") );
+       input = div.getElementsByTagName( "input" )[ 0 ];
+
+       support = {
+               // IE strips leading whitespace when .innerHTML is used
+               leadingWhitespace: ( div.firstChild.nodeType === 3 ),
+
+               // Make sure that tbody elements aren't automatically inserted
+               // IE will insert them into empty tables
+               tbody: !div.getElementsByTagName( "tbody" ).length,
+
+               // Make sure that link elements get serialized correctly by innerHTML
+               // This requires a wrapper element in IE
+               htmlSerialize: !!div.getElementsByTagName( "link" ).length,
+
+               // Get the style information from getAttribute
+               // (IE uses .cssText instead)
+               style: /top/.test( a.getAttribute("style") ),
+
+               // Make sure that URLs aren't manipulated
+               // (IE normalizes it by default)
+               hrefNormalized: ( a.getAttribute( "href" ) === "/a" ),
+
+               // Make sure that element opacity exists
+               // (IE uses filter instead)
+               // Use a regex to work around a WebKit issue. See #5145
+               opacity: /^0.55/.test( a.style.opacity ),
+
+               // Verify style float existence
+               // (IE uses styleFloat instead of cssFloat)
+               cssFloat: !!a.style.cssFloat,
+
+               // Make sure unknown elements (like HTML5 elems) are handled appropriately
+               unknownElems: !!div.getElementsByTagName( "nav" ).length,
+
+               // Make sure that if no value is specified for a checkbox
+               // that it defaults to "on".
+               // (WebKit defaults to "" instead)
+               checkOn: ( input.value === "on" ),
+
+               // Make sure that a selected-by-default option has a working selected property.
+               // (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
+               optSelected: opt.selected,
+
+               // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
+               getSetAttribute: div.className !== "t",
+
+               // Will be defined later
+               submitBubbles: true,
+               changeBubbles: true,
+               focusinBubbles: false,
+               deleteExpando: true,
+               noCloneEvent: true,
+               inlineBlockNeedsLayout: false,
+               shrinkWrapBlocks: false,
+               reliableMarginRight: true
+       };
+
+       // Make sure checked status is properly cloned
+       input.checked = true;
+       support.noCloneChecked = input.cloneNode( true ).checked;
+
+       // Make sure that the options inside disabled selects aren't marked as disabled
+       // (WebKit marks them as disabled)
+       select.disabled = true;
+       support.optDisabled = !opt.disabled;
+
+       // Test to see if it's possible to delete an expando from an element
+       // Fails in Internet Explorer
+       try {
+               delete div.test;
+       } catch( e ) {
+               support.deleteExpando = false;
+       }
+
+       if ( !div.addEventListener && div.attachEvent && div.fireEvent ) {
+               div.attachEvent( "onclick", function() {
+                       // Cloning a node shouldn't copy over any
+                       // bound event handlers (IE does this)
+                       support.noCloneEvent = false;
+               });
+               div.cloneNode( true ).fireEvent( "onclick" );
+       }
+
+       // Check if a radio maintains its value
+       // after being appended to the DOM
+       input = document.createElement("input");
+       input.value = "t";
+       input.setAttribute("type", "radio");
+       support.radioValue = input.value === "t";
+
+       input.setAttribute("checked", "checked");
+       div.appendChild( input );
+       fragment = document.createDocumentFragment();
+       fragment.appendChild( div.firstChild );
+
+       // WebKit doesn't clone checked state correctly in fragments
+       support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+       div.innerHTML = "";
+
+       // Figure out if the W3C box model works as expected
+       div.style.width = div.style.paddingLeft = "1px";
+
+       // We don't want to do body-related feature tests on frameset
+       // documents, which lack a body. So we use
+       // document.getElementsByTagName("body")[0], which is undefined in
+       // frameset documents, while document.body isn’t. (7398)
+       body = document.getElementsByTagName("body")[ 0 ];
+       // We use our own, invisible, body unless the body is already present
+       // in which case we use a div (#9239)
+       testElement = document.createElement( body ? "div" : "body" );
+       testElementStyle = {
+               visibility: "hidden",
+               width: 0,
+               height: 0,
+               border: 0,
+               margin: 0,
+               background: "none"
+       };
+       if ( body ) {
+               jQuery.extend( testElementStyle, {
+                       position: "absolute",
+                       left: "-999px",
+                       top: "-999px"
+               });
+       }
+       for ( i in testElementStyle ) {
+               testElement.style[ i ] = testElementStyle[ i ];
+       }
+       testElement.appendChild( div );
+       testElementParent = body || documentElement;
+       testElementParent.insertBefore( testElement, testElementParent.firstChild );
+
+       // Check if a disconnected checkbox will retain its checked
+       // value of true after appended to the DOM (IE6/7)
+       support.appendChecked = input.checked;
+
+       support.boxModel = div.offsetWidth === 2;
+
+       if ( "zoom" in div.style ) {
+               // Check if natively block-level elements act like inline-block
+               // elements when setting their display to 'inline' and giving
+               // them layout
+               // (IE < 8 does this)
+               div.style.display = "inline";
+               div.style.zoom = 1;
+               support.inlineBlockNeedsLayout = ( div.offsetWidth === 2 );
+
+               // Check if elements with layout shrink-wrap their children
+               // (IE 6 does this)
+               div.style.display = "";
+               div.innerHTML = "<div style='width:4px;'></div>";
+               support.shrinkWrapBlocks = ( div.offsetWidth !== 2 );
+       }
+
+       div.innerHTML = "<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";
+       tds = div.getElementsByTagName( "td" );
+
+       // Check if table cells still have offsetWidth/Height when they are set
+       // to display:none and there are still other visible table cells in a
+       // table row; if so, offsetWidth/Height are not reliable for use when
+       // determining if an element has been hidden directly using
+       // display:none (it is still safe to use offsets if a parent element is
+       // hidden; don safety goggles and see bug #4512 for more information).
+       // (only IE 8 fails this test)
+       isSupported = ( tds[ 0 ].offsetHeight === 0 );
+
+       tds[ 0 ].style.display = "";
+       tds[ 1 ].style.display = "none";
+
+       // Check if empty table cells still have offsetWidth/Height
+       // (IE < 8 fail this test)
+       support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );
+       div.innerHTML = "";
+
+       // Check if div with explicit width and no margin-right incorrectly
+       // gets computed margin-right based on width of container. For more
+       // info see bug #3333
+       // Fails in WebKit before Feb 2011 nightlies
+       // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
+       if ( document.defaultView && document.defaultView.getComputedStyle ) {
+               marginDiv = document.createElement( "div" );
+               marginDiv.style.width = "0";
+               marginDiv.style.marginRight = "0";
+               div.appendChild( marginDiv );
+               support.reliableMarginRight =
+                       ( parseInt( ( document.defaultView.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0;
+       }
+
+       // Remove the body element we added
+       testElement.innerHTML = "";
+
+       // Technique from Juriy Zaytsev
+       // http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
+       // We only care about the case where non-standard event systems
+       // are used, namely in IE. Short-circuiting here helps us to
+       // avoid an eval call (in setAttribute) which can cause CSP
+       // to go haywire. See: https://developer.mozilla.org/en/Security/CSP
+       if ( div.attachEvent ) {
+               for( i in {
+                       submit: 1,
+                       change: 1,
+                       focusin: 1
+               } ) {
+                       eventName = "on" + i;
+                       isSupported = ( eventName in div );
+                       if ( !isSupported ) {
+                               div.setAttribute( eventName, "return;" );
+                               isSupported = ( typeof div[ eventName ] === "function" );
+                       }
+                       support[ i + "Bubbles" ] = isSupported;
+               }
+       }
+
+       // Determine fixed-position support early
+       testElement.style.position = "static";
+       testElement.style.top = "0px";
+       testElement.style.marginTop = "1px";
+       offsetSupport = (function( body, container ) {
+
+               var outer, inner, table, td, supports,
+                       bodyMarginTop = parseFloat( body.style.marginTop ) || 0,
+                       ptlm = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",
+                       style = "style='" + ptlm + "border:5px solid #000;padding:0;'",
+                       html = "<div " + style + "><div></div></div>" +
+                                                       "<table " + style + " cellpadding='0' cellspacing='0'>" +
+                                                       "<tr><td></td></tr></table>";
+
+               container.style.cssText = ptlm + "border:0;visibility:hidden";
+
+               container.innerHTML = html;
+               body.insertBefore( container, body.firstChild );
+               outer = container.firstChild;
+               inner = outer.firstChild;
+               td = outer.nextSibling.firstChild.firstChild;
+
+               supports = {
+                       doesNotAddBorder: (inner.offsetTop !== 5),
+                       doesAddBorderForTableAndCells: (td.offsetTop === 5)
+               };
+
+               inner.style.position = "fixed";
+               inner.style.top = "20px";
+
+               // safari subtracts parent border width here which is 5px
+               supports.supportsFixedPosition = (inner.offsetTop === 20 || inner.offsetTop === 15);
+               inner.style.position = inner.style.top = "";
+
+               outer.style.overflow = "hidden";
+               outer.style.position = "relative";
+
+               supports.subtractsBorderForOverflowNotVisible = (inner.offsetTop === -5);
+               supports.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop);
+
+               return supports;
+
+       })( testElement, div );
+
+       jQuery.extend( support, offsetSupport );
+       testElementParent.removeChild( testElement );
+
+       // Null connected elements to avoid leaks in IE
+       testElement = fragment = select = opt = body = marginDiv = div = input = null;
+
+       return support;
+})();
+
+// Keep track of boxModel
+jQuery.boxModel = jQuery.support.boxModel;
+
+
+
+
+var rbrace = /^(?:\{.*\}|\[.*\])$/,
+       rmultiDash = /([A-Z])/g;
+
+jQuery.extend({
+       cache: {},
+
+       // Please use with caution
+       uuid: 0,
+
+       // Unique for each copy of jQuery on the page
+       // Non-digits removed to match rinlinejQuery
+       expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ),
+
+       // The following elements throw uncatchable exceptions if you
+       // attempt to add expando properties to them.
+       noData: {
+               "embed": true,
+               // Ban all objects except for Flash (which handle expandos)
+               "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
+               "applet": true
+       },
+
+       hasData: function( elem ) {
+               elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];
+               return !!elem && !isEmptyDataObject( elem );
+       },
+
+       data: function( elem, name, data, pvt /* Internal Use Only */ ) {
+               if ( !jQuery.acceptData( elem ) ) {
+                       return;
+               }
+
+               var thisCache, ret,
+                       internalKey = jQuery.expando,
+                       getByName = typeof name === "string",
+
+                       // We have to handle DOM nodes and JS objects differently because IE6-7
+                       // can't GC object references properly across the DOM-JS boundary
+                       isNode = elem.nodeType,
+
+                       // Only DOM nodes need the global jQuery cache; JS object data is
+                       // attached directly to the object so GC can occur automatically
+                       cache = isNode ? jQuery.cache : elem,
+
+                       // Only defining an ID for JS objects if its cache already exists allows
+                       // the code to shortcut on the same path as a DOM node with no cache
+                       id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando;
+
+               // Avoid doing any more work than we need to when trying to get data on an
+               // object that has no data at all
+               if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) {
+                       return;
+               }
+
+               if ( !id ) {
+                       // Only DOM nodes need a new unique ID for each element since their data
+                       // ends up in the global cache
+                       if ( isNode ) {
+                               elem[ jQuery.expando ] = id = ++jQuery.uuid;
+                       } else {
+                               id = jQuery.expando;
+                       }
+               }
+
+               if ( !cache[ id ] ) {
+                       cache[ id ] = {};
+
+                       // Avoids exposing jQuery metadata on plain JS objects when the object 
+                       // is serialized using JSON.stringify
+                       if ( !isNode ) {
+                               cache[ id ].toJSON = jQuery.noop;
+                       }
+               }
+
+               // An object can be passed to jQuery.data instead of a key/value pair; this gets
+               // shallow copied over onto the existing cache
+               if ( typeof name === "object" || typeof name === "function" ) {
+                       if ( pvt ) {
+                               cache[ id ] = jQuery.extend( cache[ id ], name );
+                       } else {
+                               cache[ id ].data = jQuery.extend( cache[ id ].data, name );
+                       }
+               }
+
+               thisCache = cache[ id ];
+
+               // jQuery data() is stored in a separate object inside the object's internal data
+               // cache in order to avoid key collisions between internal data and user-defined
+               // data.
+               if ( !pvt ) {
+                       if ( !thisCache.data ) {
+                               thisCache.data = {};
+                       }
+
+                       thisCache = thisCache.data;
+               }
+
+               if ( data !== undefined ) {
+                       thisCache[ jQuery.camelCase( name ) ] = data;
+               }
+
+               // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should
+               // not attempt to inspect the internal events object using jQuery.data, as this
+               // internal data object is undocumented and subject to change.
+               if ( name === "events" && !thisCache[name] ) {
+                       return thisCache[ internalKey ] && thisCache[ internalKey ].events;
+               }
+
+               // Check for both converted-to-camel and non-converted data property names
+               // If a data property was specified
+               if ( getByName ) {
+
+                       // First Try to find as-is property data
+                       ret = thisCache[ name ];
+
+                       // Test for null|undefined property data
+                       if ( ret == null ) {
+
+                               // Try to find the camelCased property
+                               ret = thisCache[ jQuery.camelCase( name ) ];
+                       }
+               } else {
+                       ret = thisCache;
+               }
+
+               return ret;
+       },
+
+       removeData: function( elem, name, pvt /* Internal Use Only */ ) {
+               if ( !jQuery.acceptData( elem ) ) {
+                       return;
+               }
+
+               var thisCache, i, l,
+
+                       // Reference to internal data cache key
+                       internalKey = jQuery.expando,
+
+                       isNode = elem.nodeType,
+
+                       // See jQuery.data for more information
+                       cache = isNode ? jQuery.cache : elem,
+
+                       // See jQuery.data for more information
+                       id = isNode ? elem[ jQuery.expando ] : jQuery.expando;
+
+               // If there is already no cache entry for this object, there is no
+               // purpose in continuing
+               if ( !cache[ id ] ) {
+                       return;
+               }
+
+               if ( name ) {
+
+                       thisCache = pvt ? cache[ id ] : cache[ id ].data;
+
+                       if ( thisCache ) {
+
+                               // Support space separated names
+                               if ( jQuery.isArray( name ) ) {
+                                       name = name;
+                               } else if ( name in thisCache ) {
+                                       name = [ name ];
+                               } else {
+
+                                       // split the camel cased version by spaces
+                                       name = jQuery.camelCase( name );
+                                       if ( name in thisCache ) {
+                                               name = [ name ];
+                                       } else {
+                                               name = name.split( " " );
+                                       }
+                               }
+
+                               for ( i = 0, l = name.length; i < l; i++ ) {
+                                       delete thisCache[ name[i] ];
+                               }
+
+                               // If there is no data left in the cache, we want to continue
+                               // and let the cache object itself get destroyed
+                               if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) {
+                                       return;
+                               }
+                       }
+               }
+
+               // See jQuery.data for more information
+               if ( !pvt ) {
+                       delete cache[ id ].data;
+
+                       // Don't destroy the parent cache unless the internal data object
+                       // had been the only thing left in it
+                       if ( !isEmptyDataObject(cache[ id ]) ) {
+                               return;
+                       }
+               }
+
+               // Browsers that fail expando deletion also refuse to delete expandos on
+               // the window, but it will allow it on all other JS objects; other browsers
+               // don't care
+               // Ensure that `cache` is not a window object #10080
+               if ( jQuery.support.deleteExpando || !cache.setInterval ) {
+                       delete cache[ id ];
+               } else {
+                       cache[ id ] = null;
+               }
+
+               // We destroyed the cache and need to eliminate the expando on the node to avoid
+               // false lookups in the cache for entries that no longer exist
+               if ( isNode ) {
+                       // IE does not allow us to delete expando properties from nodes,
+                       // nor does it have a removeAttribute function on Document nodes;
+                       // we must handle all of these cases
+                       if ( jQuery.support.deleteExpando ) {
+                               delete elem[ jQuery.expando ];
+                       } else if ( elem.removeAttribute ) {
+                               elem.removeAttribute( jQuery.expando );
+                       } else {
+                               elem[ jQuery.expando ] = null;
+                       }
+               }
+       },
+
+       // For internal use only.
+       _data: function( elem, name, data ) {
+               return jQuery.data( elem, name, data, true );
+       },
+
+       // A method for determining if a DOM node can handle the data expando
+       acceptData: function( elem ) {
+               if ( elem.nodeName ) {
+                       var match = jQuery.noData[ elem.nodeName.toLowerCase() ];
+
+                       if ( match ) {
+                               return !(match === true || elem.getAttribute("classid") !== match);
+                       }
+               }
+
+               return true;
+       }
+});
+
+jQuery.fn.extend({
+       data: function( key, value ) {
+               var parts, attr, name,
+                       data = null;
+
+               if ( typeof key === "undefined" ) {
+                       if ( this.length ) {
+                               data = jQuery.data( this[0] );
+
+                               if ( this[0].nodeType === 1 && !jQuery._data( this[0], "parsedAttrs" ) ) {
+                                       attr = this[0].attributes;
+                                       for ( var i = 0, l = attr.length; i < l; i++ ) {
+                                               name = attr[i].name;
+
+                                               if ( name.indexOf( "data-" ) === 0 ) {
+                                                       name = jQuery.camelCase( name.substring(5) );
+
+                                                       dataAttr( this[0], name, data[ name ] );
+                                               }
+                                       }
+                                       jQuery._data( this[0], "parsedAttrs", true );
+                               }
+                       }
+
+                       return data;
+
+               } else if ( typeof key === "object" ) {
+                       return this.each(function() {
+                               jQuery.data( this, key );
+                       });
+               }
+
+               parts = key.split(".");
+               parts[1] = parts[1] ? "." + parts[1] : "";
+
+               if ( value === undefined ) {
+                       data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
+
+                       // Try to fetch any internally stored data first
+                       if ( data === undefined && this.length ) {
+                               data = jQuery.data( this[0], key );
+                               data = dataAttr( this[0], key, data );
+                       }
+
+                       return data === undefined && parts[1] ?
+                               this.data( parts[0] ) :
+                               data;
+
+               } else {
+                       return this.each(function() {
+                               var $this = jQuery( this ),
+                                       args = [ parts[0], value ];
+
+                               $this.triggerHandler( "setData" + parts[1] + "!", args );
+                               jQuery.data( this, key, value );
+                               $this.triggerHandler( "changeData" + parts[1] + "!", args );
+                       });
+               }
+       },
+
+       removeData: function( key ) {
+               return this.each(function() {
+                       jQuery.removeData( this, key );
+               });
+       }
+});
+
+function dataAttr( elem, key, data ) {
+       // If nothing was found internally, try to fetch any
+       // data from the HTML5 data-* attribute
+       if ( data === undefined && elem.nodeType === 1 ) {
+
+               var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
+
+               data = elem.getAttribute( name );
+
+               if ( typeof data === "string" ) {
+                       try {
+                               data = data === "true" ? true :
+                               data === "false" ? false :
+                               data === "null" ? null :
+                               jQuery.isNumeric( data ) ? parseFloat( data ) :
+                                       rbrace.test( data ) ? jQuery.parseJSON( data ) :
+                                       data;
+                       } catch( e ) {}
+
+                       // Make sure we set the data so it isn't changed later
+                       jQuery.data( elem, key, data );
+
+               } else {
+                       data = undefined;
+               }
+       }
+
+       return data;
+}
+
+// checks a cache object for emptiness
+function isEmptyDataObject( obj ) {
+       for ( var name in obj ) {
+
+               // if the public data object is empty, the private is still empty
+               if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) {
+                       continue;
+               }
+               if ( name !== "toJSON" ) {
+                       return false;
+               }
+       }
+
+       return true;
+}
+
+
+
+
+function handleQueueMarkDefer( elem, type, src ) {
+       var deferDataKey = type + "defer",
+               queueDataKey = type + "queue",
+               markDataKey = type + "mark",
+               defer = jQuery._data( elem, deferDataKey );
+       if ( defer &&
+               ( src === "queue" || !jQuery._data(elem, queueDataKey) ) &&
+               ( src === "mark" || !jQuery._data(elem, markDataKey) ) ) {
+               // Give room for hard-coded callbacks to fire first
+               // and eventually mark/queue something else on the element
+               setTimeout( function() {
+                       if ( !jQuery._data( elem, queueDataKey ) &&
+                               !jQuery._data( elem, markDataKey ) ) {
+                               jQuery.removeData( elem, deferDataKey, true );
+                               defer.fire();
+                       }
+               }, 0 );
+       }
+}
+
+jQuery.extend({
+
+       _mark: function( elem, type ) {
+               if ( elem ) {
+                       type = (type || "fx") + "mark";
+                       jQuery._data( elem, type, (jQuery._data( elem, type ) || 0) + 1 );
+               }
+       },
+
+       _unmark: function( force, elem, type ) {
+               if ( force !== true ) {
+                       type = elem;
+                       elem = force;
+                       force = false;
+               }
+               if ( elem ) {
+                       type = type || "fx";
+                       var key = type + "mark",
+                               count = force ? 0 : ( (jQuery._data( elem, key ) || 1) - 1 );
+                       if ( count ) {
+                               jQuery._data( elem, key, count );
+                       } else {
+                               jQuery.removeData( elem, key, true );
+                               handleQueueMarkDefer( elem, type, "mark" );
+                       }
+               }
+       },
+
+       queue: function( elem, type, data ) {
+               var q;
+               if ( elem ) {
+                       type = (type || "fx") + "queue";
+                       q = jQuery._data( elem, type );
+
+                       // Speed up dequeue by getting out quickly if this is just a lookup
+                       if ( data ) {
+                               if ( !q || jQuery.isArray(data) ) {
+                                       q = jQuery._data( elem, type, jQuery.makeArray(data) );
+                               } else {
+                                       q.push( data );
+                               }
+                       }
+                       return q || [];
+               }
+       },
+
+       dequeue: function( elem, type ) {
+               type = type || "fx";
+
+               var queue = jQuery.queue( elem, type ),
+                       fn = queue.shift(),
+                       runner = {};
+
+               // If the fx queue is dequeued, always remove the progress sentinel
+               if ( fn === "inprogress" ) {
+                       fn = queue.shift();
+               }
+
+               if ( fn ) {
+                       // Add a progress sentinel to prevent the fx queue from being
+                       // automatically dequeued
+                       if ( type === "fx" ) {
+                               queue.unshift( "inprogress" );
+                       }
+
+                       jQuery._data( elem, type + ".run", runner );
+                       fn.call( elem, function() {
+                               jQuery.dequeue( elem, type );
+                       }, runner );
+               }
+
+               if ( !queue.length ) {
+                       jQuery.removeData( elem, type + "queue " + type + ".run", true );
+                       handleQueueMarkDefer( elem, type, "queue" );
+               }
+       }
+});
+
+jQuery.fn.extend({
+       queue: function( type, data ) {
+               if ( typeof type !== "string" ) {
+                       data = type;
+                       type = "fx";
+               }
+
+               if ( data === undefined ) {
+                       return jQuery.queue( this[0], type );
+               }
+               return this.each(function() {
+                       var queue = jQuery.queue( this, type, data );
+
+                       if ( type === "fx" && queue[0] !== "inprogress" ) {
+                               jQuery.dequeue( this, type );
+                       }
+               });
+       },
+       dequeue: function( type ) {
+               return this.each(function() {
+                       jQuery.dequeue( this, type );
+               });
+       },
+       // Based off of the plugin by Clint Helfers, with permission.
+       // http://blindsignals.com/index.php/2009/07/jquery-delay/
+       delay: function( time, type ) {
+               time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+               type = type || "fx";
+
+               return this.queue( type, function( next, runner ) {
+                       var timeout = setTimeout( next, time );
+                       runner.stop = function() {
+                               clearTimeout( timeout );
+                       };
+               });
+       },
+       clearQueue: function( type ) {
+               return this.queue( type || "fx", [] );
+       },
+       // Get a promise resolved when queues of a certain type
+       // are emptied (fx is the type by default)
+       promise: function( type, object ) {
+               if ( typeof type !== "string" ) {
+                       object = type;
+                       type = undefined;
+               }
+               type = type || "fx";
+               var defer = jQuery.Deferred(),
+                       elements = this,
+                       i = elements.length,
+                       count = 1,
+                       deferDataKey = type + "defer",
+                       queueDataKey = type + "queue",
+                       markDataKey = type + "mark",
+                       tmp;
+               function resolve() {
+                       if ( !( --count ) ) {
+                               defer.resolveWith( elements, [ elements ] );
+                       }
+               }
+               while( i-- ) {
+                       if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) ||
+                                       ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) ||
+                                               jQuery.data( elements[ i ], markDataKey, undefined, true ) ) &&
+                                       jQuery.data( elements[ i ], deferDataKey, jQuery.Callbacks( "once memory" ), true ) )) {
+                               count++;
+                               tmp.add( resolve );
+                       }
+               }
+               resolve();
+               return defer.promise();
+       }
+});
+
+
+
+
+var rclass = /[\n\t\r]/g,
+       rspace = /\s+/,
+       rreturn = /\r/g,
+       rtype = /^(?:button|input)$/i,
+       rfocusable = /^(?:button|input|object|select|textarea)$/i,
+       rclickable = /^a(?:rea)?$/i,
+       rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
+       nodeHook, boolHook, fixSpecified;
+
+jQuery.fn.extend({
+       attr: function( name, value ) {
+               return jQuery.access( this, name, value, true, jQuery.attr );
+       },
+
+       removeAttr: function( name ) {
+               return this.each(function() {
+                       jQuery.removeAttr( this, name );
+               });
+       },
+
+       prop: function( name, value ) {
+               return jQuery.access( this, name, value, true, jQuery.prop );
+       },
+
+       removeProp: function( name ) {
+               name = jQuery.propFix[ name ] || name;
+               return this.each(function() {
+                       // try/catch handles cases where IE balks (such as removing a property on window)
+                       try {
+                               this[ name ] = undefined;
+                               delete this[ name ];
+                       } catch( e ) {}
+               });
+       },
+
+       addClass: function( value ) {
+               var classNames, i, l, elem,
+                       setClass, c, cl;
+
+               if ( jQuery.isFunction( value ) ) {
+                       return this.each(function( j ) {
+                               jQuery( this ).addClass( value.call(this, j, this.className) );
+                       });
+               }
+
+               if ( value && typeof value === "string" ) {
+                       classNames = value.split( rspace );
+
+                       for ( i = 0, l = this.length; i < l; i++ ) {
+                               elem = this[ i ];
+
+                               if ( elem.nodeType === 1 ) {
+                                       if ( !elem.className && classNames.length === 1 ) {
+                                               elem.className = value;
+
+                                       } else {
+                                               setClass = " " + elem.className + " ";
+
+                                               for ( c = 0, cl = classNames.length; c < cl; c++ ) {
+                                                       if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) {
+                                                               setClass += classNames[ c ] + " ";
+                                                       }
+                                               }
+                                               elem.className = jQuery.trim( setClass );
+                                       }
+                               }
+                       }
+               }
+
+               return this;
+       },
+
+       removeClass: function( value ) {
+               var classNames, i, l, elem, className, c, cl;
+
+               if ( jQuery.isFunction( value ) ) {
+                       return this.each(function( j ) {
+                               jQuery( this ).removeClass( value.call(this, j, this.className) );
+                       });
+               }
+
+               if ( (value && typeof value === "string") || value === undefined ) {
+                       classNames = (value || "").split( rspace );
+
+                       for ( i = 0, l = this.length; i < l; i++ ) {
+                               elem = this[ i ];
+
+                               if ( elem.nodeType === 1 && elem.className ) {
+                                       if ( value ) {
+                                               className = (" " + elem.className + " ").replace( rclass, " " );
+                                               for ( c = 0, cl = classNames.length; c < cl; c++ ) {
+                                                       className = className.replace(" " + classNames[ c ] + " ", " ");
+                                               }
+                                               elem.className = jQuery.trim( className );
+
+                                       } else {
+                                               elem.className = "";
+                                       }
+                               }
+                       }
+               }
+
+               return this;
+       },
+
+       toggleClass: function( value, stateVal ) {
+               var type = typeof value,
+                       isBool = typeof stateVal === "boolean";
+
+               if ( jQuery.isFunction( value ) ) {
+                       return this.each(function( i ) {
+                               jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
+                       });
+               }
+
+               return this.each(function() {
+                       if ( type === "string" ) {
+                               // toggle individual class names
+                               var className,
+                                       i = 0,
+                                       self = jQuery( this ),
+                                       state = stateVal,
+                                       classNames = value.split( rspace );
+
+                               while ( (className = classNames[ i++ ]) ) {
+                                       // check each className given, space seperated list
+                                       state = isBool ? state : !self.hasClass( className );
+                                       self[ state ? "addClass" : "removeClass" ]( className );
+                               }
+
+                       } else if ( type === "undefined" || type === "boolean" ) {
+                               if ( this.className ) {
+                                       // store className if set
+                                       jQuery._data( this, "__className__", this.className );
+                               }
+
+                               // toggle whole className
+                               this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";
+                       }
+               });
+       },
+
+       hasClass: function( selector ) {
+               var className = " " + selector + " ";
+               for ( var i = 0, l = this.length; i < l; i++ ) {
+                       if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
+                               return true;
+                       }
+               }
+
+               return false;
+       },
+
+       val: function( value ) {
+               var hooks, ret,
+                       elem = this[0];
+
+               if ( !arguments.length ) {
+                       if ( elem ) {
+                               hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ];
+
+                               if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
+                                       return ret;
+                               }
+
+                               ret = elem.value;
+
+                               return typeof ret === "string" ?
+                                       // handle most common string cases
+                                       ret.replace(rreturn, "") :
+                                       // handle cases where value is null/undef or number
+                                       ret == null ? "" : ret;
+                       }
+
+                       return undefined;
+               }
+
+               var isFunction = jQuery.isFunction( value );
+
+               return this.each(function( i ) {
+                       var self = jQuery(this), val;
+
+                       if ( this.nodeType !== 1 ) {
+                               return;
+                       }
+
+                       if ( isFunction ) {
+                               val = value.call( this, i, self.val() );
+                       } else {
+                               val = value;
+                       }
+
+                       // Treat null/undefined as ""; convert numbers to string
+                       if ( val == null ) {
+                               val = "";
+                       } else if ( typeof val === "number" ) {
+                               val += "";
+                       } else if ( jQuery.isArray( val ) ) {
+                               val = jQuery.map(val, function ( value ) {
+                                       return value == null ? "" : value + "";
+                               });
+                       }
+
+                       hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ];
+
+                       // If set returns undefined, fall back to normal setting
+                       if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
+                               this.value = val;
+                       }
+               });
+       }
+});
+
+jQuery.extend({
+       valHooks: {
+               option: {
+                       get: function( elem ) {
+                               // attributes.value is undefined in Blackberry 4.7 but
+                               // uses .value. See #6932
+                               var val = elem.attributes.value;
+                               return !val || val.specified ? elem.value : elem.text;
+                       }
+               },
+               select: {
+                       get: function( elem ) {
+                               var value,
+                                       index = elem.selectedIndex,
+                                       values = [],
+                                       options = elem.options,
+                                       one = elem.type === "select-one";
+
+                               // Nothing was selected
+                               if ( index < 0 ) {
+                                       return null;
+                               }
+
+                               // Loop through all the selected options
+                               for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
+                                       var option = options[ i ];
+
+                                       // Don't return options that are disabled or in a disabled optgroup
+                                       if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
+                                                       (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
+
+                                               // Get the specific value for the option
+                                               value = jQuery( option ).val();
+
+                                               // We don't need an array for one selects
+                                               if ( one ) {
+                                                       return value;
+                                               }
+
+                                               // Multi-Selects return an array
+                                               values.push( value );
+                                       }
+                               }
+
+                               // Fixes Bug #2551 -- select.val() broken in IE after form.reset()
+                               if ( one && !values.length && options.length ) {
+                                       return jQuery( options[ index ] ).val();
+                               }
+
+                               return values;
+                       },
+
+                       set: function( elem, value ) {
+                               var values = jQuery.makeArray( value );
+
+                               jQuery(elem).find("option").each(function() {
+                                       this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
+                               });
+
+                               if ( !values.length ) {
+                                       elem.selectedIndex = -1;
+                               }
+                               return values;
+                       }
+               }
+       },
+
+       attrFn: {
+               val: true,
+               css: true,
+               html: true,
+               text: true,
+               data: true,
+               width: true,
+               height: true,
+               offset: true
+       },
+
+       attr: function( elem, name, value, pass ) {
+               var nType = elem.nodeType;
+
+               // don't get/set attributes on text, comment and attribute nodes
+               if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
+                       return undefined;
+               }
+
+               if ( pass && name in jQuery.attrFn ) {
+                       return jQuery( elem )[ name ]( value );
+               }
+
+               // Fallback to prop when attributes are not supported
+               if ( !("getAttribute" in elem) ) {
+                       return jQuery.prop( elem, name, value );
+               }
+
+               var ret, hooks,
+                       notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
+
+               // Normalize the name if needed
+               if ( notxml ) {
+                       name = name.toLowerCase();
+                       hooks = jQuery.attrHooks[ name ] || (rboolean.test( name ) ? boolHook : nodeHook);
+               }
+
+               if ( value !== undefined ) {
+
+                       if ( value === null ) {
+                               jQuery.removeAttr( elem, name );
+                               return undefined;
+
+                       } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) {
+                               return ret;
+
+                       } else {
+                               elem.setAttribute( name, "" + value );
+                               return value;
+                       }
+
+               } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) {
+                       return ret;
+
+               } else {
+
+                       ret = elem.getAttribute( name );
+
+                       // Non-existent attributes return null, we normalize to undefined
+                       return ret === null ?
+                               undefined :
+                               ret;
+               }
+       },
+
+       removeAttr: function( elem, value ) {
+               var propName, attrNames, name, l,
+                       i = 0;
+
+               if ( elem.nodeType === 1 ) {
+                       attrNames = (value || "").split( rspace );
+                       l = attrNames.length;
+
+                       for ( ; i < l; i++ ) {
+                               name = attrNames[ i ].toLowerCase();
+
+                               // See #9699 for explanation of this approach (setting first, then removal)
+                               jQuery.attr( elem, name, "" );
+                               elem.removeAttribute( name );
+
+                               // Set corresponding property to false for boolean attributes
+                               if ( rboolean.test( name ) && (propName = jQuery.propFix[ name ] || name) in elem ) {
+                                       elem[ propName ] = false;
+                               }
+                       }
+               }
+       },
+
+       attrHooks: {
+               type: {
+                       set: function( elem, value ) {
+                               // We can't allow the type property to be changed (since it causes problems in IE)
+                               if ( rtype.test( elem.nodeName ) && elem.parentNode ) {
+                                       jQuery.error( "type property can't be changed" );
+                               } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {
+                                       // Setting the type on a radio button after the value resets the value in IE6-9
+                                       // Reset value to it's default in case type is set after value
+                                       // This is for element creation
+                                       var val = elem.value;
+                                       elem.setAttribute( "type", value );
+                                       if ( val ) {
+                                               elem.value = val;
+                                       }
+                                       return value;
+                               }
+                       }
+               },
+               // Use the value property for back compat
+               // Use the nodeHook for button elements in IE6/7 (#1954)
+               value: {
+                       get: function( elem, name ) {
+                               if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
+                                       return nodeHook.get( elem, name );
+                               }
+                               return name in elem ?
+                                       elem.value :
+                                       null;
+                       },
+                       set: function( elem, value, name ) {
+                               if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
+                                       return nodeHook.set( elem, value, name );
+                               }
+                               // Does not return so that setAttribute is also used
+                               elem.value = value;
+                       }
+               }
+       },
+
+       propFix: {
+               tabindex: "tabIndex",
+               readonly: "readOnly",
+               "for": "htmlFor",
+               "class": "className",
+               maxlength: "maxLength",
+               cellspacing: "cellSpacing",
+               cellpadding: "cellPadding",
+               rowspan: "rowSpan",
+               colspan: "colSpan",
+               usemap: "useMap",
+               frameborder: "frameBorder",
+               contenteditable: "contentEditable"
+       },
+
+       prop: function( elem, name, value ) {
+               var nType = elem.nodeType;
+
+               // don't get/set properties on text, comment and attribute nodes
+               if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
+                       return undefined;
+               }
+
+               var ret, hooks,
+                       notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
+
+               if ( notxml ) {
+                       // Fix name and attach hooks
+                       name = jQuery.propFix[ name ] || name;
+                       hooks = jQuery.propHooks[ name ];
+               }
+
+               if ( value !== undefined ) {
+                       if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
+                               return ret;
+
+                       } else {
+                               return (elem[ name ] = value);
+                       }
+
+               } else {
+                       if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
+                               return ret;
+
+                       } else {
+                               return elem[ name ];
+                       }
+               }
+       },
+
+       propHooks: {
+               tabIndex: {
+                       get: function( elem ) {
+                               // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
+                               // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+                               var attributeNode = elem.getAttributeNode("tabindex");
+
+                               return attributeNode && attributeNode.specified ?
+                                       parseInt( attributeNode.value, 10 ) :
+                                       rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
+                                               0 :
+                                               undefined;
+                       }
+               }
+       }
+});
+
+// Add the tabIndex propHook to attrHooks for back-compat (different case is intentional)
+jQuery.attrHooks.tabindex = jQuery.propHooks.tabIndex;
+
+// Hook for boolean attributes
+boolHook = {
+       get: function( elem, name ) {
+               // Align boolean attributes with corresponding properties
+               // Fall back to attribute presence where some booleans are not supported
+               var attrNode,
+                       property = jQuery.prop( elem, name );
+               return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
+                       name.toLowerCase() :
+                       undefined;
+       },
+       set: function( elem, value, name ) {
+               var propName;
+               if ( value === false ) {
+                       // Remove boolean attributes when set to false
+                       jQuery.removeAttr( elem, name );
+               } else {
+                       // value is true since we know at this point it's type boolean and not false
+                       // Set boolean attributes to the same name and set the DOM property
+                       propName = jQuery.propFix[ name ] || name;
+                       if ( propName in elem ) {
+                               // Only set the IDL specifically if it already exists on the element
+                               elem[ propName ] = true;
+                       }
+
+                       elem.setAttribute( name, name.toLowerCase() );
+               }
+               return name;
+       }
+};
+
+// IE6/7 do not support getting/setting some attributes with get/setAttribute
+if ( !jQuery.support.getSetAttribute ) {
+
+       fixSpecified = {
+               name: true,
+               id: true
+       };
+
+       // Use this for any attribute in IE6/7
+       // This fixes almost every IE6/7 issue
+       nodeHook = jQuery.valHooks.button = {
+               get: function( elem, name ) {
+                       var ret;
+                       ret = elem.getAttributeNode( name );
+                       return ret && (fixSpecified[ name ] ? ret.nodeValue !== "" : ret.specified) ?
+                               ret.nodeValue :
+                               undefined;
+               },
+               set: function( elem, value, name ) {
+                       // Set the existing or create a new attribute node
+                       var ret = elem.getAttributeNode( name );
+                       if ( !ret ) {
+                               ret = document.createAttribute( name );
+                               elem.setAttributeNode( ret );
+                       }
+                       return (ret.nodeValue = value + "");
+               }
+       };
+
+       // Apply the nodeHook to tabindex
+       jQuery.attrHooks.tabindex.set = nodeHook.set;
+
+       // Set width and height to auto instead of 0 on empty string( Bug #8150 )
+       // This is for removals
+       jQuery.each([ "width", "height" ], function( i, name ) {
+               jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
+                       set: function( elem, value ) {
+                               if ( value === "" ) {
+                                       elem.setAttribute( name, "auto" );
+                                       return value;
+                               }
+                       }
+               });
+       });
+
+       // Set contenteditable to false on removals(#10429)
+       // Setting to empty string throws an error as an invalid value
+       jQuery.attrHooks.contenteditable = {
+               get: nodeHook.get,
+               set: function( elem, value, name ) {
+                       if ( value === "" ) {
+                               value = "false";
+                       }
+                       nodeHook.set( elem, value, name );
+               }
+       };
+}
+
+
+// Some attributes require a special call on IE
+if ( !jQuery.support.hrefNormalized ) {
+       jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
+               jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
+                       get: function( elem ) {
+                               var ret = elem.getAttribute( name, 2 );
+                               return ret === null ? undefined : ret;
+                       }
+               });
+       });
+}
+
+if ( !jQuery.support.style ) {
+       jQuery.attrHooks.style = {
+               get: function( elem ) {
+                       // Return undefined in the case of empty string
+                       // Normalize to lowercase since IE uppercases css property names
+                       return elem.style.cssText.toLowerCase() || undefined;
+               },
+               set: function( elem, value ) {
+                       return (elem.style.cssText = "" + value);
+               }
+       };
+}
+
+// Safari mis-reports the default selected property of an option
+// Accessing the parent's selectedIndex property fixes it
+if ( !jQuery.support.optSelected ) {
+       jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {
+               get: function( elem ) {
+                       var parent = elem.parentNode;
+
+                       if ( parent ) {
+                               parent.selectedIndex;
+
+                               // Make sure that it also works with optgroups, see #5701
+                               if ( parent.parentNode ) {
+                                       parent.parentNode.selectedIndex;
+                               }
+                       }
+                       return null;
+               }
+       });
+}
+
+// Radios and checkboxes getter/setter
+if ( !jQuery.support.checkOn ) {
+       jQuery.each([ "radio", "checkbox" ], function() {
+               jQuery.valHooks[ this ] = {
+                       get: function( elem ) {
+                               // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
+                               return elem.getAttribute("value") === null ? "on" : elem.value;
+                       }
+               };
+       });
+}
+jQuery.each([ "radio", "checkbox" ], function() {
+       jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {
+               set: function( elem, value ) {
+                       if ( jQuery.isArray( value ) ) {
+                               return (elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0);
+                       }
+               }
+       });
+});
+
+
+
+
+var rnamespaces = /\.(.*)$/,
+       rformElems = /^(?:textarea|input|select)$/i,
+       rperiod = /\./g,
+       rspaces = / /g,
+       rescape = /[^\w\s.|`]/g,
+       rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/,
+       rhoverHack = /\bhover(\.\S+)?/,
+       rkeyEvent = /^key/,
+       rmouseEvent = /^(?:mouse|contextmenu)|click/,
+       rquickIs = /^([\w\-]+)?(?:#([\w\-]+))?(?:\.([\w\-]+))?(?:\[([\w+\-]+)=["']?([\w\-]*)["']?\])?$/,
+       quickParse = function( selector ) {
+               var quick = rquickIs.exec( selector );
+               if ( quick ) {
+                       //   0  1    2   3      4         5
+                       // [ _, tag, id, class, attrName, attrValue ]
+                       quick[1] = ( quick[1] || "" ).toLowerCase();
+                       quick[3] = quick[3] && new RegExp( "\\b" + quick[3] + "\\b" );
+               }
+               return quick;
+       },
+       quickIs = function( elem, m ) {
+               return (
+                       (!m[1] || elem.nodeName.toLowerCase() === m[1]) &&
+                       (!m[2] || elem.id === m[2]) &&
+                       (!m[3] || m[3].test( elem.className )) &&
+                       (!m[4] || elem.getAttribute( m[4] ) == m[5])
+               );
+       };
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+       add: function( elem, types, handler, data, selector ) {
+
+               var elemData, eventHandle, events,
+                       t, tns, type, namespaces, handleObj,
+                       handleObjIn, quick, handlers, special;
+
+               // Don't attach events to noData or text/comment nodes (allow plain objects tho)
+               if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) {
+                       return;
+               }
+
+               // Caller can pass in an object of custom data in lieu of the handler
+               if ( handler.handler ) {
+                       handleObjIn = handler;
+                       handler = handleObjIn.handler;
+               }
+
+               // Make sure that the handler has a unique ID, used to find/remove it later
+               if ( !handler.guid ) {
+                       handler.guid = jQuery.guid++;
+               }
+
+               // Init the element's event structure and main handler, if this is the first
+               events = elemData.events;
+               if ( !events ) {
+                       elemData.events = events = {};
+               }
+               eventHandle = elemData.handle;
+               if ( !eventHandle ) {
+                       elemData.handle = eventHandle = function( e ) {
+                               // Discard the second event of a jQuery.event.trigger() and
+                               // when an event is called after a page has unloaded
+                               return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
+                                       jQuery.event.handle.apply( eventHandle.elem, arguments ) :
+                                       undefined;
+                       };
+                       // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events
+                       eventHandle.elem = elem;
+               }
+
+               // Handle multiple events separated by a space
+               // jQuery(...).bind("mouseover mouseout", fn);
+               types = types.replace( rhoverHack, "mouseover$1 mouseout$1" ).split( " " );
+               for ( t = 0; t < types.length; t++ ) {
+
+                       tns = rtypenamespace.exec( types[t] ) || [];
+                       type = tns[1];
+                       namespaces = (tns[2] || "").split( "." ).sort();
+
+                       // If event changes its type, use the special event handlers for the changed type
+                       special = jQuery.event.special[ type ] || {};
+
+                       // If selector defined, determine special event api type, otherwise given type
+                       type = ( selector ? special.delegateType : special.bindType ) || type;
+
+                       // Update special based on newly reset type
+                       special = jQuery.event.special[ type ] || {};
+
+                       // handleObj is passed to all event handlers
+                       handleObj = jQuery.extend({
+                               type: type,
+                               origType: tns[1],
+                               data: data,
+                               handler: handler,
+                               guid: handler.guid,
+                               selector: selector,
+                               namespace: namespaces.join(".")
+                       }, handleObjIn );
+
+                       // Delegated event; pre-analyze selector so it's processed quickly on event dispatch
+                       if ( selector ) {
+                               handleObj.quick = quickParse( selector );
+                               if ( !handleObj.quick && jQuery.expr.match.POS.test( selector ) ) {
+                                       handleObj.isPositional = true;
+                               }
+                       }
+
+                       // Init the event handler queue if we're the first
+                       handlers = events[ type ];
+                       if ( !handlers ) {
+                               handlers = events[ type ] = [];
+                               handlers.delegateCount = 0;
+
+                               // Only use addEventListener/attachEvent if the special events handler returns false
+                               if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+                                       // Bind the global event handler to the element
+                                       if ( elem.addEventListener ) {
+                                               elem.addEventListener( type, eventHandle, false );
+
+                                       } else if ( elem.attachEvent ) {
+                                               elem.attachEvent( "on" + type, eventHandle );
+                                       }
+                               }
+                       }
+
+                       if ( special.add ) {
+                               special.add.call( elem, handleObj );
+
+                               if ( !handleObj.handler.guid ) {
+                                       handleObj.handler.guid = handler.guid;
+                               }
+                       }
+
+                       // Add to the element's handler list, delegates in front
+                       if ( selector ) {
+                               handlers.splice( handlers.delegateCount++, 0, handleObj );
+                       } else {
+                               handlers.push( handleObj );
+                       }
+
+                       // Keep track of which events have ever been used, for event optimization
+                       jQuery.event.global[ type ] = true;
+               }
+
+               // Nullify elem to prevent memory leaks in IE
+               elem = null;
+       },
+
+       global: {},
+
+       // Detach an event or set of events from an element
+       remove: function( elem, types, handler, selector ) {
+
+               var elemData = jQuery.hasData( elem ) && jQuery._data( elem ),
+                       t, tns, type, namespaces, origCount,
+                       j, events, special, handle, eventType, handleObj;
+
+               if ( !elemData || !(events = elemData.events) ) {
+                       return;
+               }
+
+               // For removal, types can be an Event object
+               if ( types && types.type && types.handler ) {
+                       handler = types.handler;
+                       types = types.type;
+                       selector = types.selector;
+               }
+
+               // Once for each type.namespace in types; type may be omitted
+               types = (types || "").replace( rhoverHack, "mouseover$1 mouseout$1" ).split(" ");
+               for ( t = 0; t < types.length; t++ ) {
+                       tns = rtypenamespace.exec( types[t] ) || [];
+                       type = tns[1];
+                       namespaces = tns[2];
+
+                       // Unbind all events (on this namespace, if provided) for the element
+                       if ( !type ) {
+                               namespaces = namespaces? "." + namespaces : "";
+                               for ( j in events ) {
+                                       jQuery.event.remove( elem, j + namespaces, handler, selector );
+                               }
+                               return;
+                       }
+
+                       special = jQuery.event.special[ type ] || {};
+                       type = ( selector? special.delegateType : special.bindType ) || type;
+                       eventType = events[ type ] || [];
+                       origCount = eventType.length;
+                       namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
+
+                       // Only need to loop for special events or selective removal
+                       if ( handler || namespaces || selector || special.remove ) {
+                               for ( j = 0; j < eventType.length; j++ ) {
+                                       handleObj = eventType[ j ];
+
+                                       if ( !handler || handler.guid === handleObj.guid ) {
+                                               if ( !namespaces || namespaces.test( handleObj.namespace ) ) {
+                                                       if ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) {
+                                                               eventType.splice( j--, 1 );
+
+                                                               if ( handleObj.selector ) {
+                                                                       eventType.delegateCount--;
+                                                               }
+                                                               if ( special.remove ) {
+                                                                       special.remove.call( elem, handleObj );
+                                                               }
+                                                       }
+                                               }
+                                       }
+                               }
+                       } else {
+                               // Removing all events
+                               eventType.length = 0;
+                       }
+
+                       // Remove generic event handler if we removed something and no more handlers exist
+                       // (avoids potential for endless recursion during removal of special event handlers)
+                       if ( eventType.length === 0 && origCount !== eventType.length ) {
+                               if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
+                                       jQuery.removeEvent( elem, type, elemData.handle );
+                               }
+
+                               delete events[ type ];
+                       }
+               }
+
+               // Remove the expando if it's no longer used
+               if ( jQuery.isEmptyObject( events ) ) {
+                       handle = elemData.handle;
+                       if ( handle ) {
+                               handle.elem = null;
+                       }
+
+                       // removeData also checks for emptiness and clears the expando if empty
+                       // so use it instead of delete
+                       jQuery.removeData( elem, [ "events", "handle" ], true );
+               }
+       },
+
+       // Events that are safe to short-circuit if no handlers are attached.
+       // Native DOM events should not be added, they may have inline handlers.
+       customEvent: {
+               "getData": true,
+               "setData": true,
+               "changeData": true
+       },
+
+       trigger: function( event, data, elem, onlyHandlers ) {
+               // Don't do events on text and comment nodes
+               if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) {
+                       return;
+               }
+
+               // Event object or event type
+               var type = event.type || event,
+                       namespaces = [],
+                       cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType;
+
+               if ( type.indexOf( "!" ) >= 0 ) {
+                       // Exclusive events trigger only for the exact event (no namespaces)
+                       type = type.slice(0, -1);
+                       exclusive = true;
+               }
+
+               if ( type.indexOf( "." ) >= 0 ) {
+                       // Namespaced trigger; create a regexp to match event type in handle()
+                       namespaces = type.split(".");
+                       type = namespaces.shift();
+                       namespaces.sort();
+               }
+
+               if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) {
+                       // No jQuery handlers for this event type, and it can't have inline handlers
+                       return;
+               }
+
+               // Caller can pass in an Event, Object, or just an event type string
+               event = typeof event === "object" ?
+                       // jQuery.Event object
+                       event[ jQuery.expando ] ? event :
+                       // Object literal
+                       new jQuery.Event( type, event ) :
+                       // Just the event type (string)
+                       new jQuery.Event( type );
+
+               event.type = type;
+               event.isTrigger = true;
+               event.exclusive = exclusive;
+               event.namespace = namespaces.join( "." );
+               event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
+               ontype = type.indexOf( ":" ) < 0 ? "on" + type : "";
+
+               // triggerHandler() and global events don't bubble or run the default action
+               if ( onlyHandlers || !elem ) {
+                       event.preventDefault();
+               }
+
+               // Handle a global trigger
+               if ( !elem ) {
+
+                       // TODO: Stop taunting the data cache; remove global events and always attach to document
+                       cache = jQuery.cache;
+                       event.stopPropagation();
+                       for ( i in cache ) {
+                               if ( cache[ i ].events && cache[ i ].events[ type ] ) {
+                                       jQuery.event.trigger( event, data, cache[ i ].handle.elem );
+                               }
+                       }
+                       return;
+               }
+
+               // Clean up the event in case it is being reused
+               event.result = undefined;
+               if ( !event.target ) {
+                       event.target = elem;
+               }
+
+               // Clone any incoming data and prepend the event, creating the handler arg list
+               data = data != null ? jQuery.makeArray( data ) : [];
+               data.unshift( event );
+
+               // Allow special events to draw outside the lines
+               special = jQuery.event.special[ type ] || {};
+               if ( special.trigger && special.trigger.apply( elem, data ) === false ) {
+                       return;
+               }
+
+               // Determine event propagation path in advance, per W3C events spec (#9951)
+               // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+               eventPath = [[ elem, special.bindType || type ]];
+               if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+                       bubbleType = special.delegateType || type;
+                       old = null;
+                       for ( cur = elem.parentNode; cur; cur = cur.parentNode ) {
+                               eventPath.push([ cur, bubbleType ]);
+                               old = cur;
+                       }
+
+                       // Only add window if we got to document (e.g., not plain obj or detached DOM)
+                       if ( old && old === elem.ownerDocument ) {
+                               eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]);
+                       }
+               }
+
+               // Fire handlers on the event path
+               for ( i = 0; i < eventPath.length; i++ ) {
+
+                       cur = eventPath[i][0];
+                       event.type = eventPath[i][1];
+
+                       handle = (jQuery._data( cur, "events" ) || {})[ event.type ] && jQuery._data( cur, "handle" );
+                       if ( handle ) {
+                               handle.apply( cur, data );
+                       }
+                       handle = ontype && cur[ ontype ];
+                       if ( handle && jQuery.acceptData( cur ) ) {
+                               handle.apply( cur, data );
+                       }
+
+                       if ( event.isPropagationStopped() ) {
+                               break;
+                       }
+               }
+               event.type = type;
+
+               // If nobody prevented the default action, do it now
+               if ( !event.isDefaultPrevented() ) {
+
+                       if ( (!special._default || special._default.call( elem.ownerDocument, event, data ) === false) &&
+                               !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) {
+
+                               // Call a native DOM method on the target with the same name name as the event.
+                               // Can't use an .isFunction() check here because IE6/7 fails that test.
+                               // Don't do default actions on window, that's where global variables be (#6170)
+                               // IE<9 dies on focus/blur to hidden element (#1486)
+                               if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) {
+
+                                       // Don't re-trigger an onFOO event when we call its FOO() method
+                                       old = elem[ ontype ];
+
+                                       if ( old ) {
+                                               elem[ ontype ] = null;
+                                       }
+
+                                       // Prevent re-triggering of the same event, since we already bubbled it above
+                                       jQuery.event.triggered = type;
+                                       elem[ type ]();
+                                       jQuery.event.triggered = undefined;
+
+                                       if ( old ) {
+                                               elem[ ontype ] = old;
+                                       }
+                               }
+                       }
+               }
+
+               return event.result;
+       },
+
+       handle: function( event ) {
+
+               // Make a writable jQuery.Event from the native event object
+               event = jQuery.event.fix( event || window.event );
+
+               var handlers = ((jQuery._data( this, "events" ) || {})[ event.type ] || []),
+                       delegateCount = handlers.delegateCount,
+                       args = [].slice.call( arguments, 0 ),
+                       handlerQueue = [],
+                       i, cur, selMatch, matches, handleObj, sel, hit, related;
+
+               // Use the fix-ed jQuery.Event rather than the (read-only) native event
+               args[0] = event;
+
+               // Determine handlers that should run if there are delegated events
+               // Avoid disabled elements in IE (#6911) and non-left-click bubbling in Firefox (#3861)
+               if ( delegateCount && !event.target.disabled && !(event.button && event.type === "click") ) {
+
+                       for ( cur = event.target; cur != this; cur = cur.parentNode || this ) {
+                               selMatch = {};
+                               matches = [];
+                               for ( i = 0; i < delegateCount; i++ ) {
+                                       handleObj = handlers[ i ];
+                                       sel = handleObj.selector;
+                                       hit = selMatch[ sel ];
+
+                                       if ( handleObj.isPositional ) {
+                                               // Since .is() does not work for positionals; see http://jsfiddle.net/eJ4yd/3/
+                                               hit = ( hit || (selMatch[ sel ] = jQuery( sel )) ).index( cur ) >= 0;
+                                       } else if ( hit === undefined ) {
+                                               hit = selMatch[ sel ] = ( handleObj.quick ? quickIs( cur, handleObj.quick ) : jQuery( cur ).is( sel ) );
+                                       }
+                                       if ( hit ) {
+                                               matches.push( handleObj );
+                                       }
+                               }
+                               if ( matches.length ) {
+                                       handlerQueue.push({ elem: cur, matches: matches });
+                               }
+                       }
+               }
+
+               // Copy the remaining (bound) handlers in case they're changed
+               handlers = handlers.slice( delegateCount );
+
+               // Run delegates first; they may want to stop propagation beneath us
+               event.delegateTarget = this;
+               for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) {
+                       matched = handlerQueue[ i ];
+                       dispatch( matched.elem, event, matched.matches, args );
+               }
+               delete event.delegateTarget;
+
+               // Run non-delegated handlers for this level
+               if ( handlers.length ) {
+                       dispatch( this, event, handlers, args );
+               }
+
+               return event.result;
+       },
+
+       // Includes some event props shared by KeyEvent and MouseEvent
+       // *** attrChange attrName relatedNode srcElement  are not normalized, non-W3C, deprecated, will be removed in 1.8 ***
+       props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
+
+       fixHooks: {},
+
+       keyHooks: {
+               props: "char charCode key keyCode".split(" "),
+               filter: function( event, original ) {
+
+                       // Add which for key events
+                       if ( event.which == null ) {
+                               event.which = original.charCode != null ? original.charCode : original.keyCode;
+                       }
+
+                       return event;
+               }
+       },
+
+       mouseHooks: {
+               props: "button buttons clientX clientY fromElement layerX layerY offsetX offsetY pageX pageY screenX screenY toElement wheelDelta".split(" "),
+               filter: function( event, original ) {
+                       var eventDoc, doc, body,
+                               button = original.button,
+                               fromElement = original.fromElement;
+
+                       // Calculate pageX/Y if missing and clientX/Y available
+                       if ( event.pageX == null && original.clientX != null ) {
+                               eventDoc = event.target.ownerDocument || document;
+                               doc = eventDoc.documentElement;
+                               body = eventDoc.body;
+
+                               event.pageX = original.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
+                               event.pageY = original.clientY + (doc && doc.scrollTop  || body && body.scrollTop  || 0) - (doc && doc.clientTop  || body && body.clientTop  || 0);
+                       }
+
+                       // Add relatedTarget, if necessary
+                       if ( !event.relatedTarget && fromElement ) {
+                               event.relatedTarget = fromElement === event.target ? original.toElement : fromElement;
+                       }
+
+                       // Add which for click: 1 === left; 2 === middle; 3 === right
+                       // Note: button is not normalized, so don't use it
+                       if ( !event.which && button !== undefined ) {
+                               event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
+                       }
+
+                       return event;
+               }
+       },
+
+       fix: function( event ) {
+               if ( event[ jQuery.expando ] ) {
+                       return event;
+               }
+
+               // Create a writable copy of the event object and normalize some properties
+               var i, prop,
+                       originalEvent = event,
+                       fixHook = jQuery.event.fixHooks[ event.type ] || {},
+                       copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
+
+               event = jQuery.Event( originalEvent );
+
+               for ( i = copy.length; i; ) {
+                       prop = copy[ --i ];
+                       event[ prop ] = originalEvent[ prop ];
+               }
+
+               // Fix target property, if necessary (#1925, IE 6/7/8 & Safari2)
+               if ( !event.target ) {
+                       event.target = originalEvent.srcElement || document;
+               }
+
+               // Target should not be a text node (#504, Safari)
+               if ( event.target.nodeType === 3 ) {
+                       event.target = event.target.parentNode;
+               }
+
+               // For mouse/key events; add metaKey if it's not there (#3368, IE6/7/8)
+               if ( event.metaKey === undefined ) {
+                       event.metaKey = event.ctrlKey;
+               }
+
+               return fixHook.filter? fixHook.filter( event, originalEvent ) : event;
+       },
+
+       special: {
+               ready: {
+                       // Make sure the ready event is setup
+                       setup: jQuery.bindReady
+               },
+
+               focus: {
+                       delegateType: "focusin",
+                       noBubble: true
+               },
+               blur: {
+                       delegateType: "focusout",
+                       noBubble: true
+               },
+
+               beforeunload: {
+                       setup: function( data, namespaces, eventHandle ) {
+                               // We only want to do this special case on windows
+                               if ( jQuery.isWindow( this ) ) {
+                                       this.onbeforeunload = eventHandle;
+                               }
+                       },
+
+                       teardown: function( namespaces, eventHandle ) {
+                               if ( this.onbeforeunload === eventHandle ) {
+                                       this.onbeforeunload = null;
+                               }
+                       }
+               }
+       },
+
+       simulate: function( type, elem, event, bubble ) {
+               // Piggyback on a donor event to simulate a different one.
+               // Fake originalEvent to avoid donor's stopPropagation, but if the
+               // simulated event prevents default then we do the same on the donor.
+               var e = jQuery.extend(
+                       new jQuery.Event(),
+                       event,
+                       { type: type,
+                               isSimulated: true,
+                               originalEvent: {}
+                       }
+               );
+               if ( bubble ) {
+                       jQuery.event.trigger( e, null, elem );
+               } else {
+                       jQuery.event.handle.call( elem, e );
+               }
+               if ( e.isDefaultPrevented() ) {
+                       event.preventDefault();
+               }
+       }
+};
+
+// Run jQuery handler functions; called from jQuery.event.handle
+function dispatch( target, event, handlers, args ) {
+       var run_all = !event.exclusive && !event.namespace,
+               specialHandle = ( jQuery.event.special[ event.type ] || {} ).handle,
+               j, handleObj, ret;
+
+       event.currentTarget = target;
+       for ( j = 0; j < handlers.length && !event.isImmediatePropagationStopped(); j++ ) {
+               handleObj = handlers[ j ];
+
+               // Triggered event must either 1) be non-exclusive and have no namespace, or
+               // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
+               if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {
+
+                       // Pass in a reference to the handler function itself
+                       // So that we can later remove it
+                       event.handler = handleObj.handler;
+                       event.data = handleObj.data;
+                       event.handleObj = handleObj;
+
+                       ret = ( specialHandle || handleObj.handler ).apply( target, args );
+
+                       if ( ret !== undefined ) {
+                               event.result = ret;
+                               if ( ret === false ) {
+                                       event.preventDefault();
+                                       event.stopPropagation();
+                               }
+                       }
+               }
+       }
+}
+
+jQuery.removeEvent = document.removeEventListener ?
+       function( elem, type, handle ) {
+               if ( elem.removeEventListener ) {
+                       elem.removeEventListener( type, handle, false );
+               }
+       } :
+       function( elem, type, handle ) {
+               if ( elem.detachEvent ) {
+                       elem.detachEvent( "on" + type, handle );
+               }
+       };
+
+jQuery.Event = function( src, props ) {
+       // Allow instantiation without the 'new' keyword
+       if ( !(this instanceof jQuery.Event) ) {
+               return new jQuery.Event( src, props );
+       }
+
+       // Event object
+       if ( src && src.type ) {
+               this.originalEvent = src;
+               this.type = src.type;
+
+               // Events bubbling up the document may have been marked as prevented
+               // by a handler lower down the tree; reflect the correct value.
+               this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||
+                       src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;
+
+       // Event type
+       } else {
+               this.type = src;
+       }
+
+       // Put explicitly provided properties onto the event object
+       if ( props ) {
+               jQuery.extend( this, props );
+       }
+
+       // Create a timestamp if incoming event doesn't have one
+       this.timeStamp = src && src.timeStamp || jQuery.now();
+
+       // Mark it as fixed
+       this[ jQuery.expando ] = true;
+};
+
+function returnFalse() {
+       return false;
+}
+function returnTrue() {
+       return true;
+}
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+       preventDefault: function() {
+               this.isDefaultPrevented = returnTrue;
+
+               var e = this.originalEvent;
+               if ( !e ) {
+                       return;
+               }
+
+               // if preventDefault exists run it on the original event
+               if ( e.preventDefault ) {
+                       e.preventDefault();
+
+               // otherwise set the returnValue property of the original event to false (IE)
+               } else {
+                       e.returnValue = false;
+               }
+       },
+       stopPropagation: function() {
+               this.isPropagationStopped = returnTrue;
+
+               var e = this.originalEvent;
+               if ( !e ) {
+                       return;
+               }
+               // if stopPropagation exists run it on the original event
+               if ( e.stopPropagation ) {
+                       e.stopPropagation();
+               }
+               // otherwise set the cancelBubble property of the original event to true (IE)
+               e.cancelBubble = true;
+       },
+       stopImmediatePropagation: function() {
+               this.isImmediatePropagationStopped = returnTrue;
+               this.stopPropagation();
+       },
+       isDefaultPrevented: returnFalse,
+       isPropagationStopped: returnFalse,
+       isImmediatePropagationStopped: returnFalse
+};
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+jQuery.each({
+       mouseenter: "mouseover",
+       mouseleave: "mouseout"
+}, function( orig, fix ) {
+       jQuery.event.special[ orig ] = jQuery.event.special[ fix ] = {
+               delegateType: fix,
+               bindType: fix,
+
+               handle: function( event ) {
+                       var target = this,
+                               related = event.relatedTarget,
+                               handleObj = event.handleObj,
+                               selector = handleObj.selector,
+                               oldType, ret;
+
+                       // For a real mouseover/out, always call the handler; for
+                       // mousenter/leave call the handler if related is outside the target.
+                       // NB: No relatedTarget if the mouse left/entered the browser window
+                       if ( !related || handleObj.origType === event.type || (related !== target && !jQuery.contains( target, related )) ) {
+                               oldType = event.type;
+                               event.type = handleObj.origType;
+                               ret = handleObj.handler.apply( this, arguments );
+                               event.type = oldType;
+                       }
+                       return ret;
+               }
+       };
+});
+
+// IE submit delegation
+if ( !jQuery.support.submitBubbles ) {
+
+       jQuery.event.special.submit = {
+               setup: function() {
+                       // Only need this for delegated form submit events
+                       if ( jQuery.nodeName( this, "form" ) ) {
+                               return false;
+                       }
+
+                       // Lazy-add a submit handler when a descendant form may potentially be submitted
+                       jQuery.event.add( this, "click._submit keypress._submit", function( e ) {
+                               // Node name check avoids a VML-related crash in IE (#9807)
+                               var elem = e.target,
+                                       form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined;
+                               if ( form && !form._submit_attached ) {
+                                       jQuery.event.add( form, "submit._submit", function( event ) {
+                                               // Form was submitted, bubble the event up the tree
+                                               if ( this.parentNode ) {
+                                                       jQuery.event.simulate( "submit", this.parentNode, event, true );
+                                               }
+                                       });
+                                       form._submit_attached = true;
+                               }
+                       });
+                       // return undefined since we don't need an event listener
+               },
+
+               teardown: function() {
+                       // Only need this for delegated form submit events
+                       if ( jQuery.nodeName( this, "form" ) ) {
+                               return false;
+                       }
+
+                       // Remove delegated handlers; cleanData eventually reaps submit handlers attached above
+                       jQuery.event.remove( this, "._submit" );
+               }
+       };
+}
+
+// IE change delegation and checkbox/radio fix
+if ( !jQuery.support.changeBubbles ) {
+
+       jQuery.event.special.change = {
+
+               setup: function() {
+
+                       if ( rformElems.test( this.nodeName ) ) {
+                               // IE doesn't fire change on a check/radio until blur; trigger it on click
+                               // after a propertychange. Eat the blur-change in special.change.handle.
+                               // This still fires onchange a second time for check/radio after blur.
+                               if ( this.type === "checkbox" || this.type === "radio" ) {
+                                       jQuery.event.add( this, "propertychange._change", function( event ) {
+                                               if ( event.originalEvent.propertyName === "checked" ) {
+                                                       this._just_changed = true;
+                                               }
+                                       });
+                                       jQuery.event.add( this, "click._change", function( event ) {
+                                               if ( this._just_changed ) {
+                                                       this._just_changed = false;
+                                                       jQuery.event.simulate( "change", this, event, true );
+                                               }
+                                       });
+                               }
+                               return false;
+                       }
+                       // Delegated event; lazy-add a change handler on descendant inputs
+                       jQuery.event.add( this, "beforeactivate._change", function( e ) {
+                               var elem = e.target;
+
+                               if ( rformElems.test( elem.nodeName ) && !elem._change_attached ) {
+                                       jQuery.event.add( elem, "change._change", function( event ) {
+                                               if ( this.parentNode && !event.isSimulated ) {
+                                                       jQuery.event.simulate( "change", this.parentNode, event, true );
+                                               }
+                                       });
+                                       elem._change_attached = true;
+                               }
+                       });
+               },
+
+               handle: function( event ) {
+                       var elem = event.target;
+
+                       // Swallow native change events from checkbox/radio, we already triggered them above
+                       if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) {
+                               return event.handleObj.handler.apply( this, arguments );
+                       }
+               },
+
+               teardown: function() {
+                       jQuery.event.remove( this, "._change" );
+
+                       return rformElems.test( this.nodeName );
+               }
+       };
+}
+
+// Create "bubbling" focus and blur events
+if ( !jQuery.support.focusinBubbles ) {
+       jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+               // Attach a single capturing handler while someone wants focusin/focusout
+               var attaches = 0,
+                       handler = function( event ) {
+                               jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
+                       };
+
+               jQuery.event.special[ fix ] = {
+                       setup: function() {
+                               if ( attaches++ === 0 ) {
+                                       document.addEventListener( orig, handler, true );
+                               }
+                       },
+                       teardown: function() {
+                               if ( --attaches === 0 ) {
+                                       document.removeEventListener( orig, handler, true );
+                               }
+                       }
+               };
+       });
+}
+
+jQuery.fn.extend({
+
+       on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
+               var origFn, type;
+
+               // Types can be a map of types/handlers
+               if ( typeof types === "object" ) {
+                       // ( types-Object, selector, data )
+                       if ( typeof selector !== "string" ) {
+                               // ( types-Object, data )
+                               data = selector;
+                               selector = undefined;
+                       }
+                       for ( type in types ) {
+                               this.on( type, selector, data, types[ type ], one );
+                       }
+                       return this;
+               }
+
+               if ( data == null && fn == null ) {
+                       // ( types, fn )
+                       fn = selector;
+                       data = selector = undefined;
+               } else if ( fn == null ) {
+                       if ( typeof selector === "string" ) {
+                               // ( types, selector, fn )
+                               fn = data;
+                               data = undefined;
+                       } else {
+                               // ( types, data, fn )
+                               fn = data;
+                               data = selector;
+                               selector = undefined;
+                       }
+               }
+               if ( fn === false ) {
+                       fn = returnFalse;
+               } else if ( !fn ) {
+                       return this;
+               }
+
+               if ( one === 1 ) {
+                       origFn = fn;
+                       fn = function( event ) {
+                               jQuery.event.remove( event.delegateTarget || this, event );
+                               return origFn.apply( this, arguments );
+                       };
+                       // Use same guid so caller can remove using origFn
+                       fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+               }
+               return this.each( function() {
+                       jQuery.event.add( this, types, fn, data, selector );
+               });
+       },
+       one: function( types, selector, data, fn ) {
+               return this.on.call( this, types, selector, data, fn, 1 );
+       },
+       off: function( types, selector, fn ) {
+               if ( types && types.preventDefault ) {
+                       // ( event )  native or jQuery.Event
+                       return this.off( types.type, types.handler, types.selector );
+               }
+               if ( typeof types === "object" ) {
+                       // ( types-object [, selector] )
+                       for ( var type in types ) {
+                               this.off( type, selector, types[ type ] );
+                       }
+                       return this;
+               }
+               if ( selector === false || typeof selector === "function" ) {
+                       // ( types [, fn] )
+                       fn = selector;
+                       selector = undefined;
+               }
+               if ( fn === false ) {
+                       fn = returnFalse;
+               }
+               return this.each(function() {
+                       jQuery.event.remove( this, types, fn, selector );
+               });
+       },
+
+       bind: function( types, data, fn ) {
+               return this.on( types, null, data, fn );
+       },
+       unbind: function( types, fn ) {
+               return this.off( types, null, fn );
+       },
+
+       live: function( types, data, fn ) {
+               jQuery( this.context ).on( types, this.selector, data, fn );
+               return this;
+       },
+       die: function( types, fn ) {
+               jQuery( this.context ).off( types, this.selector || "**", fn );
+               return this;
+       },
+
+       delegate: function( selector, types, data, fn ) {
+               return this.on( types, selector, data, fn );
+       },
+       undelegate: function( selector, types, fn ) {
+               // ( namespace ) or ( selector, types [, fn] )
+               return arguments.length == 1? this.off( selector, "**" ) : this.off( types, selector, fn );
+       },
+
+       trigger: function( type, data ) {
+               return this.each(function() {
+                       jQuery.event.trigger( type, data, this );
+               });
+       },
+       triggerHandler: function( type, data ) {
+               if ( this[0] ) {
+                       return jQuery.event.trigger( type, data, this[0], true );
+               }
+       },
+
+       toggle: function( fn ) {
+               // Save reference to arguments for access in closure
+               var args = arguments,
+                       guid = fn.guid || jQuery.guid++,
+                       i = 0,
+                       toggler = function( event ) {
+                               // Figure out which function to execute
+                               var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
+                               jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
+
+                               // Make sure that clicks stop
+                               event.preventDefault();
+
+                               // and execute the function
+                               return args[ lastToggle ].apply( this, arguments ) || false;
+                       };
+
+               // link all the functions, so any of them can unbind this click handler
+               toggler.guid = guid;
+               while ( i < args.length ) {
+                       args[ i++ ].guid = guid;
+               }
+
+               return this.click( toggler );
+       },
+
+       hover: function( fnOver, fnOut ) {
+               return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+       }
+});
+
+jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
+       "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+       "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
+
+       // Handle event binding
+       jQuery.fn[ name ] = function( data, fn ) {
+               if ( fn == null ) {
+                       fn = data;
+                       data = null;
+               }
+
+               return arguments.length > 0 ?
+                       this.bind( name, data, fn ) :
+                       this.trigger( name );
+       };
+
+       if ( jQuery.attrFn ) {
+               jQuery.attrFn[ name ] = true;
+       }
+
+       if ( rkeyEvent.test( name ) ) {
+               jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks;
+       }
+
+       if ( rmouseEvent.test( name ) ) {
+               jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks;
+       }
+});
+
+
+
+/*!
+ * Sizzle CSS Selector Engine
+ *  Copyright 2011, The Dojo Foundation
+ *  Released under the MIT, BSD, and GPL Licenses.
+ *  More information: http://sizzlejs.com/
+ */
+(function(){
+
+var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
+       expando = "sizcache" + (Math.random() + '').replace('.', ''),
+       done = 0,
+       toString = Object.prototype.toString,
+       hasDuplicate = false,
+       baseHasDuplicate = true,
+       rBackslash = /\\/g,
+       rReturn = /\r\n/g,
+       rNonWord = /\W/;
+
+// Here we check if the JavaScript engine is using some sort of
+// optimization where it does not always call our comparision
+// function. If that is the case, discard the hasDuplicate value.
+//   Thus far that includes Google Chrome.
+[0, 0].sort(function() {
+       baseHasDuplicate = false;
+       return 0;
+});
+
+var Sizzle = function( selector, context, results, seed ) {
+       results = results || [];
+       context = context || document;
+
+       var origContext = context;
+
+       if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
+               return [];
+       }
+       
+       if ( !selector || typeof selector !== "string" ) {
+               return results;
+       }
+
+       var m, set, checkSet, extra, ret, cur, pop, i,
+               prune = true,
+               contextXML = Sizzle.isXML( context ),
+               parts = [],
+               soFar = selector;
+       
+       // Reset the position of the chunker regexp (start from head)
+       do {
+               chunker.exec( "" );
+               m = chunker.exec( soFar );
+
+               if ( m ) {
+                       soFar = m[3];
+               
+                       parts.push( m[1] );
+               
+                       if ( m[2] ) {
+                               extra = m[3];
+                               break;
+                       }
+               }
+       } while ( m );
+
+       if ( parts.length > 1 && origPOS.exec( selector ) ) {
+
+               if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
+                       set = posProcess( parts[0] + parts[1], context, seed );
+
+               } else {
+                       set = Expr.relative[ parts[0] ] ?
+                               [ context ] :
+                               Sizzle( parts.shift(), context );
+
+                       while ( parts.length ) {
+                               selector = parts.shift();
+
+                               if ( Expr.relative[ selector ] ) {
+                                       selector += parts.shift();
+                               }
+                               
+                               set = posProcess( selector, set, seed );
+                       }
+               }
+
+       } else {
+               // Take a shortcut and set the context if the root selector is an ID
+               // (but not if it'll be faster if the inner selector is an ID)
+               if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
+                               Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
+
+                       ret = Sizzle.find( parts.shift(), context, contextXML );
+                       context = ret.expr ?
+                               Sizzle.filter( ret.expr, ret.set )[0] :
+                               ret.set[0];
+               }
+
+               if ( context ) {
+                       ret = seed ?
+                               { expr: parts.pop(), set: makeArray(seed) } :
+                               Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
+
+                       set = ret.expr ?
+                               Sizzle.filter( ret.expr, ret.set ) :
+                               ret.set;
+
+                       if ( parts.length > 0 ) {
+                               checkSet = makeArray( set );
+
+                       } else {
+                               prune = false;
+                       }
+
+                       while ( parts.length ) {
+                               cur = parts.pop();
+                               pop = cur;
+
+                               if ( !Expr.relative[ cur ] ) {
+                                       cur = "";
+                               } else {
+                                       pop = parts.pop();
+                               }
+
+                               if ( pop == null ) {
+                                       pop = context;
+                               }
+
+                               Expr.relative[ cur ]( checkSet, pop, contextXML );
+                       }
+
+               } else {
+                       checkSet = parts = [];
+               }
+       }
+
+       if ( !checkSet ) {
+               checkSet = set;
+       }
+
+       if ( !checkSet ) {
+               Sizzle.error( cur || selector );
+       }
+
+       if ( toString.call(checkSet) === "[object Array]" ) {
+               if ( !prune ) {
+                       results.push.apply( results, checkSet );
+
+               } else if ( context && context.nodeType === 1 ) {
+                       for ( i = 0; checkSet[i] != null; i++ ) {
+                               if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
+                                       results.push( set[i] );
+                               }
+                       }
+
+               } else {
+                       for ( i = 0; checkSet[i] != null; i++ ) {
+                               if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
+                                       results.push( set[i] );
+                               }
+                       }
+               }
+
+       } else {
+               makeArray( checkSet, results );
+       }
+
+       if ( extra ) {
+               Sizzle( extra, origContext, results, seed );
+               Sizzle.uniqueSort( results );
+       }
+
+       return results;
+};
+
+Sizzle.uniqueSort = function( results ) {
+       if ( sortOrder ) {
+               hasDuplicate = baseHasDuplicate;
+               results.sort( sortOrder );
+
+               if ( hasDuplicate ) {
+                       for ( var i = 1; i < results.length; i++ ) {
+                               if ( results[i] === results[ i - 1 ] ) {
+                                       results.splice( i--, 1 );
+                               }
+                       }
+               }
+       }
+
+       return results;
+};
+
+Sizzle.matches = function( expr, set ) {
+       return Sizzle( expr, null, null, set );
+};
+
+Sizzle.matchesSelector = function( node, expr ) {
+       return Sizzle( expr, null, null, [node] ).length > 0;
+};
+
+Sizzle.find = function( expr, context, isXML ) {
+       var set, i, len, match, type, left;
+
+       if ( !expr ) {
+               return [];
+       }
+
+       for ( i = 0, len = Expr.order.length; i < len; i++ ) {
+               type = Expr.order[i];
+               
+               if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
+                       left = match[1];
+                       match.splice( 1, 1 );
+
+                       if ( left.substr( left.length - 1 ) !== "\\" ) {
+                               match[1] = (match[1] || "").replace( rBackslash, "" );
+                               set = Expr.find[ type ]( match, context, isXML );
+
+                               if ( set != null ) {
+                                       expr = expr.replace( Expr.match[ type ], "" );
+                                       break;
+                               }
+                       }
+               }
+       }
+
+       if ( !set ) {
+               set = typeof context.getElementsByTagName !== "undefined" ?
+                       context.getElementsByTagName( "*" ) :
+                       [];
+       }
+
+       return { set: set, expr: expr };
+};
+
+Sizzle.filter = function( expr, set, inplace, not ) {
+       var match, anyFound,
+               type, found, item, filter, left,
+               i, pass,
+               old = expr,
+               result = [],
+               curLoop = set,
+               isXMLFilter = set && set[0] && Sizzle.isXML( set[0] );
+
+       while ( expr && set.length ) {
+               for ( type in Expr.filter ) {
+                       if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
+                               filter = Expr.filter[ type ];
+                               left = match[1];
+
+                               anyFound = false;
+
+                               match.splice(1,1);
+
+                               if ( left.substr( left.length - 1 ) === "\\" ) {
+                                       continue;
+                               }
+
+                               if ( curLoop === result ) {
+                                       result = [];
+                               }
+
+                               if ( Expr.preFilter[ type ] ) {
+                                       match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
+
+                                       if ( !match ) {
+                                               anyFound = found = true;
+
+                                       } else if ( match === true ) {
+                                               continue;
+                                       }
+                               }
+
+                               if ( match ) {
+                                       for ( i = 0; (item = curLoop[i]) != null; i++ ) {
+                                               if ( item ) {
+                                                       found = filter( item, match, i, curLoop );
+                                                       pass = not ^ found;
+
+                                                       if ( inplace && found != null ) {
+                                                               if ( pass ) {
+                                                                       anyFound = true;
+
+                                                               } else {
+                                                                       curLoop[i] = false;
+                                                               }
+
+                                                       } else if ( pass ) {
+                                                               result.push( item );
+                                                               anyFound = true;
+                                                       }
+                                               }
+                                       }
+                               }
+
+                               if ( found !== undefined ) {
+                                       if ( !inplace ) {
+                                               curLoop = result;
+                                       }
+
+                                       expr = expr.replace( Expr.match[ type ], "" );
+
+                                       if ( !anyFound ) {
+                                               return [];
+                                       }
+
+                                       break;
+                               }
+                       }
+               }
+
+               // Improper expression
+               if ( expr === old ) {
+                       if ( anyFound == null ) {
+                               Sizzle.error( expr );
+
+                       } else {
+                               break;
+                       }
+               }
+
+               old = expr;
+       }
+
+       return curLoop;
+};
+
+Sizzle.error = function( msg ) {
+       throw "Syntax error, unrecognized expression: " + msg;
+};
+
+/**
+ * Utility function for retreiving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+var getText = Sizzle.getText = function( elem ) {
+    var i, node,
+               nodeType = elem.nodeType,
+               ret = "";
+
+       if ( nodeType ) {
+               if ( nodeType === 1 ) {
+                       // Use textContent || innerText for elements
+                       if ( typeof elem.textContent === 'string' ) {
+                               return elem.textContent;
+                       } else if ( typeof elem.innerText === 'string' ) {
+                               // Replace IE's carriage returns
+                               return elem.innerText.replace( rReturn, '' );
+                       } else {
+                               // Traverse it's children
+                               for ( elem = elem.firstChild; elem; elem = elem.nextSibling) {
+                                       ret += getText( elem );
+                               }
+                       }
+               } else if ( nodeType === 3 || nodeType === 4 ) {
+                       return elem.nodeValue;
+               }
+       } else {
+
+               // If no nodeType, this is expected to be an array
+               for ( i = 0; (node = elem[i]); i++ ) {
+                       // Do not traverse comment nodes
+                       if ( node.nodeType !== 8 ) {
+                               ret += getText( node );
+                       }
+               }
+       }
+       return ret;
+};
+
+var Expr = Sizzle.selectors = {
+       order: [ "ID", "NAME", "TAG" ],
+
+       match: {
+               ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
+               CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
+               NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
+               ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
+               TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
+               CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
+               POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
+               PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
+       },
+
+       leftMatch: {},
+
+       attrMap: {
+               "class": "className",
+               "for": "htmlFor"
+       },
+
+       attrHandle: {
+               href: function( elem ) {
+                       return elem.getAttribute( "href" );
+               },
+               type: function( elem ) {
+                       return elem.getAttribute( "type" );
+               }
+       },
+
+       relative: {
+               "+": function(checkSet, part){
+                       var isPartStr = typeof part === "string",
+                               isTag = isPartStr && !rNonWord.test( part ),
+                               isPartStrNotTag = isPartStr && !isTag;
+
+                       if ( isTag ) {
+                               part = part.toLowerCase();
+                       }
+
+                       for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
+                               if ( (elem = checkSet[i]) ) {
+                                       while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
+
+                                       checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
+                                               elem || false :
+                                               elem === part;
+                               }
+                       }
+
+                       if ( isPartStrNotTag ) {
+                               Sizzle.filter( part, checkSet, true );
+                       }
+               },
+
+               ">": function( checkSet, part ) {
+                       var elem,
+                               isPartStr = typeof part === "string",
+                               i = 0,
+                               l = checkSet.length;
+
+                       if ( isPartStr && !rNonWord.test( part ) ) {
+                               part = part.toLowerCase();
+
+                               for ( ; i < l; i++ ) {
+                                       elem = checkSet[i];
+
+                                       if ( elem ) {
+                                               var parent = elem.parentNode;
+                                               checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
+                                       }
+                               }
+
+                       } else {
+                               for ( ; i < l; i++ ) {
+                                       elem = checkSet[i];
+
+                                       if ( elem ) {
+                                               checkSet[i] = isPartStr ?
+                                                       elem.parentNode :
+                                                       elem.parentNode === part;
+                                       }
+                               }
+
+                               if ( isPartStr ) {
+                                       Sizzle.filter( part, checkSet, true );
+                               }
+                       }
+               },
+
+               "": function(checkSet, part, isXML){
+                       var nodeCheck,
+                               doneName = done++,
+                               checkFn = dirCheck;
+
+                       if ( typeof part === "string" && !rNonWord.test( part ) ) {
+                               part = part.toLowerCase();
+                               nodeCheck = part;
+                               checkFn = dirNodeCheck;
+                       }
+
+                       checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML );
+               },
+
+               "~": function( checkSet, part, isXML ) {
+                       var nodeCheck,
+                               doneName = done++,
+                               checkFn = dirCheck;
+
+                       if ( typeof part === "string" && !rNonWord.test( part ) ) {
+                               part = part.toLowerCase();
+                               nodeCheck = part;
+                               checkFn = dirNodeCheck;
+                       }
+
+                       checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML );
+               }
+       },
+
+       find: {
+               ID: function( match, context, isXML ) {
+                       if ( typeof context.getElementById !== "undefined" && !isXML ) {
+                               var m = context.getElementById(match[1]);
+                               // Check parentNode to catch when Blackberry 4.6 returns
+                               // nodes that are no longer in the document #6963
+                               return m && m.parentNode ? [m] : [];
+                       }
+               },
+
+               NAME: function( match, context ) {
+                       if ( typeof context.getElementsByName !== "undefined" ) {
+                               var ret = [],
+                                       results = context.getElementsByName( match[1] );
+
+                               for ( var i = 0, l = results.length; i < l; i++ ) {
+                                       if ( results[i].getAttribute("name") === match[1] ) {
+                                               ret.push( results[i] );
+                                       }
+                               }
+
+                               return ret.length === 0 ? null : ret;
+                       }
+               },
+
+               TAG: function( match, context ) {
+                       if ( typeof context.getElementsByTagName !== "undefined" ) {
+                               return context.getElementsByTagName( match[1] );
+                       }
+               }
+       },
+       preFilter: {
+               CLASS: function( match, curLoop, inplace, result, not, isXML ) {
+                       match = " " + match[1].replace( rBackslash, "" ) + " ";
+
+                       if ( isXML ) {
+                               return match;
+                       }
+
+                       for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
+                               if ( elem ) {
+                                       if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) {
+                                               if ( !inplace ) {
+                                                       result.push( elem );
+                                               }
+
+                                       } else if ( inplace ) {
+                                               curLoop[i] = false;
+                                       }
+                               }
+                       }
+
+                       return false;
+               },
+
+               ID: function( match ) {
+                       return match[1].replace( rBackslash, "" );
+               },
+
+               TAG: function( match, curLoop ) {
+                       return match[1].replace( rBackslash, "" ).toLowerCase();
+               },
+
+               CHILD: function( match ) {
+                       if ( match[1] === "nth" ) {
+                               if ( !match[2] ) {
+                                       Sizzle.error( match[0] );
+                               }
+
+                               match[2] = match[2].replace(/^\+|\s*/g, '');
+
+                               // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
+                               var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(
+                                       match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||
+                                       !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
+
+                               // calculate the numbers (first)n+(last) including if they are negative
+                               match[2] = (test[1] + (test[2] || 1)) - 0;
+                               match[3] = test[3] - 0;
+                       }
+                       else if ( match[2] ) {
+                               Sizzle.error( match[0] );
+                       }
+
+                       // TODO: Move to normal caching system
+                       match[0] = done++;
+
+                       return match;
+               },
+
+               ATTR: function( match, curLoop, inplace, result, not, isXML ) {
+                       var name = match[1] = match[1].replace( rBackslash, "" );
+                       
+                       if ( !isXML && Expr.attrMap[name] ) {
+                               match[1] = Expr.attrMap[name];
+                       }
+
+                       // Handle if an un-quoted value was used
+                       match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" );
+
+                       if ( match[2] === "~=" ) {
+                               match[4] = " " + match[4] + " ";
+                       }
+
+                       return match;
+               },
+
+               PSEUDO: function( match, curLoop, inplace, result, not ) {
+                       if ( match[1] === "not" ) {
+                               // If we're dealing with a complex expression, or a simple one
+                               if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
+                                       match[3] = Sizzle(match[3], null, null, curLoop);
+
+                               } else {
+                                       var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
+
+                                       if ( !inplace ) {
+                                               result.push.apply( result, ret );
+                                       }
+
+                                       return false;
+                               }
+
+                       } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
+                               return true;
+                       }
+                       
+                       return match;
+               },
+
+               POS: function( match ) {
+                       match.unshift( true );
+
+                       return match;
+               }
+       },
+       
+       filters: {
+               enabled: function( elem ) {
+                       return elem.disabled === false && elem.type !== "hidden";
+               },
+
+               disabled: function( elem ) {
+                       return elem.disabled === true;
+               },
+
+               checked: function( elem ) {
+                       return elem.checked === true;
+               },
+               
+               selected: function( elem ) {
+                       // Accessing this property makes selected-by-default
+                       // options in Safari work properly
+                       if ( elem.parentNode ) {
+                               elem.parentNode.selectedIndex;
+                       }
+                       
+                       return elem.selected === true;
+               },
+
+               parent: function( elem ) {
+                       return !!elem.firstChild;
+               },
+
+               empty: function( elem ) {
+                       return !elem.firstChild;
+               },
+
+               has: function( elem, i, match ) {
+                       return !!Sizzle( match[3], elem ).length;
+               },
+
+               header: function( elem ) {
+                       return (/h\d/i).test( elem.nodeName );
+               },
+
+               text: function( elem ) {
+                       var attr = elem.getAttribute( "type" ), type = elem.type;
+                       // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) 
+                       // use getAttribute instead to test this case
+                       return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null );
+               },
+
+               radio: function( elem ) {
+                       return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type;
+               },
+
+               checkbox: function( elem ) {
+                       return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type;
+               },
+
+               file: function( elem ) {
+                       return elem.nodeName.toLowerCase() === "input" && "file" === elem.type;
+               },
+
+               password: function( elem ) {
+                       return elem.nodeName.toLowerCase() === "input" && "password" === elem.type;
+               },
+
+               submit: function( elem ) {
+                       var name = elem.nodeName.toLowerCase();
+                       return (name === "input" || name === "button") && "submit" === elem.type;
+               },
+
+               image: function( elem ) {
+                       return elem.nodeName.toLowerCase() === "input" && "image" === elem.type;
+               },
+
+               reset: function( elem ) {
+                       var name = elem.nodeName.toLowerCase();
+                       return (name === "input" || name === "button") && "reset" === elem.type;
+               },
+
+               button: function( elem ) {
+                       var name = elem.nodeName.toLowerCase();
+                       return name === "input" && "button" === elem.type || name === "button";
+               },
+
+               input: function( elem ) {
+                       return (/input|select|textarea|button/i).test( elem.nodeName );
+               },
+
+               focus: function( elem ) {
+                       return elem === elem.ownerDocument.activeElement;
+               }
+       },
+       setFilters: {
+               first: function( elem, i ) {
+                       return i === 0;
+               },
+
+               last: function( elem, i, match, array ) {
+                       return i === array.length - 1;
+               },
+
+               even: function( elem, i ) {
+                       return i % 2 === 0;
+               },
+
+               odd: function( elem, i ) {
+                       return i % 2 === 1;
+               },
+
+               lt: function( elem, i, match ) {
+                       return i < match[3] - 0;
+               },
+
+               gt: function( elem, i, match ) {
+                       return i > match[3] - 0;
+               },
+
+               nth: function( elem, i, match ) {
+                       return match[3] - 0 === i;
+               },
+
+               eq: function( elem, i, match ) {
+                       return match[3] - 0 === i;
+               }
+       },
+       filter: {
+               PSEUDO: function( elem, match, i, array ) {
+                       var name = match[1],
+                               filter = Expr.filters[ name ];
+
+                       if ( filter ) {
+                               return filter( elem, i, match, array );
+
+                       } else if ( name === "contains" ) {
+                               return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0;
+
+                       } else if ( name === "not" ) {
+                               var not = match[3];
+
+                               for ( var j = 0, l = not.length; j < l; j++ ) {
+                                       if ( not[j] === elem ) {
+                                               return false;
+                                       }
+                               }
+
+                               return true;
+
+                       } else {
+                               Sizzle.error( name );
+                       }
+               },
+
+               CHILD: function( elem, match ) {
+                       var first, last,
+                               doneName, parent, cache,
+                               count, diff,
+                               type = match[1],
+                               node = elem;
+
+                       switch ( type ) {
+                               case "only":
+                               case "first":
+                                       while ( (node = node.previousSibling) )  {
+                                               if ( node.nodeType === 1 ) { 
+                                                       return false; 
+                                               }
+                                       }
+
+                                       if ( type === "first" ) { 
+                                               return true; 
+                                       }
+
+                                       node = elem;
+
+                               case "last":
+                                       while ( (node = node.nextSibling) )      {
+                                               if ( node.nodeType === 1 ) { 
+                                                       return false; 
+                                               }
+                                       }
+
+                                       return true;
+
+                               case "nth":
+                                       first = match[2];
+                                       last = match[3];
+
+                                       if ( first === 1 && last === 0 ) {
+                                               return true;
+                                       }
+                                       
+                                       doneName = match[0];
+                                       parent = elem.parentNode;
+       
+                                       if ( parent && (parent[ expando ] !== doneName || !elem.nodeIndex) ) {
+                                               count = 0;
+                                               
+                                               for ( node = parent.firstChild; node; node = node.nextSibling ) {
+                                                       if ( node.nodeType === 1 ) {
+                                                               node.nodeIndex = ++count;
+                                                       }
+                                               } 
+
+                                               parent[ expando ] = doneName;
+                                       }
+                                       
+                                       diff = elem.nodeIndex - last;
+
+                                       if ( first === 0 ) {
+                                               return diff === 0;
+
+                                       } else {
+                                               return ( diff % first === 0 && diff / first >= 0 );
+                                       }
+                       }
+               },
+
+               ID: function( elem, match ) {
+                       return elem.nodeType === 1 && elem.getAttribute("id") === match;
+               },
+
+               TAG: function( elem, match ) {
+                       return (match === "*" && elem.nodeType === 1) || !!elem.nodeName && elem.nodeName.toLowerCase() === match;
+               },
+               
+               CLASS: function( elem, match ) {
+                       return (" " + (elem.className || elem.getAttribute("class")) + " ")
+                               .indexOf( match ) > -1;
+               },
+
+               ATTR: function( elem, match ) {
+                       var name = match[1],
+                               result = Sizzle.attr ?
+                                       Sizzle.attr( elem, name ) :
+                                       Expr.attrHandle[ name ] ?
+                                       Expr.attrHandle[ name ]( elem ) :
+                                       elem[ name ] != null ?
+                                               elem[ name ] :
+                                               elem.getAttribute( name ),
+                               value = result + "",
+                               type = match[2],
+                               check = match[4];
+
+                       return result == null ?
+                               type === "!=" :
+                               !type && Sizzle.attr ?
+                               result != null :
+                               type === "=" ?
+                               value === check :
+                               type === "*=" ?
+                               value.indexOf(check) >= 0 :
+                               type === "~=" ?
+                               (" " + value + " ").indexOf(check) >= 0 :
+                               !check ?
+                               value && result !== false :
+                               type === "!=" ?
+                               value !== check :
+                               type === "^=" ?
+                               value.indexOf(check) === 0 :
+                               type === "$=" ?
+                               value.substr(value.length - check.length) === check :
+                               type === "|=" ?
+                               value === check || value.substr(0, check.length + 1) === check + "-" :
+                               false;
+               },
+
+               POS: function( elem, match, i, array ) {
+                       var name = match[2],
+                               filter = Expr.setFilters[ name ];
+
+                       if ( filter ) {
+                               return filter( elem, i, match, array );
+                       }
+               }
+       }
+};
+
+var origPOS = Expr.match.POS,
+       fescape = function(all, num){
+               return "\\" + (num - 0 + 1);
+       };
+
+for ( var type in Expr.match ) {
+       Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) );
+       Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) );
+}
+
+var makeArray = function( array, results ) {
+       array = Array.prototype.slice.call( array, 0 );
+
+       if ( results ) {
+               results.push.apply( results, array );
+               return results;
+       }
+       
+       return array;
+};
+
+// Perform a simple check to determine if the browser is capable of
+// converting a NodeList to an array using builtin methods.
+// Also verifies that the returned array holds DOM nodes
+// (which is not the case in the Blackberry browser)
+try {
+       Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;
+
+// Provide a fallback method if it does not work
+} catch( e ) {
+       makeArray = function( array, results ) {
+               var i = 0,
+                       ret = results || [];
+
+               if ( toString.call(array) === "[object Array]" ) {
+                       Array.prototype.push.apply( ret, array );
+
+               } else {
+                       if ( typeof array.length === "number" ) {
+                               for ( var l = array.length; i < l; i++ ) {
+                                       ret.push( array[i] );
+                               }
+
+                       } else {
+                               for ( ; array[i]; i++ ) {
+                                       ret.push( array[i] );
+                               }
+                       }
+               }
+
+               return ret;
+       };
+}
+
+var sortOrder, siblingCheck;
+
+if ( document.documentElement.compareDocumentPosition ) {
+       sortOrder = function( a, b ) {
+               if ( a === b ) {
+                       hasDuplicate = true;
+                       return 0;
+               }
+
+               if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
+                       return a.compareDocumentPosition ? -1 : 1;
+               }
+
+               return a.compareDocumentPosition(b) & 4 ? -1 : 1;
+       };
+
+} else {
+       sortOrder = function( a, b ) {
+               // The nodes are identical, we can exit early
+               if ( a === b ) {
+                       hasDuplicate = true;
+                       return 0;
+
+               // Fallback to using sourceIndex (in IE) if it's available on both nodes
+               } else if ( a.sourceIndex && b.sourceIndex ) {
+                       return a.sourceIndex - b.sourceIndex;
+               }
+
+               var al, bl,
+                       ap = [],
+                       bp = [],
+                       aup = a.parentNode,
+                       bup = b.parentNode,
+                       cur = aup;
+
+               // If the nodes are siblings (or identical) we can do a quick check
+               if ( aup === bup ) {
+                       return siblingCheck( a, b );
+
+               // If no parents were found then the nodes are disconnected
+               } else if ( !aup ) {
+                       return -1;
+
+               } else if ( !bup ) {
+                       return 1;
+               }
+
+               // Otherwise they're somewhere else in the tree so we need
+               // to build up a full list of the parentNodes for comparison
+               while ( cur ) {
+                       ap.unshift( cur );
+                       cur = cur.parentNode;
+               }
+
+               cur = bup;
+
+               while ( cur ) {
+                       bp.unshift( cur );
+                       cur = cur.parentNode;
+               }
+
+               al = ap.length;
+               bl = bp.length;
+
+               // Start walking down the tree looking for a discrepancy
+               for ( var i = 0; i < al && i < bl; i++ ) {
+                       if ( ap[i] !== bp[i] ) {
+                               return siblingCheck( ap[i], bp[i] );
+                       }
+               }
+
+               // We ended someplace up the tree so do a sibling check
+               return i === al ?
+                       siblingCheck( a, bp[i], -1 ) :
+                       siblingCheck( ap[i], b, 1 );
+       };
+
+       siblingCheck = function( a, b, ret ) {
+               if ( a === b ) {
+                       return ret;
+               }
+
+               var cur = a.nextSibling;
+
+               while ( cur ) {
+                       if ( cur === b ) {
+                               return -1;
+                       }
+
+                       cur = cur.nextSibling;
+               }
+
+               return 1;
+       };
+}
+
+// Check to see if the browser returns elements by name when
+// querying by getElementById (and provide a workaround)
+(function(){
+       // We're going to inject a fake input element with a specified name
+       var form = document.createElement("div"),
+               id = "script" + (new Date()).getTime(),
+               root = document.documentElement;
+
+       form.innerHTML = "<a name='" + id + "'/>";
+
+       // Inject it into the root element, check its status, and remove it quickly
+       root.insertBefore( form, root.firstChild );
+
+       // The workaround has to do additional checks after a getElementById
+       // Which slows things down for other browsers (hence the branching)
+       if ( document.getElementById( id ) ) {
+               Expr.find.ID = function( match, context, isXML ) {
+                       if ( typeof context.getElementById !== "undefined" && !isXML ) {
+                               var m = context.getElementById(match[1]);
+
+                               return m ?
+                                       m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ?
+                                               [m] :
+                                               undefined :
+                                       [];
+                       }
+               };
+
+               Expr.filter.ID = function( elem, match ) {
+                       var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
+
+                       return elem.nodeType === 1 && node && node.nodeValue === match;
+               };
+       }
+
+       root.removeChild( form );
+
+       // release memory in IE
+       root = form = null;
+})();
+
+(function(){
+       // Check to see if the browser returns only elements
+       // when doing getElementsByTagName("*")
+
+       // Create a fake element
+       var div = document.createElement("div");
+       div.appendChild( document.createComment("") );
+
+       // Make sure no comments are found
+       if ( div.getElementsByTagName("*").length > 0 ) {
+               Expr.find.TAG = function( match, context ) {
+                       var results = context.getElementsByTagName( match[1] );
+
+                       // Filter out possible comments
+                       if ( match[1] === "*" ) {
+                               var tmp = [];
+
+                               for ( var i = 0; results[i]; i++ ) {
+                                       if ( results[i].nodeType === 1 ) {
+                                               tmp.push( results[i] );
+                                       }
+                               }
+
+                               results = tmp;
+                       }
+
+                       return results;
+               };
+       }
+
+       // Check to see if an attribute returns normalized href attributes
+       div.innerHTML = "<a href='#'></a>";
+
+       if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
+                       div.firstChild.getAttribute("href") !== "#" ) {
+
+               Expr.attrHandle.href = function( elem ) {
+                       return elem.getAttribute( "href", 2 );
+               };
+       }
+
+       // release memory in IE
+       div = null;
+})();
+
+if ( document.querySelectorAll ) {
+       (function(){
+               var oldSizzle = Sizzle,
+                       div = document.createElement("div"),
+                       id = "__sizzle__";
+
+               div.innerHTML = "<p class='TEST'></p>";
+
+               // Safari can't handle uppercase or unicode characters when
+               // in quirks mode.
+               if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
+                       return;
+               }
+       
+               Sizzle = function( query, context, extra, seed ) {
+                       context = context || document;
+
+                       // Only use querySelectorAll on non-XML documents
+                       // (ID selectors don't work in non-HTML documents)
+                       if ( !seed && !Sizzle.isXML(context) ) {
+                               // See if we find a selector to speed up
+                               var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query );
+                               
+                               if ( match && (context.nodeType === 1 || context.nodeType === 9) ) {
+                                       // Speed-up: Sizzle("TAG")
+                                       if ( match[1] ) {
+                                               return makeArray( context.getElementsByTagName( query ), extra );
+                                       
+                                       // Speed-up: Sizzle(".CLASS")
+                                       } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) {
+                                               return makeArray( context.getElementsByClassName( match[2] ), extra );
+                                       }
+                               }
+                               
+                               if ( context.nodeType === 9 ) {
+                                       // Speed-up: Sizzle("body")
+                                       // The body element only exists once, optimize finding it
+                                       if ( query === "body" && context.body ) {
+                                               return makeArray( [ context.body ], extra );
+                                               
+                                       // Speed-up: Sizzle("#ID")
+                                       } else if ( match && match[3] ) {
+                                               var elem = context.getElementById( match[3] );
+
+                                               // Check parentNode to catch when Blackberry 4.6 returns
+                                               // nodes that are no longer in the document #6963
+                                               if ( elem && elem.parentNode ) {
+                                                       // Handle the case where IE and Opera return items
+                                                       // by name instead of ID
+                                                       if ( elem.id === match[3] ) {
+                                                               return makeArray( [ elem ], extra );
+                                                       }
+                                                       
+                                               } else {
+                                                       return makeArray( [], extra );
+                                               }
+                                       }
+                                       
+                                       try {
+                                               return makeArray( context.querySelectorAll(query), extra );
+                                       } catch(qsaError) {}
+
+                               // qSA works strangely on Element-rooted queries
+                               // We can work around this by specifying an extra ID on the root
+                               // and working up from there (Thanks to Andrew Dupont for the technique)
+                               // IE 8 doesn't work on object elements
+                               } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
+                                       var oldContext = context,
+                                               old = context.getAttribute( "id" ),
+                                               nid = old || id,
+                                               hasParent = context.parentNode,
+                                               relativeHierarchySelector = /^\s*[+~]/.test( query );
+
+                                       if ( !old ) {
+                                               context.setAttribute( "id", nid );
+                                       } else {
+                                               nid = nid.replace( /'/g, "\\$&" );
+                                       }
+                                       if ( relativeHierarchySelector && hasParent ) {
+                                               context = context.parentNode;
+                                       }
+
+                                       try {
+                                               if ( !relativeHierarchySelector || hasParent ) {
+                                                       return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra );
+                                               }
+
+                                       } catch(pseudoError) {
+                                       } finally {
+                                               if ( !old ) {
+                                                       oldContext.removeAttribute( "id" );
+                                               }
+                                       }
+                               }
+                       }
+               
+                       return oldSizzle(query, context, extra, seed);
+               };
+
+               for ( var prop in oldSizzle ) {
+                       Sizzle[ prop ] = oldSizzle[ prop ];
+               }
+
+               // release memory in IE
+               div = null;
+       })();
+}
+
+(function(){
+       var html = document.documentElement,
+               matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector;
+
+       if ( matches ) {
+               // Check to see if it's possible to do matchesSelector
+               // on a disconnected node (IE 9 fails this)
+               var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ),
+                       pseudoWorks = false;
+
+               try {
+                       // This should fail with an exception
+                       // Gecko does not error, returns false instead
+                       matches.call( document.documentElement, "[test!='']:sizzle" );
+       
+               } catch( pseudoError ) {
+                       pseudoWorks = true;
+               }
+
+               Sizzle.matchesSelector = function( node, expr ) {
+                       // Make sure that attribute selectors are quoted
+                       expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
+
+                       if ( !Sizzle.isXML( node ) ) {
+                               try { 
+                                       if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
+                                               var ret = matches.call( node, expr );
+
+                                               // IE 9's matchesSelector returns false on disconnected nodes
+                                               if ( ret || !disconnectedMatch ||
+                                                               // As well, disconnected nodes are said to be in a document
+                                                               // fragment in IE 9, so check for that
+                                                               node.document && node.document.nodeType !== 11 ) {
+                                                       return ret;
+                                               }
+                                       }
+                               } catch(e) {}
+                       }
+
+                       return Sizzle(expr, null, null, [node]).length > 0;
+               };
+       }
+})();
+
+(function(){
+       var div = document.createElement("div");
+
+       div.innerHTML = "<div class='test e'></div><div class='test'></div>";
+
+       // Opera can't find a second classname (in 9.6)
+       // Also, make sure that getElementsByClassName actually exists
+       if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
+               return;
+       }
+
+       // Safari caches class attributes, doesn't catch changes (in 3.2)
+       div.lastChild.className = "e";
+
+       if ( div.getElementsByClassName("e").length === 1 ) {
+               return;
+       }
+       
+       Expr.order.splice(1, 0, "CLASS");
+       Expr.find.CLASS = function( match, context, isXML ) {
+               if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
+                       return context.getElementsByClassName(match[1]);
+               }
+       };
+
+       // release memory in IE
+       div = null;
+})();
+
+function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
+       for ( var i = 0, l = checkSet.length; i < l; i++ ) {
+               var elem = checkSet[i];
+
+               if ( elem ) {
+                       var match = false;
+
+                       elem = elem[dir];
+
+                       while ( elem ) {
+                               if ( elem[ expando ] === doneName ) {
+                                       match = checkSet[elem.sizset];
+                                       break;
+                               }
+
+                               if ( elem.nodeType === 1 && !isXML ){
+                                       elem[ expando ] = doneName;
+                                       elem.sizset = i;
+                               }
+
+                               if ( elem.nodeName.toLowerCase() === cur ) {
+                                       match = elem;
+                                       break;
+                               }
+
+                               elem = elem[dir];
+                       }
+
+                       checkSet[i] = match;
+               }
+       }
+}
+
+function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
+       for ( var i = 0, l = checkSet.length; i < l; i++ ) {
+               var elem = checkSet[i];
+
+               if ( elem ) {
+                       var match = false;
+                       
+                       elem = elem[dir];
+
+                       while ( elem ) {
+                               if ( elem[ expando ] === doneName ) {
+                                       match = checkSet[elem.sizset];
+                                       break;
+                               }
+
+                               if ( elem.nodeType === 1 ) {
+                                       if ( !isXML ) {
+                                               elem[ expando ] = doneName;
+                                               elem.sizset = i;
+                                       }
+
+                                       if ( typeof cur !== "string" ) {
+                                               if ( elem === cur ) {
+                                                       match = true;
+                                                       break;
+                                               }
+
+                                       } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
+                                               match = elem;
+                                               break;
+                                       }
+                               }
+
+                               elem = elem[dir];
+                       }
+
+                       checkSet[i] = match;
+               }
+       }
+}
+
+if ( document.documentElement.contains ) {
+       Sizzle.contains = function( a, b ) {
+               return a !== b && (a.contains ? a.contains(b) : true);
+       };
+
+} else if ( document.documentElement.compareDocumentPosition ) {
+       Sizzle.contains = function( a, b ) {
+               return !!(a.compareDocumentPosition(b) & 16);
+       };
+
+} else {
+       Sizzle.contains = function() {
+               return false;
+       };
+}
+
+Sizzle.isXML = function( elem ) {
+       // documentElement is verified for cases where it doesn't yet exist
+       // (such as loading iframes in IE - #4833) 
+       var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
+
+       return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+var posProcess = function( selector, context, seed ) {
+       var match,
+               tmpSet = [],
+               later = "",
+               root = context.nodeType ? [context] : context;
+
+       // Position selectors must be done after the filter
+       // And so must :not(positional) so we move all PSEUDOs to the end
+       while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
+               later += match[0];
+               selector = selector.replace( Expr.match.PSEUDO, "" );
+       }
+
+       selector = Expr.relative[selector] ? selector + "*" : selector;
+
+       for ( var i = 0, l = root.length; i < l; i++ ) {
+               Sizzle( selector, root[i], tmpSet, seed );
+       }
+
+       return Sizzle.filter( later, tmpSet );
+};
+
+// EXPOSE
+// Override sizzle attribute retrieval
+Sizzle.attr = jQuery.attr;
+Sizzle.selectors.attrMap = {};
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+jQuery.expr[":"] = jQuery.expr.filters;
+jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+
+
+})();
+
+
+var runtil = /Until$/,
+       rparentsprev = /^(?:parents|prevUntil|prevAll)/,
+       // Note: This RegExp should be improved, or likely pulled from Sizzle
+       rmultiselector = /,/,
+       isSimple = /^.[^:#\[\.,]*$/,
+       slice = Array.prototype.slice,
+       POS = jQuery.expr.match.POS,
+       // methods guaranteed to produce a unique set when starting from a unique set
+       guaranteedUnique = {
+               children: true,
+               contents: true,
+               next: true,
+               prev: true
+       };
+
+jQuery.fn.extend({
+       find: function( selector ) {
+               var self = this,
+                       i, l;
+
+               if ( typeof selector !== "string" ) {
+                       return jQuery( selector ).filter(function() {
+                               for ( i = 0, l = self.length; i < l; i++ ) {
+                                       if ( jQuery.contains( self[ i ], this ) ) {
+                                               return true;
+                                       }
+                               }
+                       });
+               }
+
+               var ret = this.pushStack( "", "find", selector ),
+                       length, n, r;
+
+               for ( i = 0, l = this.length; i < l; i++ ) {
+                       length = ret.length;
+                       jQuery.find( selector, this[i], ret );
+
+                       if ( i > 0 ) {
+                               // Make sure that the results are unique
+                               for ( n = length; n < ret.length; n++ ) {
+                                       for ( r = 0; r < length; r++ ) {
+                                               if ( ret[r] === ret[n] ) {
+                                                       ret.splice(n--, 1);
+                                                       break;
+                                               }
+                                       }
+                               }
+                       }
+               }
+
+               return ret;
+       },
+
+       has: function( target ) {
+               var targets = jQuery( target );
+               return this.filter(function() {
+                       for ( var i = 0, l = targets.length; i < l; i++ ) {
+                               if ( jQuery.contains( this, targets[i] ) ) {
+                                       return true;
+                               }
+                       }
+               });
+       },
+
+       not: function( selector ) {
+               return this.pushStack( winnow(this, selector, false), "not", selector);
+       },
+
+       filter: function( selector ) {
+               return this.pushStack( winnow(this, selector, true), "filter", selector );
+       },
+
+       is: function( selector ) {
+               return !!selector && ( 
+                       typeof selector === "string" ?
+                               // If this is a positional selector, check membership in the returned set
+                               // so $("p:first").is("p:last") won't return true for a doc with two "p".
+                               POS.test( selector ) ? 
+                                       jQuery( selector, this.context ).index( this[0] ) >= 0 :
+                                       jQuery.filter( selector, this ).length > 0 :
+                               this.filter( selector ).length > 0 );
+       },
+
+       closest: function( selectors, context ) {
+               var ret = [], i, l, cur = this[0];
+               
+               // Array (deprecated as of jQuery 1.7)
+               if ( jQuery.isArray( selectors ) ) {
+                       var level = 1;
+
+                       while ( cur && cur.ownerDocument && cur !== context ) {
+                               for ( i = 0; i < selectors.length; i++ ) {
+
+                                       if ( jQuery( cur ).is( selectors[ i ] ) ) {
+                                               ret.push({ selector: selectors[ i ], elem: cur, level: level });
+                                       }
+                               }
+
+                               cur = cur.parentNode;
+                               level++;
+                       }
+
+                       return ret;
+               }
+
+               // String
+               var pos = POS.test( selectors ) || typeof selectors !== "string" ?
+                               jQuery( selectors, context || this.context ) :
+                               0;
+
+               for ( i = 0, l = this.length; i < l; i++ ) {
+                       cur = this[i];
+
+                       while ( cur ) {
+                               if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {
+                                       ret.push( cur );
+                                       break;
+
+                               } else {
+                                       cur = cur.parentNode;
+                                       if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) {
+                                               break;
+                                       }
+                               }
+                       }
+               }
+
+               ret = ret.length > 1 ? jQuery.unique( ret ) : ret;
+
+               return this.pushStack( ret, "closest", selectors );
+       },
+
+       // Determine the position of an element within
+       // the matched set of elements
+       index: function( elem ) {
+
+               // No argument, return index in parent
+               if ( !elem ) {
+                       return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1;
+               }
+
+               // index in selector
+               if ( typeof elem === "string" ) {
+                       return jQuery.inArray( this[0], jQuery( elem ) );
+               }
+
+               // Locate the position of the desired element
+               return jQuery.inArray(
+                       // If it receives a jQuery object, the first element is used
+                       elem.jquery ? elem[0] : elem, this );
+       },
+
+       add: function( selector, context ) {
+               var set = typeof selector === "string" ?
+                               jQuery( selector, context ) :
+                               jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ),
+                       all = jQuery.merge( this.get(), set );
+
+               return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
+                       all :
+                       jQuery.unique( all ) );
+       },
+
+       andSelf: function() {
+               return this.add( this.prevObject );
+       }
+});
+
+// A painfully simple check to see if an element is disconnected
+// from a document (should be improved, where feasible).
+function isDisconnected( node ) {
+       return !node || !node.parentNode || node.parentNode.nodeType === 11;
+}
+
+jQuery.each({
+       parent: function( elem ) {
+               var parent = elem.parentNode;
+               return parent && parent.nodeType !== 11 ? parent : null;
+       },
+       parents: function( elem ) {
+               return jQuery.dir( elem, "parentNode" );
+       },
+       parentsUntil: function( elem, i, until ) {
+               return jQuery.dir( elem, "parentNode", until );
+       },
+       next: function( elem ) {
+               return jQuery.nth( elem, 2, "nextSibling" );
+       },
+       prev: function( elem ) {
+               return jQuery.nth( elem, 2, "previousSibling" );
+       },
+       nextAll: function( elem ) {
+               return jQuery.dir( elem, "nextSibling" );
+       },
+       prevAll: function( elem ) {
+               return jQuery.dir( elem, "previousSibling" );
+       },
+       nextUntil: function( elem, i, until ) {
+               return jQuery.dir( elem, "nextSibling", until );
+       },
+       prevUntil: function( elem, i, until ) {
+               return jQuery.dir( elem, "previousSibling", until );
+       },
+       siblings: function( elem ) {
+               return jQuery.sibling( elem.parentNode.firstChild, elem );
+       },
+       children: function( elem ) {
+               return jQuery.sibling( elem.firstChild );
+       },
+       contents: function( elem ) {
+               return jQuery.nodeName( elem, "iframe" ) ?
+                       elem.contentDocument || elem.contentWindow.document :
+                       jQuery.makeArray( elem.childNodes );
+       }
+}, function( name, fn ) {
+       jQuery.fn[ name ] = function( until, selector ) {
+               var ret = jQuery.map( this, fn, until ),
+                       // The variable 'args' was introduced in
+                       // https://github.com/jquery/jquery/commit/52a0238
+                       // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed.
+                       // http://code.google.com/p/v8/issues/detail?id=1050
+                       args = slice.call(arguments);
+
+               if ( !runtil.test( name ) ) {
+                       selector = until;
+               }
+
+               if ( selector && typeof selector === "string" ) {
+                       ret = jQuery.filter( selector, ret );
+               }
+
+               ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret;
+
+               if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {
+                       ret = ret.reverse();
+               }
+
+               return this.pushStack( ret, name, args.join(",") );
+       };
+});
+
+jQuery.extend({
+       filter: function( expr, elems, not ) {
+               if ( not ) {
+                       expr = ":not(" + expr + ")";
+               }
+
+               return elems.length === 1 ?
+                       jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :
+                       jQuery.find.matches(expr, elems);
+       },
+
+       dir: function( elem, dir, until ) {
+               var matched = [],
+                       cur = elem[ dir ];
+
+               while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
+                       if ( cur.nodeType === 1 ) {
+                               matched.push( cur );
+                       }
+                       cur = cur[dir];
+               }
+               return matched;
+       },
+
+       nth: function( cur, result, dir, elem ) {
+               result = result || 1;
+               var num = 0;
+
+               for ( ; cur; cur = cur[dir] ) {
+                       if ( cur.nodeType === 1 && ++num === result ) {
+                               break;
+                       }
+               }
+
+               return cur;
+       },
+
+       sibling: function( n, elem ) {
+               var r = [];
+
+               for ( ; n; n = n.nextSibling ) {
+                       if ( n.nodeType === 1 && n !== elem ) {
+                               r.push( n );
+                       }
+               }
+
+               return r;
+       }
+});
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, keep ) {
+
+       // Can't pass null or undefined to indexOf in Firefox 4
+       // Set to 0 to skip string check
+       qualifier = qualifier || 0;
+
+       if ( jQuery.isFunction( qualifier ) ) {
+               return jQuery.grep(elements, function( elem, i ) {
+                       var retVal = !!qualifier.call( elem, i, elem );
+                       return retVal === keep;
+               });
+
+       } else if ( qualifier.nodeType ) {
+               return jQuery.grep(elements, function( elem, i ) {
+                       return (elem === qualifier) === keep;
+               });
+
+       } else if ( typeof qualifier === "string" ) {
+               var filtered = jQuery.grep(elements, function( elem ) {
+                       return elem.nodeType === 1;
+               });
+
+               if ( isSimple.test( qualifier ) ) {
+                       return jQuery.filter(qualifier, filtered, !keep);
+               } else {
+                       qualifier = jQuery.filter( qualifier, filtered );
+               }
+       }
+
+       return jQuery.grep(elements, function( elem, i ) {
+               return (jQuery.inArray( elem, qualifier ) >= 0) === keep;
+       });
+}
+
+
+
+
+function createSafeFragment( document ) {
+       var nodeNames = (
+               "abbr article aside audio canvas datalist details figcaption figure footer " +
+               "header hgroup mark meter nav output progress section summary time video"
+       ).split( " " ),
+       safeFrag = document.createDocumentFragment();
+
+       if ( safeFrag.createElement ) {
+               while ( nodeNames.length ) {
+                       safeFrag.createElement(
+                               nodeNames.pop()
+                       );
+               }
+       }
+       return safeFrag;
+}
+
+var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
+       rleadingWhitespace = /^\s+/,
+       rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
+       rtagName = /<([\w:]+)/,
+       rtbody = /<tbody/i,
+       rhtml = /<|&#?\w+;/,
+       rnoInnerhtml = /<(?:script|style)/i,
+       rnocache = /<(?:script|object|embed|option|style)/i,
+       // checked="checked" or checked
+       rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+       rscriptType = /\/(java|ecma)script/i,
+       rcleanScript = /^\s*<!(?:\[CDATA\[|\-\-)/,
+       wrapMap = {
+               option: [ 1, "<select multiple='multiple'>", "</select>" ],
+               legend: [ 1, "<fieldset>", "</fieldset>" ],
+               thead: [ 1, "<table>", "</table>" ],
+               tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+               td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+               col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
+               area: [ 1, "<map>", "</map>" ],
+               _default: [ 0, "", "" ]
+       },
+       safeFragment = createSafeFragment( document );
+
+wrapMap.optgroup = wrapMap.option;
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+// IE can't serialize <link> and <script> tags normally
+if ( !jQuery.support.htmlSerialize ) {
+       wrapMap._default = [ 1, "div<div>", "</div>" ];
+}
+
+jQuery.fn.extend({
+       text: function( text ) {
+               if ( jQuery.isFunction(text) ) {
+                       return this.each(function(i) {
+                               var self = jQuery( this );
+
+                               self.text( text.call(this, i, self.text()) );
+                       });
+               }
+
+               if ( typeof text !== "object" && text !== undefined ) {
+                       return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
+               }
+
+               return jQuery.text( this );
+       },
+
+       wrapAll: function( html ) {
+               if ( jQuery.isFunction( html ) ) {
+                       return this.each(function(i) {
+                               jQuery(this).wrapAll( html.call(this, i) );
+                       });
+               }
+
+               if ( this[0] ) {
+                       // The elements to wrap the target around
+                       var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);
+
+                       if ( this[0].parentNode ) {
+                               wrap.insertBefore( this[0] );
+                       }
+
+                       wrap.map(function() {
+                               var elem = this;
+
+                               while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
+                                       elem = elem.firstChild;
+                               }
+
+                               return elem;
+                       }).append( this );
+               }
+
+               return this;
+       },
+
+       wrapInner: function( html ) {
+               if ( jQuery.isFunction( html ) ) {
+                       return this.each(function(i) {
+                               jQuery(this).wrapInner( html.call(this, i) );
+                       });
+               }
+
+               return this.each(function() {
+                       var self = jQuery( this ),
+                               contents = self.contents();
+
+                       if ( contents.length ) {
+                               contents.wrapAll( html );
+
+                       } else {
+                               self.append( html );
+                       }
+               });
+       },
+
+       wrap: function( html ) {
+               return this.each(function() {
+                       jQuery( this ).wrapAll( html );
+               });
+       },
+
+       unwrap: function() {
+               return this.parent().each(function() {
+                       if ( !jQuery.nodeName( this, "body" ) ) {
+                               jQuery( this ).replaceWith( this.childNodes );
+                       }
+               }).end();
+       },
+
+       append: function() {
+               return this.domManip(arguments, true, function( elem ) {
+                       if ( this.nodeType === 1 ) {
+                               this.appendChild( elem );
+                       }
+               });
+       },
+
+       prepend: function() {
+               return this.domManip(arguments, true, function( elem ) {
+                       if ( this.nodeType === 1 ) {
+                               this.insertBefore( elem, this.firstChild );
+                       }
+               });
+       },
+
+       before: function() {
+               if ( this[0] && this[0].parentNode ) {
+                       return this.domManip(arguments, false, function( elem ) {
+                               this.parentNode.insertBefore( elem, this );
+                       });
+               } else if ( arguments.length ) {
+                       var set = jQuery(arguments[0]);
+                       set.push.apply( set, this.toArray() );
+                       return this.pushStack( set, "before", arguments );
+               }
+       },
+
+       after: function() {
+               if ( this[0] && this[0].parentNode ) {
+                       return this.domManip(arguments, false, function( elem ) {
+                               this.parentNode.insertBefore( elem, this.nextSibling );
+                       });
+               } else if ( arguments.length ) {
+                       var set = this.pushStack( this, "after", arguments );
+                       set.push.apply( set, jQuery(arguments[0]).toArray() );
+                       return set;
+               }
+       },
+
+       // keepData is for internal use only--do not document
+       remove: function( selector, keepData ) {
+               for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
+                       if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {
+                               if ( !keepData && elem.nodeType === 1 ) {
+                                       jQuery.cleanData( elem.getElementsByTagName("*") );
+                                       jQuery.cleanData( [ elem ] );
+                               }
+
+                               if ( elem.parentNode ) {
+                                       elem.parentNode.removeChild( elem );
+                               }
+                       }
+               }
+
+               return this;
+       },
+
+       empty: function() {
+               for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
+                       // Remove element nodes and prevent memory leaks
+                       if ( elem.nodeType === 1 ) {
+                               jQuery.cleanData( elem.getElementsByTagName("*") );
+                       }
+
+                       // Remove any remaining nodes
+                       while ( elem.firstChild ) {
+                               elem.removeChild( elem.firstChild );
+                       }
+               }
+
+               return this;
+       },
+
+       clone: function( dataAndEvents, deepDataAndEvents ) {
+               dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+               deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+               return this.map( function () {
+                       return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+               });
+       },
+
+       html: function( value ) {
+               if ( value === undefined ) {
+                       return this[0] && this[0].nodeType === 1 ?
+                               this[0].innerHTML.replace(rinlinejQuery, "") :
+                               null;
+
+               // See if we can take a shortcut and just use innerHTML
+               } else if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+                       (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) &&
+                       !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {
+
+                       value = value.replace(rxhtmlTag, "<$1></$2>");
+
+                       try {
+                               for ( var i = 0, l = this.length; i < l; i++ ) {
+                                       // Remove element nodes and prevent memory leaks
+                                       if ( this[i].nodeType === 1 ) {
+                                               jQuery.cleanData( this[i].getElementsByTagName("*") );
+                                               this[i].innerHTML = value;
+                                       }
+                               }
+
+                       // If using innerHTML throws an exception, use the fallback method
+                       } catch(e) {
+                               this.empty().append( value );
+                       }
+
+               } else if ( jQuery.isFunction( value ) ) {
+                       this.each(function(i){
+                               var self = jQuery( this );
+
+                               self.html( value.call(this, i, self.html()) );
+                       });
+
+               } else {
+                       this.empty().append( value );
+               }
+
+               return this;
+       },
+
+       replaceWith: function( value ) {
+               if ( this[0] && this[0].parentNode ) {
+                       // Make sure that the elements are removed from the DOM before they are inserted
+                       // this can help fix replacing a parent with child elements
+                       if ( jQuery.isFunction( value ) ) {
+                               return this.each(function(i) {
+                                       var self = jQuery(this), old = self.html();
+                                       self.replaceWith( value.call( this, i, old ) );
+                               });
+                       }
+
+                       if ( typeof value !== "string" ) {
+                               value = jQuery( value ).detach();
+                       }
+
+                       return this.each(function() {
+                               var next = this.nextSibling,
+                                       parent = this.parentNode;
+
+                               jQuery( this ).remove();
+
+                               if ( next ) {
+                                       jQuery(next).before( value );
+                               } else {
+                                       jQuery(parent).append( value );
+                               }
+                       });
+               } else {
+                       return this.length ?
+                               this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) :
+                               this;
+               }
+       },
+
+       detach: function( selector ) {
+               return this.remove( selector, true );
+       },
+
+       domManip: function( args, table, callback ) {
+               var results, first, fragment, parent,
+                       value = args[0],
+                       scripts = [];
+
+               // We can't cloneNode fragments that contain checked, in WebKit
+               if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) {
+                       return this.each(function() {
+                               jQuery(this).domManip( args, table, callback, true );
+                       });
+               }
+
+               if ( jQuery.isFunction(value) ) {
+                       return this.each(function(i) {
+                               var self = jQuery(this);
+                               args[0] = value.call(this, i, table ? self.html() : undefined);
+                               self.domManip( args, table, callback );
+                       });
+               }
+
+               if ( this[0] ) {
+                       parent = value && value.parentNode;
+
+                       // If we're in a fragment, just use that instead of building a new one
+                       if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) {
+                               results = { fragment: parent };
+
+                       } else {
+                               results = jQuery.buildFragment( args, this, scripts );
+                       }
+
+                       fragment = results.fragment;
+
+                       if ( fragment.childNodes.length === 1 ) {
+                               first = fragment = fragment.firstChild;
+                       } else {
+                               first = fragment.firstChild;
+                       }
+
+                       if ( first ) {
+                               table = table && jQuery.nodeName( first, "tr" );
+
+                               for ( var i = 0, l = this.length, lastIndex = l - 1; i < l; i++ ) {
+                                       callback.call(
+                                               table ?
+                                                       root(this[i], first) :
+                                                       this[i],
+                                               // Make sure that we do not leak memory by inadvertently discarding
+                                               // the original fragment (which might have attached data) instead of
+                                               // using it; in addition, use the original fragment object for the last
+                                               // item instead of first because it can end up being emptied incorrectly
+                                               // in certain situations (Bug #8070).
+                                               // Fragments from the fragment cache must always be cloned and never used
+                                               // in place.
+                                               results.cacheable || (l > 1 && i < lastIndex) ?
+                                                       jQuery.clone( fragment, true, true ) :
+                                                       fragment
+                                       );
+                               }
+                       }
+
+                       if ( scripts.length ) {
+                               jQuery.each( scripts, evalScript );
+                       }
+               }
+
+               return this;
+       }
+});
+
+function root( elem, cur ) {
+       return jQuery.nodeName(elem, "table") ?
+               (elem.getElementsByTagName("tbody")[0] ||
+               elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
+               elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+
+       if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
+               return;
+       }
+
+       var type, i, l,
+               oldData = jQuery._data( src ),
+               curData = jQuery._data( dest, oldData ),
+               events = oldData.events;
+
+       if ( events ) {
+               delete curData.handle;
+               curData.events = {};
+
+               for ( type in events ) {
+                       for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+                               jQuery.event.add( dest, type + ( events[ type ][ i ].namespace ? "." : "" ) + events[ type ][ i ].namespace, events[ type ][ i ], events[ type ][ i ].data );
+                       }
+               }
+       }
+
+       // make the cloned public data object a copy from the original
+       if ( curData.data ) {
+               curData.data = jQuery.extend( {}, curData.data );
+       }
+}
+
+function cloneFixAttributes( src, dest ) {
+       var nodeName;
+
+       // We do not need to do anything for non-Elements
+       if ( dest.nodeType !== 1 ) {
+               return;
+       }
+
+       // clearAttributes removes the attributes, which we don't want,
+       // but also removes the attachEvent events, which we *do* want
+       if ( dest.clearAttributes ) {
+               dest.clearAttributes();
+       }
+
+       // mergeAttributes, in contrast, only merges back on the
+       // original attributes, not the events
+       if ( dest.mergeAttributes ) {
+               dest.mergeAttributes( src );
+       }
+
+       nodeName = dest.nodeName.toLowerCase();
+
+       // IE6-8 fail to clone children inside object elements that use
+       // the proprietary classid attribute value (rather than the type
+       // attribute) to identify the type of content to display
+       if ( nodeName === "object" ) {
+               dest.outerHTML = src.outerHTML;
+
+       } else if ( nodeName === "input" && (src.type === "checkbox" || src.type === "radio") ) {
+               // IE6-8 fails to persist the checked state of a cloned checkbox
+               // or radio button. Worse, IE6-7 fail to give the cloned element
+               // a checked appearance if the defaultChecked value isn't also set
+               if ( src.checked ) {
+                       dest.defaultChecked = dest.checked = src.checked;
+               }
+
+               // IE6-7 get confused and end up setting the value of a cloned
+               // checkbox/radio button to an empty string instead of "on"
+               if ( dest.value !== src.value ) {
+                       dest.value = src.value;
+               }
+
+       // IE6-8 fails to return the selected option to the default selected
+       // state when cloning options
+       } else if ( nodeName === "option" ) {
+               dest.selected = src.defaultSelected;
+
+       // IE6-8 fails to set the defaultValue to the correct value when
+       // cloning other types of input fields
+       } else if ( nodeName === "input" || nodeName === "textarea" ) {
+               dest.defaultValue = src.defaultValue;
+       }
+
+       // Event data gets referenced instead of copied if the expando
+       // gets copied too
+       dest.removeAttribute( jQuery.expando );
+}
+
+jQuery.buildFragment = function( args, nodes, scripts ) {
+       var fragment, cacheable, cacheresults, doc;
+
+  // nodes may contain either an explicit document object,
+  // a jQuery collection or context object.
+  // If nodes[0] contains a valid object to assign to doc
+  if ( nodes && nodes[0] ) {
+    doc = nodes[0].ownerDocument || nodes[0];
+  }
+
+  // Ensure that an attr object doesn't incorrectly stand in as a document object
+       // Chrome and Firefox seem to allow this to occur and will throw exception
+       // Fixes #8950
+       if ( !doc.createDocumentFragment ) {
+               doc = document;
+       }
+
+       // Only cache "small" (1/2 KB) HTML strings that are associated with the main document
+       // Cloning options loses the selected state, so don't cache them
+       // IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
+       // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
+       if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document &&
+               args[0].charAt(0) === "<" && !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) {
+
+               cacheable = true;
+
+               cacheresults = jQuery.fragments[ args[0] ];
+               if ( cacheresults && cacheresults !== 1 ) {
+                       fragment = cacheresults;
+               }
+       }
+
+       if ( !fragment ) {
+               fragment = doc.createDocumentFragment();
+               jQuery.clean( args, doc, fragment, scripts );
+       }
+
+       if ( cacheable ) {
+               jQuery.fragments[ args[0] ] = cacheresults ? fragment : 1;
+       }
+
+       return { fragment: fragment, cacheable: cacheable };
+};
+
+jQuery.fragments = {};
+
+jQuery.each({
+       appendTo: "append",
+       prependTo: "prepend",
+       insertBefore: "before",
+       insertAfter: "after",
+       replaceAll: "replaceWith"
+}, function( name, original ) {
+       jQuery.fn[ name ] = function( selector ) {
+               var ret = [],
+                       insert = jQuery( selector ),
+                       parent = this.length === 1 && this[0].parentNode;
+
+               if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
+                       insert[ original ]( this[0] );
+                       return this;
+
+               } else {
+                       for ( var i = 0, l = insert.length; i < l; i++ ) {
+                               var elems = (i > 0 ? this.clone(true) : this).get();
+                               jQuery( insert[i] )[ original ]( elems );
+                               ret = ret.concat( elems );
+                       }
+
+                       return this.pushStack( ret, name, insert.selector );
+               }
+       };
+});
+
+function getAll( elem ) {
+       if ( typeof elem.getElementsByTagName !== "undefined" ) {
+               return elem.getElementsByTagName( "*" );
+
+       } else if ( typeof elem.querySelectorAll !== "undefined" ) {
+               return elem.querySelectorAll( "*" );
+
+       } else {
+               return [];
+       }
+}
+
+// Used in clean, fixes the defaultChecked property
+function fixDefaultChecked( elem ) {
+       if ( elem.type === "checkbox" || elem.type === "radio" ) {
+               elem.defaultChecked = elem.checked;
+       }
+}
+// Finds all inputs and passes them to fixDefaultChecked
+function findInputs( elem ) {
+       var nodeName = (elem.nodeName || "").toLowerCase();
+       if ( nodeName === "input" ) {
+               fixDefaultChecked( elem );
+       // Skip scripts, get other children
+       } else if ( nodeName !== "script" && typeof elem.getElementsByTagName !== "undefined" ) {
+               jQuery.grep( elem.getElementsByTagName("input"), fixDefaultChecked );
+       }
+}
+
+jQuery.extend({
+       clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+               var clone = elem.cloneNode(true),
+                               srcElements,
+                               destElements,
+                               i;
+
+               if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
+                               (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
+                       // IE copies events bound via attachEvent when using cloneNode.
+                       // Calling detachEvent on the clone will also remove the events
+                       // from the original. In order to get around this, we use some
+                       // proprietary methods to clear the events. Thanks to MooTools
+                       // guys for this hotness.
+
+                       cloneFixAttributes( elem, clone );
+
+                       // Using Sizzle here is crazy slow, so we use getElementsByTagName
+                       // instead
+                       srcElements = getAll( elem );
+                       destElements = getAll( clone );
+
+                       // Weird iteration because IE will replace the length property
+                       // with an element if you are cloning the body and one of the
+                       // elements on the page has a name or id of "length"
+                       for ( i = 0; srcElements[i]; ++i ) {
+                               // Ensure that the destination node is not null; Fixes #9587
+                               if ( destElements[i] ) {
+                                       cloneFixAttributes( srcElements[i], destElements[i] );
+                               }
+                       }
+               }
+
+               // Copy the events from the original to the clone
+               if ( dataAndEvents ) {
+                       cloneCopyEvent( elem, clone );
+
+                       if ( deepDataAndEvents ) {
+                               srcElements = getAll( elem );
+                               destElements = getAll( clone );
+
+                               for ( i = 0; srcElements[i]; ++i ) {
+                                       cloneCopyEvent( srcElements[i], destElements[i] );
+                               }
+                       }
+               }
+
+               srcElements = destElements = null;
+
+               // Return the cloned set
+               return clone;
+       },
+
+       clean: function( elems, context, fragment, scripts ) {
+               var checkScriptType;
+
+               context = context || document;
+
+               // !context.createElement fails in IE with an error but returns typeof 'object'
+               if ( typeof context.createElement === "undefined" ) {
+                       context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
+               }
+
+               var ret = [], j;
+
+               for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
+                       if ( typeof elem === "number" ) {
+                               elem += "";
+                       }
+
+                       if ( !elem ) {
+                               continue;
+                       }
+
+                       // Convert html string into DOM nodes
+                       if ( typeof elem === "string" ) {
+                               if ( !rhtml.test( elem ) ) {
+                                       elem = context.createTextNode( elem );
+                               } else {
+                                       // Fix "XHTML"-style tags in all browsers
+                                       elem = elem.replace(rxhtmlTag, "<$1></$2>");
+
+                                       // Trim whitespace, otherwise indexOf won't work as expected
+                                       var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(),
+                                               wrap = wrapMap[ tag ] || wrapMap._default,
+                                               depth = wrap[0],
+                                               div = context.createElement("div");
+
+                                       // Append wrapper element to unknown element safe doc fragment
+                                       if ( context === document ) {
+                                               // Use the fragment we've already created for this document
+                                               safeFragment.appendChild( div );
+                                       } else {
+                                               // Use a fragment created with the owner document
+                                               createSafeFragment( context ).appendChild( div );
+                                       }
+
+                                       // Go to html and back, then peel off extra wrappers
+                                       div.innerHTML = wrap[1] + elem + wrap[2];
+
+                                       // Move to the right depth
+                                       while ( depth-- ) {
+                                               div = div.lastChild;
+                                       }
+
+                                       // Remove IE's autoinserted <tbody> from table fragments
+                                       if ( !jQuery.support.tbody ) {
+
+                                               // String was a <table>, *may* have spurious <tbody>
+                                               var hasBody = rtbody.test(elem),
+                                                       tbody = tag === "table" && !hasBody ?
+                                                               div.firstChild && div.firstChild.childNodes :
+
+                                                               // String was a bare <thead> or <tfoot>
+                                                               wrap[1] === "<table>" && !hasBody ?
+                                                                       div.childNodes :
+                                                                       [];
+
+                                               for ( j = tbody.length - 1; j >= 0 ; --j ) {
+                                                       if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) {
+                                                               tbody[ j ].parentNode.removeChild( tbody[ j ] );
+                                                       }
+                                               }
+                                       }
+
+                                       // IE completely kills leading whitespace when innerHTML is used
+                                       if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
+                                               div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );
+                                       }
+
+                                       elem = div.childNodes;
+                               }
+                       }
+
+                       // Resets defaultChecked for any radios and checkboxes
+                       // about to be appended to the DOM in IE 6/7 (#8060)
+                       var len;
+                       if ( !jQuery.support.appendChecked ) {
+                               if ( elem[0] && typeof (len = elem.length) === "number" ) {
+                                       for ( j = 0; j < len; j++ ) {
+                                               findInputs( elem[j] );
+                                       }
+                               } else {
+                                       findInputs( elem );
+                               }
+                       }
+
+                       if ( elem.nodeType ) {
+                               ret.push( elem );
+                       } else {
+                               ret = jQuery.merge( ret, elem );
+                       }
+               }
+
+               if ( fragment ) {
+                       checkScriptType = function( elem ) {
+                               return !elem.type || rscriptType.test( elem.type );
+                       };
+                       for ( i = 0; ret[i]; i++ ) {
+                               if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
+                                       scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
+
+                               } else {
+                                       if ( ret[i].nodeType === 1 ) {
+                                               var jsTags = jQuery.grep( ret[i].getElementsByTagName( "script" ), checkScriptType );
+
+                                               ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
+                                       }
+                                       fragment.appendChild( ret[i] );
+                               }
+                       }
+               }
+
+               return ret;
+       },
+
+       cleanData: function( elems ) {
+               var data, id, 
+                       cache = jQuery.cache,
+                       special = jQuery.event.special,
+                       deleteExpando = jQuery.support.deleteExpando;
+
+               for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
+                       if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
+                               continue;
+                       }
+
+                       id = elem[ jQuery.expando ];
+
+                       if ( id ) {
+                               data = cache[ id ];
+
+                               if ( data && data.events ) {
+                                       for ( var type in data.events ) {
+                                               if ( special[ type ] ) {
+                                                       jQuery.event.remove( elem, type );
+
+                                               // This is a shortcut to avoid jQuery.event.remove's overhead
+                                               } else {
+                                                       jQuery.removeEvent( elem, type, data.handle );
+                                               }
+                                       }
+
+                                       // Null the DOM reference to avoid IE6/7/8 leak (#7054)
+                                       if ( data.handle ) {
+                                               data.handle.elem = null;
+                                       }
+                               }
+
+                               if ( deleteExpando ) {
+                                       delete elem[ jQuery.expando ];
+
+                               } else if ( elem.removeAttribute ) {
+                                       elem.removeAttribute( jQuery.expando );
+                               }
+
+                               delete cache[ id ];
+                       }
+               }
+       }
+});
+
+function evalScript( i, elem ) {
+       if ( elem.src ) {
+               jQuery.ajax({
+                       url: elem.src,
+                       async: false,
+                       dataType: "script"
+               });
+       } else {
+               jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "/*$0*/" ) );
+       }
+
+       if ( elem.parentNode ) {
+               elem.parentNode.removeChild( elem );
+       }
+}
+
+
+
+
+var ralpha = /alpha\([^)]*\)/i,
+       ropacity = /opacity=([^)]*)/,
+       // fixed for IE9, see #8346
+       rupper = /([A-Z]|^ms)/g,
+       rnumpx = /^-?\d+(?:px)?$/i,
+       rnum = /^-?\d/,
+       rrelNum = /^([\-+])=([\-+.\de]+)/,
+
+       cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+       cssWidth = [ "Left", "Right" ],
+       cssHeight = [ "Top", "Bottom" ],
+       curCSS,
+
+       getComputedStyle,
+       currentStyle;
+
+jQuery.fn.css = function( name, value ) {
+       // Setting 'undefined' is a no-op
+       if ( arguments.length === 2 && value === undefined ) {
+               return this;
+       }
+
+       return jQuery.access( this, name, value, true, function( elem, name, value ) {
+               return value !== undefined ?
+                       jQuery.style( elem, name, value ) :
+                       jQuery.css( elem, name );
+       });
+};
+
+jQuery.extend({
+       // Add in style property hooks for overriding the default
+       // behavior of getting and setting a style property
+       cssHooks: {
+               opacity: {
+                       get: function( elem, computed ) {
+                               if ( computed ) {
+                                       // We should always get a number back from opacity
+                                       var ret = curCSS( elem, "opacity", "opacity" );
+                                       return ret === "" ? "1" : ret;
+
+                               } else {
+                                       return elem.style.opacity;
+                               }
+                       }
+               }
+       },
+
+       // Exclude the following css properties to add px
+       cssNumber: {
+               "fillOpacity": true,
+               "fontWeight": true,
+               "lineHeight": true,
+               "opacity": true,
+               "orphans": true,
+               "widows": true,
+               "zIndex": true,
+               "zoom": true
+       },
+
+       // Add in properties whose names you wish to fix before
+       // setting or getting the value
+       cssProps: {
+               // normalize float css property
+               "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat"
+       },
+
+       // Get and set the style property on a DOM Node
+       style: function( elem, name, value, extra ) {
+               // Don't set styles on text and comment nodes
+               if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+                       return;
+               }
+
+               // Make sure that we're working with the right name
+               var ret, type, origName = jQuery.camelCase( name ),
+                       style = elem.style, hooks = jQuery.cssHooks[ origName ];
+
+               name = jQuery.cssProps[ origName ] || origName;
+
+               // Check if we're setting a value
+               if ( value !== undefined ) {
+                       type = typeof value;
+
+                       // convert relative number strings (+= or -=) to relative numbers. #7345
+                       if ( type === "string" && (ret = rrelNum.exec( value )) ) {
+                               value = ( +( ret[1] + 1) * +ret[2] ) + parseFloat( jQuery.css( elem, name ) );
+                               // Fixes bug #9237
+                               type = "number";
+                       }
+
+                       // Make sure that NaN and null values aren't set. See: #7116
+                       if ( value == null || type === "number" && isNaN( value ) ) {
+                               return;
+                       }
+
+                       // If a number was passed in, add 'px' to the (except for certain CSS properties)
+                       if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
+                               value += "px";
+                       }
+
+                       // If a hook was provided, use that value, otherwise just set the specified value
+                       if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) {
+                               // Wrapped to prevent IE from throwing errors when 'invalid' values are provided
+                               // Fixes bug #5509
+                               try {
+                                       style[ name ] = value;
+                               } catch(e) {}
+                       }
+
+               } else {
+                       // If a hook was provided get the non-computed value from there
+                       if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
+                               return ret;
+                       }
+
+                       // Otherwise just get the value from the style object
+                       return style[ name ];
+               }
+       },
+
+       css: function( elem, name, extra ) {
+               var ret, hooks;
+
+               // Make sure that we're working with the right name
+               name = jQuery.camelCase( name );
+               hooks = jQuery.cssHooks[ name ];
+               name = jQuery.cssProps[ name ] || name;
+
+               // cssFloat needs a special treatment
+               if ( name === "cssFloat" ) {
+                       name = "float";
+               }
+
+               // If a hook was provided get the computed value from there
+               if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) {
+                       return ret;
+
+               // Otherwise, if a way to get the computed value exists, use that
+               } else if ( curCSS ) {
+                       return curCSS( elem, name );
+               }
+       },
+
+       // A method for quickly swapping in/out CSS properties to get correct calculations
+       swap: function( elem, options, callback ) {
+               var old = {};
+
+               // Remember the old values, and insert the new ones
+               for ( var name in options ) {
+                       old[ name ] = elem.style[ name ];
+                       elem.style[ name ] = options[ name ];
+               }
+
+               callback.call( elem );
+
+               // Revert the old values
+               for ( name in options ) {
+                       elem.style[ name ] = old[ name ];
+               }
+       }
+});
+
+// DEPRECATED, Use jQuery.css() instead
+jQuery.curCSS = jQuery.css;
+
+jQuery.each(["height", "width"], function( i, name ) {
+       jQuery.cssHooks[ name ] = {
+               get: function( elem, computed, extra ) {
+                       var val;
+
+                       if ( computed ) {
+                               if ( elem.offsetWidth !== 0 ) {
+                                       return getWH( elem, name, extra );
+                               } else {
+                                       jQuery.swap( elem, cssShow, function() {
+                                               val = getWH( elem, name, extra );
+                                       });
+                               }
+
+                               return val;
+                       }
+               },
+
+               set: function( elem, value ) {
+                       if ( rnumpx.test( value ) ) {
+                               // ignore negative width and height values #1599
+                               value = parseFloat( value );
+
+                               if ( value >= 0 ) {
+                                       return value + "px";
+                               }
+
+                       } else {
+                               return value;
+                       }
+               }
+       };
+});
+
+if ( !jQuery.support.opacity ) {
+       jQuery.cssHooks.opacity = {
+               get: function( elem, computed ) {
+                       // IE uses filters for opacity
+                       return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ?
+                               ( parseFloat( RegExp.$1 ) / 100 ) + "" :
+                               computed ? "1" : "";
+               },
+
+               set: function( elem, value ) {
+                       var style = elem.style,
+                               currentStyle = elem.currentStyle,
+                               opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "",
+                               filter = currentStyle && currentStyle.filter || style.filter || "";
+
+                       // IE has trouble with opacity if it does not have layout
+                       // Force it by setting the zoom level
+                       style.zoom = 1;
+
+                       // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652
+                       if ( value >= 1 && jQuery.trim( filter.replace( ralpha, "" ) ) === "" ) {
+
+                               // Setting style.filter to null, "" & " " still leave "filter:" in the cssText
+                               // if "filter:" is present at all, clearType is disabled, we want to avoid this
+                               // style.removeAttribute is IE Only, but so apparently is this code path...
+                               style.removeAttribute( "filter" );
+
+                               // if there there is no filter style applied in a css rule, we are done
+                               if ( currentStyle && !currentStyle.filter ) {
+                                       return;
+                               }
+                       }
+
+                       // otherwise, set new filter values
+                       style.filter = ralpha.test( filter ) ?
+                               filter.replace( ralpha, opacity ) :
+                               filter + " " + opacity;
+               }
+       };
+}
+
+jQuery(function() {
+       // This hook cannot be added until DOM ready because the support test
+       // for it is not run until after DOM ready
+       if ( !jQuery.support.reliableMarginRight ) {
+               jQuery.cssHooks.marginRight = {
+                       get: function( elem, computed ) {
+                               // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
+                               // Work around by temporarily setting element display to inline-block
+                               var ret;
+                               jQuery.swap( elem, { "display": "inline-block" }, function() {
+                                       if ( computed ) {
+                                               ret = curCSS( elem, "margin-right", "marginRight" );
+                                       } else {
+                                               ret = elem.style.marginRight;
+                                       }
+                               });
+                               return ret;
+                       }
+               };
+       }
+});
+
+if ( document.defaultView && document.defaultView.getComputedStyle ) {
+       getComputedStyle = function( elem, name ) {
+               var ret, defaultView, computedStyle;
+
+               name = name.replace( rupper, "-$1" ).toLowerCase();
+
+               if ( !(defaultView = elem.ownerDocument.defaultView) ) {
+                       return undefined;
+               }
+
+               if ( (computedStyle = defaultView.getComputedStyle( elem, null )) ) {
+                       ret = computedStyle.getPropertyValue( name );
+                       if ( ret === "" && !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) {
+                               ret = jQuery.style( elem, name );
+                       }
+               }
+
+               return ret;
+       };
+}
+
+if ( document.documentElement.currentStyle ) {
+       currentStyle = function( elem, name ) {
+               var left,
+                       ret = elem.currentStyle && elem.currentStyle[ name ],
+                       rsLeft = elem.runtimeStyle && elem.runtimeStyle[ name ],
+                       style = elem.style;
+
+               // From the awesome hack by Dean Edwards
+               // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
+
+               // If we're not dealing with a regular pixel number
+               // but a number that has a weird ending, we need to convert it to pixels
+               if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {
+                       // Remember the original values
+                       left = style.left;
+
+                       // Put in the new values to get a computed value out
+                       if ( rsLeft ) {
+                               elem.runtimeStyle.left = elem.currentStyle.left;
+                       }
+                       style.left = name === "fontSize" ? "1em" : (ret || 0);
+                       ret = style.pixelLeft + "px";
+
+                       // Revert the changed values
+                       style.left = left;
+                       if ( rsLeft ) {
+                               elem.runtimeStyle.left = rsLeft;
+                       }
+               }
+
+               return ret === "" ? "auto" : ret;
+       };
+}
+
+curCSS = getComputedStyle || currentStyle;
+
+function getWH( elem, name, extra ) {
+
+       // Start with offset property
+       var val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
+               which = name === "width" ? cssWidth : cssHeight;
+
+       if ( val > 0 ) {
+               if ( extra !== "border" ) {
+                       jQuery.each( which, function() {
+                               if ( !extra ) {
+                                       val -= parseFloat( jQuery.css( elem, "padding" + this ) ) || 0;
+                               }
+                               if ( extra === "margin" ) {
+                                       val += parseFloat( jQuery.css( elem, extra + this ) ) || 0;
+                               } else {
+                                       val -= parseFloat( jQuery.css( elem, "border" + this + "Width" ) ) || 0;
+                               }
+                       });
+               }
+
+               return val + "px";
+       }
+
+       // Fall back to computed then uncomputed css if necessary
+       val = curCSS( elem, name, name );
+       if ( val < 0 || val == null ) {
+               val = elem.style[ name ] || 0;
+       }
+       // Normalize "", auto, and prepare for extra
+       val = parseFloat( val ) || 0;
+
+       // Add padding, border, margin
+       if ( extra ) {
+               jQuery.each( which, function() {
+                       val += parseFloat( jQuery.css( elem, "padding" + this ) ) || 0;
+                       if ( extra !== "padding" ) {
+                               val += parseFloat( jQuery.css( elem, "border" + this + "Width" ) ) || 0;
+                       }
+                       if ( extra === "margin" ) {
+                               val += parseFloat( jQuery.css( elem, extra + this ) ) || 0;
+                       }
+               });
+       }
+
+       return val + "px";
+}
+
+if ( jQuery.expr && jQuery.expr.filters ) {
+       jQuery.expr.filters.hidden = function( elem ) {
+               var width = elem.offsetWidth,
+                       height = elem.offsetHeight;
+
+               return (width === 0 && height === 0) || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none");
+       };
+
+       jQuery.expr.filters.visible = function( elem ) {
+               return !jQuery.expr.filters.hidden( elem );
+       };
+}
+
+
+
+
+var r20 = /%20/g,
+       rbracket = /\[\]$/,
+       rCRLF = /\r?\n/g,
+       rhash = /#.*$/,
+       rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL
+       rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
+       // #7653, #8125, #8152: local protocol detection
+       rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
+       rnoContent = /^(?:GET|HEAD)$/,
+       rprotocol = /^\/\//,
+       rquery = /\?/,
+       rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
+       rselectTextarea = /^(?:select|textarea)/i,
+       rspacesAjax = /\s+/,
+       rts = /([?&])_=[^&]*/,
+       rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,
+
+       // Keep a copy of the old load method
+       _load = jQuery.fn.load,
+
+       /* Prefilters
+        * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
+        * 2) These are called:
+        *    - BEFORE asking for a transport
+        *    - AFTER param serialization (s.data is a string if s.processData is true)
+        * 3) key is the dataType
+        * 4) the catchall symbol "*" can be used
+        * 5) execution will start with transport dataType and THEN continue down to "*" if needed
+        */
+       prefilters = {},
+
+       /* Transports bindings
+        * 1) key is the dataType
+        * 2) the catchall symbol "*" can be used
+        * 3) selection will start with transport dataType and THEN go to "*" if needed
+        */
+       transports = {},
+
+       // Document location
+       ajaxLocation,
+
+       // Document location segments
+       ajaxLocParts,
+
+       // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+       allTypes = ["*/"] + ["*"];
+
+// #8138, IE may throw an exception when accessing
+// a field from window.location if document.domain has been set
+try {
+       ajaxLocation = location.href;
+} catch( e ) {
+       // Use the href attribute of an A element
+       // since IE will modify it given document.location
+       ajaxLocation = document.createElement( "a" );
+       ajaxLocation.href = "";
+       ajaxLocation = ajaxLocation.href;
+}
+
+// Segment location into parts
+ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
+
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
+function addToPrefiltersOrTransports( structure ) {
+
+       // dataTypeExpression is optional and defaults to "*"
+       return function( dataTypeExpression, func ) {
+
+               if ( typeof dataTypeExpression !== "string" ) {
+                       func = dataTypeExpression;
+                       dataTypeExpression = "*";
+               }
+
+               if ( jQuery.isFunction( func ) ) {
+                       var dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ),
+                               i = 0,
+                               length = dataTypes.length,
+                               dataType,
+                               list,
+                               placeBefore;
+
+                       // For each dataType in the dataTypeExpression
+                       for(; i < length; i++ ) {
+                               dataType = dataTypes[ i ];
+                               // We control if we're asked to add before
+                               // any existing element
+                               placeBefore = /^\+/.test( dataType );
+                               if ( placeBefore ) {
+                                       dataType = dataType.substr( 1 ) || "*";
+                               }
+                               list = structure[ dataType ] = structure[ dataType ] || [];
+                               // then we add to the structure accordingly
+                               list[ placeBefore ? "unshift" : "push" ]( func );
+                       }
+               }
+       };
+}
+
+// Base inspection function for prefilters and transports
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR,
+               dataType /* internal */, inspected /* internal */ ) {
+
+       dataType = dataType || options.dataTypes[ 0 ];
+       inspected = inspected || {};
+
+       inspected[ dataType ] = true;
+
+       var list = structure[ dataType ],
+               i = 0,
+               length = list ? list.length : 0,
+               executeOnly = ( structure === prefilters ),
+               selection;
+
+       for(; i < length && ( executeOnly || !selection ); i++ ) {
+               selection = list[ i ]( options, originalOptions, jqXHR );
+               // If we got redirected to another dataType
+               // we try there if executing only and not done already
+               if ( typeof selection === "string" ) {
+                       if ( !executeOnly || inspected[ selection ] ) {
+                               selection = undefined;
+                       } else {
+                               options.dataTypes.unshift( selection );
+                               selection = inspectPrefiltersOrTransports(
+                                               structure, options, originalOptions, jqXHR, selection, inspected );
+                       }
+               }
+       }
+       // If we're only executing or nothing was selected
+       // we try the catchall dataType if not done already
+       if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) {
+               selection = inspectPrefiltersOrTransports(
+                               structure, options, originalOptions, jqXHR, "*", inspected );
+       }
+       // unnecessary when only executing (prefilters)
+       // but it'll be ignored by the caller in that case
+       return selection;
+}
+
+// A special extend for ajax options
+// that takes "flat" options (not to be deep extended)
+// Fixes #9887
+function ajaxExtend( target, src ) {
+       var key, deep,
+               flatOptions = jQuery.ajaxSettings.flatOptions || {};
+       for( key in src ) {
+               if ( src[ key ] !== undefined ) {
+                       ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
+               }
+       }
+       if ( deep ) {
+               jQuery.extend( true, target, deep );
+       }
+}
+
+jQuery.fn.extend({
+       load: function( url, params, callback ) {
+               if ( typeof url !== "string" && _load ) {
+                       return _load.apply( this, arguments );
+
+               // Don't do a request if no elements are being requested
+               } else if ( !this.length ) {
+                       return this;
+               }
+
+               var off = url.indexOf( " " );
+               if ( off >= 0 ) {
+                       var selector = url.slice( off, url.length );
+                       url = url.slice( 0, off );
+               }
+
+               // Default to a GET request
+               var type = "GET";
+
+               // If the second parameter was provided
+               if ( params ) {
+                       // If it's a function
+                       if ( jQuery.isFunction( params ) ) {
+                               // We assume that it's the callback
+                               callback = params;
+                               params = undefined;
+
+                       // Otherwise, build a param string
+                       } else if ( typeof params === "object" ) {
+                               params = jQuery.param( params, jQuery.ajaxSettings.traditional );
+                               type = "POST";
+                       }
+               }
+
+               var self = this;
+
+               // Request the remote document
+               jQuery.ajax({
+                       url: url,
+                       type: type,
+                       dataType: "html",
+                       data: params,
+                       // Complete callback (responseText is used internally)
+                       complete: function( jqXHR, status, responseText ) {
+                               // Store the response as specified by the jqXHR object
+                               responseText = jqXHR.responseText;
+                               // If successful, inject the HTML into all the matched elements
+                               if ( jqXHR.isResolved() ) {
+                                       // #4825: Get the actual response in case
+                                       // a dataFilter is present in ajaxSettings
+                                       jqXHR.done(function( r ) {
+                                               responseText = r;
+                                       });
+                                       // See if a selector was specified
+                                       self.html( selector ?
+                                               // Create a dummy div to hold the results
+                                               jQuery("<div>")
+                                                       // inject the contents of the document in, removing the scripts
+                                                       // to avoid any 'Permission Denied' errors in IE
+                                                       .append(responseText.replace(rscript, ""))
+
+                                                       // Locate the specified elements
+                                                       .find(selector) :
+
+                                               // If not, just inject the full result
+                                               responseText );
+                               }
+
+                               if ( callback ) {
+                                       self.each( callback, [ responseText, status, jqXHR ] );
+                               }
+                       }
+               });
+
+               return this;
+       },
+
+       serialize: function() {
+               return jQuery.param( this.serializeArray() );
+       },
+
+       serializeArray: function() {
+               return this.map(function(){
+                       return this.elements ? jQuery.makeArray( this.elements ) : this;
+               })
+               .filter(function(){
+                       return this.name && !this.disabled &&
+                               ( this.checked || rselectTextarea.test( this.nodeName ) ||
+                                       rinput.test( this.type ) );
+               })
+               .map(function( i, elem ){
+                       var val = jQuery( this ).val();
+
+                       return val == null ?
+                               null :
+                               jQuery.isArray( val ) ?
+                                       jQuery.map( val, function( val, i ){
+                                               return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+                                       }) :
+                                       { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+               }).get();
+       }
+});
+
+// Attach a bunch of functions for handling common AJAX events
+jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){
+       jQuery.fn[ o ] = function( f ){
+               return this.bind( o, f );
+       };
+});
+
+jQuery.each( [ "get", "post" ], function( i, method ) {
+       jQuery[ method ] = function( url, data, callback, type ) {
+               // shift arguments if data argument was omitted
+               if ( jQuery.isFunction( data ) ) {
+                       type = type || callback;
+                       callback = data;
+                       data = undefined;
+               }
+
+               return jQuery.ajax({
+                       type: method,
+                       url: url,
+                       data: data,
+                       success: callback,
+                       dataType: type
+               });
+       };
+});
+
+jQuery.extend({
+
+       getScript: function( url, callback ) {
+               return jQuery.get( url, undefined, callback, "script" );
+       },
+
+       getJSON: function( url, data, callback ) {
+               return jQuery.get( url, data, callback, "json" );
+       },
+
+       // Creates a full fledged settings object into target
+       // with both ajaxSettings and settings fields.
+       // If target is omitted, writes into ajaxSettings.
+       ajaxSetup: function( target, settings ) {
+               if ( settings ) {
+                       // Building a settings object
+                       ajaxExtend( target, jQuery.ajaxSettings );
+               } else {
+                       // Extending ajaxSettings
+                       settings = target;
+                       target = jQuery.ajaxSettings;
+               }
+               ajaxExtend( target, settings );
+               return target;
+       },
+
+       ajaxSettings: {
+               url: ajaxLocation,
+               isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
+               global: true,
+               type: "GET",
+               contentType: "application/x-www-form-urlencoded",
+               processData: true,
+               async: true,
+               /*
+               timeout: 0,
+               data: null,
+               dataType: null,
+               username: null,
+               password: null,
+               cache: null,
+               traditional: false,
+               headers: {},
+               */
+
+               accepts: {
+                       xml: "application/xml, text/xml",
+                       html: "text/html",
+                       text: "text/plain",
+                       json: "application/json, text/javascript",
+                       "*": allTypes
+               },
+
+               contents: {
+                       xml: /xml/,
+                       html: /html/,
+                       json: /json/
+               },
+
+               responseFields: {
+                       xml: "responseXML",
+                       text: "responseText"
+               },
+
+               // List of data converters
+               // 1) key format is "source_type destination_type" (a single space in-between)
+               // 2) the catchall symbol "*" can be used for source_type
+               converters: {
+
+                       // Convert anything to text
+                       "* text": window.String,
+
+                       // Text to html (true = no transformation)
+                       "text html": true,
+
+                       // Evaluate text as a json expression
+                       "text json": jQuery.parseJSON,
+
+                       // Parse text as xml
+                       "text xml": jQuery.parseXML
+               },
+
+               // For options that shouldn't be deep extended:
+               // you can add your own custom options here if
+               // and when you create one that shouldn't be
+               // deep extended (see ajaxExtend)
+               flatOptions: {
+                       context: true,
+                       url: true
+               }
+       },
+
+       ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
+       ajaxTransport: addToPrefiltersOrTransports( transports ),
+
+       // Main method
+       ajax: function( url, options ) {
+
+               // If url is an object, simulate pre-1.5 signature
+               if ( typeof url === "object" ) {
+                       options = url;
+                       url = undefined;
+               }
+
+               // Force options to be an object
+               options = options || {};
+
+               var // Create the final options object
+                       s = jQuery.ajaxSetup( {}, options ),
+                       // Callbacks context
+                       callbackContext = s.context || s,
+                       // Context for global events
+                       // It's the callbackContext if one was provided in the options
+                       // and if it's a DOM node or a jQuery collection
+                       globalEventContext = callbackContext !== s &&
+                               ( callbackContext.nodeType || callbackContext instanceof jQuery ) ?
+                                               jQuery( callbackContext ) : jQuery.event,
+                       // Deferreds
+                       deferred = jQuery.Deferred(),
+                       completeDeferred = jQuery.Callbacks( "once memory" ),
+                       // Status-dependent callbacks
+                       statusCode = s.statusCode || {},
+                       // ifModified key
+                       ifModifiedKey,
+                       // Headers (they are sent all at once)
+                       requestHeaders = {},
+                       requestHeadersNames = {},
+                       // Response headers
+                       responseHeadersString,
+                       responseHeaders,
+                       // transport
+                       transport,
+                       // timeout handle
+                       timeoutTimer,
+                       // Cross-domain detection vars
+                       parts,
+                       // The jqXHR state
+                       state = 0,
+                       // To know if global events are to be dispatched
+                       fireGlobals,
+                       // Loop variable
+                       i,
+                       // Fake xhr
+                       jqXHR = {
+
+                               readyState: 0,
+
+                               // Caches the header
+                               setRequestHeader: function( name, value ) {
+                                       if ( !state ) {
+                                               var lname = name.toLowerCase();
+                                               name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
+                                               requestHeaders[ name ] = value;
+                                       }
+                                       return this;
+                               },
+
+                               // Raw string
+                               getAllResponseHeaders: function() {
+                                       return state === 2 ? responseHeadersString : null;
+                               },
+
+                               // Builds headers hashtable if needed
+                               getResponseHeader: function( key ) {
+                                       var match;
+                                       if ( state === 2 ) {
+                                               if ( !responseHeaders ) {
+                                                       responseHeaders = {};
+                                                       while( ( match = rheaders.exec( responseHeadersString ) ) ) {
+                                                               responseHeaders[ match[1].toLowerCase() ] = match[ 2 ];
+                                                       }
+                                               }
+                                               match = responseHeaders[ key.toLowerCase() ];
+                                       }
+                                       return match === undefined ? null : match;
+                               },
+
+                               // Overrides response content-type header
+                               overrideMimeType: function( type ) {
+                                       if ( !state ) {
+                                               s.mimeType = type;
+                                       }
+                                       return this;
+                               },
+
+                               // Cancel the request
+                               abort: function( statusText ) {
+                                       statusText = statusText || "abort";
+                                       if ( transport ) {
+                                               transport.abort( statusText );
+                                       }
+                                       done( 0, statusText );
+                                       return this;
+                               }
+                       };
+
+               // Callback for when everything is done
+               // It is defined here because jslint complains if it is declared
+               // at the end of the function (which would be more logical and readable)
+               function done( status, nativeStatusText, responses, headers ) {
+
+                       // Called once
+                       if ( state === 2 ) {
+                               return;
+                       }
+
+                       // State is "done" now
+                       state = 2;
+
+                       // Clear timeout if it exists
+                       if ( timeoutTimer ) {
+                               clearTimeout( timeoutTimer );
+                       }
+
+                       // Dereference transport for early garbage collection
+                       // (no matter how long the jqXHR object will be used)
+                       transport = undefined;
+
+                       // Cache response headers
+                       responseHeadersString = headers || "";
+
+                       // Set readyState
+                       jqXHR.readyState = status > 0 ? 4 : 0;
+
+                       var isSuccess,
+                               success,
+                               error,
+                               statusText = nativeStatusText,
+                               response = responses ? ajaxHandleResponses( s, jqXHR, responses ) : undefined,
+                               lastModified,
+                               etag;
+
+                       // If successful, handle type chaining
+                       if ( status >= 200 && status < 300 || status === 304 ) {
+
+                               // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+                               if ( s.ifModified ) {
+
+                                       if ( ( lastModified = jqXHR.getResponseHeader( "Last-Modified" ) ) ) {
+                                               jQuery.lastModified[ ifModifiedKey ] = lastModified;
+                                       }
+                                       if ( ( etag = jqXHR.getResponseHeader( "Etag" ) ) ) {
+                                               jQuery.etag[ ifModifiedKey ] = etag;
+                                       }
+                               }
+
+                               // If not modified
+                               if ( status === 304 ) {
+
+                                       statusText = "notmodified";
+                                       isSuccess = true;
+
+                               // If we have data
+                               } else {
+
+                                       try {
+                                               success = ajaxConvert( s, response );
+                                               statusText = "success";
+                                               isSuccess = true;
+                                       } catch(e) {
+                                               // We have a parsererror
+                                               statusText = "parsererror";
+                                               error = e;
+                                       }
+                               }
+                       } else {
+                               // We extract error from statusText
+                               // then normalize statusText and status for non-aborts
+                               error = statusText;
+                               if( !statusText || status ) {
+                                       statusText = "error";
+                                       if ( status < 0 ) {
+                                               status = 0;
+                                       }
+                               }
+                       }
+
+                       // Set data for the fake xhr object
+                       jqXHR.status = status;
+                       jqXHR.statusText = "" + ( nativeStatusText || statusText );
+
+                       // Success/Error
+                       if ( isSuccess ) {
+                               deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
+                       } else {
+                               deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
+                       }
+
+                       // Status-dependent callbacks
+                       jqXHR.statusCode( statusCode );
+                       statusCode = undefined;
+
+                       if ( fireGlobals ) {
+                               globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ),
+                                               [ jqXHR, s, isSuccess ? success : error ] );
+                       }
+
+                       // Complete
+                       completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
+
+                       if ( fireGlobals ) {
+                               globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
+                               // Handle the global AJAX counter
+                               if ( !( --jQuery.active ) ) {
+                                       jQuery.event.trigger( "ajaxStop" );
+                               }
+                       }
+               }
+
+               // Attach deferreds
+               deferred.promise( jqXHR );
+               jqXHR.success = jqXHR.done;
+               jqXHR.error = jqXHR.fail;
+               jqXHR.complete = completeDeferred.add;
+
+               // Status-dependent callbacks
+               jqXHR.statusCode = function( map ) {
+                       if ( map ) {
+                               var tmp;
+                               if ( state < 2 ) {
+                                       for( tmp in map ) {
+                                               statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ];
+                                       }
+                               } else {
+                                       tmp = map[ jqXHR.status ];
+                                       jqXHR.then( tmp, tmp );
+                               }
+                       }
+                       return this;
+               };
+
+               // Remove hash character (#7531: and string promotion)
+               // Add protocol if not provided (#5866: IE7 issue with protocol-less urls)
+               // We also use the url parameter if available
+               s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
+
+               // Extract dataTypes list
+               s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax );
+
+               // Determine if a cross-domain request is in order
+               if ( s.crossDomain == null ) {
+                       parts = rurl.exec( s.url.toLowerCase() );
+                       s.crossDomain = !!( parts &&
+                               ( parts[ 1 ] != ajaxLocParts[ 1 ] || parts[ 2 ] != ajaxLocParts[ 2 ] ||
+                                       ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) !=
+                                               ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) )
+                       );
+               }
+
+               // Convert data if not already a string
+               if ( s.data && s.processData && typeof s.data !== "string" ) {
+                       s.data = jQuery.param( s.data, s.traditional );
+               }
+
+               // Apply prefilters
+               inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
+
+               // If request was aborted inside a prefiler, stop there
+               if ( state === 2 ) {
+                       return false;
+               }
+
+               // We can fire global events as of now if asked to
+               fireGlobals = s.global;
+
+               // Uppercase the type
+               s.type = s.type.toUpperCase();
+
+               // Determine if request has content
+               s.hasContent = !rnoContent.test( s.type );
+
+               // Watch for a new set of requests
+               if ( fireGlobals && jQuery.active++ === 0 ) {
+                       jQuery.event.trigger( "ajaxStart" );
+               }
+
+               // More options handling for requests with no content
+               if ( !s.hasContent ) {
+
+                       // If data is available, append data to url
+                       if ( s.data ) {
+                               s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data;
+                               // #9682: remove data so that it's not used in an eventual retry
+                               delete s.data;
+                       }
+
+                       // Get ifModifiedKey before adding the anti-cache parameter
+                       ifModifiedKey = s.url;
+
+                       // Add anti-cache in url if needed
+                       if ( s.cache === false ) {
+
+                               var ts = jQuery.now(),
+                                       // try replacing _= if it is there
+                                       ret = s.url.replace( rts, "$1_=" + ts );
+
+                               // if nothing was replaced, add timestamp to the end
+                               s.url = ret + ( (ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" );
+                       }
+               }
+
+               // Set the correct header, if data is being sent
+               if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
+                       jqXHR.setRequestHeader( "Content-Type", s.contentType );
+               }
+
+               // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+               if ( s.ifModified ) {
+                       ifModifiedKey = ifModifiedKey || s.url;
+                       if ( jQuery.lastModified[ ifModifiedKey ] ) {
+                               jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] );
+                       }
+                       if ( jQuery.etag[ ifModifiedKey ] ) {
+                               jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] );
+                       }
+               }
+
+               // Set the Accepts header for the server, depending on the dataType
+               jqXHR.setRequestHeader(
+                       "Accept",
+                       s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?
+                               s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
+                               s.accepts[ "*" ]
+               );
+
+               // Check for headers option
+               for ( i in s.headers ) {
+                       jqXHR.setRequestHeader( i, s.headers[ i ] );
+               }
+
+               // Allow custom headers/mimetypes and early abort
+               if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
+                               // Abort if not done already
+                               jqXHR.abort();
+                               return false;
+
+               }
+
+               // Install callbacks on deferreds
+               for ( i in { success: 1, error: 1, complete: 1 } ) {
+                       jqXHR[ i ]( s[ i ] );
+               }
+
+               // Get transport
+               transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+               // If no transport, we auto-abort
+               if ( !transport ) {
+                       done( -1, "No Transport" );
+               } else {
+                       jqXHR.readyState = 1;
+                       // Send global event
+                       if ( fireGlobals ) {
+                               globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
+                       }
+                       // Timeout
+                       if ( s.async && s.timeout > 0 ) {
+                               timeoutTimer = setTimeout( function(){
+                                       jqXHR.abort( "timeout" );
+                               }, s.timeout );
+                       }
+
+                       try {
+                               state = 1;
+                               transport.send( requestHeaders, done );
+                       } catch (e) {
+                               // Propagate exception as error if not done
+                               if ( state < 2 ) {
+                                       done( -1, e );
+                               // Simply rethrow otherwise
+                               } else {
+                                       jQuery.error( e );
+                               }
+                       }
+               }
+
+               return jqXHR;
+       },
+
+       // Serialize an array of form elements or a set of
+       // key/values into a query string
+       param: function( a, traditional ) {
+               var s = [],
+                       add = function( key, value ) {
+                               // If value is a function, invoke it and return its value
+                               value = jQuery.isFunction( value ) ? value() : value;
+                               s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
+                       };
+
+               // Set traditional to true for jQuery <= 1.3.2 behavior.
+               if ( traditional === undefined ) {
+                       traditional = jQuery.ajaxSettings.traditional;
+               }
+
+               // If an array was passed in, assume that it is an array of form elements.
+               if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+                       // Serialize the form elements
+                       jQuery.each( a, function() {
+                               add( this.name, this.value );
+                       });
+
+               } else {
+                       // If traditional, encode the "old" way (the way 1.3.2 or older
+                       // did it), otherwise encode params recursively.
+                       for ( var prefix in a ) {
+                               buildParams( prefix, a[ prefix ], traditional, add );
+                       }
+               }
+
+               // Return the resulting serialization
+               return s.join( "&" ).replace( r20, "+" );
+       }
+});
+
+function buildParams( prefix, obj, traditional, add ) {
+       if ( jQuery.isArray( obj ) ) {
+               // Serialize array item.
+               jQuery.each( obj, function( i, v ) {
+                       if ( traditional || rbracket.test( prefix ) ) {
+                               // Treat each array item as a scalar.
+                               add( prefix, v );
+
+                       } else {
+                               // If array item is non-scalar (array or object), encode its
+                               // numeric index to resolve deserialization ambiguity issues.
+                               // Note that rack (as of 1.0.0) can't currently deserialize
+                               // nested arrays properly, and attempting to do so may cause
+                               // a server error. Possible fixes are to modify rack's
+                               // deserialization algorithm or to provide an option or flag
+                               // to force array serialization to be shallow.
+                               buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v, traditional, add );
+                       }
+               });
+
+       } else if ( !traditional && obj != null && typeof obj === "object" ) {
+               // Serialize object item.
+               for ( var name in obj ) {
+                       buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+               }
+
+       } else {
+               // Serialize scalar item.
+               add( prefix, obj );
+       }
+}
+
+// This is still on the jQuery object... for now
+// Want to move this to jQuery.ajax some day
+jQuery.extend({
+
+       // Counter for holding the number of active queries
+       active: 0,
+
+       // Last-Modified header cache for next request
+       lastModified: {},
+       etag: {}
+
+});
+
+/* Handles responses to an ajax request:
+ * - sets all responseXXX fields accordingly
+ * - finds the right dataType (mediates between content-type and expected dataType)
+ * - returns the corresponding response
+ */
+function ajaxHandleResponses( s, jqXHR, responses ) {
+
+       var contents = s.contents,
+               dataTypes = s.dataTypes,
+               responseFields = s.responseFields,
+               ct,
+               type,
+               finalDataType,
+               firstDataType;
+
+       // Fill responseXXX fields
+       for( type in responseFields ) {
+               if ( type in responses ) {
+                       jqXHR[ responseFields[type] ] = responses[ type ];
+               }
+       }
+
+       // Remove auto dataType and get content-type in the process
+       while( dataTypes[ 0 ] === "*" ) {
+               dataTypes.shift();
+               if ( ct === undefined ) {
+                       ct = s.mimeType || jqXHR.getResponseHeader( "content-type" );
+               }
+       }
+
+       // Check if we're dealing with a known content-type
+       if ( ct ) {
+               for ( type in contents ) {
+                       if ( contents[ type ] && contents[ type ].test( ct ) ) {
+                               dataTypes.unshift( type );
+                               break;
+                       }
+               }
+       }
+
+       // Check to see if we have a response for the expected dataType
+       if ( dataTypes[ 0 ] in responses ) {
+               finalDataType = dataTypes[ 0 ];
+       } else {
+               // Try convertible dataTypes
+               for ( type in responses ) {
+                       if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) {
+                               finalDataType = type;
+                               break;
+                       }
+                       if ( !firstDataType ) {
+                               firstDataType = type;
+                       }
+               }
+               // Or just use first one
+               finalDataType = finalDataType || firstDataType;
+       }
+
+       // If we found a dataType
+       // We add the dataType to the list if needed
+       // and return the corresponding response
+       if ( finalDataType ) {
+               if ( finalDataType !== dataTypes[ 0 ] ) {
+                       dataTypes.unshift( finalDataType );
+               }
+               return responses[ finalDataType ];
+       }
+}
+
+// Chain conversions given the request and the original response
+function ajaxConvert( s, response ) {
+
+       // Apply the dataFilter if provided
+       if ( s.dataFilter ) {
+               response = s.dataFilter( response, s.dataType );
+       }
+
+       var dataTypes = s.dataTypes,
+               converters = {},
+               i,
+               key,
+               length = dataTypes.length,
+               tmp,
+               // Current and previous dataTypes
+               current = dataTypes[ 0 ],
+               prev,
+               // Conversion expression
+               conversion,
+               // Conversion function
+               conv,
+               // Conversion functions (transitive conversion)
+               conv1,
+               conv2;
+
+       // For each dataType in the chain
+       for( i = 1; i < length; i++ ) {
+
+               // Create converters map
+               // with lowercased keys
+               if ( i === 1 ) {
+                       for( key in s.converters ) {
+                               if( typeof key === "string" ) {
+                                       converters[ key.toLowerCase() ] = s.converters[ key ];
+                               }
+                       }
+               }
+
+               // Get the dataTypes
+               prev = current;
+               current = dataTypes[ i ];
+
+               // If current is auto dataType, update it to prev
+               if( current === "*" ) {
+                       current = prev;
+               // If no auto and dataTypes are actually different
+               } else if ( prev !== "*" && prev !== current ) {
+
+                       // Get the converter
+                       conversion = prev + " " + current;
+                       conv = converters[ conversion ] || converters[ "* " + current ];
+
+                       // If there is no direct converter, search transitively
+                       if ( !conv ) {
+                               conv2 = undefined;
+                               for( conv1 in converters ) {
+                                       tmp = conv1.split( " " );
+                                       if ( tmp[ 0 ] === prev || tmp[ 0 ] === "*" ) {
+                                               conv2 = converters[ tmp[1] + " " + current ];
+                                               if ( conv2 ) {
+                                                       conv1 = converters[ conv1 ];
+                                                       if ( conv1 === true ) {
+                                                               conv = conv2;
+                                                       } else if ( conv2 === true ) {
+                                                               conv = conv1;
+                                                       }
+                                                       break;
+                                               }
+                                       }
+                               }
+                       }
+                       // If we found no converter, dispatch an error
+                       if ( !( conv || conv2 ) ) {
+                               jQuery.error( "No conversion from " + conversion.replace(" "," to ") );
+                       }
+                       // If found converter is not an equivalence
+                       if ( conv !== true ) {
+                               // Convert with 1 or 2 converters accordingly
+                               response = conv ? conv( response ) : conv2( conv1(response) );
+                       }
+               }
+       }
+       return response;
+}
+
+
+
+
+var jsc = jQuery.now(),
+       jsre = /(\=)\?(&|$)|\?\?/i;
+
+// Default jsonp settings
+jQuery.ajaxSetup({
+       jsonp: "callback",
+       jsonpCallback: function() {
+               return jQuery.expando + "_" + ( jsc++ );
+       }
+});
+
+// Detect, normalize options and install callbacks for jsonp requests
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
+
+       var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
+               ( typeof s.data === "string" );
+
+       if ( s.dataTypes[ 0 ] === "jsonp" ||
+               s.jsonp !== false && ( jsre.test( s.url ) ||
+                               inspectData && jsre.test( s.data ) ) ) {
+
+               var responseContainer,
+                       jsonpCallback = s.jsonpCallback =
+                               jQuery.isFunction( s.jsonpCallback ) ? s.jsonpCallback() : s.jsonpCallback,
+                       previous = window[ jsonpCallback ],
+                       url = s.url,
+                       data = s.data,
+                       replace = "$1" + jsonpCallback + "$2";
+
+               if ( s.jsonp !== false ) {
+                       url = url.replace( jsre, replace );
+                       if ( s.url === url ) {
+                               if ( inspectData ) {
+                                       data = data.replace( jsre, replace );
+                               }
+                               if ( s.data === data ) {
+                                       // Add callback manually
+                                       url += (/\?/.test( url ) ? "&" : "?") + s.jsonp + "=" + jsonpCallback;
+                               }
+                       }
+               }
+
+               s.url = url;
+               s.data = data;
+
+               // Install callback
+               window[ jsonpCallback ] = function( response ) {
+                       responseContainer = [ response ];
+               };
+
+               // Clean-up function
+               jqXHR.always(function() {
+                       // Set callback back to previous value
+                       window[ jsonpCallback ] = previous;
+                       // Call if it was a function and we have a response
+                       if ( responseContainer && jQuery.isFunction( previous ) ) {
+                               window[ jsonpCallback ]( responseContainer[ 0 ] );
+                       }
+               });
+
+               // Use data converter to retrieve json after script execution
+               s.converters["script json"] = function() {
+                       if ( !responseContainer ) {
+                               jQuery.error( jsonpCallback + " was not called" );
+                       }
+                       return responseContainer[ 0 ];
+               };
+
+               // force json dataType
+               s.dataTypes[ 0 ] = "json";
+
+               // Delegate to script
+               return "script";
+       }
+});
+
+
+
+
+// Install script dataType
+jQuery.ajaxSetup({
+       accepts: {
+               script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
+       },
+       contents: {
+               script: /javascript|ecmascript/
+       },
+       converters: {
+               "text script": function( text ) {
+                       jQuery.globalEval( text );
+                       return text;
+               }
+       }
+});
+
+// Handle cache's special case and global
+jQuery.ajaxPrefilter( "script", function( s ) {
+       if ( s.cache === undefined ) {
+               s.cache = false;
+       }
+       if ( s.crossDomain ) {
+               s.type = "GET";
+               s.global = false;
+       }
+});
+
+// Bind script tag hack transport
+jQuery.ajaxTransport( "script", function(s) {
+
+       // This transport only deals with cross domain requests
+       if ( s.crossDomain ) {
+
+               var script,
+                       head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement;
+
+               return {
+
+                       send: function( _, callback ) {
+
+                               script = document.createElement( "script" );
+
+                               script.async = "async";
+
+                               if ( s.scriptCharset ) {
+                                       script.charset = s.scriptCharset;
+                               }
+
+                               script.src = s.url;
+
+                               // Attach handlers for all browsers
+                               script.onload = script.onreadystatechange = function( _, isAbort ) {
+
+                                       if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {
+
+                                               // Handle memory leak in IE
+                                               script.onload = script.onreadystatechange = null;
+
+                                               // Remove the script
+                                               if ( head && script.parentNode ) {
+                                                       head.removeChild( script );
+                                               }
+
+                                               // Dereference the script
+                                               script = undefined;
+
+                                               // Callback if not abort
+                                               if ( !isAbort ) {
+                                                       callback( 200, "success" );
+                                               }
+                                       }
+                               };
+                               // Use insertBefore instead of appendChild  to circumvent an IE6 bug.
+                               // This arises when a base node is used (#2709 and #4378).
+                               head.insertBefore( script, head.firstChild );
+                       },
+
+                       abort: function() {
+                               if ( script ) {
+                                       script.onload( 0, 1 );
+                               }
+                       }
+               };
+       }
+});
+
+
+
+
+var // #5280: Internet Explorer will keep connections alive if we don't abort on unload
+       xhrOnUnloadAbort = window.ActiveXObject ? function() {
+               // Abort all pending requests
+               for ( var key in xhrCallbacks ) {
+                       xhrCallbacks[ key ]( 0, 1 );
+               }
+       } : false,
+       xhrId = 0,
+       xhrCallbacks;
+
+// Functions to create xhrs
+function createStandardXHR() {
+       try {
+               return new window.XMLHttpRequest();
+       } catch( e ) {}
+}
+
+function createActiveXHR() {
+       try {
+               return new window.ActiveXObject( "Microsoft.XMLHTTP" );
+       } catch( e ) {}
+}
+
+// Create the request object
+// (This is still attached to ajaxSettings for backward compatibility)
+jQuery.ajaxSettings.xhr = window.ActiveXObject ?
+       /* Microsoft failed to properly
+        * implement the XMLHttpRequest in IE7 (can't request local files),
+        * so we use the ActiveXObject when it is available
+        * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
+        * we need a fallback.
+        */
+       function() {
+               return !this.isLocal && createStandardXHR() || createActiveXHR();
+       } :
+       // For all other browsers, use the standard XMLHttpRequest object
+       createStandardXHR;
+
+// Determine support properties
+(function( xhr ) {
+       jQuery.extend( jQuery.support, {
+               ajax: !!xhr,
+               cors: !!xhr && ( "withCredentials" in xhr )
+       });
+})( jQuery.ajaxSettings.xhr() );
+
+// Create transport if the browser can provide an xhr
+if ( jQuery.support.ajax ) {
+
+       jQuery.ajaxTransport(function( s ) {
+               // Cross domain only allowed if supported through XMLHttpRequest
+               if ( !s.crossDomain || jQuery.support.cors ) {
+
+                       var callback;
+
+                       return {
+                               send: function( headers, complete ) {
+
+                                       // Get a new xhr
+                                       var xhr = s.xhr(),
+                                               handle,
+                                               i;
+
+                                       // Open the socket
+                                       // Passing null username, generates a login popup on Opera (#2865)
+                                       if ( s.username ) {
+                                               xhr.open( s.type, s.url, s.async, s.username, s.password );
+                                       } else {
+                                               xhr.open( s.type, s.url, s.async );
+                                       }
+
+                                       // Apply custom fields if provided
+                                       if ( s.xhrFields ) {
+                                               for ( i in s.xhrFields ) {
+                                                       xhr[ i ] = s.xhrFields[ i ];
+                                               }
+                                       }
+
+                                       // Override mime type if needed
+                                       if ( s.mimeType && xhr.overrideMimeType ) {
+                                               xhr.overrideMimeType( s.mimeType );
+                                       }
+
+                                       // X-Requested-With header
+                                       // For cross-domain requests, seeing as conditions for a preflight are
+                                       // akin to a jigsaw puzzle, we simply never set it to be sure.
+                                       // (it can always be set on a per-request basis or even using ajaxSetup)
+                                       // For same-domain requests, won't change header if already provided.
+                                       if ( !s.crossDomain && !headers["X-Requested-With"] ) {
+                                               headers[ "X-Requested-With" ] = "XMLHttpRequest";
+                                       }
+
+                                       // Need an extra try/catch for cross domain requests in Firefox 3
+                                       try {
+                                               for ( i in headers ) {
+                                                       xhr.setRequestHeader( i, headers[ i ] );
+                                               }
+                                       } catch( _ ) {}
+
+                                       // Do send the request
+                                       // This may raise an exception which is actually
+                                       // handled in jQuery.ajax (so no try/catch here)
+                                       xhr.send( ( s.hasContent && s.data ) || null );
+
+                                       // Listener
+                                       callback = function( _, isAbort ) {
+
+                                               var status,
+                                                       statusText,
+                                                       responseHeaders,
+                                                       responses,
+                                                       xml;
+
+                                               // Firefox throws exceptions when accessing properties
+                                               // of an xhr when a network error occured
+                                               // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
+                                               try {
+
+                                                       // Was never called and is aborted or complete
+                                                       if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
+
+                                                               // Only called once
+                                                               callback = undefined;
+
+                                                               // Do not keep as active anymore
+                                                               if ( handle ) {
+                                                                       xhr.onreadystatechange = jQuery.noop;
+                                                                       if ( xhrOnUnloadAbort ) {
+                                                                               delete xhrCallbacks[ handle ];
+                                                                       }
+                                                               }
+
+                                                               // If it's an abort
+                                                               if ( isAbort ) {
+                                                                       // Abort it manually if needed
+                                                                       if ( xhr.readyState !== 4 ) {
+                                                                               xhr.abort();
+                                                                       }
+                                                               } else {
+                                                                       status = xhr.status;
+                                                                       responseHeaders = xhr.getAllResponseHeaders();
+                                                                       responses = {};
+                                                                       xml = xhr.responseXML;
+
+                                                                       // Construct response list
+                                                                       if ( xml && xml.documentElement /* #4958 */ ) {
+                                                                               responses.xml = xml;
+                                                                       }
+                                                                       responses.text = xhr.responseText;
+
+                                                                       // Firefox throws an exception when accessing
+                                                                       // statusText for faulty cross-domain requests
+                                                                       try {
+                                                                               statusText = xhr.statusText;
+                                                                       } catch( e ) {
+                                                                               // We normalize with Webkit giving an empty statusText
+                                                                               statusText = "";
+                                                                       }
+
+                                                                       // Filter status for non standard behaviors
+
+                                                                       // If the request is local and we have data: assume a success
+                                                                       // (success with no data won't get notified, that's the best we
+                                                                       // can do given current implementations)
+                                                                       if ( !status && s.isLocal && !s.crossDomain ) {
+                                                                               status = responses.text ? 200 : 404;
+                                                                       // IE - #1450: sometimes returns 1223 when it should be 204
+                                                                       } else if ( status === 1223 ) {
+                                                                               status = 204;
+                                                                       }
+                                                               }
+                                                       }
+                                               } catch( firefoxAccessException ) {
+                                                       if ( !isAbort ) {
+                                                               complete( -1, firefoxAccessException );
+                                                       }
+                                               }
+
+                                               // Call complete if needed
+                                               if ( responses ) {
+                                                       complete( status, statusText, responses, responseHeaders );
+                                               }
+                                       };
+
+                                       // if we're in sync mode or it's in cache
+                                       // and has been retrieved directly (IE6 & IE7)
+                                       // we need to manually fire the callback
+                                       if ( !s.async || xhr.readyState === 4 ) {
+                                               callback();
+                                       } else {
+                                               handle = ++xhrId;
+                                               if ( xhrOnUnloadAbort ) {
+                                                       // Create the active xhrs callbacks list if needed
+                                                       // and attach the unload handler
+                                                       if ( !xhrCallbacks ) {
+                                                               xhrCallbacks = {};
+                                                               jQuery( window ).unload( xhrOnUnloadAbort );
+                                                       }
+                                                       // Add to list of active xhrs callbacks
+                                                       xhrCallbacks[ handle ] = callback;
+                                               }
+                                               xhr.onreadystatechange = callback;
+                                       }
+                               },
+
+                               abort: function() {
+                                       if ( callback ) {
+                                               callback(0,1);
+                                       }
+                               }
+                       };
+               }
+       });
+}
+
+
+
+
+var elemdisplay = {},
+       iframe, iframeDoc,
+       rfxtypes = /^(?:toggle|show|hide)$/,
+       rfxnum = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,
+       timerId,
+       fxAttrs = [
+               // height animations
+               [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ],
+               // width animations
+               [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ],
+               // opacity animations
+               [ "opacity" ]
+       ],
+       fxNow;
+
+jQuery.fn.extend({
+       show: function( speed, easing, callback ) {
+               var elem, display;
+
+               if ( speed || speed === 0 ) {
+                       return this.animate( genFx("show", 3), speed, easing, callback);
+
+               } else {
+                       for ( var i = 0, j = this.length; i < j; i++ ) {
+                               elem = this[i];
+
+                               if ( elem.style ) {
+                                       display = elem.style.display;
+
+                                       // Reset the inline display of this element to learn if it is
+                                       // being hidden by cascaded rules or not
+                                       if ( !jQuery._data(elem, "olddisplay") && display === "none" ) {
+                                               display = elem.style.display = "";
+                                       }
+
+                                       // Set elements which have been overridden with display: none
+                                       // in a stylesheet to whatever the default browser style is
+                                       // for such an element
+                                       if ( display === "none" || ( display === ""  && jQuery.css( elem, "display" ) === "none" ) ) {
+                                               jQuery._data(elem, "olddisplay", defaultDisplay(elem.nodeName));
+                                       }
+                               }
+                       }
+
+                       // Set the display of most of the elements in a second loop
+                       // to avoid the constant reflow
+                       for ( i = 0; i < j; i++ ) {
+                               elem = this[i];
+
+                               if ( elem.style ) {
+                                       display = elem.style.display;
+
+                                       if ( display === "" || display === "none" ) {
+                                               elem.style.display = jQuery._data(elem, "olddisplay") || "";
+                                       }
+                               }
+                       }
+
+                       return this;
+               }
+       },
+
+       hide: function( speed, easing, callback ) {
+               if ( speed || speed === 0 ) {
+                       return this.animate( genFx("hide", 3), speed, easing, callback);
+
+               } else {
+                       for ( var i = 0, j = this.length; i < j; i++ ) {
+                               if ( this[i].style ) {
+                                       var display = jQuery.css( this[i], "display" );
+
+                                       if ( display !== "none" && !jQuery._data( this[i], "olddisplay" ) ) {
+                                               jQuery._data( this[i], "olddisplay", display );
+                                       }
+                               }
+                       }
+
+                       // Set the display of the elements in a second loop
+                       // to avoid the constant reflow
+                       for ( i = 0; i < j; i++ ) {
+                               if ( this[i].style ) {
+                                       this[i].style.display = "none";
+                               }
+                       }
+
+                       return this;
+               }
+       },
+
+       // Save the old toggle function
+       _toggle: jQuery.fn.toggle,
+
+       toggle: function( fn, fn2, callback ) {
+               var bool = typeof fn === "boolean";
+
+               if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {
+                       this._toggle.apply( this, arguments );
+
+               } else if ( fn == null || bool ) {
+                       this.each(function() {
+                               var state = bool ? fn : jQuery(this).is(":hidden");
+                               jQuery(this)[ state ? "show" : "hide" ]();
+                       });
+
+               } else {
+                       this.animate(genFx("toggle", 3), fn, fn2, callback);
+               }
+
+               return this;
+       },
+
+       fadeTo: function( speed, to, easing, callback ) {
+               return this.filter(":hidden").css("opacity", 0).show().end()
+                                       .animate({opacity: to}, speed, easing, callback);
+       },
+
+       animate: function( prop, speed, easing, callback ) {
+               var optall = jQuery.speed( speed, easing, callback );
+
+               if ( jQuery.isEmptyObject( prop ) ) {
+                       return this.each( optall.complete, [ false ] );
+               }
+
+               // Do not change referenced properties as per-property easing will be lost
+               prop = jQuery.extend( {}, prop );
+
+               function doAnimation() {
+                       // XXX 'this' does not always have a nodeName when running the
+                       // test suite
+
+                       if ( optall.queue === false ) {
+                               jQuery._mark( this );
+                       }
+
+                       var opt = jQuery.extend( {}, optall ),
+                               isElement = this.nodeType === 1,
+                               hidden = isElement && jQuery(this).is(":hidden"),
+                               name, val, p, e,
+                               parts, start, end, unit,
+                               method;
+
+                       // will store per property easing and be used to determine when an animation is complete
+                       opt.animatedProperties = {};
+
+                       for ( p in prop ) {
+
+                               // property name normalization
+                               name = jQuery.camelCase( p );
+                               if ( p !== name ) {
+                                       prop[ name ] = prop[ p ];
+                                       delete prop[ p ];
+                               }
+
+                               val = prop[ name ];
+
+                               // easing resolution: per property > opt.specialEasing > opt.easing > 'swing' (default)
+                               if ( jQuery.isArray( val ) ) {
+                                       opt.animatedProperties[ name ] = val[ 1 ];
+                                       val = prop[ name ] = val[ 0 ];
+                               } else {
+                                       opt.animatedProperties[ name ] = opt.specialEasing && opt.specialEasing[ name ] || opt.easing || 'swing';
+                               }
+
+                               if ( val === "hide" && hidden || val === "show" && !hidden ) {
+                                       return opt.complete.call( this );
+                               }
+
+                               if ( isElement && ( name === "height" || name === "width" ) ) {
+                                       // Make sure that nothing sneaks out
+                                       // Record all 3 overflow attributes because IE does not
+                                       // change the overflow attribute when overflowX and
+                                       // overflowY are set to the same value
+                                       opt.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ];
+
+                                       // Set display property to inline-block for height/width
+                                       // animations on inline elements that are having width/height animated
+                                       if ( jQuery.css( this, "display" ) === "inline" &&
+                                                       jQuery.css( this, "float" ) === "none" ) {
+
+                                               // inline-level elements accept inline-block;
+                                               // block-level elements need to be inline with layout
+                                               if ( !jQuery.support.inlineBlockNeedsLayout || defaultDisplay( this.nodeName ) === "inline" ) {
+                                                       this.style.display = "inline-block";
+
+                                               } else {
+                                                       this.style.zoom = 1;
+                                               }
+                                       }
+                               }
+                       }
+
+                       if ( opt.overflow != null ) {
+                               this.style.overflow = "hidden";
+                       }
+
+                       for ( p in prop ) {
+                               e = new jQuery.fx( this, opt, p );
+                               val = prop[ p ];
+
+                               if ( rfxtypes.test( val ) ) {
+
+                                       // Tracks whether to show or hide based on private
+                                       // data attached to the element
+                                       method = jQuery._data( this, "toggle" + p ) || (val === "toggle" ? hidden ? "show" : "hide" : 0);
+                                       if ( method ) {
+                                               jQuery._data( this, "toggle" + p, method === "show" ? "hide" : "show" );
+                                               e[ method ]();
+                                       } else {
+                                               e[ val ]();
+                                       }
+
+                               } else {
+                                       parts = rfxnum.exec( val );
+                                       start = e.cur();
+
+                                       if ( parts ) {
+                                               end = parseFloat( parts[2] );
+                                               unit = parts[3] || ( jQuery.cssNumber[ p ] ? "" : "px" );
+
+                                               // We need to compute starting value
+                                               if ( unit !== "px" ) {
+                                                       jQuery.style( this, p, (end || 1) + unit);
+                                                       start = ((end || 1) / e.cur()) * start;
+                                                       jQuery.style( this, p, start + unit);
+                                               }
+
+                                               // If a +=/-= token was provided, we're doing a relative animation
+                                               if ( parts[1] ) {
+                                                       end = ( (parts[ 1 ] === "-=" ? -1 : 1) * end ) + start;
+                                               }
+
+                                               e.custom( start, end, unit );
+
+                                       } else {
+                                               e.custom( start, val, "" );
+                                       }
+                               }
+                       }
+
+                       // For JS strict compliance
+                       return true;
+               }
+
+               return optall.queue === false ?
+                       this.each( doAnimation ) :
+                       this.queue( optall.queue, doAnimation );
+       },
+
+       stop: function( type, clearQueue, gotoEnd ) {
+               if ( typeof type !== "string" ) {
+                       gotoEnd = clearQueue;
+                       clearQueue = type;
+                       type = undefined;
+               }
+               if ( clearQueue && type !== false ) {
+                       this.queue( type || "fx", [] );
+               }
+
+               return this.each(function() {
+                       var i,
+                               hadTimers = false,
+                               timers = jQuery.timers,
+                               data = jQuery._data( this );
+
+                       // clear marker counters if we know they won't be
+                       if ( !gotoEnd ) {
+                               jQuery._unmark( true, this );
+                       }
+
+                       function stopQueue( elem, data, i ) {
+                               var runner = data[ i ];
+                               jQuery.removeData( elem, i, true );
+                               runner.stop( gotoEnd );
+                       }
+
+                       if ( type == null ) {
+                               for ( i in data ) {
+                                       if ( data[ i ].stop && i.indexOf(".run") === i.length - 4 ) {
+                                               stopQueue( this, data, i );
+                                       }
+                               }
+                       } else if ( data[ i = type + ".run" ] && data[ i ].stop ){
+                               stopQueue( this, data, i );
+                       }
+
+                       for ( i = timers.length; i--; ) {
+                               if ( timers[ i ].elem === this && (type == null || timers[ i ].queue === type) ) {
+                                       if ( gotoEnd ) {
+
+                                               // force the next step to be the last
+                                               timers[ i ]( true );
+                                       } else {
+                                               timers[ i ].saveState();
+                                       }
+                                       hadTimers = true;
+                                       timers.splice( i, 1 );
+                               }
+                       }
+
+                       // start the next in the queue if the last step wasn't forced
+                       // timers currently will call their complete callbacks, which will dequeue
+                       // but only if they were gotoEnd
+                       if ( !( gotoEnd && hadTimers ) ) {
+                               jQuery.dequeue( this, type );
+                       }
+               });
+       }
+
+});
+
+// Animations created synchronously will run synchronously
+function createFxNow() {
+       setTimeout( clearFxNow, 0 );
+       return ( fxNow = jQuery.now() );
+}
+
+function clearFxNow() {
+       fxNow = undefined;
+}
+
+// Generate parameters to create a standard animation
+function genFx( type, num ) {
+       var obj = {};
+
+       jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice( 0, num )), function() {
+               obj[ this ] = type;
+       });
+
+       return obj;
+}
+
+// Generate shortcuts for custom animations
+jQuery.each({
+       slideDown: genFx( "show", 1 ),
+       slideUp: genFx( "hide", 1 ),
+       slideToggle: genFx( "toggle", 1 ),
+       fadeIn: { opacity: "show" },
+       fadeOut: { opacity: "hide" },
+       fadeToggle: { opacity: "toggle" }
+}, function( name, props ) {
+       jQuery.fn[ name ] = function( speed, easing, callback ) {
+               return this.animate( props, speed, easing, callback );
+       };
+});
+
+jQuery.extend({
+       speed: function( speed, easing, fn ) {
+               var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
+                       complete: fn || !fn && easing ||
+                               jQuery.isFunction( speed ) && speed,
+                       duration: speed,
+                       easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
+               };
+
+               opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
+                       opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
+
+               // normalize opt.queue - true/undefined/null -> "fx"
+               if ( opt.queue == null || opt.queue === true ) {
+                       opt.queue = "fx";
+               }
+
+               // Queueing
+               opt.old = opt.complete;
+
+               opt.complete = function( noUnmark ) {
+                       if ( jQuery.isFunction( opt.old ) ) {
+                               opt.old.call( this );
+                       }
+
+                       if ( opt.queue ) {
+                               jQuery.dequeue( this, opt.queue );
+                       } else if ( noUnmark !== false ) {
+                               jQuery._unmark( this );
+                       }
+               };
+
+               return opt;
+       },
+
+       easing: {
+               linear: function( p, n, firstNum, diff ) {
+                       return firstNum + diff * p;
+               },
+               swing: function( p, n, firstNum, diff ) {
+                       return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;
+               }
+       },
+
+       timers: [],
+
+       fx: function( elem, options, prop ) {
+               this.options = options;
+               this.elem = elem;
+               this.prop = prop;
+
+               options.orig = options.orig || {};
+       }
+
+});
+
+jQuery.fx.prototype = {
+       // Simple function for setting a style value
+       update: function() {
+               if ( this.options.step ) {
+                       this.options.step.call( this.elem, this.now, this );
+               }
+
+               (jQuery.fx.step[ this.prop ] || jQuery.fx.step._default)( this );
+       },
+
+       // Get the current size
+       cur: function() {
+               if ( this.elem[ this.prop ] != null && (!this.elem.style || this.elem.style[ this.prop ] == null) ) {
+                       return this.elem[ this.prop ];
+               }
+
+               var parsed,
+                       r = jQuery.css( this.elem, this.prop );
+               // Empty strings, null, undefined and "auto" are converted to 0,
+               // complex values such as "rotate(1rad)" are returned as is,
+               // simple values such as "10px" are parsed to Float.
+               return isNaN( parsed = parseFloat( r ) ) ? !r || r === "auto" ? 0 : r : parsed;
+       },
+
+       // Start an animation from one number to another
+       custom: function( from, to, unit ) {
+               var self = this,
+                       fx = jQuery.fx;
+
+               this.startTime = fxNow || createFxNow();
+               this.end = to;
+               this.now = this.start = from;
+               this.pos = this.state = 0;
+               this.unit = unit || this.unit || ( jQuery.cssNumber[ this.prop ] ? "" : "px" );
+
+               function t( gotoEnd ) {
+                       return self.step( gotoEnd );
+               }
+
+               t.queue = this.options.queue;
+               t.elem = this.elem;
+               t.saveState = function() {
+                       if ( self.options.hide && jQuery._data( self.elem, "fxshow" + self.prop ) === undefined ) {
+                               jQuery._data( self.elem, "fxshow" + self.prop, self.start );
+                       }
+               };
+
+               if ( t() && jQuery.timers.push(t) && !timerId ) {
+                       timerId = setInterval( fx.tick, fx.interval );
+               }
+       },
+
+       // Simple 'show' function
+       show: function() {
+               var dataShow = jQuery._data( this.elem, "fxshow" + this.prop );
+
+               // Remember where we started, so that we can go back to it later
+               this.options.orig[ this.prop ] = dataShow || jQuery.style( this.elem, this.prop );
+               this.options.show = true;
+
+               // Begin the animation
+               // Make sure that we start at a small width/height to avoid any flash of content
+               if ( dataShow !== undefined ) {
+                       // This show is picking up where a previous hide or show left off
+                       this.custom( this.cur(), dataShow );
+               } else {
+                       this.custom( this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur() );
+               }
+
+               // Start by showing the element
+               jQuery( this.elem ).show();
+       },
+
+       // Simple 'hide' function
+       hide: function() {
+               // Remember where we started, so that we can go back to it later
+               this.options.orig[ this.prop ] = jQuery._data( this.elem, "fxshow" + this.prop ) || jQuery.style( this.elem, this.prop );
+               this.options.hide = true;
+
+               // Begin the animation
+               this.custom( this.cur(), 0 );
+       },
+
+       // Each step of an animation
+       step: function( gotoEnd ) {
+               var p, n, complete,
+                       t = fxNow || createFxNow(),
+                       done = true,
+                       elem = this.elem,
+                       options = this.options;
+
+               if ( gotoEnd || t >= options.duration + this.startTime ) {
+                       this.now = this.end;
+                       this.pos = this.state = 1;
+                       this.update();
+
+                       options.animatedProperties[ this.prop ] = true;
+
+                       for ( p in options.animatedProperties ) {
+                               if ( options.animatedProperties[ p ] !== true ) {
+                                       done = false;
+                               }
+                       }
+
+                       if ( done ) {
+                               // Reset the overflow
+                               if ( options.overflow != null && !jQuery.support.shrinkWrapBlocks ) {
+
+                                       jQuery.each( [ "", "X", "Y" ], function( index, value ) {
+                                               elem.style[ "overflow" + value ] = options.overflow[ index ];
+                                       });
+                               }
+
+                               // Hide the element if the "hide" operation was done
+                               if ( options.hide ) {
+                                       jQuery( elem ).hide();
+                               }
+
+                               // Reset the properties, if the item has been hidden or shown
+                               if ( options.hide || options.show ) {
+                                       for ( p in options.animatedProperties ) {
+                                               jQuery.style( elem, p, options.orig[ p ] );
+                                               jQuery.removeData( elem, "fxshow" + p, true );
+                                               // Toggle data is no longer needed
+                                               jQuery.removeData( elem, "toggle" + p, true );
+                                       }
+                               }
+
+                               // Execute the complete function
+                               // in the event that the complete function throws an exception
+                               // we must ensure it won't be called twice. #5684
+
+                               complete = options.complete;
+                               if ( complete ) {
+
+                                       options.complete = false;
+                                       complete.call( elem );
+                               }
+                       }
+
+                       return false;
+
+               } else {
+                       // classical easing cannot be used with an Infinity duration
+                       if ( options.duration == Infinity ) {
+                               this.now = t;
+                       } else {
+                               n = t - this.startTime;
+                               this.state = n / options.duration;
+
+                               // Perform the easing function, defaults to swing
+                               this.pos = jQuery.easing[ options.animatedProperties[this.prop] ]( this.state, n, 0, 1, options.duration );
+                               this.now = this.start + ( (this.end - this.start) * this.pos );
+                       }
+                       // Perform the next step of the animation
+                       this.update();
+               }
+
+               return true;
+       }
+};
+
+jQuery.extend( jQuery.fx, {
+       tick: function() {
+               var timer,
+                       timers = jQuery.timers,
+                       i = 0;
+
+               for ( ; i < timers.length; i++ ) {
+                       timer = timers[ i ];
+                       // Checks the timer has not already been removed
+                       if ( !timer() && timers[ i ] === timer ) {
+                               timers.splice( i--, 1 );
+                       }
+               }
+
+               if ( !timers.length ) {
+                       jQuery.fx.stop();
+               }
+       },
+
+       interval: 13,
+
+       stop: function() {
+               clearInterval( timerId );
+               timerId = null;
+       },
+
+       speeds: {
+               slow: 600,
+               fast: 200,
+               // Default speed
+               _default: 400
+       },
+
+       step: {
+               opacity: function( fx ) {
+                       jQuery.style( fx.elem, "opacity", fx.now );
+               },
+
+               _default: function( fx ) {
+                       if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) {
+                               fx.elem.style[ fx.prop ] = fx.now + fx.unit;
+                       } else {
+                               fx.elem[ fx.prop ] = fx.now;
+                       }
+               }
+       }
+});
+
+// Adds width/height step functions
+// Do not set anything below 0
+jQuery.each([ "width", "height" ], function( i, prop ) {
+       jQuery.fx.step[ prop ] = function( fx ) {
+               jQuery.style( fx.elem, prop, Math.max(0, fx.now) );
+       };
+});
+
+if ( jQuery.expr && jQuery.expr.filters ) {
+       jQuery.expr.filters.animated = function( elem ) {
+               return jQuery.grep(jQuery.timers, function( fn ) {
+                       return elem === fn.elem;
+               }).length;
+       };
+}
+
+// Try to restore the default display value of an element
+function defaultDisplay( nodeName ) {
+
+       if ( !elemdisplay[ nodeName ] ) {
+
+               var body = document.body,
+                       elem = jQuery( "<" + nodeName + ">" ).appendTo( body ),
+                       display = elem.css( "display" );
+
+               elem.remove();
+
+               // If the simple way fails,
+               // get element's real default display by attaching it to a temp iframe
+               if ( display === "none" || display === "" ) {
+                       // No iframe to use yet, so create it
+                       if ( !iframe ) {
+                               iframe = document.createElement( "iframe" );
+                               iframe.frameBorder = iframe.width = iframe.height = 0;
+                       }
+
+                       body.appendChild( iframe );
+
+                       // Create a cacheable copy of the iframe document on first call.
+                       // IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML
+                       // document to it; WebKit & Firefox won't allow reusing the iframe document.
+                       if ( !iframeDoc || !iframe.createElement ) {
+                               iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document;
+                               iframeDoc.write( ( document.compatMode === "CSS1Compat" ? "<!doctype html>" : "" ) + "<html><body>" );
+                               iframeDoc.close();
+                       }
+
+                       elem = iframeDoc.createElement( nodeName );
+
+                       iframeDoc.body.appendChild( elem );
+
+                       display = jQuery.css( elem, "display" );
+
+                       body.removeChild( iframe );
+               }
+
+               // Store the correct default display
+               elemdisplay[ nodeName ] = display;
+       }
+
+       return elemdisplay[ nodeName ];
+}
+
+
+
+
+var rtable = /^t(?:able|d|h)$/i,
+       rroot = /^(?:body|html)$/i;
+
+if ( "getBoundingClientRect" in document.documentElement ) {
+       jQuery.fn.offset = function( options ) {
+               var elem = this[0], box;
+
+               if ( options ) {
+                       return this.each(function( i ) {
+                               jQuery.offset.setOffset( this, options, i );
+                       });
+               }
+
+               if ( !elem || !elem.ownerDocument ) {
+                       return null;
+               }
+
+               if ( elem === elem.ownerDocument.body ) {
+                       return jQuery.offset.bodyOffset( elem );
+               }
+
+               try {
+                       box = elem.getBoundingClientRect();
+               } catch(e) {}
+
+               var doc = elem.ownerDocument,
+                       docElem = doc.documentElement;
+
+               // Make sure we're not dealing with a disconnected DOM node
+               if ( !box || !jQuery.contains( docElem, elem ) ) {
+                       return box ? { top: box.top, left: box.left } : { top: 0, left: 0 };
+               }
+
+               var body = doc.body,
+                       win = getWindow(doc),
+                       clientTop  = docElem.clientTop  || body.clientTop  || 0,
+                       clientLeft = docElem.clientLeft || body.clientLeft || 0,
+                       scrollTop  = win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop  || body.scrollTop,
+                       scrollLeft = win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft,
+                       top  = box.top  + scrollTop  - clientTop,
+                       left = box.left + scrollLeft - clientLeft;
+
+               return { top: top, left: left };
+       };
+
+} else {
+       jQuery.fn.offset = function( options ) {
+               var elem = this[0];
+
+               if ( options ) {
+                       return this.each(function( i ) {
+                               jQuery.offset.setOffset( this, options, i );
+                       });
+               }
+
+               if ( !elem || !elem.ownerDocument ) {
+                       return null;
+               }
+
+               if ( elem === elem.ownerDocument.body ) {
+                       return jQuery.offset.bodyOffset( elem );
+               }
+
+               var computedStyle,
+                       offsetParent = elem.offsetParent,
+                       prevOffsetParent = elem,
+                       doc = elem.ownerDocument,
+                       docElem = doc.documentElement,
+                       body = doc.body,
+                       defaultView = doc.defaultView,
+                       prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle,
+                       top = elem.offsetTop,
+                       left = elem.offsetLeft;
+
+               while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
+                       if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
+                               break;
+                       }
+
+                       computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle;
+                       top  -= elem.scrollTop;
+                       left -= elem.scrollLeft;
+
+                       if ( elem === offsetParent ) {
+                               top  += elem.offsetTop;
+                               left += elem.offsetLeft;
+
+                               if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && rtable.test(elem.nodeName)) ) {
+                                       top  += parseFloat( computedStyle.borderTopWidth  ) || 0;
+                                       left += parseFloat( computedStyle.borderLeftWidth ) || 0;
+                               }
+
+                               prevOffsetParent = offsetParent;
+                               offsetParent = elem.offsetParent;
+                       }
+
+                       if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) {
+                               top  += parseFloat( computedStyle.borderTopWidth  ) || 0;
+                               left += parseFloat( computedStyle.borderLeftWidth ) || 0;
+                       }
+
+                       prevComputedStyle = computedStyle;
+               }
+
+               if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) {
+                       top  += body.offsetTop;
+                       left += body.offsetLeft;
+               }
+
+               if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
+                       top  += Math.max( docElem.scrollTop, body.scrollTop );
+                       left += Math.max( docElem.scrollLeft, body.scrollLeft );
+               }
+
+               return { top: top, left: left };
+       };
+}
+
+jQuery.offset = {};
+
+jQuery.each(
+       ( "doesAddBorderForTableAndCells doesNotAddBorder " +
+               "doesNotIncludeMarginInBodyOffset subtractsBorderForOverflowNotVisible " +
+               "supportsFixedPosition" ).split(" "), function( i, prop ) {
+
+       jQuery.offset[ prop ] = jQuery.support[ prop ];
+});
+
+jQuery.extend( jQuery.offset, {
+
+       bodyOffset: function( body ) {
+               var top = body.offsetTop,
+                       left = body.offsetLeft;
+
+               if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) {
+                       top  += parseFloat( jQuery.css(body, "marginTop") ) || 0;
+                       left += parseFloat( jQuery.css(body, "marginLeft") ) || 0;
+               }
+
+               return { top: top, left: left };
+       },
+
+       setOffset: function( elem, options, i ) {
+               var position = jQuery.css( elem, "position" );
+
+               // set position first, in-case top/left are set even on static elem
+               if ( position === "static" ) {
+                       elem.style.position = "relative";
+               }
+
+               var curElem = jQuery( elem ),
+                       curOffset = curElem.offset(),
+                       curCSSTop = jQuery.css( elem, "top" ),
+                       curCSSLeft = jQuery.css( elem, "left" ),
+                       calculatePosition = (position === "absolute" || position === "fixed") && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1,
+                       props = {}, curPosition = {}, curTop, curLeft;
+
+               // need to be able to calculate position if either top or left is auto and position is either absolute or fixed
+               if ( calculatePosition ) {
+                       curPosition = curElem.position();
+                       curTop = curPosition.top;
+                       curLeft = curPosition.left;
+               } else {
+                       curTop = parseFloat( curCSSTop ) || 0;
+                       curLeft = parseFloat( curCSSLeft ) || 0;
+               }
+
+               if ( jQuery.isFunction( options ) ) {
+                       options = options.call( elem, i, curOffset );
+               }
+
+               if (options.top != null) {
+                       props.top = (options.top - curOffset.top) + curTop;
+               }
+               if (options.left != null) {
+                       props.left = (options.left - curOffset.left) + curLeft;
+               }
+
+               if ( "using" in options ) {
+                       options.using.call( elem, props );
+               } else {
+                       curElem.css( props );
+               }
+       }
+});
+
+
+jQuery.fn.extend({
+
+       position: function() {
+               if ( !this[0] ) {
+                       return null;
+               }
+
+               var elem = this[0],
+
+               // Get *real* offsetParent
+               offsetParent = this.offsetParent(),
+
+               // Get correct offsets
+               offset       = this.offset(),
+               parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();
+
+               // Subtract element margins
+               // note: when an element has margin: auto the offsetLeft and marginLeft
+               // are the same in Safari causing offset.left to incorrectly be 0
+               offset.top  -= parseFloat( jQuery.css(elem, "marginTop") ) || 0;
+               offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0;
+
+               // Add offsetParent borders
+               parentOffset.top  += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0;
+               parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0;
+
+               // Subtract the two offsets
+               return {
+                       top:  offset.top  - parentOffset.top,
+                       left: offset.left - parentOffset.left
+               };
+       },
+
+       offsetParent: function() {
+               return this.map(function() {
+                       var offsetParent = this.offsetParent || document.body;
+                       while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) {
+                               offsetParent = offsetParent.offsetParent;
+                       }
+                       return offsetParent;
+               });
+       }
+});
+
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( ["Left", "Top"], function( i, name ) {
+       var method = "scroll" + name;
+
+       jQuery.fn[ method ] = function( val ) {
+               var elem, win;
+
+               if ( val === undefined ) {
+                       elem = this[ 0 ];
+
+                       if ( !elem ) {
+                               return null;
+                       }
+
+                       win = getWindow( elem );
+
+                       // Return the scroll offset
+                       return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] :
+                               jQuery.support.boxModel && win.document.documentElement[ method ] ||
+                                       win.document.body[ method ] :
+                               elem[ method ];
+               }
+
+               // Set the scroll offset
+               return this.each(function() {
+                       win = getWindow( this );
+
+                       if ( win ) {
+                               win.scrollTo(
+                                       !i ? val : jQuery( win ).scrollLeft(),
+                                        i ? val : jQuery( win ).scrollTop()
+                               );
+
+                       } else {
+                               this[ method ] = val;
+                       }
+               });
+       };
+});
+
+function getWindow( elem ) {
+       return jQuery.isWindow( elem ) ?
+               elem :
+               elem.nodeType === 9 ?
+                       elem.defaultView || elem.parentWindow :
+                       false;
+}
+
+
+
+
+// Create width, height, innerHeight, innerWidth, outerHeight and outerWidth methods
+jQuery.each([ "Height", "Width" ], function( i, name ) {
+
+       var type = name.toLowerCase();
+
+       // innerHeight and innerWidth
+       jQuery.fn[ "inner" + name ] = function() {
+               var elem = this[0];
+               return elem ?
+                       elem.style ?
+                       parseFloat( jQuery.css( elem, type, "padding" ) ) :
+                       this[ type ]() :
+                       null;
+       };
+
+       // outerHeight and outerWidth
+       jQuery.fn[ "outer" + name ] = function( margin ) {
+               var elem = this[0];
+               return elem ?
+                       elem.style ?
+                       parseFloat( jQuery.css( elem, type, margin ? "margin" : "border" ) ) :
+                       this[ type ]() :
+                       null;
+       };
+
+       jQuery.fn[ type ] = function( size ) {
+               // Get window width or height
+               var elem = this[0];
+               if ( !elem ) {
+                       return size == null ? null : this;
+               }
+
+               if ( jQuery.isFunction( size ) ) {
+                       return this.each(function( i ) {
+                               var self = jQuery( this );
+                               self[ type ]( size.call( this, i, self[ type ]() ) );
+                       });
+               }
+
+               if ( jQuery.isWindow( elem ) ) {
+                       // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
+                       // 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat
+                       var docElemProp = elem.document.documentElement[ "client" + name ],
+                               body = elem.document.body;
+                       return elem.document.compatMode === "CSS1Compat" && docElemProp ||
+                               body && body[ "client" + name ] || docElemProp;
+
+               // Get document width or height
+               } else if ( elem.nodeType === 9 ) {
+                       // Either scroll[Width/Height] or offset[Width/Height], whichever is greater
+                       return Math.max(
+                               elem.documentElement["client" + name],
+                               elem.body["scroll" + name], elem.documentElement["scroll" + name],
+                               elem.body["offset" + name], elem.documentElement["offset" + name]
+                       );
+
+               // Get or set width or height on the element
+               } else if ( size === undefined ) {
+                       var orig = jQuery.css( elem, type ),
+                               ret = parseFloat( orig );
+
+                       return jQuery.isNumeric( ret ) ? ret : orig;
+
+               // Set the width or height on the element (default to pixels if value is unitless)
+               } else {
+                       return this.css( type, typeof size === "string" ? size : size + "px" );
+               }
+       };
+
+});
+
+
+// Expose jQuery to the global object
+window.jQuery = window.$ = jQuery;
+})(window);
diff --git a/dev/js/modernizr/test/js/lib/jsonselect.js b/dev/js/modernizr/test/js/lib/jsonselect.js
new file mode 100644 (file)
index 0000000..84913d0
--- /dev/null
@@ -0,0 +1,279 @@
+/*! Copyright (c) 2011, Lloyd Hilaiel, ISC License */
+/*
+ * This is the JSONSelect reference implementation, in javascript.
+ */
+(function(exports) {
+
+    var // localize references
+    toString = Object.prototype.toString;
+
+    function jsonParse(str) {
+      try {
+          if(JSON && JSON.parse){
+              return JSON.parse(str);
+          }
+          return (new Function("return " + str))();
+      } catch(e) {
+        te("ijs");
+      }
+    }
+
+    // emitted error codes.
+    var errorCodes = {
+        "ijs": "invalid json string",
+        "mpc": "multiple pseudo classes (:xxx) not allowed",
+        "mepf": "malformed expression in pseudo-function",
+        "nmi": "multiple ids not allowed",
+        "se": "selector expected",
+        "sra": "string required after '.'",
+        "uc": "unrecognized char",
+        "ujs": "unclosed json string",
+        "upc": "unrecognized pseudo class"
+    };
+
+    // throw an error message
+    function te(ec) {
+        throw new Error(errorCodes[ec]);
+    }
+
+    // THE LEXER
+    var toks = {
+        psc: 1, // pseudo class
+        psf: 2, // pseudo class function
+        typ: 3, // type
+        str: 4 // string
+    };
+
+    var pat = /^(?:([\r\n\t\ ]+)|([*.,>])|(string|boolean|null|array|object|number)|(:(?:root|first-child|last-child|only-child))|(:(?:nth-child|nth-last-child))|(:\w+)|(\"(?:[^\\]|\\[^\"])*\")|(\")|((?:[_a-zA-Z]|[^\0-\0177]|\\[^\r\n\f0-9a-fA-F])(?:[_a-zA-Z0-9\-]|[^\u0000-\u0177]|(?:\\[^\r\n\f0-9a-fA-F]))*))/;
+    var exprPat = /^\s*\(\s*(?:([+\-]?)([0-9]*)n\s*(?:([+\-])\s*([0-9]))?|(odd|even)|([+\-]?[0-9]+))\s*\)/;
+    var lex = function (str, off) {
+        if (!off) off = 0;
+        var m = pat.exec(str.substr(off));
+        if (!m) return undefined;
+        off+=m[0].length;
+        var a;
+        if (m[1]) a = [off, " "];
+        else if (m[2]) a = [off, m[0]];
+        else if (m[3]) a = [off, toks.typ, m[0]];
+        else if (m[4]) a = [off, toks.psc, m[0]];
+        else if (m[5]) a = [off, toks.psf, m[0]];
+        else if (m[6]) te("upc");
+        else if (m[7]) a = [off, toks.str, jsonParse(m[0])];
+        else if (m[8]) te("ujs");
+        else if (m[9]) a = [off, toks.str, m[0].replace(/\\([^\r\n\f0-9a-fA-F])/g,"$1")];
+        return a;
+    };
+
+    // THE PARSER
+
+    var parse = function (str) {
+        var a = [], off = 0, am;
+
+        while (true) {
+            var s = parse_selector(str, off);
+            a.push(s[1]);
+            s = lex(str, off = s[0]);
+            if (s && s[1] === " ") s = lex(str, off = s[0]);
+            if (!s) break;
+            // now we've parsed a selector, and have something else...
+            if (s[1] === ">") {
+                a.push(">");
+                off = s[0];
+            } else if (s[1] === ",") {
+                if (am === undefined) am = [ ",", a ];
+                else am.push(a);
+                a = [];
+                off = s[0];
+            }
+        }
+        if (am) am.push(a);
+        return am ? am : a;
+    };
+
+    var parse_selector = function(str, off) {
+        var soff = off;
+        var s = { };
+        var l = lex(str, off);
+        // skip space
+        if (l && l[1] === " ") { soff = off = l[0]; l = lex(str, off); }
+        if (l && l[1] === toks.typ) {
+            s.type = l[2];
+            l = lex(str, (off = l[0]));
+        } else if (l && l[1] === "*") {
+            // don't bother representing the universal sel, '*' in the
+            // parse tree, cause it's the default
+            l = lex(str, (off = l[0]));
+        }
+
+        // now support either an id or a pc
+        while (true) {
+            if (l === undefined) {
+                break;
+            } else if (l[1] === ".") {
+                l = lex(str, (off = l[0]));
+                if (!l || l[1] !== toks.str) te("sra");
+                if (s.id) te("nmi");
+                s.id = l[2];
+            } else if (l[1] === toks.psc) {
+                if (s.pc || s.pf) te("mpc");
+                // collapse first-child and last-child into nth-child expressions
+                if (l[2] === ":first-child") {
+                    s.pf = ":nth-child";
+                    s.a = 0;
+                    s.b = 1;
+                } else if (l[2] === ":last-child") {
+                    s.pf = ":nth-last-child";
+                    s.a = 0;
+                    s.b = 1;
+                } else {
+                    s.pc = l[2];
+                }
+            } else if (l[1] === toks.psf) {
+                if (s.pc || s.pf ) te("mpc");
+                s.pf = l[2];
+                var m = exprPat.exec(str.substr(l[0]));
+                if (!m) te("mepf");
+                if (m[5]) {
+                    s.a = 2;
+                    s.b = (m[5] === "odd") ? 1 : 0;
+                } else if (m[6]) {
+                    s.a = 0;
+                    s.b = parseInt(m[6], 10);
+                } else {
+                    s.a = parseInt((m[1] ? m[1] : "+") + (m[2] ? m[2] : "1"),10);
+                    s.b = m[3] ? parseInt(m[3] + m[4],10) : 0;
+                }
+                l[0] += m[0].length;
+            } else {
+                break;
+            }
+            l = lex(str, (off = l[0]));
+        }
+
+        // now if we didn't actually parse anything it's an error
+        if (soff === off) te("se");
+
+        return [off, s];
+    };
+
+    // THE EVALUATOR
+
+    function isArray(o) {
+        return Array.isArray ? Array.isArray(o) : 
+          toString.call(o) === "[object Array]";
+    }
+
+    function mytypeof(o) {
+        if (o === null) return "null";
+        var to = typeof o;
+        if (to === "object" && isArray(o)) to = "array";
+        return to;
+    }
+
+    function mn(node, sel, id, num, tot) {
+        var sels = [];
+        var cs = (sel[0] === ">") ? sel[1] : sel[0];
+        var m = true, mod;
+        if (cs.type) m = m && (cs.type === mytypeof(node));
+        if (cs.id)   m = m && (cs.id === id);
+        if (m && cs.pf) {
+            if (cs.pf === ":nth-last-child") num = tot - num;
+            else num++;
+            if (cs.a === 0) {
+                m = cs.b === num;
+            } else {
+                mod = ((num - cs.b) % cs.a);
+
+                m = (!mod && ((num*cs.a + cs.b) >= 0));
+            }
+        }
+
+        // should we repeat this selector for descendants?
+        if (sel[0] !== ">" && sel[0].pc !== ":root") sels.push(sel);
+
+        if (m) {
+            // is there a fragment that we should pass down?
+            if (sel[0] === ">") { if (sel.length > 2) { m = false; sels.push(sel.slice(2)); } }
+            else if (sel.length > 1) { m = false; sels.push(sel.slice(1)); }
+        }
+
+        return [m, sels];
+    }
+
+    function forEach(sel, obj, fun, id, num, tot) {
+        var a = (sel[0] === ",") ? sel.slice(1) : [sel],
+        a0 = [],
+        call = false,
+        i = 0, j = 0, l = 0, k, x;
+        for (i = 0; i < a.length; i++) {
+            x = mn(obj, a[i], id, num, tot);
+            if (x[0]) {
+                call = true;
+            }
+            for (j = 0; j < x[1].length; j++) {
+                a0.push(x[1][j]);
+            }
+        }
+        if (a0.length && typeof obj === "object") {
+            if (a0.length >= 1) {
+                a0.unshift(",");
+            }
+            if (isArray(obj)) {
+                for (i = 0; i < obj.length; i++) {
+                    forEach(a0, obj[i], fun, undefined, i, obj.length);
+                }
+            } else {
+                // it's a shame to do this for :last-child and other
+                // properties which count from the end when we don't
+                // even know if they're present.  Also, the stream
+                // parser is going to be pissed.
+                l = 0;
+                for (k in obj) {
+                    if (obj.hasOwnProperty(k)) {
+                        l++;
+                    }
+                }
+                i = 0;
+                for (k in obj) {
+                    if (obj.hasOwnProperty(k)) {
+                        forEach(a0, obj[k], fun, k, i++, l);
+                    }
+                }
+            }
+        }
+        if (call && fun) {
+            fun(obj);
+        }
+    }
+
+    function match(sel, obj) {
+        var a = [];
+        forEach(sel, obj, function(x) {
+            a.push(x);
+        });
+        return a;
+    }
+
+    function compile(sel) {
+        return {
+            sel: parse(sel),
+            match: function(obj){
+                return match(this.sel, obj);
+            },
+            forEach: function(obj, fun) {
+                return forEach(this.sel, obj, fun);
+            }
+        };
+    }
+
+    exports._lex = lex;
+    exports._parse = parse;
+    exports.match = function (sel, obj) {
+        return compile(sel).match(obj);
+    };
+    exports.forEach = function(sel, obj, fun) {
+        return compile(sel).forEach(obj, fun);
+    };
+    exports.compile = compile;
+})(typeof exports === "undefined" ? (window.JSONSelect = {}) : exports);
+
diff --git a/dev/js/modernizr/test/js/lib/polyfills.js b/dev/js/modernizr/test/js/lib/polyfills.js
new file mode 100644 (file)
index 0000000..4cbb1aa
--- /dev/null
@@ -0,0 +1,96 @@
+
+// Array.prototype.indexOf  polyfill
+if (!Array.prototype.indexOf){
+  Array.prototype.indexOf = function(searchElement /*, fromIndex */)
+  {
+    "use strict";
+
+    if (this === void 0 || this === null)
+      throw new TypeError();
+
+    var t = Object(this);
+    var len = t.length >>> 0;
+    if (len === 0)
+      return -1;
+
+    var n = 0;
+    if (arguments.length > 0)
+    {
+      n = Number(arguments[1]);
+      if (n !== n) // shortcut for verifying if it's NaN
+        n = 0;
+      else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0))
+        n = (n > 0 || -1) * Math.floor(Math.abs(n));
+    }
+
+    if (n >= len)
+      return -1;
+
+    var k = n >= 0
+          ? n
+          : Math.max(len - Math.abs(n), 0);
+
+    for (; k < len; k++)
+    {
+      if (k in t && t[k] === searchElement)
+        return k;
+    }
+    return -1;
+  };
+}
+
+
+// Object.keys()
+if (!Object.keys) Object.keys = function(o){
+  if (o !== Object(o)) throw new TypeError('Object.keys called on non-object');
+  var ret=[], p;
+  for (p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
+  return ret;
+};
+
+
+
+if (!Array.prototype.map)
+{
+  Array.prototype.map = function(fun /*, thisp */)
+  {
+    "use strict";
+
+    if (this === void 0 || this === null)
+      throw new TypeError();
+
+    var t = Object(this);
+    var len = t.length >>> 0;
+    if (typeof fun !== "function")
+      throw new TypeError();
+
+    var res = new Array(len);
+    var thisp = arguments[1];
+    for (var i = 0; i < len; i++)
+    {
+      if (i in t)
+        res[i] = fun.call(thisp, t[i], i, t);
+    }
+
+    return res;
+  };
+}
+
+
+
+
+/*!
+    http://www.JSON.org/json2.js
+    2011-10-19
+
+    Public Domain.
+
+    NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
+
+    See http://www.JSON.org/js.html
+
+    This code should be minified before deployment.
+    See http://javascript.crockford.com/jsmin.html
+
+*/
+var JSON;if(!JSON){JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){if(typeof rep[i]==="string"){k=rep[i];v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}());
diff --git a/dev/js/modernizr/test/js/lib/uaparser.js b/dev/js/modernizr/test/js/lib/uaparser.js
new file mode 100644 (file)
index 0000000..eb70eb9
--- /dev/null
@@ -0,0 +1,215 @@
+// uaparser by lindsey simon,
+// ported to node by tobie
+// https://github.com/tobie/ua-parser/
+
+// browserized by paul irish
+
+(function(exports){
+
+  exports.uaparse = parse;
+  
+  function parse(ua) {
+    for (var i=0; i < parsers.length; i++) {
+      var result = parsers[i](ua);
+      if (result) { return result; }
+    }
+    return new UserAgent();
+  }
+
+  function UserAgent(family) {
+    this.family = family || 'Other';
+  }
+
+  UserAgent.prototype.toVersionString = function() {
+    var output = '';
+    if (this.major != null) {
+      output += this.major;
+      if (this.minor != null) {
+        output += '.' + this.minor;
+        if (this.patch != null) {
+          output += '.' + this.patch;
+        }
+      }
+    }
+    return output;
+  };
+
+  UserAgent.prototype.toString = function() {
+    var suffix = this.toVersionString();
+    if (suffix) { suffix = ' ' + suffix; }
+    return this.family + suffix;
+  };
+  
+  
+  var regexes = [
+      {"pattern":"^(Opera)/(\\d+)\\.(\\d+) \\(Nintendo Wii",
+       "v1_replacement":null,
+       "family_replacement":"Wii"},
+      {"pattern":"(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?)",
+       "v1_replacement":null,
+       "family_replacement":"Firefox ($1)"},
+      {"pattern":"(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)?",
+       "v1_replacement":null,
+       "family_replacement":"Firefox ($1)"},
+      {"pattern":"(SeaMonkey|Fennec|Camino)/(\\d+)\\.(\\d+)([ab]?\\d+[a-z]*)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(Flock)/(\\d+)\\.(\\d+)(b\\d+?)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(Fennec)/(\\d+)\\.(\\d+)(pre)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(Navigator)/(\\d+)\\.(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"Netscape"},
+      {"pattern":"(Navigator)/(\\d+)\\.(\\d+)([ab]\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"Netscape"},
+      {"pattern":"(Netscape6)/(\\d+)\\.(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"Netscape"},
+      {"pattern":"(MyIBrow)/(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"My Internet Browser"},
+      {"pattern":"(Firefox).*Tablet browser (\\d+)\\.(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"MicroB"},
+      {"pattern":"(Opera)/9.80.*Version\\/(\\d+)\\.(\\d+)(?:\\.(\\d+))?",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?) \\(Swiftfox\\)",
+       "v1_replacement":null,
+       "family_replacement":"Swiftfox"},
+      {"pattern":"(Firefox)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)? \\(Swiftfox\\)",
+       "v1_replacement":null,
+       "family_replacement":"Swiftfox"},
+      {"pattern":"(konqueror)/(\\d+)\\.(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"Konqueror"},
+      {"pattern":"(Jasmine|ANTGalio|Midori|Fresco|Lobo|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Shiira|Sunrise|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Vodafone|NetFront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|Iron|Iris)/(\\d+)\\.(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(Bolt|Jasmine|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|Vodafone|NetFront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|NetNewsWire|Iron|Space Bison|Stainless|Orca)/(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\\d+)\\.(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(iCab|Lunascape|Opera|Android) (\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(IEMobile) (\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"IE Mobile"},
+      {"pattern":"(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(Firefox)/(\\d+)\\.(\\d+)(pre|[ab]\\d+[a-z]*)?",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(Obigo|OBIGO)[^\\d]*(\\d+)(?:.(\\d+))?",
+       "v1_replacement":null,
+       "family_replacement":"Obigo"},
+      {"pattern":"(MAXTHON|Maxthon) (\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"Maxthon"},
+      {"pattern":"(Maxthon|MyIE2|Uzbl|Shiira)",
+       "v1_replacement":"0",
+       "family_replacement":null},
+      {"pattern":"(PLAYSTATION) (\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"PlayStation"},
+      {"pattern":"(PlayStation Portable)[^\\d]+(\\d+).(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(BrowseX) \\((\\d+)\\.(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(Opera)/(\\d+)\\.(\\d+).*Opera Mobi",
+       "v1_replacement":null,
+       "family_replacement":"Opera Mobile"},
+      {"pattern":"(POLARIS)/(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"Polaris"},
+      {"pattern":"(BonEcho)/(\\d+)\\.(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"Bon Echo"},
+      {"pattern":"(iPhone) OS (\\d+)_(\\d+)(?:_(\\d+))?",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(Avant)",
+       "v1_replacement":"1",
+       "family_replacement":null},
+      {"pattern":"(Nokia)[EN]?(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(Black[bB]erry)(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"Blackberry"},
+      {"pattern":"(OmniWeb)/v(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(Blazer)/(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"Palm Blazer"},
+      {"pattern":"(Pre)/(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"Palm Pre"},
+      {"pattern":"(Links) \\((\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(QtWeb) Internet Browser/(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(Version)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*Safari/",
+       "v1_replacement":null,
+       "family_replacement":"Safari"},
+      {"pattern":"(OLPC)/Update(\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(OLPC)/Update()\\.(\\d+)",
+       "v1_replacement":"0",
+       "family_replacement":null},
+      {"pattern":"(SamsungSGHi560)",
+       "v1_replacement":null,
+       "family_replacement":"Samsung SGHi560"},
+      {"pattern":"^(SonyEricssonK800i)",
+       "v1_replacement":null,
+       "family_replacement":"Sony Ericsson K800i"},
+      {"pattern":"(Teleca Q7)",
+       "v1_replacement":null,
+       "family_replacement":null},
+      {"pattern":"(MSIE) (\\d+)\\.(\\d+)",
+       "v1_replacement":null,
+       "family_replacement":"IE"}
+
+  ];
+  
+  var parsers = regexes.map(function(obj) {
+    var regexp = new RegExp(obj.pattern),
+        famRep = obj.family_replacement,
+        v1Rep = obj.v1_replacement;
+
+    function parser(ua) {
+      var m = ua.match(regexp);
+
+      if (!m) { return null; }
+
+      var familly = famRep ? famRep.replace('$1', m[1]) : m[1];
+
+      var obj = new UserAgent(familly);
+      obj.major = parseInt(v1Rep ? v1Rep : m[2]);
+      obj.minor = m[3] ? parseInt(m[3]) : null;
+      obj.patch = m[4] ? parseInt(m[4]) : null;
+
+      return obj;
+    }
+
+    return parser;
+  });
+  
+  
+})(window);
+
+
diff --git a/dev/js/modernizr/test/js/setup.js b/dev/js/modernizr/test/js/setup.js
new file mode 100644 (file)
index 0000000..b194dcd
--- /dev/null
@@ -0,0 +1,44 @@
+
+// Avoid `console` errors in browsers that lack a console
+if (!(window.console && console.log)) {
+    (function() {
+        var noop = function() {};
+        var methods = ['assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 'markTimeline', 'profile', 'profileEnd', 'markTimeline', 'table', 'time', 'timeEnd', 'timeStamp', 'trace', 'warn'];
+        var length = methods.length;
+        var console = window.console = {};
+        while (length--) {
+            console[methods[length]] = noop;
+        }
+    }());
+}
+
+// test helper object
+window.TEST = {
+  // note some unique members of the Modernizr object
+  inputs    : ['input','inputtypes', 'textarea'],
+  audvid    : ['video','audio'],
+  API       : ['addTest', 'mq', 'hasEvent', 'testProp', 'testAllProps', 'testStyles', '_prefixes', '_domPrefixes', '_cssomPrefixes', 'prefixed'],
+  extraclass: ['js'],
+  privates  : ['_enableHTML5','_version','_fontfaceready'],
+  deprecated : [
+                { oldish : 'crosswindowmessaging', newish : 'postmessage'},
+                { oldish : 'historymanagement', newish : 'history'},
+              ],
+
+  // utility methods
+  inArray: function(elem, array) {
+      if (array.indexOf) {
+          return array.indexOf(elem);
+      }
+      for (var i = 0, length = array.length; i < length; i++) {
+          if (array[i] === elem) {
+              return i;
+          }
+      }
+      return -1;
+  },
+  trim : function(str){
+    return str.replace(/^\s*/, "").replace(/\s*$/, "");
+  }
+};
+
diff --git a/dev/js/modernizr/test/js/unit-caniuse.js b/dev/js/modernizr/test/js/unit-caniuse.js
new file mode 100644 (file)
index 0000000..78bda30
--- /dev/null
@@ -0,0 +1,191 @@
+
+
+var myscript = document.createElement('script'),
+    ref = document.getElementsByTagName('script')[0];
+
+myscript.src = 'http://caniuse.com/jsonp.php?callback=caniusecb';
+
+setTimeout(function(){
+  ref.parentNode.insertBefore(myscript, ref);
+}, 100);
+
+// mapping Modernizr terms over to caniuse terms
+var map = {
+  audio : 'audio',
+  borderimage : 'border-image',
+  borderradius : 'border-radius',
+  canvas : 'canvas',
+  canvastext : 'canvas-text',
+  cssanimations : 'css-animation',
+  boxshadow : 'css-boxshadow',
+  cssgradients : 'css-gradients',
+  opacity : 'css-opacity',
+  cssreflections : 'css-reflections',
+  textshadow : 'css-textshadow',
+  csstransitions : 'css-transitions',
+  hsla : 'css3-colors',
+  rgba : 'css3-colors',
+  draganddrop : 'dragndrop',
+  flexbox : 'flexbox',
+  fontface : 'fontface',
+  geolocation : 'geolocation',
+  hashchange : 'hashchange',
+  history : 'history',
+  indexeddb : 'indexeddb',
+  multiplebgs : 'multibackgrounds',
+  csscolumns : 'multicolumn',
+  localstorage : 'namevalue-storage',
+  applicationcache : 'offline-apps',
+  websqldatabase : 'sql-storage',
+  svg : 'svg',
+  touch : 'touch',
+  csstransforms : 'transforms2d',
+  csstransforms3d : 'transforms3d',
+  video: 'video',
+  webgl: 'webgl',
+  websockets : 'websockets',
+  webworkers : 'webworkers',
+  postmessage : 'x-doc-messaging'
+};
+
+window.caniusecb = function(scriptdata) {
+
+  window.doo = scriptdata;
+
+  // quit if JSONSelect didn't make it.
+  if (!window.JSONSelect) return;
+
+  var testdata     = scriptdata.data,
+
+      // parse the current UA with uaparser
+      ua           = uaparse(navigator.userAgent),
+
+      // match the UA from uaparser into the browser used by caniuse
+      browserKey   = JSONSelect.match('.agents .browser', scriptdata).indexOf(ua.family),
+      currBrowser  = Object.keys(scriptdata.agents)[browserKey];
+
+  // So Phantom doesn't kill the caniuse.com matching exit out as it's useless anyway within PhantomJS
+  if(navigator.userAgent.indexOf("PhantomJS") != -1) {
+    return;
+  }
+
+  // translate 'y' 'n' or 'a' into a boolean that Modernizr uses
+  function bool(ciuresult){
+    if (ciuresult == 'y' || ciuresult == 'a') return true;
+    // 'p' is for polyfill
+    if (ciuresult == 'n' || ciuresult == 'p') return false;
+    throw 'unknown return value from can i use';
+  }
+
+  function testify(o){
+
+    var ciubool = bool(o.ciuresult);
+
+    // caniuse says audio/video are yes/no, Modernizr has more detail which we'll dumb down.
+    if (~TEST.audvid.indexOf(o.feature))
+      o.result = !!o.result;
+
+    // if caniuse gave us a 'partial', lets let it pass with a note.
+    if (o.ciuresult == 'a'){
+      return ok(true,
+        o.browser + o.version + ': Caniuse reported partial support for ' + o.ciufeature +
+        '. So.. Modernizr\'s ' + o.result + ' is good enough...'
+      );
+    }
+
+
+    // change the *documented* false positives
+    if ((o.feature == 'textshadow' && o.browser == 'firefox' && o.version == 3)
+        && ciubool == false
+    ) {
+      ciubool = o.fp = true;
+    }
+
+    // where we actually do most our assertions
+    equal(o.result, ciubool,
+      o.browser + o.version + ': Caniuse result for ' + o.ciufeature +
+      ' matches Modernizr\'s ' + (o.fp ? '*false positive*' : 'result') + ' for ' + o.feature
+    );
+  }
+
+
+  module('caniuse.com data matches', {
+      setup:function() {
+      },
+      teardown:function() {
+      }
+  });
+
+
+  test("we match caniuse data", function() {
+
+    for (var feature in Modernizr){
+
+      var ciufeatname = map[feature];
+
+      if (ciufeatname === undefined) continue;
+
+      var ciufeatdata = testdata[ciufeatname];
+
+      if (ciufeatdata === undefined) throw 'unknown key of caniusedata';
+
+      // get results for this feature for all versions of this browser
+      var browserResults = ciufeatdata.stats[currBrowser];
+
+      // let's get our versions in order..
+      var minorver   = ua.minor &&                                  // caniuse doesn't use two digit minors
+                       ua.minor.toString().replace(/(\d)\d$/,'$1'), // but opera does.
+
+          majorminor = (ua.major + '.' + minorver)
+                          // opera gets grouped in some cases by caniuse
+                          .replace(/(9\.(6|5))/ , ua.family == 'opera' ? '9.5-9.6'   : "$1")
+                          .replace(/(10\.(0|1))/, ua.family == 'opera' ? '10.0-10.1' : "$1"),
+
+          mmResult   = browserResults[majorminor],
+          mResult    = browserResults[ua.major];
+
+
+      // check it against the major.minor: eg. FF 3.6
+      if (mmResult && mmResult != 'u'){ // 'y' 'n' or 'a'
+
+        // data ends w/ ` x` if its still prefixed in the imp
+        mmResult = mmResult.replace(' x','');
+
+        // match it against our data.
+        testify({ feature     : feature
+                , ciufeature  : ciufeatname
+                , result      : Modernizr[feature]
+                , ciuresult   : mmResult
+                , browser     : currBrowser
+                , version     : majorminor
+        });
+
+        continue; // don't check the major version
+      }
+
+      // check it against just the major version: eg. FF 3
+      if (mResult){
+
+        // unknown support from caniuse... He would probably like to know our data, though!
+        if (mResult == 'u') continue;
+
+        // data ends w/ ` x` if its still prefixed in the imp
+        mResult = mResult.replace(' x','');
+
+        testify({ feature     : feature
+                , ciufeature  : ciufeatname
+                , result      : Modernizr[feature]
+                , ciuresult   : mResult
+                , browser     : currBrowser
+                , version     : ua.major
+        });
+
+
+      }
+
+    } // for in loop
+
+  }); // eo test()
+
+
+}; // eo caniusecallback()
diff --git a/dev/js/modernizr/test/js/unit.js b/dev/js/modernizr/test/js/unit.js
new file mode 100644 (file)
index 0000000..a907ba8
--- /dev/null
@@ -0,0 +1,669 @@
+QUnit.begin = function() {
+       console.log("Starting test suite");
+       console.log("================================================\n");
+};
+
+QUnit.moduleDone = function(opts) {
+       if(opts.failed === 0) {
+               console.log("\u2714 All tests passed in '"+opts.name+"' module");
+       } else {
+               console.log("\u2716 "+ opts.failed +" tests failed in '"+opts.name+"' module");
+       }
+};
+
+QUnit.done = function(opts) {
+       console.log("\n================================================");
+       console.log("Tests completed in "+opts.runtime+" milliseconds");
+       console.log(opts.passed + " tests of "+opts.total+" passed, "+opts.failed+" failed.");
+};
+
+module('Basics', {
+    setup:function() {
+    },
+    teardown:function() {
+    }
+});
+
+test("globals set up", function() {
+
+       ok(window.Modernizr, 'global modernizr object created');
+
+});
+
+test("bind is implemented", function() {
+
+  ok(Function.prototype.bind, 'bind is a member of Function.prototype');
+
+  var a = function(){
+      return this.modernizr;
+  };
+  a = a.bind({modernizr: 'just awsome'});
+
+  equal("just awsome", a(), 'bind works as expected');
+
+
+  // thank you webkit layoutTests
+
+
+  var result;
+
+  function F(x, y)
+  {
+      result = this + " -> x:" + x + ", y:" + y;
+  }
+
+  G = F.bind("'a'", "'b'");
+  H = G.bind("'Cannot rebind this!'", "'c'");
+
+  G(1,2);
+  equal(result, "\'a\' -> x:\'b\', y:1");
+  H(1,2);
+  equal(result, "\'a\' -> x:\'b\', y:\'c\'");
+
+  var f = new F(1,2);
+  equal(result, "[object Object] -> x:1, y:2");
+  var g = new G(1,2);
+  equal(result, "[object Object] -> x:\'b\', y:1");
+  var h = new H(1,2);
+  equal(result, "[object Object] -> x:\'b\', y:\'c\'");
+
+  ok(f instanceof F, "f instanceof F");
+  ok(g instanceof F, "g instanceof F");
+  ok(h instanceof F, "h instanceof F");
+
+  // Bound functions don't have a 'prototype' property.
+  ok("prototype" in F, '"prototype" in F');
+
+  // The object passed to bind as 'this' must be callable.
+  raises(function(){
+    Function.bind.call(undefined);
+  });
+
+  // Objects that allow call but not construct can be bound, but should throw if used with new.
+  var abcAt = String.prototype.charAt.bind("abc");
+  equal(abcAt(1), "b", 'Objects that allow call but not construct can be bound...');
+
+  equal(1, Function.bind.length, 'it exists');
+
+
+});
+
+
+
+test("document.documentElement is valid and correct",1, function() {
+       equal(document.documentElement,document.getElementsByTagName('html')[0]);
+});
+
+
+test("no-js class is gone.", function() {
+
+       ok(!/(?:^|\s)no-js(?:^|\s)/.test(document.documentElement.className),
+          'no-js class is gone');
+
+       ok(/(?:^|\s)js(?:^|\s)/.test(document.documentElement.className),
+          'html.js class is present');
+
+       ok(/(?:^|\s)\+no-js(?:\s|$)/.test(document.documentElement.className),
+          'html.+no-js class is still present');
+
+       ok(/(?:^|\s)no-js-(?:\s|$)/.test(document.documentElement.className),
+          'html.no-js- class is still present');
+
+       ok(/(?:^|\s)i-has-no-js(?:\s|$)/.test(document.documentElement.className),
+          'html.i-has-no-js class is still present');
+
+       if (document.querySelector){
+         ok(document.querySelector('html.js') == document.documentElement,
+            "document.querySelector('html.js') matches.");
+       }
+});
+
+test('html shim worked', function(){
+  expect(2);
+
+  // the exact test we use in the script
+  var elem = document.getElementsByTagName("section")[0];
+  elem.id = "html5section";
+
+  ok( elem.childNodes.length === 1 , 'unknown elements dont collapse');
+
+  elem.style.color = 'red';
+  ok( /red|#ff0000/i.test(elem.style.color), 'unknown elements are styleable')
+
+});
+
+
+module('Modernizr classes and bools', {
+    setup:function() {
+    },
+    teardown:function() {
+    }
+});
+
+
+test('html classes are looking good',function(){
+
+  var classes = TEST.trim(document.documentElement.className).split(/\s+/);
+
+  var modprops = Object.keys(Modernizr),
+      newprops = modprops;
+
+  // decrement for the properties that are private
+  for (var i = -1, len = TEST.privates.length; ++i < len; ){
+    var item = TEST.privates[i];
+    equal(-1, TEST.inArray(item, classes), 'private Modernizr object '+ item +'should not have matching classes');
+    equal(-1, TEST.inArray('no-' + item, classes), 'private Modernizr object no-'+item+' should not have matching classes');
+  }
+
+  // decrement for the non-boolean objects
+//  for (var i = -1, len = TEST.inputs.length; ++i < len; ){
+//    if (Modernizr[TEST.inputs[i]] != undefined) newprops--;
+//  }
+
+  // TODO decrement for the extraclasses
+
+  // decrement for deprecated ones.
+  $.each( TEST.deprecated, function(key, val){
+    newprops.splice(  TEST.inArray(item, newprops), 1);
+  });
+
+
+  //equal(classes,newprops,'equal number of classes and global object props');
+
+  if (classes.length !== newprops){
+    //window.console && console.log(classes, newprops);
+
+  }
+
+  for (var i = 0, len = classes.length, aclass; i <len; i++){
+    aclass = classes[i];
+
+    // Skip js related classes.
+    if (/^(?:js|\+no-js|no-js-|i-has-no-js)$/.test(aclass)) continue;
+
+    if (aclass.indexOf('no-') === 0){
+      aclass = aclass.replace('no-','');
+
+      equal(Modernizr[aclass], false,
+            aclass + ' is correctly false in the classes and object')
+
+    } else {
+      equal(Modernizr[aclass], true,
+             aclass + ' is correctly true in the classes and object')
+    }
+  }
+
+
+  for (var i = 0, len = classes.length, aclass; i <len; i++){
+    equal(classes[i],classes[i].toLowerCase(),'all classes are lowerCase.');
+  }
+
+  // Remove fake no-js classes before test.
+  var docElClass = document.documentElement.className;
+  $.each(['\\+no-js', 'no-js-', 'i-has-no-js'], function(i, fakeClass) {
+    docElClass = docElClass.replace(new RegExp('(^|\\s)' + fakeClass + '(\\s|$)', 'g'), '$1$2');
+  });
+  equal(/[^\s]no-/.test(docElClass), false, 'whitespace between all classes.');
+
+
+})
+
+
+test('Modernizr properties are looking good',function(){
+
+  var count  = 0,
+      nobool = TEST.API.concat(TEST.inputs)
+                       .concat(TEST.audvid)
+                       .concat(TEST.privates)
+                       .concat(['textarea']); // due to forms-placeholder.js test
+
+  for (var prop in window.Modernizr){
+    if (Modernizr.hasOwnProperty(prop)){
+
+      if (TEST.inArray(prop,nobool) >= 0) continue;
+
+      ok(Modernizr[prop] === true || Modernizr[prop] === false,
+        'Modernizr.'+prop+' is a straight up boolean');
+
+
+      equal(prop,prop.toLowerCase(),'all properties are lowerCase.')
+    }
+  }
+})
+
+
+
+test('Modernizr.audio and Modernizr.video',function(){
+
+  for (var i = -1, len = TEST.audvid.length; ++i < len;){
+    var prop = TEST.audvid[i];
+
+    if (Modernizr[prop].toString() == 'true'){
+
+      ok(Modernizr[prop],                             'Modernizr.'+prop+' is truthy.');
+      equal(Modernizr[prop] == true,true,            'Modernizr.'+prop+' is == true')
+      equal(typeof Modernizr[prop] === 'object',true,'Moderizr.'+prop+' is truly an object');
+      equal(Modernizr[prop] !== true,true,           'Modernizr.'+prop+' is !== true')
+
+    } else {
+
+      equal(Modernizr[prop] != true,true,            'Modernizr.'+prop+' is != true')
+    }
+  }
+
+
+});
+
+
+test('Modernizr results match expected values',function(){
+
+  // i'm bringing over a few tests from inside Modernizr.js
+  equal(!!document.createElement('canvas').getContext,Modernizr.canvas,'canvas test consistent');
+
+  equal(!!window.Worker,Modernizr.webworkers,'web workers test consistent')
+
+});
+
+
+
+module('Modernizr\'s API methods', {
+    setup:function() {
+    },
+    teardown:function() {
+    }
+});
+
+test('Modernizr.addTest()',22,function(){
+
+  var docEl = document.documentElement;
+
+
+  Modernizr.addTest('testtrue',function(){
+    return true;
+  });
+
+  Modernizr.addTest('testtruthy',function(){
+    return 100;
+  });
+
+  Modernizr.addTest('testfalse',function(){
+    return false;
+  });
+
+  Modernizr.addTest('testfalsy',function(){
+    return undefined;
+  });
+
+  ok(docEl.className.indexOf(' testtrue') >= 0,'positive class added');
+  equal(Modernizr.testtrue,true,'positive prop added');
+
+  ok(docEl.className.indexOf(' testtruthy') >= 0,'positive class added');
+  equal(Modernizr.testtruthy,100,'truthy value is not casted to straight boolean');
+
+  ok(docEl.className.indexOf(' no-testfalse') >= 0,'negative class added');
+  equal(Modernizr.testfalse,false,'negative prop added');
+
+  ok(docEl.className.indexOf(' no-testfalsy') >= 0,'negative class added');
+  equal(Modernizr.testfalsy,undefined,'falsy value is not casted to straight boolean');
+
+
+
+  Modernizr.addTest('testcamelCase',function(){
+     return true;
+   });
+
+  ok(docEl.className.indexOf(' testcamelCase') === -1,
+     'camelCase test name toLowerCase()\'d');
+
+
+  // okay new signature for this API! woo
+
+  Modernizr.addTest('testboolfalse', false);
+
+  ok(~docEl.className.indexOf(' no-testboolfalse'), 'Modernizr.addTest(feature, bool): negative class added');
+  equal(Modernizr.testboolfalse, false, 'Modernizr.addTest(feature, bool): negative prop added');
+
+
+
+  Modernizr.addTest('testbooltrue', true);
+
+  ok(~docEl.className.indexOf(' testbooltrue'), 'Modernizr.addTest(feature, bool): positive class added');
+  equal(Modernizr.testbooltrue, true, 'Modernizr.addTest(feature, bool): positive prop added');
+
+
+
+  Modernizr.addTest({'testobjboolfalse': false,
+                     'testobjbooltrue' : true   });
+
+  ok(~docEl.className.indexOf(' no-testobjboolfalse'), 'Modernizr.addTest({feature: bool}): negative class added');
+  equal(Modernizr.testobjboolfalse, false, 'Modernizr.addTest({feature: bool}): negative prop added');
+
+  ok(~docEl.className.indexOf(' testobjbooltrue'), 'Modernizr.addTest({feature: bool}): positive class added');
+  equal(Modernizr.testobjbooltrue, true, 'Modernizr.addTest({feature: bool}): positive prop added');
+
+
+
+
+  Modernizr.addTest({'testobjfnfalse': function(){ return false },
+                     'testobjfntrue' : function(){ return true }   });
+
+
+  ok(~docEl.className.indexOf(' no-testobjfnfalse'), 'Modernizr.addTest({feature: bool}): negative class added');
+  equal(Modernizr.testobjfnfalse, false, 'Modernizr.addTest({feature: bool}): negative prop added');
+
+  ok(~docEl.className.indexOf(' testobjfntrue'), 'Modernizr.addTest({feature: bool}): positive class added');
+  equal(Modernizr.testobjfntrue, true, 'Modernizr.addTest({feature: bool}): positive prop added');
+
+
+  Modernizr
+    .addTest('testchainone', true)
+    .addTest({ testchaintwo: true })
+    .addTest('testchainthree', function(){ return true; });
+
+  ok( Modernizr.testchainone == Modernizr.testchaintwo == Modernizr.testchainthree, 'addTest is chainable');
+
+
+}); // eo addTest
+
+
+
+
+
+test('Modernizr.mq: media query testing',function(){
+
+  var $html = $('html');
+  $.mobile = {};
+
+  // from jquery mobile
+
+  $.mobile.media = (function() {
+       // TODO: use window.matchMedia once at least one UA implements it
+       var cache = {},
+               testDiv = $( "<div id='jquery-mediatest'>" ),
+               fakeBody = $( "<body>" ).append( testDiv );
+
+       return function( query ) {
+               if ( !( query in cache ) ) {
+                       var styleBlock = document.createElement('style'),
+                       cssrule = "@media " + query + " { #jquery-mediatest { position:absolute; } }";
+               //must set type for IE!
+               styleBlock.type = "text/css";
+               if (styleBlock.styleSheet){
+                 styleBlock.styleSheet.cssText = cssrule;
+               }
+               else {
+                 styleBlock.appendChild(document.createTextNode(cssrule));
+               }
+
+                       $html.prepend( fakeBody ).prepend( styleBlock );
+                       cache[ query ] = testDiv.css( "position" ) === "absolute";
+                       fakeBody.add( styleBlock ).remove();
+               }
+               return cache[ query ];
+       };
+  })();
+
+
+  ok(Modernizr.mq,'Modernizr.mq() doesn\' freak out.');
+
+  equal($.mobile.media('only screen'), Modernizr.mq('only screen'),'screen media query matches jQuery mobile\'s result');
+
+  equal(Modernizr.mq('only all'), Modernizr.mq('only all'), 'Cache hit matches');
+
+
+});
+
+
+
+
+test('Modernizr.hasEvent()',function(){
+
+  ok(typeof Modernizr.hasEvent == 'function','Modernizr.hasEvent() is a function');
+
+
+  equal(Modernizr.hasEvent('click'), true,'click event is supported');
+
+  equal(Modernizr.hasEvent('modernizrcustomevent'), false,'random event is definitely not supported');
+
+  /* works fine in webkit but not gecko
+  equal(  Modernizr.hasEvent('resize', window),
+          !Modernizr.hasEvent('resize', document.createElement('div')),
+          'Resize is supported in window but not a div, typically...');
+  */
+
+});
+
+
+
+
+
+test('Modernizr.testStyles()',function(){
+
+  equal(typeof Modernizr.testStyles, 'function','Modernizr.testStyles() is a function');
+
+  var style = '#modernizr{ width: 9px; height: 4px; font-size: 0; color: papayawhip; }';
+
+  Modernizr.testStyles(style, function(elem, rule){
+      equal(style, rule, 'rule passsed back matches what i gave it.')
+      equal(elem.offsetWidth, 9, 'width was set through the style');
+      equal(elem.offsetHeight, 4, 'height was set through the style');
+      equal(elem.id, 'modernizr', 'element is indeed the modernizr element');
+  });
+
+});
+
+
+test('Modernizr._[properties]',function(){
+
+  equal(6, Modernizr._prefixes.length, 'Modernizr._prefixes has 6 items');
+
+  equal(4, Modernizr._domPrefixes.length, 'Modernizr.domPrefixes has 4 items');
+
+});
+
+test('Modernizr.testProp()',function(){
+
+  equal(true, Modernizr.testProp('margin'), 'Everyone supports margin');
+
+  equal(false, Modernizr.testProp('happiness'), 'Nobody supports the happiness style. :(');
+  equal(true, Modernizr.testProp('fontSize'), 'Everyone supports fontSize');
+  equal(false, Modernizr.testProp('font-size'), 'Nobody supports font-size');
+
+  equal('pointerEvents' in  document.createElement('div').style,
+         Modernizr.testProp('pointerEvents'),
+         'results for `pointer-events` are consistent with a homegrown feature test');
+
+});
+
+
+
+test('Modernizr.testAllProps()',function(){
+
+  equal(true, Modernizr.testAllProps('margin'), 'Everyone supports margin');
+
+  equal(false, Modernizr.testAllProps('happiness'), 'Nobody supports the happiness style. :(');
+  equal(true, Modernizr.testAllProps('fontSize'), 'Everyone supports fontSize');
+  equal(false, Modernizr.testAllProps('font-size'), 'Nobody supports font-size');
+
+  equal(Modernizr.csstransitions, Modernizr.testAllProps('transition'), 'Modernizr result matches API result: csstransitions');
+
+  equal(Modernizr.csscolumns, Modernizr.testAllProps('columnCount'), 'Modernizr result matches API result: csscolumns')
+
+});
+
+
+
+
+
+
+test('Modernizr.prefixed() - css and DOM resolving', function(){
+  // https://gist.github.com/523692
+
+  function gimmePrefix(prop, obj){
+    var prefixes = ['Moz','Khtml','Webkit','O','ms'],
+        domPrefixes = ['moz','khtml','webkit','o','ms'],
+        elem     = document.createElement('div'),
+        upper    = prop.charAt(0).toUpperCase() + prop.slice(1);
+
+    if(!obj) {
+      if (prop in elem.style)
+        return prop;
+
+      for (var len = prefixes.length; len--; ){
+        if ((prefixes[len] + upper)  in elem.style)
+          return (prefixes[len] + upper);
+      }
+    } else {
+      if (prop in obj)
+        return prop;
+
+      for (var len = domPrefixes.length; len--; ){
+        if ((domPrefixes[len] + upper)  in obj)
+          return (domPrefixes[len] + upper);
+      }
+    }
+
+
+    return false;
+  }
+
+  var propArr = ['transition', 'backgroundSize', 'boxSizing', 'borderImage',
+                 'borderRadius', 'boxShadow', 'columnCount'];
+
+  var domPropArr = [{ 'prop': 'requestAnimationFrame',  'obj': window },
+                    { 'prop': 'querySelectorAll',       'obj': document },
+                    { 'prop': 'matchesSelector',        'obj': document.createElement('div') }];
+
+  for (var i = -1, len = propArr.length; ++i < len; ){
+    var prop = propArr[i];
+    equal(Modernizr.prefixed(prop), gimmePrefix(prop), 'results for ' + prop + ' match the homebaked prefix finder');
+  }
+
+  for (var i = -1, len = domPropArr.length; ++i < len; ){
+    var prop = domPropArr[i];
+    ok(!!~Modernizr.prefixed(prop.prop, prop.obj, false).toString().indexOf(gimmePrefix(prop.prop, prop.obj)), 'results for ' + prop.prop + ' match the homebaked prefix finder');
+  }
+
+
+
+
+});
+
+
+// FIXME: so a few of these are whitelisting for webkit. i'd like to improve that.
+test('Modernizr.prefixed autobind', function(){
+
+  var rAFName;
+
+  // quick sniff to find the local rAF prefixed name.
+  var vendors = ['ms', 'moz', 'webkit', 'o'];
+  for(var x = 0; x < vendors.length && !rAFName; ++x) {
+    rAFName = window[vendors[x]+'RequestAnimationFrame'] && vendors[x]+'RequestAnimationFrame';
+  }
+
+  if (rAFName){
+    // rAF returns a function
+    equal(
+      'function',
+      typeof Modernizr.prefixed('requestAnimationFrame', window),
+      "Modernizr.prefixed('requestAnimationFrame', window) returns a function")
+
+    // unless we false it to a string
+    equal(
+      rAFName,
+      Modernizr.prefixed('requestAnimationFrame', window, false),
+      "Modernizr.prefixed('requestAnimationFrame', window, false) returns a string (the prop name)")
+
+  }
+
+  if (document.body.webkitMatchesSelector || document.body.mozMatchesSelector){
+
+    var fn = Modernizr.prefixed('matchesSelector', HTMLElement.prototype, document.body);
+
+    //returns function
+    equal(
+      'function',
+      typeof fn,
+      "Modernizr.prefixed('matchesSelector', HTMLElement.prototype, document.body) returns a function");
+
+      // fn scoping
+    equal(
+      true,
+      fn('body'),
+      "Modernizr.prefixed('matchesSelector', HTMLElement.prototype, document.body) is scoped to the body")
+
+  }
+
+  // Webkit only: are there other objects that are prefixed?
+  if (window.webkitNotifications){
+    // should be an object.
+
+    equal(
+      'object',
+      typeof Modernizr.prefixed('Notifications', window),
+      "Modernizr.prefixed('Notifications') returns an object");
+
+  }
+
+  // Webkit only:
+  if (typeof document.webkitIsFullScreen !== 'undefined'){
+    // boolean
+
+    equal(
+      'boolean',
+      typeof Modernizr.prefixed('isFullScreen', document),
+      "Modernizr.prefixed('isFullScreen') returns a boolean");
+  }
+
+
+
+  // Moz only:
+  if (typeof document.mozFullScreen !== 'undefined'){
+    // boolean
+
+    equal(
+      'boolean',
+      typeof Modernizr.prefixed('fullScreen', document),
+      "Modernizr.prefixed('fullScreen') returns a boolean");
+  }
+
+
+  // Webkit-only.. takes advantage of Webkit's mixed case of prefixes
+  if (document.body.style.WebkitAnimation){
+    // string
+
+    equal(
+      'string',
+      typeof Modernizr.prefixed('animation', document.body.style),
+      "Modernizr.prefixed('animation', document.body.style) returns value of that, as a string");
+
+    equal(
+      animationStyle.toLowerCase(),
+      Modernizr.prefixed('animation', document.body.style, false).toLowerCase(),
+      "Modernizr.prefixed('animation', document.body.style, false) returns the (case-normalized) name of the property: webkitanimation");
+
+  }
+
+  equal(
+    false,
+    Modernizr.prefixed('doSomethingAmazing$#$', window),
+    "Modernizr.prefixed('doSomethingAmazing$#$', window) : Gobbledygook with prefixed(str,obj) returns false");
+
+  equal(
+    false,
+    Modernizr.prefixed('doSomethingAmazing$#$', window, document.body),
+    "Modernizr.prefixed('doSomethingAmazing$#$', window) : Gobbledygook with prefixed(str,obj, scope) returns false");
+
+
+  equal(
+    false,
+    Modernizr.prefixed('doSomethingAmazing$#$', window, false),
+    "Modernizr.prefixed('doSomethingAmazing$#$', window) : Gobbledygook with prefixed(str,obj, false) returns false");
+
+
+});
+
+
+
+
+
diff --git a/dev/js/modernizr/test/qunit/qunit.js b/dev/js/modernizr/test/qunit/qunit.js
new file mode 100644 (file)
index 0000000..9efedcb
--- /dev/null
@@ -0,0 +1,1932 @@
+/**
+ * QUnit v1.9.0 - A JavaScript Unit Testing Framework
+ *
+ * http://docs.jquery.com/QUnit
+ *
+ * Copyright (c) 2012 John Resig, Jörn Zaefferer
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * or GPL (GPL-LICENSE.txt) licenses.
+ */
+
+(function( window ) {
+
+var QUnit,
+       config,
+       onErrorFnPrev,
+       testId = 0,
+       fileName = (sourceFromStacktrace( 0 ) || "" ).replace(/(:\d+)+\)?/, "").replace(/.+\//, ""),
+       toString = Object.prototype.toString,
+       hasOwn = Object.prototype.hasOwnProperty,
+       defined = {
+       setTimeout: typeof window.setTimeout !== "undefined",
+       sessionStorage: (function() {
+               var x = "qunit-test-string";
+               try {
+                       sessionStorage.setItem( x, x );
+                       sessionStorage.removeItem( x );
+                       return true;
+               } catch( e ) {
+                       return false;
+               }
+       }())
+};
+
+function Test( settings ) {
+       extend( this, settings );
+       this.assertions = [];
+       this.testNumber = ++Test.count;
+}
+
+Test.count = 0;
+
+Test.prototype = {
+       init: function() {
+               var a, b, li,
+        tests = id( "qunit-tests" );
+
+               if ( tests ) {
+                       b = document.createElement( "strong" );
+                       b.innerHTML = this.name;
+
+                       // `a` initialized at top of scope
+                       a = document.createElement( "a" );
+                       a.innerHTML = "Rerun";
+                       a.href = QUnit.url({ testNumber: this.testNumber });
+
+                       li = document.createElement( "li" );
+                       li.appendChild( b );
+                       li.appendChild( a );
+                       li.className = "running";
+                       li.id = this.id = "qunit-test-output" + testId++;
+
+                       tests.appendChild( li );
+               }
+       },
+       setup: function() {
+               if ( this.module !== config.previousModule ) {
+                       if ( config.previousModule ) {
+                               runLoggingCallbacks( "moduleDone", QUnit, {
+                                       name: config.previousModule,
+                                       failed: config.moduleStats.bad,
+                                       passed: config.moduleStats.all - config.moduleStats.bad,
+                                       total: config.moduleStats.all
+                               });
+                       }
+                       config.previousModule = this.module;
+                       config.moduleStats = { all: 0, bad: 0 };
+                       runLoggingCallbacks( "moduleStart", QUnit, {
+                               name: this.module
+                       });
+               } else if ( config.autorun ) {
+                       runLoggingCallbacks( "moduleStart", QUnit, {
+                               name: this.module
+                       });
+               }
+
+               config.current = this;
+
+               this.testEnvironment = extend({
+                       setup: function() {},
+                       teardown: function() {}
+               }, this.moduleTestEnvironment );
+
+               runLoggingCallbacks( "testStart", QUnit, {
+                       name: this.testName,
+                       module: this.module
+               });
+
+               // allow utility functions to access the current test environment
+               // TODO why??
+               QUnit.current_testEnvironment = this.testEnvironment;
+
+               if ( !config.pollution ) {
+                       saveGlobal();
+               }
+               if ( config.notrycatch ) {
+                       this.testEnvironment.setup.call( this.testEnvironment );
+                       return;
+               }
+               try {
+                       this.testEnvironment.setup.call( this.testEnvironment );
+               } catch( e ) {
+                       QUnit.pushFailure( "Setup failed on " + this.testName + ": " + e.message, extractStacktrace( e, 1 ) );
+               }
+       },
+       run: function() {
+               config.current = this;
+
+               var running = id( "qunit-testresult" );
+
+               if ( running ) {
+                       running.innerHTML = "Running: <br/>" + this.name;
+               }
+
+               if ( this.async ) {
+                       QUnit.stop();
+               }
+
+               if ( config.notrycatch ) {
+                       this.callback.call( this.testEnvironment, QUnit.assert );
+                       return;
+               }
+
+               try {
+                       this.callback.call( this.testEnvironment, QUnit.assert );
+               } catch( e ) {
+                       QUnit.pushFailure( "Died on test #" + (this.assertions.length + 1) + " " + this.stack + ": " + e.message, extractStacktrace( e, 0 ) );
+                       // else next test will carry the responsibility
+                       saveGlobal();
+
+                       // Restart the tests if they're blocking
+                       if ( config.blocking ) {
+                               QUnit.start();
+                       }
+               }
+       },
+       teardown: function() {
+               config.current = this;
+               if ( config.notrycatch ) {
+                       this.testEnvironment.teardown.call( this.testEnvironment );
+                       return;
+               } else {
+                       try {
+                               this.testEnvironment.teardown.call( this.testEnvironment );
+                       } catch( e ) {
+                               QUnit.pushFailure( "Teardown failed on " + this.testName + ": " + e.message, extractStacktrace( e, 1 ) );
+                       }
+               }
+               checkPollution();
+       },
+       finish: function() {
+               config.current = this;
+               if ( config.requireExpects && this.expected == null ) {
+                       QUnit.pushFailure( "Expected number of assertions to be defined, but expect() was not called.", this.stack );
+               } else if ( this.expected != null && this.expected != this.assertions.length ) {
+                       QUnit.pushFailure( "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run", this.stack );
+               } else if ( this.expected == null && !this.assertions.length ) {
+                       QUnit.pushFailure( "Expected at least one assertion, but none were run - call expect(0) to accept zero assertions.", this.stack );
+               }
+
+               var assertion, a, b, i, li, ol,
+                       test = this,
+                       good = 0,
+                       bad = 0,
+                       tests = id( "qunit-tests" );
+
+               config.stats.all += this.assertions.length;
+               config.moduleStats.all += this.assertions.length;
+
+               if ( tests ) {
+                       ol = document.createElement( "ol" );
+
+                       for ( i = 0; i < this.assertions.length; i++ ) {
+                               assertion = this.assertions[i];
+
+                               li = document.createElement( "li" );
+                               li.className = assertion.result ? "pass" : "fail";
+                               li.innerHTML = assertion.message || ( assertion.result ? "okay" : "failed" );
+                               ol.appendChild( li );
+
+                               if ( assertion.result ) {
+                                       good++;
+                               } else {
+                                       bad++;
+                                       config.stats.bad++;
+                                       config.moduleStats.bad++;
+                               }
+                       }
+
+                       // store result when possible
+                       if ( QUnit.config.reorder && defined.sessionStorage ) {
+                               if ( bad ) {
+                                       sessionStorage.setItem( "qunit-test-" + this.module + "-" + this.testName, bad );
+                               } else {
+                                       sessionStorage.removeItem( "qunit-test-" + this.module + "-" + this.testName );
+                               }
+                       }
+
+                       if ( bad === 0 ) {
+                               ol.style.display = "none";
+                       }
+
+                       // `b` initialized at top of scope
+                       b = document.createElement( "strong" );
+                       b.innerHTML = this.name + " <b class='counts'>(<b class='failed'>" + bad + "</b>, <b class='passed'>" + good + "</b>, " + this.assertions.length + ")</b>";
+
+                       addEvent(b, "click", function() {
+                               var next = b.nextSibling.nextSibling,
+                                       display = next.style.display;
+                               next.style.display = display === "none" ? "block" : "none";
+                       });
+
+                       addEvent(b, "dblclick", function( e ) {
+                               var target = e && e.target ? e.target : window.event.srcElement;
+                               if ( target.nodeName.toLowerCase() == "span" || target.nodeName.toLowerCase() == "b" ) {
+                                       target = target.parentNode;
+                               }
+                               if ( window.location && target.nodeName.toLowerCase() === "strong" ) {
+                                       window.location = QUnit.url({ testNumber: test.testNumber });
+                               }
+                       });
+
+                       // `li` initialized at top of scope
+                       li = id( this.id );
+                       li.className = bad ? "fail" : "pass";
+                       li.removeChild( li.firstChild );
+                       a = li.firstChild;
+                       li.appendChild( b );
+                       li.appendChild ( a );
+                       li.appendChild( ol );
+
+               } else {
+                       for ( i = 0; i < this.assertions.length; i++ ) {
+                               if ( !this.assertions[i].result ) {
+                                       bad++;
+                                       config.stats.bad++;
+                                       config.moduleStats.bad++;
+                               }
+                       }
+               }
+
+               runLoggingCallbacks( "testDone", QUnit, {
+                       name: this.testName,
+                       module: this.module,
+                       failed: bad,
+                       passed: this.assertions.length - bad,
+                       total: this.assertions.length
+               });
+
+               QUnit.reset();
+
+               config.current = undefined;
+       },
+
+       queue: function() {
+               var bad,
+                       test = this;
+
+               synchronize(function() {
+                       test.init();
+               });
+               function run() {
+                       // each of these can by async
+                       synchronize(function() {
+                               test.setup();
+                       });
+                       synchronize(function() {
+                               test.run();
+                       });
+                       synchronize(function() {
+                               test.teardown();
+                       });
+                       synchronize(function() {
+                               test.finish();
+                       });
+               }
+
+               // `bad` initialized at top of scope
+               // defer when previous test run passed, if storage is available
+               bad = QUnit.config.reorder && defined.sessionStorage &&
+                                               +sessionStorage.getItem( "qunit-test-" + this.module + "-" + this.testName );
+
+               if ( bad ) {
+                       run();
+               } else {
+                       synchronize( run, true );
+               }
+       }
+};
+
+// Root QUnit object.
+// `QUnit` initialized at top of scope
+QUnit = {
+
+       // call on start of module test to prepend name to all tests
+       module: function( name, testEnvironment ) {
+               config.currentModule = name;
+               config.currentModuleTestEnviroment = testEnvironment;
+       },
+
+       asyncTest: function( testName, expected, callback ) {
+               if ( arguments.length === 2 ) {
+                       callback = expected;
+                       expected = null;
+               }
+
+               QUnit.test( testName, expected, callback, true );
+       },
+
+       test: function( testName, expected, callback, async ) {
+               var test,
+                       name = "<span class='test-name'>" + escapeInnerText( testName ) + "</span>";
+
+               if ( arguments.length === 2 ) {
+                       callback = expected;
+                       expected = null;
+               }
+
+               if ( config.currentModule ) {
+                       name = "<span class='module-name'>" + config.currentModule + "</span>: " + name;
+               }
+
+               test = new Test({
+                       name: name,
+                       testName: testName,
+                       expected: expected,
+                       async: async,
+                       callback: callback,
+                       module: config.currentModule,
+                       moduleTestEnvironment: config.currentModuleTestEnviroment,
+                       stack: sourceFromStacktrace( 2 )
+               });
+
+               if ( !validTest( test ) ) {
+                       return;
+               }
+
+               test.queue();
+       },
+
+       // Specify the number of expected assertions to gurantee that failed test (no assertions are run at all) don't slip through.
+       expect: function( asserts ) {
+               config.current.expected = asserts;
+       },
+
+       start: function( count ) {
+               config.semaphore -= count || 1;
+               // don't start until equal number of stop-calls
+               if ( config.semaphore > 0 ) {
+                       return;
+               }
+               // ignore if start is called more often then stop
+               if ( config.semaphore < 0 ) {
+                       config.semaphore = 0;
+               }
+               // A slight delay, to avoid any current callbacks
+               if ( defined.setTimeout ) {
+                       window.setTimeout(function() {
+                               if ( config.semaphore > 0 ) {
+                                       return;
+                               }
+                               if ( config.timeout ) {
+                                       clearTimeout( config.timeout );
+                               }
+
+                               config.blocking = false;
+                               process( true );
+                       }, 13);
+               } else {
+                       config.blocking = false;
+                       process( true );
+               }
+       },
+
+       stop: function( count ) {
+               config.semaphore += count || 1;
+               config.blocking = true;
+
+               if ( config.testTimeout && defined.setTimeout ) {
+                       clearTimeout( config.timeout );
+                       config.timeout = window.setTimeout(function() {
+                               QUnit.ok( false, "Test timed out" );
+                               config.semaphore = 1;
+                               QUnit.start();
+                       }, config.testTimeout );
+               }
+       }
+};
+
+// Asssert helpers
+// All of these must call either QUnit.push() or manually do:
+// - runLoggingCallbacks( "log", .. );
+// - config.current.assertions.push({ .. });
+QUnit.assert = {
+       /**
+        * Asserts rough true-ish result.
+        * @name ok
+        * @function
+        * @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" );
+        */
+       ok: function( result, msg ) {
+               if ( !config.current ) {
+                       throw new Error( "ok() assertion outside test context, was " + sourceFromStacktrace(2) );
+               }
+               result = !!result;
+
+               var source,
+                       details = {
+                               result: result,
+                               message: msg
+                       };
+
+               msg = escapeInnerText( msg || (result ? "okay" : "failed" ) );
+               msg = "<span class='test-message'>" + msg + "</span>";
+
+               if ( !result ) {
+                       source = sourceFromStacktrace( 2 );
+                       if ( source ) {
+                               details.source = source;
+                               msg += "<table><tr class='test-source'><th>Source: </th><td><pre>" + escapeInnerText( source ) + "</pre></td></tr></table>";
+                       }
+               }
+               runLoggingCallbacks( "log", QUnit, details );
+               config.current.assertions.push({
+                       result: result,
+                       message: msg
+               });
+       },
+
+       /**
+        * Assert that the first two arguments are equal, with an optional message.
+        * Prints out both actual and expected values.
+        * @name equal
+        * @function
+        * @example equal( format( "Received {0} bytes.", 2), "Received 2 bytes.", "format() replaces {0} with next argument" );
+        */
+       equal: function( actual, expected, message ) {
+               QUnit.push( expected == actual, actual, expected, message );
+       },
+
+       /**
+        * @name notEqual
+        * @function
+        */
+       notEqual: function( actual, expected, message ) {
+               QUnit.push( expected != actual, actual, expected, message );
+       },
+
+       /**
+        * @name deepEqual
+        * @function
+        */
+       deepEqual: function( actual, expected, message ) {
+               QUnit.push( QUnit.equiv(actual, expected), actual, expected, message );
+       },
+
+       /**
+        * @name notDeepEqual
+        * @function
+        */
+       notDeepEqual: function( actual, expected, message ) {
+               QUnit.push( !QUnit.equiv(actual, expected), actual, expected, message );
+       },
+
+       /**
+        * @name strictEqual
+        * @function
+        */
+       strictEqual: function( actual, expected, message ) {
+               QUnit.push( expected === actual, actual, expected, message );
+       },
+
+       /**
+        * @name notStrictEqual
+        * @function
+        */
+       notStrictEqual: function( actual, expected, message ) {
+               QUnit.push( expected !== actual, actual, expected, message );
+       },
+
+       throws: function( block, expected, message ) {
+               var actual,
+                       ok = false;
+
+               // 'expected' is optional
+               if ( typeof expected === "string" ) {
+                       message = expected;
+                       expected = null;
+               }
+
+               config.current.ignoreGlobalErrors = true;
+               try {
+                       block.call( config.current.testEnvironment );
+               } catch (e) {
+                       actual = e;
+               }
+               config.current.ignoreGlobalErrors = false;
+
+               if ( actual ) {
+                       // we don't want to validate thrown error
+                       if ( !expected ) {
+                               ok = true;
+                       // expected is a regexp
+                       } else if ( QUnit.objectType( expected ) === "regexp" ) {
+                               ok = expected.test( actual );
+                       // expected is a constructor
+                       } else if ( actual instanceof expected ) {
+                               ok = true;
+                       // expected is a validation function which returns true is validation passed
+                       } else if ( expected.call( {}, actual ) === true ) {
+                               ok = true;
+                       }
+
+                       QUnit.push( ok, actual, null, message );
+               } else {
+                       QUnit.pushFailure( message, null, 'No exception was thrown.' );
+               }
+       }
+};
+
+/**
+ * @deprecate since 1.8.0
+ * Kept assertion helpers in root for backwards compatibility
+ */
+extend( QUnit, QUnit.assert );
+
+/**
+ * @deprecated since 1.9.0
+ * Kept global "raises()" for backwards compatibility
+ */
+QUnit.raises = QUnit.assert.throws;
+
+/**
+ * @deprecated since 1.0.0, replaced with error pushes since 1.3.0
+ * Kept to avoid TypeErrors for undefined methods.
+ */
+QUnit.equals = function() {
+       QUnit.push( false, false, false, "QUnit.equals has been deprecated since 2009 (e88049a0), use QUnit.equal instead" );
+};
+QUnit.same = function() {
+       QUnit.push( false, false, false, "QUnit.same has been deprecated since 2009 (e88049a0), use QUnit.deepEqual instead" );
+};
+
+// We want access to the constructor's prototype
+(function() {
+       function F() {}
+       F.prototype = QUnit;
+       QUnit = new F();
+       // Make F QUnit's constructor so that we can add to the prototype later
+       QUnit.constructor = F;
+}());
+
+/**
+ * Config object: Maintain internal state
+ * Later exposed as QUnit.config
+ * `config` initialized at top of scope
+ */
+config = {
+       // The queue of tests to run
+       queue: [],
+
+       // block until document ready
+       blocking: true,
+
+       // when enabled, show only failing tests
+       // gets persisted through sessionStorage and can be changed in UI via checkbox
+       hidepassed: false,
+
+       // by default, run previously failed tests first
+       // very useful in combination with "Hide passed tests" checked
+       reorder: true,
+
+       // by default, modify document.title when suite is done
+       altertitle: true,
+
+       // when enabled, all tests must call expect()
+       requireExpects: false,
+
+       // add checkboxes that are persisted in the query-string
+       // when enabled, the id is set to `true` as a `QUnit.config` property
+       urlConfig: [
+               {
+                       id: "noglobals",
+                       label: "Check for Globals",
+                       tooltip: "Enabling this will test if any test introduces new properties on the `window` object. Stored as query-strings."
+               },
+               {
+                       id: "notrycatch",
+                       label: "No try-catch",
+                       tooltip: "Enabling this will run tests outside of a try-catch block. Makes debugging exceptions in IE reasonable. Stored as query-strings."
+               }
+       ],
+
+       // logging callback queues
+       begin: [],
+       done: [],
+       log: [],
+       testStart: [],
+       testDone: [],
+       moduleStart: [],
+       moduleDone: []
+};
+
+// Initialize more QUnit.config and QUnit.urlParams
+(function() {
+       var i,
+               location = window.location || { search: "", protocol: "file:" },
+               params = location.search.slice( 1 ).split( "&" ),
+               length = params.length,
+               urlParams = {},
+               current;
+
+       if ( params[ 0 ] ) {
+               for ( i = 0; i < length; i++ ) {
+                       current = params[ i ].split( "=" );
+                       current[ 0 ] = decodeURIComponent( current[ 0 ] );
+                       // allow just a key to turn on a flag, e.g., test.html?noglobals
+                       current[ 1 ] = current[ 1 ] ? decodeURIComponent( current[ 1 ] ) : true;
+                       urlParams[ current[ 0 ] ] = current[ 1 ];
+               }
+       }
+
+       QUnit.urlParams = urlParams;
+
+       // String search anywhere in moduleName+testName
+       config.filter = urlParams.filter;
+
+       // Exact match of the module name
+       config.module = urlParams.module;
+
+       config.testNumber = parseInt( urlParams.testNumber, 10 ) || null;
+
+       // Figure out if we're running the tests from a server or not
+       QUnit.isLocal = location.protocol === "file:";
+}());
+
+// Export global variables, unless an 'exports' object exists,
+// in that case we assume we're in CommonJS (dealt with on the bottom of the script)
+if ( typeof exports === "undefined" ) {
+       extend( window, QUnit );
+
+       // Expose QUnit object
+       window.QUnit = QUnit;
+}
+
+// Extend QUnit object,
+// these after set here because they should not be exposed as global functions
+extend( QUnit, {
+       config: config,
+
+       // Initialize the configuration options
+       init: function() {
+               extend( config, {
+                       stats: { all: 0, bad: 0 },
+                       moduleStats: { all: 0, bad: 0 },
+                       started: +new Date(),
+                       updateRate: 1000,
+                       blocking: false,
+                       autostart: true,
+                       autorun: false,
+                       filter: "",
+                       queue: [],
+                       semaphore: 0
+               });
+
+               var tests, banner, result,
+                       qunit = id( "qunit" );
+
+               if ( qunit ) {
+                       qunit.innerHTML =
+                               "<h1 id='qunit-header'>" + escapeInnerText( document.title ) + "</h1>" +
+                               "<h2 id='qunit-banner'></h2>" +
+                               "<div id='qunit-testrunner-toolbar'></div>" +
+                               "<h2 id='qunit-userAgent'></h2>" +
+                               "<ol id='qunit-tests'></ol>";
+               }
+
+               tests = id( "qunit-tests" );
+               banner = id( "qunit-banner" );
+               result = id( "qunit-testresult" );
+
+               if ( tests ) {
+                       tests.innerHTML = "";
+               }
+
+               if ( banner ) {
+                       banner.className = "";
+               }
+
+               if ( result ) {
+                       result.parentNode.removeChild( result );
+               }
+
+               if ( tests ) {
+                       result = document.createElement( "p" );
+                       result.id = "qunit-testresult";
+                       result.className = "result";
+                       tests.parentNode.insertBefore( result, tests );
+                       result.innerHTML = "Running...<br/>&nbsp;";
+               }
+       },
+
+       // Resets the test setup. Useful for tests that modify the DOM.
+       // If jQuery is available, uses jQuery's html(), otherwise just innerHTML.
+       reset: function() {
+               var fixture;
+
+               if ( window.jQuery ) {
+                       jQuery( "#qunit-fixture" ).html( config.fixture );
+               } else {
+                       fixture = id( "qunit-fixture" );
+                       if ( fixture ) {
+                               fixture.innerHTML = config.fixture;
+                       }
+               }
+       },
+
+       // Trigger an event on an element.
+       // @example triggerEvent( document.body, "click" );
+       triggerEvent: function( elem, type, event ) {
+               if ( document.createEvent ) {
+                       event = document.createEvent( "MouseEvents" );
+                       event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView,
+                               0, 0, 0, 0, 0, false, false, false, false, 0, null);
+
+                       elem.dispatchEvent( event );
+               } else if ( elem.fireEvent ) {
+                       elem.fireEvent( "on" + type );
+               }
+       },
+
+       // Safe object type checking
+       is: function( type, obj ) {
+               return QUnit.objectType( obj ) == type;
+       },
+
+       objectType: function( obj ) {
+               if ( typeof obj === "undefined" ) {
+                               return "undefined";
+               // consider: typeof null === object
+               }
+               if ( obj === null ) {
+                               return "null";
+               }
+
+               var type = toString.call( obj ).match(/^\[object\s(.*)\]$/)[1] || "";
+
+               switch ( type ) {
+                       case "Number":
+                               if ( isNaN(obj) ) {
+                                       return "nan";
+                               }
+                               return "number";
+                       case "String":
+                       case "Boolean":
+                       case "Array":
+                       case "Date":
+                       case "RegExp":
+                       case "Function":
+                               return type.toLowerCase();
+               }
+               if ( typeof obj === "object" ) {
+                       return "object";
+               }
+               return undefined;
+       },
+
+       push: function( result, actual, expected, message ) {
+               if ( !config.current ) {
+                       throw new Error( "assertion outside test context, was " + sourceFromStacktrace() );
+               }
+
+               var output, source,
+                       details = {
+                               result: result,
+                               message: message,
+                               actual: actual,
+                               expected: expected
+                       };
+
+               message = escapeInnerText( message ) || ( result ? "okay" : "failed" );
+               message = "<span class='test-message'>" + message + "</span>";
+               output = message;
+
+               if ( !result ) {
+                       expected = escapeInnerText( QUnit.jsDump.parse(expected) );
+                       actual = escapeInnerText( QUnit.jsDump.parse(actual) );
+                       output += "<table><tr class='test-expected'><th>Expected: </th><td><pre>" + expected + "</pre></td></tr>";
+
+                       if ( actual != expected ) {
+                               output += "<tr class='test-actual'><th>Result: </th><td><pre>" + actual + "</pre></td></tr>";
+                               output += "<tr class='test-diff'><th>Diff: </th><td><pre>" + QUnit.diff( expected, actual ) + "</pre></td></tr>";
+                       }
+
+                       source = sourceFromStacktrace();
+
+                       if ( source ) {
+                               details.source = source;
+                               output += "<tr class='test-source'><th>Source: </th><td><pre>" + escapeInnerText( source ) + "</pre></td></tr>";
+                       }
+
+                       output += "</table>";
+               }
+
+               runLoggingCallbacks( "log", QUnit, details );
+
+               config.current.assertions.push({
+                       result: !!result,
+                       message: output
+               });
+       },
+
+       pushFailure: function( message, source, actual ) {
+               if ( !config.current ) {
+                       throw new Error( "pushFailure() assertion outside test context, was " + sourceFromStacktrace(2) );
+               }
+
+               var output,
+                       details = {
+                               result: false,
+                               message: message
+                       };
+
+               message = escapeInnerText( message ) || "error";
+               message = "<span class='test-message'>" + message + "</span>";
+               output = message;
+
+               output += "<table>";
+
+               if ( actual ) {
+                       output += "<tr class='test-actual'><th>Result: </th><td><pre>" + escapeInnerText( actual ) + "</pre></td></tr>";
+               }
+
+               if ( source ) {
+                       details.source = source;
+                       output += "<tr class='test-source'><th>Source: </th><td><pre>" + escapeInnerText( source ) + "</pre></td></tr>";
+               }
+
+               output += "</table>";
+
+               runLoggingCallbacks( "log", QUnit, details );
+
+               config.current.assertions.push({
+                       result: false,
+                       message: output
+               });
+       },
+
+       url: function( params ) {
+               params = extend( extend( {}, QUnit.urlParams ), params );
+               var key,
+                       querystring = "?";
+
+               for ( key in params ) {
+                       if ( !hasOwn.call( params, key ) ) {
+                               continue;
+                       }
+                       querystring += encodeURIComponent( key ) + "=" +
+                               encodeURIComponent( params[ key ] ) + "&";
+               }
+               return window.location.pathname + querystring.slice( 0, -1 );
+       },
+
+       extend: extend,
+       id: id,
+       addEvent: addEvent
+       // load, equiv, jsDump, diff: Attached later
+});
+
+/**
+ * @deprecated: Created for backwards compatibility with test runner that set the hook function
+ * into QUnit.{hook}, instead of invoking it and passing the hook function.
+ * QUnit.constructor is set to the empty F() above so that we can add to it's prototype here.
+ * Doing this allows us to tell if the following methods have been overwritten on the actual
+ * QUnit object.
+ */
+extend( QUnit.constructor.prototype, {
+
+       // Logging callbacks; all receive a single argument with the listed properties
+       // run test/logs.html for any related changes
+       begin: registerLoggingCallback( "begin" ),
+
+       // done: { failed, passed, total, runtime }
+       done: registerLoggingCallback( "done" ),
+
+       // log: { result, actual, expected, message }
+       log: registerLoggingCallback( "log" ),
+
+       // testStart: { name }
+       testStart: registerLoggingCallback( "testStart" ),
+
+       // testDone: { name, failed, passed, total }
+       testDone: registerLoggingCallback( "testDone" ),
+
+       // moduleStart: { name }
+       moduleStart: registerLoggingCallback( "moduleStart" ),
+
+       // moduleDone: { name, failed, passed, total }
+       moduleDone: registerLoggingCallback( "moduleDone" )
+});
+
+if ( typeof document === "undefined" || document.readyState === "complete" ) {
+       config.autorun = true;
+}
+
+QUnit.load = function() {
+       runLoggingCallbacks( "begin", QUnit, {} );
+
+       // Initialize the config, saving the execution queue
+       var banner, filter, i, label, len, main, ol, toolbar, userAgent, val, urlConfigCheckboxes,
+               urlConfigHtml = "",
+               oldconfig = extend( {}, config );
+
+       QUnit.init();
+       extend(config, oldconfig);
+
+       config.blocking = false;
+
+       len = config.urlConfig.length;
+
+       for ( i = 0; i < len; i++ ) {
+               val = config.urlConfig[i];
+               if ( typeof val === "string" ) {
+                       val = {
+                               id: val,
+                               label: val,
+                               tooltip: "[no tooltip available]"
+                       };
+               }
+               config[ val.id ] = QUnit.urlParams[ val.id ];
+               urlConfigHtml += "<input id='qunit-urlconfig-" + val.id + "' name='" + val.id + "' type='checkbox'" + ( config[ val.id ] ? " checked='checked'" : "" ) + " title='" + val.tooltip + "'><label for='qunit-urlconfig-" + val.id + "' title='" + val.tooltip + "'>" + val.label + "</label>";
+       }
+
+       // `userAgent` initialized at top of scope
+       userAgent = id( "qunit-userAgent" );
+       if ( userAgent ) {
+               userAgent.innerHTML = navigator.userAgent;
+       }
+
+       // `banner` initialized at top of scope
+       banner = id( "qunit-header" );
+       if ( banner ) {
+               banner.innerHTML = "<a href='" + QUnit.url({ filter: undefined, module: undefined, testNumber: undefined }) + "'>" + banner.innerHTML + "</a> ";
+       }
+
+       // `toolbar` initialized at top of scope
+       toolbar = id( "qunit-testrunner-toolbar" );
+       if ( toolbar ) {
+               // `filter` initialized at top of scope
+               filter = document.createElement( "input" );
+               filter.type = "checkbox";
+               filter.id = "qunit-filter-pass";
+
+               addEvent( filter, "click", function() {
+                       var tmp,
+                               ol = document.getElementById( "qunit-tests" );
+
+                       if ( filter.checked ) {
+                               ol.className = ol.className + " hidepass";
+                       } else {
+                               tmp = " " + ol.className.replace( /[\n\t\r]/g, " " ) + " ";
+                               ol.className = tmp.replace( / hidepass /, " " );
+                       }
+                       if ( defined.sessionStorage ) {
+                               if (filter.checked) {
+                                       sessionStorage.setItem( "qunit-filter-passed-tests", "true" );
+                               } else {
+                                       sessionStorage.removeItem( "qunit-filter-passed-tests" );
+                               }
+                       }
+               });
+
+               if ( config.hidepassed || defined.sessionStorage && sessionStorage.getItem( "qunit-filter-passed-tests" ) ) {
+                       filter.checked = true;
+                       // `ol` initialized at top of scope
+                       ol = document.getElementById( "qunit-tests" );
+                       ol.className = ol.className + " hidepass";
+               }
+               toolbar.appendChild( filter );
+
+               // `label` initialized at top of scope
+               label = document.createElement( "label" );
+               label.setAttribute( "for", "qunit-filter-pass" );
+               label.setAttribute( "title", "Only show tests and assertons that fail. Stored in sessionStorage." );
+               label.innerHTML = "Hide passed tests";
+               toolbar.appendChild( label );
+
+               urlConfigCheckboxes = document.createElement( 'span' );
+               urlConfigCheckboxes.innerHTML = urlConfigHtml;
+               addEvent( urlConfigCheckboxes, "change", function( event ) {
+                       var params = {};
+                       params[ event.target.name ] = event.target.checked ? true : undefined;
+                       window.location = QUnit.url( params );
+               });
+               toolbar.appendChild( urlConfigCheckboxes );
+       }
+
+       // `main` initialized at top of scope
+       main = id( "qunit-fixture" );
+       if ( main ) {
+               config.fixture = main.innerHTML;
+       }
+
+       if ( config.autostart ) {
+               QUnit.start();
+       }
+};
+
+addEvent( window, "load", QUnit.load );
+
+// `onErrorFnPrev` initialized at top of scope
+// Preserve other handlers
+onErrorFnPrev = window.onerror;
+
+// Cover uncaught exceptions
+// Returning true will surpress the default browser handler,
+// returning false will let it run.
+window.onerror = function ( error, filePath, linerNr ) {
+       var ret = false;
+       if ( onErrorFnPrev ) {
+               ret = onErrorFnPrev( error, filePath, linerNr );
+       }
+
+       // Treat return value as window.onerror itself does,
+       // Only do our handling if not surpressed.
+       if ( ret !== true ) {
+               if ( QUnit.config.current ) {
+                       if ( QUnit.config.current.ignoreGlobalErrors ) {
+                               return true;
+                       }
+                       QUnit.pushFailure( error, filePath + ":" + linerNr );
+               } else {
+                       QUnit.test( "global failure", function() {
+                               QUnit.pushFailure( error, filePath + ":" + linerNr );
+                       });
+               }
+               return false;
+       }
+
+       return ret;
+};
+
+function done() {
+       config.autorun = true;
+
+       // Log the last module results
+       if ( config.currentModule ) {
+               runLoggingCallbacks( "moduleDone", QUnit, {
+                       name: config.currentModule,
+                       failed: config.moduleStats.bad,
+                       passed: config.moduleStats.all - config.moduleStats.bad,
+                       total: config.moduleStats.all
+               });
+       }
+
+       var i, key,
+               banner = id( "qunit-banner" ),
+               tests = id( "qunit-tests" ),
+               runtime = +new Date() - config.started,
+               passed = config.stats.all - config.stats.bad,
+               html = [
+                       "Tests completed in ",
+                       runtime,
+                       " milliseconds.<br/>",
+                       "<span class='passed'>",
+                       passed,
+                       "</span> tests of <span class='total'>",
+                       config.stats.all,
+                       "</span> passed, <span class='failed'>",
+                       config.stats.bad,
+                       "</span> failed."
+               ].join( "" );
+
+       if ( banner ) {
+               banner.className = ( config.stats.bad ? "qunit-fail" : "qunit-pass" );
+       }
+
+       if ( tests ) {
+               id( "qunit-testresult" ).innerHTML = html;
+       }
+
+       if ( config.altertitle && typeof document !== "undefined" && document.title ) {
+               // show ✖ for good, ✔ for bad suite result in title
+               // use escape sequences in case file gets loaded with non-utf-8-charset
+               document.title = [
+                       ( config.stats.bad ? "\u2716" : "\u2714" ),
+                       document.title.replace( /^[\u2714\u2716] /i, "" )
+               ].join( " " );
+       }
+
+       // clear own sessionStorage items if all tests passed
+       if ( config.reorder && defined.sessionStorage && config.stats.bad === 0 ) {
+               // `key` & `i` initialized at top of scope
+               for ( i = 0; i < sessionStorage.length; i++ ) {
+                       key = sessionStorage.key( i++ );
+                       if ( key.indexOf( "qunit-test-" ) === 0 ) {
+                               sessionStorage.removeItem( key );
+                       }
+               }
+       }
+
+       runLoggingCallbacks( "done", QUnit, {
+               failed: config.stats.bad,
+               passed: passed,
+               total: config.stats.all,
+               runtime: runtime
+       });
+}
+
+/** @return Boolean: true if this test should be ran */
+function validTest( test ) {
+       var include,
+               filter = config.filter && config.filter.toLowerCase(),
+               module = config.module && config.module.toLowerCase(),
+               fullName = (test.module + ": " + test.testName).toLowerCase();
+
+       if ( config.testNumber ) {
+               return test.testNumber === config.testNumber;
+       }
+
+       if ( module && ( !test.module || test.module.toLowerCase() !== module ) ) {
+               return false;
+       }
+
+       if ( !filter ) {
+               return true;
+       }
+
+       include = filter.charAt( 0 ) !== "!";
+       if ( !include ) {
+               filter = filter.slice( 1 );
+       }
+
+       // If the filter matches, we need to honour include
+       if ( fullName.indexOf( filter ) !== -1 ) {
+               return include;
+       }
+
+       // Otherwise, do the opposite
+       return !include;
+}
+
+// so far supports only Firefox, Chrome and Opera (buggy), Safari (for real exceptions)
+// Later Safari and IE10 are supposed to support error.stack as well
+// See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack
+function extractStacktrace( e, offset ) {
+       offset = offset === undefined ? 3 : offset;
+
+       var stack, include, i, regex;
+
+       if ( e.stacktrace ) {
+               // Opera
+               return e.stacktrace.split( "\n" )[ offset + 3 ];
+       } else if ( e.stack ) {
+               // Firefox, Chrome
+               stack = e.stack.split( "\n" );
+               if (/^error$/i.test( stack[0] ) ) {
+                       stack.shift();
+               }
+               if ( fileName ) {
+                       include = [];
+                       for ( i = offset; i < stack.length; i++ ) {
+                               if ( stack[ i ].indexOf( fileName ) != -1 ) {
+                                       break;
+                               }
+                               include.push( stack[ i ] );
+                       }
+                       if ( include.length ) {
+                               return include.join( "\n" );
+                       }
+               }
+               return stack[ offset ];
+       } else if ( e.sourceURL ) {
+               // Safari, PhantomJS
+               // hopefully one day Safari provides actual stacktraces
+               // exclude useless self-reference for generated Error objects
+               if ( /qunit.js$/.test( e.sourceURL ) ) {
+                       return;
+               }
+               // for actual exceptions, this is useful
+               return e.sourceURL + ":" + e.line;
+       }
+}
+function sourceFromStacktrace( offset ) {
+       try {
+               throw new Error();
+       } catch ( e ) {
+               return extractStacktrace( e, offset );
+       }
+}
+
+function escapeInnerText( s ) {
+       if ( !s ) {
+               return "";
+       }
+       s = s + "";
+       return s.replace( /[\&<>]/g, function( s ) {
+               switch( s ) {
+                       case "&": return "&amp;";
+                       case "<": return "&lt;";
+                       case ">": return "&gt;";
+                       default: return s;
+               }
+       });
+}
+
+function synchronize( callback, last ) {
+       config.queue.push( callback );
+
+       if ( config.autorun && !config.blocking ) {
+               process( last );
+       }
+}
+
+function process( last ) {
+       function next() {
+               process( last );
+       }
+       var start = new Date().getTime();
+       config.depth = config.depth ? config.depth + 1 : 1;
+
+       while ( config.queue.length && !config.blocking ) {
+               if ( !defined.setTimeout || config.updateRate <= 0 || ( ( new Date().getTime() - start ) < config.updateRate ) ) {
+                       config.queue.shift()();
+               } else {
+                       window.setTimeout( next, 13 );
+                       break;
+               }
+       }
+       config.depth--;
+       if ( last && !config.blocking && !config.queue.length && config.depth === 0 ) {
+               done();
+       }
+}
+
+function saveGlobal() {
+       config.pollution = [];
+
+       if ( config.noglobals ) {
+               for ( var key in window ) {
+                       // in Opera sometimes DOM element ids show up here, ignore them
+                       if ( !hasOwn.call( window, key ) || /^qunit-test-output/.test( key ) ) {
+                               continue;
+                       }
+                       config.pollution.push( key );
+               }
+       }
+}
+
+function checkPollution( name ) {
+       var newGlobals,
+               deletedGlobals,
+               old = config.pollution;
+
+       saveGlobal();
+
+       newGlobals = diff( config.pollution, old );
+       if ( newGlobals.length > 0 ) {
+               QUnit.pushFailure( "Introduced global variable(s): " + newGlobals.join(", ") );
+       }
+
+       deletedGlobals = diff( old, config.pollution );
+       if ( deletedGlobals.length > 0 ) {
+               QUnit.pushFailure( "Deleted global variable(s): " + deletedGlobals.join(", ") );
+       }
+}
+
+// returns a new Array with the elements that are in a but not in b
+function diff( a, b ) {
+       var i, j,
+               result = a.slice();
+
+       for ( i = 0; i < result.length; i++ ) {
+               for ( j = 0; j < b.length; j++ ) {
+                       if ( result[i] === b[j] ) {
+                               result.splice( i, 1 );
+                               i--;
+                               break;
+                       }
+               }
+       }
+       return result;
+}
+
+function extend( a, b ) {
+       for ( var prop in b ) {
+               if ( b[ prop ] === undefined ) {
+                       delete a[ prop ];
+
+               // Avoid "Member not found" error in IE8 caused by setting window.constructor
+               } else if ( prop !== "constructor" || a !== window ) {
+                       a[ prop ] = b[ prop ];
+               }
+       }
+
+       return a;
+}
+
+function addEvent( elem, type, fn ) {
+       if ( elem.addEventListener ) {
+               elem.addEventListener( type, fn, false );
+       } else if ( elem.attachEvent ) {
+               elem.attachEvent( "on" + type, fn );
+       } else {
+               fn();
+       }
+}
+
+function id( name ) {
+       return !!( typeof document !== "undefined" && document && document.getElementById ) &&
+               document.getElementById( name );
+}
+
+function registerLoggingCallback( key ) {
+       return function( callback ) {
+               config[key].push( callback );
+       };
+}
+
+// Supports deprecated method of completely overwriting logging callbacks
+function runLoggingCallbacks( key, scope, args ) {
+       //debugger;
+       var i, callbacks;
+       if ( QUnit.hasOwnProperty( key ) ) {
+               QUnit[ key ].call(scope, args );
+       } else {
+               callbacks = config[ key ];
+               for ( i = 0; i < callbacks.length; i++ ) {
+                       callbacks[ i ].call( scope, args );
+               }
+       }
+}
+
+// Test for equality any JavaScript type.
+// Author: Philippe Rathé <prathe@gmail.com>
+QUnit.equiv = (function() {
+
+       // Call the o related callback with the given arguments.
+       function bindCallbacks( o, callbacks, args ) {
+               var prop = QUnit.objectType( o );
+               if ( prop ) {
+                       if ( QUnit.objectType( callbacks[ prop ] ) === "function" ) {
+                               return callbacks[ prop ].apply( callbacks, args );
+                       } else {
+                               return callbacks[ prop ]; // or undefined
+                       }
+               }
+       }
+
+       // the real equiv function
+       var innerEquiv,
+               // stack to decide between skip/abort functions
+               callers = [],
+               // stack to avoiding loops from circular referencing
+               parents = [],
+
+               getProto = Object.getPrototypeOf || function ( obj ) {
+                       return obj.__proto__;
+               },
+               callbacks = (function () {
+
+                       // for string, boolean, number and null
+                       function useStrictEquality( b, a ) {
+                               if ( b instanceof a.constructor || a instanceof b.constructor ) {
+                                       // to catch short annotaion VS 'new' annotation of a
+                                       // declaration
+                                       // e.g. var i = 1;
+                                       // var j = new Number(1);
+                                       return a == b;
+                               } else {
+                                       return a === b;
+                               }
+                       }
+
+                       return {
+                               "string": useStrictEquality,
+                               "boolean": useStrictEquality,
+                               "number": useStrictEquality,
+                               "null": useStrictEquality,
+                               "undefined": useStrictEquality,
+
+                               "nan": function( b ) {
+                                       return isNaN( b );
+                               },
+
+                               "date": function( b, a ) {
+                                       return QUnit.objectType( b ) === "date" && a.valueOf() === b.valueOf();
+                               },
+
+                               "regexp": function( b, a ) {
+                                       return QUnit.objectType( b ) === "regexp" &&
+                                               // the regex itself
+                                               a.source === b.source &&
+                                               // and its modifers
+                                               a.global === b.global &&
+                                               // (gmi) ...
+                                               a.ignoreCase === b.ignoreCase &&
+                                               a.multiline === b.multiline;
+                               },
+
+                               // - skip when the property is a method of an instance (OOP)
+                               // - abort otherwise,
+                               // initial === would have catch identical references anyway
+                               "function": function() {
+                                       var caller = callers[callers.length - 1];
+                                       return caller !== Object && typeof caller !== "undefined";
+                               },
+
+                               "array": function( b, a ) {
+                                       var i, j, len, loop;
+
+                                       // b could be an object literal here
+                                       if ( QUnit.objectType( b ) !== "array" ) {
+                                               return false;
+                                       }
+
+                                       len = a.length;
+                                       if ( len !== b.length ) {
+                                               // safe and faster
+                                               return false;
+                                       }
+
+                                       // track reference to avoid circular references
+                                       parents.push( a );
+                                       for ( i = 0; i < len; i++ ) {
+                                               loop = false;
+                                               for ( j = 0; j < parents.length; j++ ) {
+                                                       if ( parents[j] === a[i] ) {
+                                                               loop = true;// dont rewalk array
+                                                       }
+                                               }
+                                               if ( !loop && !innerEquiv(a[i], b[i]) ) {
+                                                       parents.pop();
+                                                       return false;
+                                               }
+                                       }
+                                       parents.pop();
+                                       return true;
+                               },
+
+                               "object": function( b, a ) {
+                                       var i, j, loop,
+                                               // Default to true
+                                               eq = true,
+                                               aProperties = [],
+                                               bProperties = [];
+
+                                       // comparing constructors is more strict than using
+                                       // instanceof
+                                       if ( a.constructor !== b.constructor ) {
+                                               // Allow objects with no prototype to be equivalent to
+                                               // objects with Object as their constructor.
+                                               if ( !(( getProto(a) === null && getProto(b) === Object.prototype ) ||
+                                                       ( getProto(b) === null && getProto(a) === Object.prototype ) ) ) {
+                                                               return false;
+                                               }
+                                       }
+
+                                       // stack constructor before traversing properties
+                                       callers.push( a.constructor );
+                                       // track reference to avoid circular references
+                                       parents.push( a );
+
+                                       for ( i in a ) { // be strict: don't ensures hasOwnProperty
+                                                                       // and go deep
+                                               loop = false;
+                                               for ( j = 0; j < parents.length; j++ ) {
+                                                       if ( parents[j] === a[i] ) {
+                                                               // don't go down the same path twice
+                                                               loop = true;
+                                                       }
+                                               }
+                                               aProperties.push(i); // collect a's properties
+
+                                               if (!loop && !innerEquiv( a[i], b[i] ) ) {
+                                                       eq = false;
+                                                       break;
+                                               }
+                                       }
+
+                                       callers.pop(); // unstack, we are done
+                                       parents.pop();
+
+                                       for ( i in b ) {
+                                               bProperties.push( i ); // collect b's properties
+                                       }
+
+                                       // Ensures identical properties name
+                                       return eq && innerEquiv( aProperties.sort(), bProperties.sort() );
+                               }
+                       };
+               }());
+
+       innerEquiv = function() { // can take multiple arguments
+               var args = [].slice.apply( arguments );
+               if ( args.length < 2 ) {
+                       return true; // end transition
+               }
+
+               return (function( a, b ) {
+                       if ( a === b ) {
+                               return true; // catch the most you can
+                       } else if ( a === null || b === null || typeof a === "undefined" ||
+                                       typeof b === "undefined" ||
+                                       QUnit.objectType(a) !== QUnit.objectType(b) ) {
+                               return false; // don't lose time with error prone cases
+                       } else {
+                               return bindCallbacks(a, callbacks, [ b, a ]);
+                       }
+
+                       // apply transition with (1..n) arguments
+               }( args[0], args[1] ) && arguments.callee.apply( this, args.splice(1, args.length - 1 )) );
+       };
+
+       return innerEquiv;
+}());
+
+/**
+ * jsDump Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com |
+ * http://flesler.blogspot.com Licensed under BSD
+ * (http://www.opensource.org/licenses/bsd-license.php) Date: 5/15/2008
+ *
+ * @projectDescription Advanced and extensible data dumping for Javascript.
+ * @version 1.0.0
+ * @author Ariel Flesler
+ * @link {http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html}
+ */
+QUnit.jsDump = (function() {
+       function quote( str ) {
+               return '"' + str.toString().replace( /"/g, '\\"' ) + '"';
+       }
+       function literal( o ) {
+               return o + "";
+       }
+       function join( pre, arr, post ) {
+               var s = jsDump.separator(),
+                       base = jsDump.indent(),
+                       inner = jsDump.indent(1);
+               if ( arr.join ) {
+                       arr = arr.join( "," + s + inner );
+               }
+               if ( !arr ) {
+                       return pre + post;
+               }
+               return [ pre, inner + arr, base + post ].join(s);
+       }
+       function array( arr, stack ) {
+               var i = arr.length, ret = new Array(i);
+               this.up();
+               while ( i-- ) {
+                       ret[i] = this.parse( arr[i] , undefined , stack);
+               }
+               this.down();
+               return join( "[", ret, "]" );
+       }
+
+       var reName = /^function (\w+)/,
+               jsDump = {
+                       parse: function( obj, type, stack ) { //type is used mostly internally, you can fix a (custom)type in advance
+                               stack = stack || [ ];
+                               var inStack, res,
+                                       parser = this.parsers[ type || this.typeOf(obj) ];
+
+                               type = typeof parser;
+                               inStack = inArray( obj, stack );
+
+                               if ( inStack != -1 ) {
+                                       return "recursion(" + (inStack - stack.length) + ")";
+                               }
+                               //else
+                               if ( type == "function" )  {
+                                       stack.push( obj );
+                                       res = parser.call( this, obj, stack );
+                                       stack.pop();
+                                       return res;
+                               }
+                               // else
+                               return ( type == "string" ) ? parser : this.parsers.error;
+                       },
+                       typeOf: function( obj ) {
+                               var type;
+                               if ( obj === null ) {
+                                       type = "null";
+                               } else if ( typeof obj === "undefined" ) {
+                                       type = "undefined";
+                               } else if ( QUnit.is( "regexp", obj) ) {
+                                       type = "regexp";
+                               } else if ( QUnit.is( "date", obj) ) {
+                                       type = "date";
+                               } else if ( QUnit.is( "function", obj) ) {
+                                       type = "function";
+                               } else if ( typeof obj.setInterval !== undefined && typeof obj.document !== "undefined" && typeof obj.nodeType === "undefined" ) {
+                                       type = "window";
+                               } else if ( obj.nodeType === 9 ) {
+                                       type = "document";
+                               } else if ( obj.nodeType ) {
+                                       type = "node";
+                               } else if (
+                                       // native arrays
+                                       toString.call( obj ) === "[object Array]" ||
+                                       // NodeList objects
+                                       ( typeof obj.length === "number" && typeof obj.item !== "undefined" && ( obj.length ? obj.item(0) === obj[0] : ( obj.item( 0 ) === null && typeof obj[0] === "undefined" ) ) )
+                               ) {
+                                       type = "array";
+                               } else {
+                                       type = typeof obj;
+                               }
+                               return type;
+                       },
+                       separator: function() {
+                               return this.multiline ? this.HTML ? "<br />" : "\n" : this.HTML ? "&nbsp;" : " ";
+                       },
+                       indent: function( extra ) {// extra can be a number, shortcut for increasing-calling-decreasing
+                               if ( !this.multiline ) {
+                                       return "";
+                               }
+                               var chr = this.indentChar;
+                               if ( this.HTML ) {
+                                       chr = chr.replace( /\t/g, "   " ).replace( / /g, "&nbsp;" );
+                               }
+                               return new Array( this._depth_ + (extra||0) ).join(chr);
+                       },
+                       up: function( a ) {
+                               this._depth_ += a || 1;
+                       },
+                       down: function( a ) {
+                               this._depth_ -= a || 1;
+                       },
+                       setParser: function( name, parser ) {
+                               this.parsers[name] = parser;
+                       },
+                       // The next 3 are exposed so you can use them
+                       quote: quote,
+                       literal: literal,
+                       join: join,
+                       //
+                       _depth_: 1,
+                       // This is the list of parsers, to modify them, use jsDump.setParser
+                       parsers: {
+                               window: "[Window]",
+                               document: "[Document]",
+                               error: "[ERROR]", //when no parser is found, shouldn"t happen
+                               unknown: "[Unknown]",
+                               "null": "null",
+                               "undefined": "undefined",
+                               "function": function( fn ) {
+                                       var ret = "function",
+                                               name = "name" in fn ? fn.name : (reName.exec(fn) || [])[1];//functions never have name in IE
+
+                                       if ( name ) {
+                                               ret += " " + name;
+                                       }
+                                       ret += "( ";
+
+                                       ret = [ ret, QUnit.jsDump.parse( fn, "functionArgs" ), "){" ].join( "" );
+                                       return join( ret, QUnit.jsDump.parse(fn,"functionCode" ), "}" );
+                               },
+                               array: array,
+                               nodelist: array,
+                               "arguments": array,
+                               object: function( map, stack ) {
+                                       var ret = [ ], keys, key, val, i;
+                                       QUnit.jsDump.up();
+                                       if ( Object.keys ) {
+                                               keys = Object.keys( map );
+                                       } else {
+                                               keys = [];
+                                               for ( key in map ) {
+                                                       keys.push( key );
+                                               }
+                                       }
+                                       keys.sort();
+                                       for ( i = 0; i < keys.length; i++ ) {
+                                               key = keys[ i ];
+                                               val = map[ key ];
+                                               ret.push( QUnit.jsDump.parse( key, "key" ) + ": " + QUnit.jsDump.parse( val, undefined, stack ) );
+                                       }
+                                       QUnit.jsDump.down();
+                                       return join( "{", ret, "}" );
+                               },
+                               node: function( node ) {
+                                       var a, val,
+                                               open = QUnit.jsDump.HTML ? "&lt;" : "<",
+                                               close = QUnit.jsDump.HTML ? "&gt;" : ">",
+                                               tag = node.nodeName.toLowerCase(),
+                                               ret = open + tag;
+
+                                       for ( a in QUnit.jsDump.DOMAttrs ) {
+                                               val = node[ QUnit.jsDump.DOMAttrs[a] ];
+                                               if ( val ) {
+                                                       ret += " " + a + "=" + QUnit.jsDump.parse( val, "attribute" );
+                                               }
+                                       }
+                                       return ret + close + open + "/" + tag + close;
+                               },
+                               functionArgs: function( fn ) {//function calls it internally, it's the arguments part of the function
+                                       var args,
+                                               l = fn.length;
+
+                                       if ( !l ) {
+                                               return "";
+                                       }
+
+                                       args = new Array(l);
+                                       while ( l-- ) {
+                                               args[l] = String.fromCharCode(97+l);//97 is 'a'
+                                       }
+                                       return " " + args.join( ", " ) + " ";
+                               },
+                               key: quote, //object calls it internally, the key part of an item in a map
+                               functionCode: "[code]", //function calls it internally, it's the content of the function
+                               attribute: quote, //node calls it internally, it's an html attribute value
+                               string: quote,
+                               date: quote,
+                               regexp: literal, //regex
+                               number: literal,
+                               "boolean": literal
+                       },
+                       DOMAttrs: {
+                               //attributes to dump from nodes, name=>realName
+                               id: "id",
+                               name: "name",
+                               "class": "className"
+                       },
+                       HTML: false,//if true, entities are escaped ( <, >, \t, space and \n )
+                       indentChar: "  ",//indentation unit
+                       multiline: true //if true, items in a collection, are separated by a \n, else just a space.
+               };
+
+       return jsDump;
+}());
+
+// from Sizzle.js
+function getText( elems ) {
+       var i, elem,
+               ret = "";
+
+       for ( i = 0; elems[i]; i++ ) {
+               elem = elems[i];
+
+               // Get the text from text nodes and CDATA nodes
+               if ( elem.nodeType === 3 || elem.nodeType === 4 ) {
+                       ret += elem.nodeValue;
+
+               // Traverse everything else, except comment nodes
+               } else if ( elem.nodeType !== 8 ) {
+                       ret += getText( elem.childNodes );
+               }
+       }
+
+       return ret;
+}
+
+// from jquery.js
+function inArray( elem, array ) {
+       if ( array.indexOf ) {
+               return array.indexOf( elem );
+       }
+
+       for ( var i = 0, length = array.length; i < length; i++ ) {
+               if ( array[ i ] === elem ) {
+                       return i;
+               }
+       }
+
+       return -1;
+}
+
+/*
+ * Javascript Diff Algorithm
+ *  By John Resig (http://ejohn.org/)
+ *  Modified by Chu Alan "sprite"
+ *
+ * Released under the MIT license.
+ *
+ * More Info:
+ *  http://ejohn.org/projects/javascript-diff-algorithm/
+ *
+ * Usage: QUnit.diff(expected, actual)
+ *
+ * QUnit.diff( "the quick brown fox jumped over", "the quick fox jumps over" ) == "the  quick <del>brown </del> fox <del>jumped </del><ins>jumps </ins> over"
+ */
+QUnit.diff = (function() {
+       function diff( o, n ) {
+               var i,
+                       ns = {},
+                       os = {};
+
+               for ( i = 0; i < n.length; i++ ) {
+                       if ( ns[ n[i] ] == null ) {
+                               ns[ n[i] ] = {
+                                       rows: [],
+                                       o: null
+                               };
+                       }
+                       ns[ n[i] ].rows.push( i );
+               }
+
+               for ( i = 0; i < o.length; i++ ) {
+                       if ( os[ o[i] ] == null ) {
+                               os[ o[i] ] = {
+                                       rows: [],
+                                       n: null
+                               };
+                       }
+                       os[ o[i] ].rows.push( i );
+               }
+
+               for ( i in ns ) {
+                       if ( !hasOwn.call( ns, i ) ) {
+                               continue;
+                       }
+                       if ( ns[i].rows.length == 1 && typeof os[i] != "undefined" && os[i].rows.length == 1 ) {
+                               n[ ns[i].rows[0] ] = {
+                                       text: n[ ns[i].rows[0] ],
+                                       row: os[i].rows[0]
+                               };
+                               o[ os[i].rows[0] ] = {
+                                       text: o[ os[i].rows[0] ],
+                                       row: ns[i].rows[0]
+                               };
+                       }
+               }
+
+               for ( i = 0; i < n.length - 1; i++ ) {
+                       if ( n[i].text != null && n[ i + 1 ].text == null && n[i].row + 1 < o.length && o[ n[i].row + 1 ].text == null &&
+                                               n[ i + 1 ] == o[ n[i].row + 1 ] ) {
+
+                               n[ i + 1 ] = {
+                                       text: n[ i + 1 ],
+                                       row: n[i].row + 1
+                               };
+                               o[ n[i].row + 1 ] = {
+                                       text: o[ n[i].row + 1 ],
+                                       row: i + 1
+                               };
+                       }
+               }
+
+               for ( i = n.length - 1; i > 0; i-- ) {
+                       if ( n[i].text != null && n[ i - 1 ].text == null && n[i].row > 0 && o[ n[i].row - 1 ].text == null &&
+                                               n[ i - 1 ] == o[ n[i].row - 1 ]) {
+
+                               n[ i - 1 ] = {
+                                       text: n[ i - 1 ],
+                                       row: n[i].row - 1
+                               };
+                               o[ n[i].row - 1 ] = {
+                                       text: o[ n[i].row - 1 ],
+                                       row: i - 1
+                               };
+                       }
+               }
+
+               return {
+                       o: o,
+                       n: n
+               };
+       }
+
+       return function( o, n ) {
+               o = o.replace( /\s+$/, "" );
+               n = n.replace( /\s+$/, "" );
+
+               var i, pre,
+                       str = "",
+                       out = diff( o === "" ? [] : o.split(/\s+/), n === "" ? [] : n.split(/\s+/) ),
+                       oSpace = o.match(/\s+/g),
+                       nSpace = n.match(/\s+/g);
+
+               if ( oSpace == null ) {
+                       oSpace = [ " " ];
+               }
+               else {
+                       oSpace.push( " " );
+               }
+
+               if ( nSpace == null ) {
+                       nSpace = [ " " ];
+               }
+               else {
+                       nSpace.push( " " );
+               }
+
+               if ( out.n.length === 0 ) {
+                       for ( i = 0; i < out.o.length; i++ ) {
+                               str += "<del>" + out.o[i] + oSpace[i] + "</del>";
+                       }
+               }
+               else {
+                       if ( out.n[0].text == null ) {
+                               for ( n = 0; n < out.o.length && out.o[n].text == null; n++ ) {
+                                       str += "<del>" + out.o[n] + oSpace[n] + "</del>";
+                               }
+                       }
+
+                       for ( i = 0; i < out.n.length; i++ ) {
+                               if (out.n[i].text == null) {
+                                       str += "<ins>" + out.n[i] + nSpace[i] + "</ins>";
+                               }
+                               else {
+                                       // `pre` initialized at top of scope
+                                       pre = "";
+
+                                       for ( n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++ ) {
+                                               pre += "<del>" + out.o[n] + oSpace[n] + "</del>";
+                                       }
+                                       str += " " + out.n[i].text + nSpace[i] + pre;
+                               }
+                       }
+               }
+
+               return str;
+       };
+}());
+
+// for CommonJS enviroments, export everything
+if ( typeof exports !== "undefined" ) {
+       extend(exports, QUnit);
+}
+
+// get at whatever the global object is, like window in browsers
+}( (function() {return this;}.call()) ));
diff --git a/dev/js/modernizr/test/qunit/run-qunit.js b/dev/js/modernizr/test/qunit/run-qunit.js
new file mode 100644 (file)
index 0000000..5617ee4
--- /dev/null
@@ -0,0 +1,72 @@
+/**
+* Wait until the test condition is true or a timeout occurs. Useful for waiting
+* on a server response or for a ui change (fadeIn, etc.) to occur.
+*
+* @param testFx javascript condition that evaluates to a boolean,
+* it can be passed in as a string (e.g.: "1 == 1" or "$('#bar').is(':visible')" or
+* as a callback function.
+* @param onReady what to do when testFx condition is fulfilled,
+* it can be passed in as a string (e.g.: "1 == 1" or "$('#bar').is(':visible')" or
+* as a callback function.
+* @param timeOutMillis the max amount of time to wait. If not specified, 3 sec is used.
+*/
+function waitFor(testFx, onReady, timeOutMillis) {
+    var maxtimeOutMillis = timeOutMillis ? timeOutMillis : 3001, //< Default Max Timout is 3s
+        start = new Date().getTime(),
+        condition = false,
+        interval = setInterval(function() {
+            if ( (new Date().getTime() - start < maxtimeOutMillis) && !condition ) {
+                // If not time-out yet and condition not yet fulfilled
+                condition = (typeof(testFx) === "string" ? eval(testFx) : testFx()); //< defensive code
+            } else {
+                if(!condition) {
+                    // If condition still not fulfilled (timeout but condition is 'false')
+                    console.log("'waitFor()' timeout");
+                    phantom.exit(1);
+                } else {
+                    // Condition fulfilled (timeout and/or condition is 'true')
+                    typeof(onReady) === "string" ? eval(onReady) : onReady(); //< Do what it's supposed to do once the condition is fulfilled
+                    clearInterval(interval); //< Stop this interval
+                }
+            }
+        }, 100); //< repeat check every 250ms
+};
+
+
+if (phantom.args.length === 0 || phantom.args.length > 2) {
+    console.log('Usage: run-qunit.js URL');
+    phantom.exit();
+}
+
+var page = new WebPage();
+
+// Route "console.log()" calls from within the Page context to the main Phantom context (i.e. current "this")
+page.onConsoleMessage = function(msg) {
+    console.log(msg);
+};
+
+page.open(phantom.args[0], function(status){
+    if (status !== "success") {
+        console.log("Unable to access network");
+        phantom.exit();
+    } else {
+        waitFor(function(){
+            return page.evaluate(function(){
+                var el = document.getElementById('qunit-testresult');
+                if (el && el.innerText.match('completed')) {
+                    return true;
+                }
+                return false;
+            });
+        }, function(){
+            var failedNum = page.evaluate(function(){
+                var el = document.getElementById('qunit-testresult');
+                try {
+                    return el.getElementsByClassName('failed')[0].innerHTML;
+                } catch (e) { }
+                return 10000;
+            });
+            phantom.exit((parseInt(failedNum, 10) > 0) ? 1 : 0);
+        });
+    }
+});
\ No newline at end of file
diff --git a/dev/lib/menu-walker.php b/dev/lib/menu-walker.php
new file mode 100644 (file)
index 0000000..6141090
--- /dev/null
@@ -0,0 +1,81 @@
+<?php
+/**
+ * Customize the output of menus for Foundation top bar
+ */
+if ( ! class_exists( 'Glm_Theme_Top_Bar_Walker' ) ) :
+class Glm_Theme_Top_Bar_Walker extends Walker_Nav_Menu {
+    function display_element( $element, &$children_elements, $max_depth, $depth = 0, $args, &$output ) {
+        static $mainLevelCounter;
+        if ($depth == 0) {
+            ++$mainLevelCounter;
+        }
+        $element->has_children = ! empty( $children_elements[ $element->ID ] );
+        $element->classes[] = ( $element->current || $element->current_item_ancestor ) ? 'active' : '';
+        $element->classes[] = ( $element->has_children && 1 !== $max_depth ) ? 'has-dropdown' : '';
+        $element->classes[] = ( $element->post_parent == 0 && $mainLevelCounter <= 3 ) ? 'drop-right' : 'drop-left';
+        parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
+    }
+
+    function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) {
+        $item_html = '';
+        parent::start_el( $item_html, $object, $depth, $args );
+
+        // Insert style to display page's thumbnail
+        $item_style = '';
+        if ($depth == 0 && has_post_thumbnail((int)$object->object_id)) {
+            $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id((int)$object->object_id), 'large');
+            $item_style .= "<style>#menu-item-".$object->ID." > .dropdown:before { background-image: url('".$thumbnail[0]."');</style>";
+        }
+        //$output .= ( 0 == $depth ) ? '<li class="divider"></li>' : '';
+        $classes = empty( $object->classes ) ? array() : (array) $object->classes;
+        if ( in_array( 'label', $classes ) ) {
+            //$output .= '<li class="divider"></li>';
+            $item_html = preg_replace( '/<a[^>]*>(.*)<\/a>/iU', '<label>$1</label>', $item_html );
+        }
+        if ( in_array( 'divider', $classes ) ) {
+            $item_html = preg_replace( '/<a[^>]*>( .* )<\/a>/iU', '', $item_html );
+        }
+        if ($item_style)
+            $output .= $item_style;
+        $output .= $item_html;
+    }
+
+    function start_lvl( &$output, $depth = 0, $args = array() ) {
+        $output .= "\n<ul class=\"sub-menu dropdown\">\n";
+    }
+}
+endif;
+if ( ! class_exists( 'Glm_Theme_Off_Canvas_Walker' ) ) :
+class Glm_Theme_Off_Canvas_Walker extends Walker_Nav_Menu {
+    function display_element( $element, &$children_elements, $max_depth, $depth = 0, $args, &$output ) {
+        $element->has_children = ! empty( $children_elements[ $element->ID ] );
+        $element->classes[] = ( $element->current || $element->current_item_ancestor ) ? 'active' : '';
+        $element->classes[] = ( $element->has_children && 1 !== $max_depth ) ? 'page_item_has_children' : '';
+        $element->classes[] = 'page_item';
+
+        parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
+    }
+
+    function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) {
+        $item_html = '';
+        parent::start_el( $item_html, $object, $depth, $args );
+
+        $classes = empty( $object->classes ) ? array() : (array) $object->classes;
+
+        if ( in_array( 'label', $classes ) ) {
+            $item_html = preg_replace( '/<a[^>]*>(.*)<\/a>/iU', '<label>$1</label>', $item_html );
+        }
+        $item_html = preg_replace("/<br>/", " ", $item_html);
+        $output .= $item_html;
+    }
+
+    function start_lvl( &$output, $depth = 0, $args = array() ) {
+        $output .= "\n<ul class=\"children\">\n";
+    }
+
+    function end_lvl(&$output, $depth = 0, $args = array()){
+        $output .= '</ul>';
+    }
+}
+endif;
+?>
diff --git a/dev/lib/navigation.php b/dev/lib/navigation.php
new file mode 100644 (file)
index 0000000..68365b4
--- /dev/null
@@ -0,0 +1,178 @@
+<?php
+
+register_nav_menus(array(
+  'top-bar'     => 'Site Navigation',
+  'mobile-menu' => 'Off Canvas'
+));
+if ( ! function_exists( 'glm_theme_members_only' ) ) {
+    function glm_theme_members_only($location) {
+        echo '<ul class="members-only">';
+        echo glm_theme_top_bar( $location );
+        echo '</ul>';
+    }
+}
+
+/**
+ * Top Bar
+ */
+if ( ! function_exists( 'glm_theme_top_bar' ) ) {
+  function glm_theme_top_bar($location) {
+      wp_nav_menu(array(
+          'container' => false,                           // remove nav container
+          'container_class' => '',                        // class of container
+          'menu' => '',                                   // menu name
+          'menu_class' => '',                             // adding custom nav class
+          'theme_location' => $location,                  // where it's located in the theme
+          'before' => '',                                 // before each link <a>
+          'after' => '',                                  // after each link </a>
+          'link_before' => '',                            // before each link text
+          'link_after' => '',                             // after each link text
+          'depth' => 3,                                   // limit the depth of the nav
+          'fallback_cb' => false,                         // fallback function (see below)
+          'walker' => new Glm_Theme_Top_Bar_Walker()
+      ));
+  }
+}
+
+/**
+ * Mobile off-canvas
+ */
+if ( ! function_exists( 'glm_theme_mobile_off_canvas' ) ) {
+    function glm_theme_mobile_off_canvas($location) {
+        echo '<div class="left-off-canvas-list">';
+        echo '<ul><li class="page_item"><a href="' . get_bloginfo('url') . '">Home</a></li>';
+        echo glm_get_mobile_nav_menu( $location );
+        echo glm_get_mobile_nav_menu( 'top-bar' );
+        echo '</ul></div>';
+    }
+}
+if ( ! function_exists( 'glm_theme_additional_off_canvas' ) ) {
+    function glm_theme_additional_off_canvas($location) {
+        echo glm_get_mobile_nav_menu( $location );
+    }
+}
+function glm_get_mobile_nav_menu( $theme_location )
+{
+    $menu = wp_nav_menu(array(
+        'echo'            => false,             // don't echo
+        'container'       => false,             // remove nav container
+        'container_class' => '',                // class of container
+        'menu'            => '',                // menu name
+        'menu_class'      => 'off-canvas-list', // adding custom nav class
+        'theme_location'  => $theme_location,       // where it's located in the theme
+        'before'          => '',                // before each link <a>
+        'after'           => '',                // after each link </a>
+        'link_before'     => '',                // before each link text
+        'link_after'      => '',                // after each link text
+        'depth'           => 5,                 // limit the depth of the nav
+        'fallback_cb'     => false,             // fallback function (see below)
+        'walker'          => new Glm_Theme_Off_Canvas_Walker()
+    ));
+    return preg_replace( array( '%^<ul[^>]*>%', '%</ul>$%' ), '', $menu );
+}
+
+/**
+ * Footer
+ */
+if ( ! function_exists( 'glm_theme_footer' ) ) {
+  function glm_theme_footer() {
+      wp_nav_menu(array(
+          'container' => false,                           // remove nav container
+          'container_class' => '',                        // class of container
+          'menu' => '',                                   // menu name
+          'menu_class' => '',                             // adding custom nav class
+          'theme_location' => 'footer',                   // where it's located in the theme
+          'before' => '',                                 // before each link <a>
+          'after' => '',                                  // after each link </a>
+          'link_before' => '',                            // before each link text
+          'link_after' => '',                             // after each link text
+          'depth' => 1,                                   // limit the depth of the nav
+          'fallback_cb' => false,                         // fallback function (see below)
+      ));
+  }
+}
+
+/**
+ * glm_page_menu
+ *
+ * Grab the top level pages and their sub pages as the main navigation
+ */
+function glm_page_menu($parent = 0, $class = '')
+{
+    $menuConfig   = glm_get_menu_options();
+    $frontPageId  = get_option('page_on_front');
+    $parents      = array();
+    $args         = array(
+        'post_type'   => 'page',
+        'parent'      => $parent,
+        'number'      => '',
+        'exclude'     => $frontPageId,
+        'post_status' => 'publish',
+        'sort_order'  => 'asc',
+        'sort_column' => 'menu_order'
+    );
+    if ($parent == 0 && $menuConfig['menu_options']['main_level_pages']) {
+        $args['include'] = $menuConfig['menu_options']['main_level_pages'];
+    }
+    $pages = get_pages($args);
+    echo '<ul'.(($class)?' class="'.$class.'"':'').'><!-- begin -->'."\n";
+    foreach ($pages as $page) {
+        $childs = get_pages('child_of=' . $page->ID);
+        if (count($childs) > 0) {
+            echo '<li class="has-dropdown">'."\n";
+            echo '<a href="'.get_permalink($page->ID).'">'.$page->post_title.'</a>'."\n";
+            echo glm_page_menu($page->ID, 'sub-menu dropdown');
+            echo '</li>'."\n";
+        } else {
+            echo '<li><a href="'.get_permalink($page->ID).'">'.$page->post_title.'</a></li>'."\n";
+        }
+    }
+    echo '</ul><!-- end -->'."\n";
+}
+
+/**
+ * glm_offcanvas_menu
+ *
+ * Generate the list of pages as nested ul li list
+ */
+function glm_offcanvas_menu()
+{
+    wp_page_menu(array(
+        'depth' => 0,
+        'sort_column' => 'menu_order',
+        'menu_class' => 'left-off-canvas-list'
+    ));
+}
+
+/**
+ * get_menu_options
+ *
+ * Grab the menu options from the theme.ini file
+ */
+function glm_get_menu_options()
+{
+    static $menu_options;
+    $themeConfig = get_template_directory() . '/theme.ini';
+
+    if (!$menu_options && is_file($themeConfig)) {
+        $menu_options = parse_ini_file($themeConfig, true);
+    }
+    return $menu_options;
+}
+
+function glm_side_menu() {
+    global $post;
+    $parents = get_post_ancestors($post->ID);
+    $id = ($parents) ? $parents[count($parents)-1]: $post->ID;
+    $parent = get_page( $id );
+    if ($id == 0) {
+        $ID = $post->ID;
+    } else {
+        $ID = $parent->ID;
+    }
+    echo '<h1>'.get_the_title($ID).'</h1>';
+    echo '<ul class="sidebar"><!-- begin -->'."\n";
+    echo wp_list_pages( 'child_of='.$ID.'&title_li=&depth=1&echo=0');
+    echo '</ul><!-- end -->'."\n";
+}
+
diff --git a/dev/scss/_blog.scss b/dev/scss/_blog.scss
new file mode 100644 (file)
index 0000000..436125d
--- /dev/null
@@ -0,0 +1,166 @@
+
+body .grid-block.home-feed-post {
+    // padding-bottom: 25px;
+   @media #{$medium-down} {
+       padding: 30px 5%;
+   }
+}
+input[type="submit"].blogbutton {
+    border-radius: 3px;
+    color: $white;
+    border: 2px solid $white;
+    font-weight: bold;
+    font-size: 13px;
+    padding: 2px 5px;
+    margin-top: -10px;
+    text-transform: uppercase;
+    &:hover {
+        cursor: pointer;
+        background: $white;
+        border: 2px solid #035C84;
+        color:  white;
+    }
+}
+#blog-posts-over article {
+    // padding-top: 10px;
+    margin-bottom: 15px;
+    display: inline-block;
+    width: 100%;
+    .entry-header {
+        background: transparent;
+    }
+    #addthis_wrapper {
+        margin-top: -25px;
+    }
+    p {
+        padding-bottom: 15px;
+    }
+    a.read-more {
+        border: 2px solid $white;
+        font-weight: bold;
+        font-size: 13px;
+        padding: 0 3px;
+        text-transform: uppercase;
+        &:hover {
+            background: $white;
+            border: 2px solid #035C84;
+            color: #035C84;
+        }
+    }
+     .entry-header {
+        margin-bottom: 10px;
+        .entry-title {
+            margin: 0;
+            display: block;
+            @media #{$large-up}{
+                margin-top: 10px;
+            }
+            a{
+                display: block;
+                line-height: 1;
+                font-size: 28px;
+                // max-height: 50px;
+            }
+            
+        }
+        .meta.date {
+            font-size: 13px;
+            font-weight: bold;
+        }
+    }
+}
+.blog-post-container{
+    border: 2px solid rgba(#394d56, .7);
+    border-radius: 5px;
+    background: white;
+    border
+    .entry-header{
+        .entry-title{
+            line-height: 1;
+            font-size: 28px;
+            padding-bottom: 10px;
+        }
+    }
+}
+.blog-posts-container{
+    border: 2px solid rgba(#394d56, .7);
+    border-radius: 5px;
+}
+#blog-posts-over .entry-meta {
+    text-align: center;
+    color: #757575;
+    font-size: 12px;
+}
+#blog-posts-over > div {
+    margin: 25px 0;
+}
+#blog-side-info {
+    a{
+        font-size: 16px;
+    }
+    
+    #searchform {
+        margin-bottom: 30px;
+        div input.blogbutton {
+            background: $dark-blue;
+        }
+    }
+    p {
+        margin-bottom: 0;
+    }
+}
+@media #{$small-only} {
+    #blog-side-info-wrapper {
+        float: none;
+        margin: 0 auto;
+        clear: both;
+    }
+    #blog-side-info {
+        padding-left: 0;
+        border-left: 0;
+        ul {
+            margin-left: 0;
+            margin-top:10px;
+        }
+        #searchform {
+            padding: 35px 0;
+            #s {
+                width: 100%;
+            }
+        }
+    }
+}
+#blog-side-info {
+    border: 2px solid rgba(#394d56, .7);
+    border-radius: 5px;
+    background: white;
+    padding: 10px;
+    // border-left: 1px solid grey;
+    margin-top: 30px;
+    // padding-left: 20px;
+    @media #{$small-only} {
+        text-align: center;
+    }
+    // padding-right: 10px;
+    ul {
+        list-style-type: none;
+        li{
+            line-height: 1;
+            padding-bottom: 10px;
+            a{
+                line-height: 1;
+                
+            }
+        }
+    }
+}
+
+main.blog-home, main.blog-archive, main.blog-single{
+    //margin-top: 200px;
+    padding-bottom: 50px;
+}
+.blog-archive, .blog-home {
+    .featured-image-wrap{
+        display: none;
+    }
+}
\ No newline at end of file
diff --git a/dev/scss/_body.scss b/dev/scss/_body.scss
new file mode 100644 (file)
index 0000000..779b9a0
--- /dev/null
@@ -0,0 +1,19 @@
+body {
+    .shadow-wrapper {
+        margin: 0 auto;
+        background: $white;
+        box-shadow: 0 0 15px -6px $black;
+        -ms-box-shadow: 0 0 15px -6px $black;
+        -moz-box-shadow: 0 0 15px -6px $black;
+        -webkit-box-shadow: 0 0 15px -6px $black;
+        
+        max-width: 1024px;
+        padding-top: rem-calc(20);
+    }
+    p {
+        font-size: 16px;
+    }
+    .homepage-content{
+        background-color: transparent;
+    }
+}
diff --git a/dev/scss/_content.scss b/dev/scss/_content.scss
new file mode 100644 (file)
index 0000000..ad007cb
--- /dev/null
@@ -0,0 +1,16 @@
+#content-wrapper {
+    @media #{$large-up}{
+        padding-top: 30px;
+    }
+}
+.content-button {
+    background-color: $orange;
+    border-radius: 4px;
+    color: white;
+    padding: 10px 20px;
+    &:hover {
+        background-color: $dark-blue;
+        color: white;
+        transition: all 0.5s ease-in-out;
+    }
+}
\ No newline at end of file
diff --git a/dev/scss/_defaults.scss b/dev/scss/_defaults.scss
new file mode 100644 (file)
index 0000000..78383e3
--- /dev/null
@@ -0,0 +1,55 @@
+// This document will contain all the styles that we want to apply to every
+//  site. Make sure this is placed before _structures (if that is still the
+//  primary css file).
+
+h1,h2,h3,h4,h5,h6 {
+    clear: both;
+}
+
+/* PLUGINS */
+/* Nextgen */
+.gallery li a img { // without this images will overlap each other at certain widths
+    display: block;
+    width: 100%;
+}
+.ngg-gallery-thumbnail, .ngg-gallery-thumbnail-box {
+    float: none !important;
+}
+.ngg-album-compact h4 .ngg-album-desc {
+    height: auto !important;
+    font-family: $font-family-serif;
+    font-weight: 400;
+}
+.ngg-album-compact .album-meta-wrapper h4 a {
+    font-style: normal;
+}
+.album-meta-wrapper {
+    display: block;
+    height: 54px;
+    margin-bottom: 20px;
+}
+.ngg-glmalbums {
+    margin: 10px 0;
+    min-height: 260px;
+    @media #{$small-only} {
+        min-height: 180px;
+    }
+}
+.ngg-album-link {
+    text-align: center;
+}
+/* Ninja Forms */
+.ninja-forms-form-wrap {
+    max-width: 600px;
+    margin: 0 auto;
+    input[type=submit] {
+        @include button();
+        display: block;
+        margin: 0 auto;
+    }
+}
+/* For fixing cellphones not showing phone numbers because of /helpful/ auto-coloring */
+a[href^=tel]{
+    color:inherit;
+    text-decoration:none;
+}
\ No newline at end of file
diff --git a/dev/scss/_footer.scss b/dev/scss/_footer.scss
new file mode 100644 (file)
index 0000000..ffaae6c
--- /dev/null
@@ -0,0 +1,125 @@
+#footer-page-anchor {
+    background: url("../assets/paneling-resized.png");    
+    border-top: 5px solid $dark-blue;
+}
+#footer-address {
+    margin-top: 20px;
+    text-align: center;
+    span{
+        color: $dark-blue;
+        display: inline-block;
+        font-size: 18px;
+        margin-bottom: 10px;
+        white-space: nowrap;
+    }
+    a {
+        color: $dark-blue;
+    }
+    .phone {
+        color: $dark-blue;
+    }
+}
+.email-link,
+.contact-us-link{
+    display: inline-block;
+    color: $dark-blue;
+    font-size: 18px;
+    text-align: left;
+    text-decoration: underline;
+    &:hover{
+        color: $dark-blue;
+    }
+}
+.footer-logo{
+    display: block;
+    margin: 0 auto 20px;
+    max-width: 140px;
+    @media #{$medium-only}{
+        //margin-bottom: 20px;
+    }
+}
+#footer-enews {
+    margin-top: 5px;
+    margin-bottom: 20px;
+    #enews-title {
+        font-family: $font-family-serif;
+        font-size: 22px;
+        text-align: center;
+    }
+    #enews-button {
+        background-image: url("../assets/signup-button.png");
+        background-position: 0 0;
+        display: block;
+        height: 30px;
+        margin: 0 auto;
+        text-align: center;
+        width: 100px;
+        &:hover {
+            background-position: 0 32px;
+        }
+    }
+}
+footer{
+    .action-grid{
+        // max-width: 375px;
+        margin: 0 auto;
+        @media #{$small-only}{
+            max-width: 230px;
+            margin: 0 auto;
+        }
+    }
+    .action-item{
+        display: block;
+        height: 35px;
+        margin-bottom: 10px;
+        overflow-y: hidden;
+        padding: 0 !important;
+        &:nth-child(odd){
+            max-width: 170px;
+        }
+        a{
+            display: block;
+            overflow-y: hidden;
+        }
+        position: relative;
+        img{
+            position: absolute;
+            top: 0;
+            &:hover{
+                top: -44px;
+            }
+        }
+    }
+    .large-row{
+        max-width: 1024px;
+    }
+    .enews-action-item{
+   
+    }
+}
+#copyright {
+    padding: 5px 0 15px 0;
+    margin: 0 auto;
+    float: none;
+    span {
+        font-size: rem-calc(14);
+        // font-weight: bold;
+        color: grey;
+    }
+    a {
+        color: grey;
+    }
+}
+#footer-address span.bullet,
+#copyright span.bullet {
+    margin: 0 5px;
+    @media #{$small-only} {
+        display: none !important;
+    }
+}
+#copyright span.bullet {
+    color: grey;
+}
+#footer-address span.bullet {
+    color: grey;
+}
\ No newline at end of file
diff --git a/dev/scss/_header.scss b/dev/scss/_header.scss
new file mode 100644 (file)
index 0000000..726829e
--- /dev/null
@@ -0,0 +1,275 @@
+header {
+    #top-links {
+        right: 0;
+        position: absolute;
+        top: 20px;
+        transition: all 0.5s ease-in-out;
+        .top-link {
+            border-bottom: 1px solid black;
+            color: $dark-blue;
+            font-family: times;
+            font-size: 22px;
+            float: right;
+            position: relative;
+            text-transform: uppercase;
+            text-decoration: none;
+            margin-top: 5px;
+            margin-left: 15px;
+            transition: all 0.5s ease-in-out;
+        }
+        .facebook-icon {
+            margin-right: 5px;
+        }
+        .blog-icon {
+            margin-right: 5px;
+        }
+        .phone {
+            color: $dark-blue;
+            font-family: times;
+            font-size: 20px;
+            clear: both;
+            display: block;
+        }
+    }
+    .header-top {
+        background-color: transparent;
+        position: relative;
+        max-width: 1024px;
+        height: 300px;
+        transition: all 0.5s ease-in-out;
+        @media #{$medium-up}{
+            min-height: 75px;
+        }
+    }
+    .header-logo{
+        .logo-link{
+            display: block;
+            float: right;
+            margin-top: 20px;
+            @media #{$medium-down} {
+                margin-top: 0;
+            }
+            transition: all 0.5s ease-in-out;
+            .small-header-logo {
+                width: 120px;
+                @media #{$large-up} {
+                    position: absolute;
+                    left: 0;
+                    transition: all 0.5s ease-in-out;
+                    width: 188px;
+                }
+            }
+        }
+    }
+    #header-slogan {
+        position: absolute;
+        top: 145px;
+        //padding-left: 50px;
+        transition: all 0.5s ease-in-out;
+        h1 {
+            color: $dark-blue;
+            font-family: times;
+            font-size: 38px;
+            text-transform: uppercase;
+            font-weight: normal;
+            transition: all 0.5s ease-in-out;
+        }
+    }
+    @media #{$medium-down} {
+        .header-logo {
+            margin: 10px 0;
+            text-align: center;
+            .logo-link {
+                float: none;
+            }
+        }
+    }
+    & .search {
+        input {
+            height: 20px;
+            width: 167px;
+            padding: 0 8px;
+            margin: 13px 0px 0px 18px;
+            border-radius: 3px;
+            font-size: 10px;
+            color: $black;
+            display: inline-block;
+        }
+        a {
+            &.magnifying-glass {
+                font-size: 10em; /* This controls the size. */ 
+                display: inline-block; 
+                width: rem-calc(10); 
+                height: rem-calc(10);
+                border: rem-calc(2) solid $dark-blue; 
+                position: relative; 
+                border-radius: 0.35em;
+                margin: 0 0 0 -25px;
+                &:before {
+                    content: ""; 
+                    display: inline-block; 
+                    position: absolute; 
+                    right: rem-calc(-7); 
+                    bottom: rem-calc(-4); 
+                    border-width: 0; 
+                    background: $dark-blue; 
+                    width: rem-calc(8); 
+                    height: rem-calc(2); 
+                    -webkit-transform: rotate(45deg); 
+                    -moz-transform: rotate(45deg);
+                    -ms-transform: rotate(45deg);
+                    transform: rotate(45deg);
+                }
+            }
+        }
+    }
+    #sec-nav {
+        position: relative;
+        text-align: left;
+        padding: 10px 0;
+        margin: 0 0 15px 45px;
+        ul {
+            margin: 0;
+            li {
+                display: inline;
+                a {
+                    font-size: 12px;
+                    color: $dark-blue;
+                    padding: 0 5px;
+                    font-weight: bold;
+                }
+            }
+        }
+        & > ul > li {
+            position: relative;
+            &:before {
+                color: $aluminum;
+                content: "|";
+                position: absolute;
+                top: 2px;
+                left: -15px;
+                font-size: 14px;
+                font-weight: bold;
+                display:block;
+                padding: 0 10px;
+            }
+            &:first-child:before {
+                content: none;
+            }
+        }
+    }
+    .social {
+        margin-top: -25px;
+        padding-right: 0;
+        a {
+            float: right;
+            margin: 0 5px;
+            img {
+                margin: 0;
+            }
+        }
+    }
+}
+.interior-wrapper,
+.landing-wrapper {
+    header.main {
+        background: url("../assets/paneling-resized.png");
+        box-shadow: 0px 1px 8px grey;
+        border-top: 5px solid $dark-blue;
+        transition: all 0.5s ease-in-out;
+        &.shrink {
+            transition: all 0.5s ease-in-out;
+            height: 120px;
+            #top-links {
+                top: 0;
+                transition: all 0.5s ease-in-out;
+                .top-link {
+                    font-size: 14px;
+                    margin-top: 0;
+                    transition: all 0.5s ease-in-out;
+                }
+            }
+            #header-left-section {
+                z-index: 9;
+                .logo-link {
+                    margin-top: 5px;
+                    float: left;
+                    transition: all 0.5s ease-in-out;
+                    .small-header-logo {
+                        width: 110px;
+                        position: absolute;
+                        left: 0px;
+                        transition: all 0.5s ease-in-out;
+                    }
+                }
+            }
+            #header-slogan {
+                opacity: 0;
+                top: 5px;
+                transition: all 0.5s ease-in-out;
+                h1 {
+                    font-size: 22px;
+                    transition: all 0.5s ease-in-out;
+                }
+            }
+            .header-top {
+                height: 120px;
+                transition: all 0.5s ease-in-out;
+            }
+            .top-bar {
+                bottom: 5px;
+                transition: all 0.5s ease-in-out;
+                .top-bar-section {
+                    float: right;
+                    transition: all 0.5s ease-in-out;
+                }
+            }
+        }
+    }
+}
+.interior-wrapper {
+    header.main {
+        height: 300px;
+        .header-top {
+            height: 300px;
+        }
+    }
+}
+@media #{$medium-down} {
+    .interior-wrapper {
+        header.main {
+            height: 185px;
+            .header-top {
+                height: 185px;
+            }
+        }
+    }
+}
+
+.landing-wrapper {
+    main {
+        margin-top: 200px;
+        padding-top: 100px;
+        @media #{$medium-down}{
+            margin-top: 100px;
+        }
+    }
+    header.main {
+        @media #{$medium-down}{
+            height: 140px;
+        }
+        height: 220px;
+        .header-top {
+            height: 200px;
+        }
+        .tab-bar{
+            display: none !important
+        }
+        .top-bar {
+            display: none !important;
+        }
+    }
+    .page-front {
+        //margin-top: 200px;
+    }
+}
\ No newline at end of file
diff --git a/dev/scss/_main.scss b/dev/scss/_main.scss
new file mode 100644 (file)
index 0000000..66c55c9
--- /dev/null
@@ -0,0 +1,394 @@
+main {
+    margin-top: 300px;
+    padding-bottom: 400px;
+    background-image: url("../assets/main-bg.jpg");
+    background-size: 100%;
+    background-position: bottom;
+    background-repeat: no-repeat;
+    @media #{$medium-down} {
+        margin-top: 185px;
+        padding-bottom: 200px;
+    }
+}
+.breadcrumbs {
+    margin-top: 10px;
+}
+#main-content{
+    
+    .member-profile-title{
+        position: absolute;
+        @media #{$medium-down}{
+            display: inline-block;
+            // width: 100vw;
+            top: -50px;
+            left: 20px;
+        }
+        @media #{$large-up}{
+            top: -72px;
+            left: 40px;
+            font-size: 2rem;
+            // max-width: 450px;
+        }
+        display: inline-block;
+        background: $green;
+        color: White;
+        left: 25%;
+        font-size: 1rem;
+        
+        padding: 10px;
+        line-height: 1;
+    }
+    padding-bottom: 50px;
+    p{
+        font-size: 16px;
+        a{
+            color: $red;
+            &:hover{
+                text-decoration: underline;
+            }
+        }
+    }
+   
+}
+.breadcrumbs>span:nth-child(2)::before { content: ""; display: none; }
+.breadcrumbs>span:last-child{ color: $red; }
+
+@media #{$large-up} {
+    .page-inside{
+        padding-top: 50px;
+    }
+}
+#featured-image {
+    max-height: 300px;
+    overflow: hidden;
+    box-shadow: 0px 0px 7px 1px darkgrey;
+}
+#content-bulk {
+    #con {
+        margin: 0;
+    }
+    h2 {
+        text-transform: uppercase;
+        font-size: 25px;
+    }
+    footer {
+        margin: 35px 0;
+        #address {
+            margin-top: 25px;
+            p {
+                font-size: 12px;
+                margin-top: 5px;
+            }
+            img {
+                margin: 0;
+                padding-right: 5px;
+            }
+            a {
+                font-size: 12px;
+            }
+        }
+        img {
+            box-shadow: none;
+        }
+    }
+}
+.st_sharethis {
+    float: right;
+    width: 58px;
+}
+body .stButton .sharethis  {
+  background-image: url("../assets/share-icon.png") !important;
+  width: 52px;
+  height: 22px;
+}
+#landing-blocks {
+    .landing-block {
+        position: relative;
+        @media #{$small-only}{
+            margin-bottom: 20px;
+        }
+    }
+    
+    .landing-block-content {
+        position: relative;
+        display: block;
+        float: none;
+        max-width: 300px;
+        margin: 0 auto;
+    }
+    .landing-block-title {
+        position: absolute;
+        bottom: 10px;
+        left: 0;
+        right: 0;
+        background: rgba($dark-blue, 0.9);
+        padding: 5px;
+        text-transform: uppercase;
+        font-weight: bold;
+        letter-spacing: 1px;
+        color: white;
+        font-size: 17px;
+        transition: all 0.5s ease-in-out;
+        opacity: 1.0;
+        &.hidden {
+            opacity: 0.0;
+        }
+    }
+    .landing-block-overlay {
+        position: absolute;
+        top: 0;
+        bottom: 0;
+        right: 0;
+        background: rgba($dark-blue, 0.9);
+        max-width: 300px;
+        left: 50%;
+        width: 100%;
+        transform: translateX(-50%);
+        transition: all 0.5s ease;
+        opacity: 0.0;
+        &.hidden {
+            opacity: 1.0;
+        }
+        .landing-block-overlay-title {
+            color: white;
+            text-transform: uppercase;
+            top: 60px;
+            position: absolute;
+            font-size: 18px;
+            left: 50%;
+            transform: translateX(-50%);
+            width: 90%;
+        }
+        .landing-block-overlay-link {
+            border-bottom: 1px solid rgba($gold, 0.8);
+            text-transform: uppercase;
+            color: white;
+            font-family: times;
+            padding-bottom: 2px;
+            bottom: 60px;
+            position: absolute;
+            left: 50%;
+            transform: translateX(-50%);         
+        }
+        .wp_login_error {
+            display: none;
+        }
+        .login-remember {
+            display: none;
+        }
+        #glm_login_form {
+            left: 50%;
+            transform: translateX(-50%);
+            position: absolute;
+            width: 80%;
+            height: 80%;
+            top: 10%;
+            .login-password {
+                margin-bottom: 0;
+            }
+            #wp-submit {
+                background: transparent;
+                color: white;
+                font-family: times;
+                font-size: 16px;
+                text-transform: uppercase;
+                padding: 0 0 2px 0;
+                border-bottom: 1px solid gold;
+                width: auto;
+                min-width: 0;
+                border-radius: 0;
+                margin: 0;
+            }
+        }
+        #glm_login_form input {
+            height: 30px;
+            margin: 0 0 10px;
+        }
+        #glm_login_form label {
+            color: white;
+            float: left;
+        }
+        .login-username {
+            
+        }
+    }
+}
+#front-blog-container {
+    background: url("../assets/front-posts-bg.jpg");
+    background-position: center;
+    background-repeat: no-repeat;
+    background-size: cover;
+    height: auto;
+    position: relative;
+    z-index: 2;
+}
+#front-blog-bg {
+    z-index: -1;
+    position: absolute;
+    bottom: 0;
+    height: 100%;
+    width: 100%;
+    background-color: rgba(107, 152, 207,0.75);
+}
+.home-feed-post-image{
+    
+    img{
+        width: 165px;
+        height: auto;
+        border: 2px solid white;
+        padding: 0 !important;
+        -webkit-box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);
+        -moz-box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);
+        box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);
+    }
+    @media #{$large-up}{
+        padding: 0px !important;
+    }
+    @media #{$medium-only}{
+        margin: 25px 0 0 0;
+        max-width: 300px;
+        margin: 0 auto;
+    }
+    @media #{$small-only}{
+        border: none;
+        margin-bottom: 15px;
+    }
+}
+#home-feed-posts{
+    padding-top: 20px;
+    #home-feed-posts-title {
+        color: white;
+        margin-bottom: 20px;
+        text-align: center;
+    }
+}
+.home-feed-post{
+    // margin-bottom: 35px;
+    h2.title-posts{
+        line-height: 1;
+        // max-height: 28px;
+        margin: 0 0 15px 0;
+        a{
+            display: block;
+            color: white;
+            line-height: 1;
+            font-size: 24px;
+        }
+    }
+    .home-feed-post-content {
+        padding: 0 40px 0 10px;
+    }
+    span.meta.date{
+        display: inline-block;
+        color: white;
+        font-size: 14px;
+        margin-bottom: 10px;
+    }
+    .post-excerpt{
+        color: white;
+        line-height: 1.1;
+        margin-bottom: 20px;
+        overflow: hidden;
+        font-size: 16px;
+    }
+    .read-more{
+        display: inline-block;
+        background: $orange;
+        padding: 2px 15px;
+        border-radius: 5px;
+        -webkit-box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);
+        -moz-box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);
+        box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);
+        @media #{$small-only} {
+            display: block;
+            width: 110px;
+            text-align: center;
+        }
+        &:hover{
+            background: $dark-blue;
+        }
+        a{
+            color: white;
+            
+        }
+    }
+    // padding: 0;
+}
+#home-feed-posts-button-wrapper {
+    margin-top: 20px;
+    margin-bottom: 20px;
+    text-align: center;
+    #home-feed-posts-button {
+        background: $orange;
+        border: 1px solid $dark-blue;
+        border-radius: 4px;
+        -webkit-box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);
+        -moz-box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);
+        box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);
+        &:hover {
+            background: $dark-blue;
+        }
+    }
+}
+
+.members-only-template{
+    #glm-member-front-header{
+        padding-left: 0;
+        padding-right: 0;
+        margin-left: 0;
+        .breadcrumbs{
+            float: left;
+            padding: 0;
+            margin: 0;
+        }
+    }
+    .members-only-buttons{
+        padding: 0;
+    }
+    .glm-button{
+        background-color: $dark-blue;
+        margin-top: 0;
+    }
+}
+.entry-header{
+    .addthis_wrapper{
+        float: right;
+        margin-top: 5px;
+    }
+}
+.st_sharethis {
+    float: right;
+    width: 58px;
+}
+body .stButton .sharethis  {
+  background-image: url("../assets/share-icon.png") !important;
+  width: 52px;
+  height: 22px;
+}
+#glm-member-login-form .button-primary,
+#glm-member-password-lost-form .lostpassword-button {
+  background-color: $dark-blue;
+  border: 0 none;
+  border-radius: 5px;
+  color: white;
+  font-size: 14px;
+  padding: 10px 15px;
+  min-width: 90px;
+  cursor: pointer;
+}
+#glm-member-password-lost-form {
+    width: 400px;
+}
+#glm-member-password-lost-link {
+    color: $dark-blue;
+    margin-top: 40px;
+}
+#glm-member-password-lost-form {
+    display: none;
+    button{
+        padding: 5px;
+    }
+}
+#ui-datepicker-div{
+    display: none;
+}
\ No newline at end of file
diff --git a/dev/scss/_mixins.scss b/dev/scss/_mixins.scss
new file mode 100644 (file)
index 0000000..cf454d0
--- /dev/null
@@ -0,0 +1,2 @@
+  @import "mixins/gradient";
+  @import "mixins/off-canvas-arrow";
\ No newline at end of file
diff --git a/dev/scss/_off-canvas.scss b/dev/scss/_off-canvas.scss
new file mode 100644 (file)
index 0000000..ecd9c4c
--- /dev/null
@@ -0,0 +1,130 @@
+/* for the mobile menu */
+aside.left-off-canvas-menu {
+//  background-color: rgba(0, 0, 0, 0.7);
+//  color: white;
+}
+aside.left-off-canvas-menu li.page_item {
+  display: block;
+  line-height: 1.0;
+  margin-bottom: 5px;
+  overflow: hidden;
+  padding: 5px 35px 5px 0;
+  position: relative;
+}
+aside.left-off-canvas-menu .off-canvas-list ul li a {
+  line-height: 20px;
+  color: white;
+  border-bottom: 1px solid #b1b3b6;
+  background-repeat: no-repeat;
+  background-position: 3px 50%;
+}
+aside.left-off-canvas-menu li.page_item_has_children a.toggle {
+  position: absolute;
+  right: 10px;
+  top: 5px;
+  width: auto;
+    text-decoration: none;
+    &:before {
+        @include off-canvas-point(right, $white, 17px);
+    }
+    &:hover {
+        background: transparent;
+    }
+}
+aside.left-off-canvas-menu li.page_item_has_children a.toggle.open {
+    @include off-canvas-point(down, $white);
+}
+aside.left-off-canvas-menu ul.children {
+  display: none;
+}
+aside.left-off-canvas-menu .off-canvas-list ul li > ul li > a {
+  padding-left: 10px;
+  margin-left: 25px;
+  line-height: 18px;
+}
+aside.left-off-canvas-menu ul.open {
+  display: block;
+}
+.left-off-canvas-menu {
+    background: $dark-blue;
+    color: white;
+    list-style: none;
+    padding-top: 20px;
+    .email-link,
+    .contact-us-link{
+        color: $white;
+        font-size: 14px;
+        text-decoration: underline;
+    }
+    .bullet {
+        color: $white;
+        margin: 0 8px;
+    }
+    li {
+        a {
+            color: $white;
+            font-size: rem-calc(16);
+            line-height: 1.2;
+            border-color: white;
+            text-transform: uppercase;
+        }
+        a:hover {
+            color: white;
+        }
+        .dropdown {
+            list-style: none;
+        }
+    }
+    ul {
+        list-style: none;
+
+        //padding: 20px 0;
+        li {
+            a {
+                color: $white;
+            }
+            ul {
+                list-style: none;
+                li {
+                    a {
+                        width: 85%;
+                        display: block;
+                        white-space: pre-wrap;
+                    }
+                }
+            }
+        }
+    }
+}
+#oc-socials {
+    padding: 20px;
+    .social-icon {
+        display: inline-block;
+        height: 32px;
+        width: 32px;
+        background-image: url("../assets/socials.png");
+        &.facebook {
+            background-position: 0 0;
+        }
+    }
+}
+.oc-site-title{
+    font-size: 16px;
+}
+.oc-action-items{
+    .oc-action-grid{
+        li{
+            height: 30px;
+            margin-bottom: 14px;
+            overflow: hidden;
+            a{
+                display: block;
+            }
+        }
+    }
+}
+.offcavas-social-list {
+    @include inline-list;
+    margin-left: auto;
+}
+/* End Mobile Menu */
diff --git a/dev/scss/_plugins.scss b/dev/scss/_plugins.scss
new file mode 100644 (file)
index 0000000..50dc491
--- /dev/null
@@ -0,0 +1,8 @@
+  @import "plugins/nextgen";
+  @import "plugins/gravityForms";
+  @import "plugins/events";
+  @import "plugins/fullCalendar";
+  @import "plugins/blocks";
+  @import "plugins/glm-member-db";
+  @import "plugins/glm-member-db-events";
+  @import "plugins/glm-member-db-contacts";
\ No newline at end of file
diff --git a/dev/scss/_search.scss b/dev/scss/_search.scss
new file mode 100644 (file)
index 0000000..2284e98
--- /dev/null
@@ -0,0 +1,71 @@
+.search-top {
+        #searchform {
+            text-align: left;
+            display: inline-block;
+            position: relative;
+            #search-button {
+                width: 22px;
+                right: 0px;
+                position: absolute;
+                padding: 0;
+                border: 1px solid lightgray;
+            }
+        }
+        input {
+            height: 20px;
+            width: 167px;
+            padding: 0 8px;
+            margin: 13px 0px 0px 18px;
+            border-radius: 3px;
+            font-size: 10px;
+            color: $black;
+            display: inline-block;
+        }
+        a {
+            &.magnifying-glass {
+                font-size: 10em; /* This controls the size. */ 
+                width: rem-calc(12); 
+                height: rem-calc(12);
+                border: rem-calc(2) solid darkblue; 
+                position: absolute;
+                top: 15px;
+                border-radius: 0.35em;
+                margin: 0 0 0 -20px;
+                &:before {
+                    content: ""; 
+                    display: inline-block; 
+                    position: absolute; 
+                    right: rem-calc(-7); 
+                    bottom: rem-calc(-4); 
+                    border-width: 0; 
+                    background: darkblue; 
+                    width: rem-calc(8); 
+                    height: rem-calc(2); 
+                    -webkit-transform: rotate(45deg); 
+                    -moz-transform: rotate(45deg);
+                    -ms-transform: rotate(45deg);
+                    transform: rotate(45deg);
+                }
+            }
+        }
+}
+.search-results{
+    #blog-posts-over{
+        .search-result-container{
+            header.entry-header{
+                margin-bottom: 0px;
+            }
+            .search_result_context{
+                margin: 0;
+                padding: 0;
+                line-height: 1.3;
+            }
+            article{
+                p{
+                    margin: 0;
+                    padding: 0;
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/dev/scss/_settings.scss b/dev/scss/_settings.scss
new file mode 100644 (file)
index 0000000..c688656
--- /dev/null
@@ -0,0 +1,1481 @@
+// Foundation by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+//
+
+// Table of Contents
+// Foundation Settings
+//
+// a. Base
+// b. Grid
+// c. Global
+// d. Media Query Ranges
+// e. Typography
+// 01. Accordion
+// 02. Alert Boxes
+// 03. Block Grid
+// 04. Breadcrumbs
+// 05. Buttons
+// 06. Button Groups
+// 07. Clearing
+// 08. Dropdown
+// 09. Dropdown Buttons
+// 10. Flex Vide
+// 11. Forms
+// 12. Icon Bar
+// 13. Inline Lists
+// 14. Joyride
+// 15. Keystrokes
+// 16. Labels
+// 17. Magellan
+// 18. Off-canvas
+// 19. Orbit
+// 20. Pagination
+// 21. Panels
+// 22. Pricing Tables
+// 23. Progress Bar
+// 24. Range Slider
+// 25. Reveal
+// 26. Side Nav
+// 27. Split Buttons
+// 28. Sub Nav
+// 29. Switch
+// 30. Tables
+// 31. Tabs
+// 32. Thumbnails
+// 33. Tooltips
+// 34. Top Bar
+// 36. Visibility Classes
+
+// a. Base
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// This is the default html and body font-size for the base rem value.
+$rem-base: 16px;
+
+// Allows the use of rem-calc() or lower-bound() in your settings
+@import "foundation/functions";
+
+// The default font-size is set to 100% of the browser style sheet (usually 16px)
+// for compatibility with browser-based text zoom or user-set defaults.
+
+// Since the typical default browser font-size is 16px, that makes the calculation for grid size.
+// If you want your base font-size to be different and not have it affect the grid breakpoints,
+// set $rem-base to $base-font-size and make sure $base-font-size is a px value.
+$base-font-size: 100%;
+
+// The $base-font-size is 100% while $base-line-height is 150%
+$base-line-height: 150%;
+
+// We use this to control whether or not CSS classes come through in the gem files.
+$include-html-classes: true;
+// $include-print-styles: true;
+$include-html-global-classes: $include-html-classes;
+
+// b. Grid
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-grid-classes: $include-html-classes;
+// $include-xl-html-grid-classes: false;
+
+$row-width: rem-calc(1000);
+$total-columns: 12;
+$column-gutter: rem-calc(30);
+
+//$last-child-float: $opposite-direction;
+
+// c. Global
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// We use these to define default font stacks
+$font-family-sans-serif: "Open Sans", sans-serif;
+$font-family-serif: 'El Messiri', Cambria, "Times New Roman", Times, serif;
+$font-family-monospace: Consolas, "Liberation Mono", Courier, monospace;
+$custom-font :  'El Messiri',"Open Sans";
+// We use these to define default font weights
+$font-weight-normal: normal;
+$font-weight-bold: bold;
+
+$white       : #FFFFFF;
+$ghost       : #FAFAFA;
+$snow        : #F9F9F9;
+$vapor       : #F6F6F6;
+$white-smoke : #F5F5F5;
+$silver      : #EFEFEF;
+$smoke       : #EEEEEE;
+$gainsboro   : #DDDDDD;
+$iron        : #CCCCCC;
+$base        : #AAAAAA;
+$aluminum    : #999999;
+$jumbo       : #888888;
+$monsoon     : #777777;
+$steel       : #666666;
+$charcoal    : #555555;
+$tuatara     : #444444;
+$oil         : #333333;
+$jet         : #222222;
+$black       : #000000;
+$dark-green  : #43503f;
+$green       : #9ba493;
+$light-green : #ebede9;
+$red         : #fc6463;
+$blue        : #6b98cf;
+$orange      : #d67c3e;
+$l-blue      : #90c3ea;
+$l-green     : #8dc819;
+$dark-blue   : #394d56;
+$gold        : #cabc8b;
+
+// We use these as default colors throughout
+$primary-color: #008CBA;
+$secondary-color: #e7e7e7;
+$alert-color: #f04124;
+$success-color: #43AC6A;
+$warning-color: #f08a24;
+$info-color: #a0d3e8;
+
+// We use these to control various global styles
+// $body-bg: $white;
+$body-font-color: $black;
+$body-font-family: $font-family-sans-serif;
+$body-font-weight: $font-weight-normal;
+$body-font-style: normal;
+
+// We use this to control font-smoothing
+// $font-smoothing: antialiased;
+
+// We use these to control text direction settings
+// $text-direction: ltr;
+// $opposite-direction: right;
+// $default-float: left;
+// $last-child-float: $opposite-direction;
+
+// We use these to make sure border radius matches unless we want it different.
+// $global-radius: 3px;
+// $global-rounded: 1000px;
+
+// We use these to control inset shadow shiny edges and depressions.
+// $shiny-edge-size: 0 1px 0;
+// $shiny-edge-color: rgba($white, .5);
+// $shiny-edge-active-color: rgba($black, .2);
+
+// d. Media Query Ranges
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+$small-range: (0em, 40em);
+$medium-range: (40.063em, 64em);
+$large-range: (64.063em, 90em);
+$xlarge-range: (90.063em, 120em);
+$xxlarge-range: (120.063em, 99999999em);
+
+$screen: "only screen";
+
+$landscape: "#{$screen} and (orientation: landscape)";
+$portrait: "#{$screen} and (orientation: portrait)";
+
+$small-up: $screen;
+$small-only: "#{$screen} and (max-width: #{upper-bound($small-range)})";
+
+$medium-up: "#{$screen} and (min-width:#{lower-bound($medium-range)})";
+$medium-only: "#{$screen} and (min-width:#{lower-bound($medium-range)}) and (max-width:#{upper-bound($medium-range)})";
+
+$medium-down: "#{$screen} and (min-width:#{lower-bound($small-range)}) and (max-width:#{upper-bound($medium-range)})";
+
+$large-up: "#{$screen} and (min-width:#{lower-bound($large-range)})";
+$large-only: "#{$screen} and (min-width:#{lower-bound($large-range)}) and (max-width:#{upper-bound($large-range)})";
+
+$large-down: "#{$screen} and (min-width:#{lower-bound($small-range)}) and (max-width:#{upper-bound($large-range)})";
+
+$xlarge-up: "#{$screen} and (min-width:#{lower-bound($xlarge-range)})";
+$xlarge-only: "#{$screen} and (min-width:#{lower-bound($xlarge-range)}) and (max-width:#{upper-bound($xlarge-range)})";
+
+$xxlarge-up: "#{$screen} and (min-width:#{lower-bound($xxlarge-range)})";
+$xxlarge-only: "#{$screen} and (min-width:#{lower-bound($xxlarge-range)}) and (max-width:#{upper-bound($xxlarge-range)})";
+
+// Legacy
+$small: $medium-up;
+$medium: $medium-up;
+$large: $large-up;
+
+// We use this as cursors values for enabling the option of having custom cursors in the whole site's stylesheet
+$cursor-crosshair-value: crosshair;
+$cursor-default-value: default;
+$cursor-disabled-value: not-allowed;
+$cursor-pointer-value: pointer;
+$cursor-help-value: help;
+$cursor-text-value: text;
+
+// e. Typography
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-type-classes: $include-html-classes;
+
+// We use these to control header font styles
+$header-font-family: $body-font-family;
+$header-font-weight: $font-weight-normal;
+$header-font-style: normal;
+$header-font-color: $jet;
+$header-line-height: 1.4;
+$header-top-margin: .2rem;
+$header-bottom-margin: .5rem;
+$header-text-rendering: optimizeLegibility;
+
+// We use these to control header font sizes
+$h1-font-size: rem-calc(48);
+$h2-font-size: rem-calc(36);
+$h3-font-size: rem-calc(24);
+$h4-font-size: rem-calc(24);
+$h5-font-size: rem-calc(20);
+$h6-font-size: rem-calc(18);
+
+// We use these to control header size reduction on small screens
+$h1-font-reduction: rem-calc(10);
+$h2-font-reduction: rem-calc(10);
+$h3-font-reduction: rem-calc(5);
+$h4-font-reduction: rem-calc(5);
+$h5-font-reduction: 0;
+$h6-font-reduction: 0;
+
+// These control how subheaders are styled.
+$subheader-line-height: 1.4;
+$subheader-font-color: scale-color($header-font-color, $lightness: 35%);
+$subheader-font-weight: $font-weight-normal;
+$subheader-top-margin: .2rem;
+$subheader-bottom-margin: .5rem;
+
+// A general <small> styling
+$small-font-size: 60%;
+$small-font-color: scale-color($header-font-color, $lightness: 35%);
+
+// We use these to style paragraphs
+// $paragraph-font-family: inherit;
+// $paragraph-font-weight: $font-weight-normal;
+ $paragraph-font-size: rem-calc(14);
+// $paragraph-line-height: 1.6;
+// $paragraph-margin-bottom: rem-calc(20);
+// $paragraph-aside-font-size: rem-calc(14);
+// $paragraph-aside-line-height: 1.35;
+// $paragraph-aside-font-style: italic;
+// $paragraph-text-rendering: optimizeLegibility;
+
+// We use these to style <code> tags
+// $code-color: $oil;
+// $code-font-family: $font-family-monospace;
+// $code-font-weight: $font-weight-normal;
+// $code-background-color: scale-color($secondary-color, $lightness: 70%);
+// $code-border-size: 1px;
+// $code-border-style: solid;
+// $code-border-color: scale-color($code-background-color, $lightness: -10%);
+// $code-padding: rem-calc(2) rem-calc(5) rem-calc(1);
+
+// We use these to style anchors
+// $anchor-text-decoration: none;
+// $anchor-text-decoration-hover: none;
+// $anchor-font-color: $primary-color;
+// $anchor-font-color-hover: scale-color($anchor-font-color, $lightness: -14%);
+
+// We use these to style the <hr> element
+// $hr-border-width: 1px;
+// $hr-border-style: solid;
+// $hr-border-color: $gainsboro;
+// $hr-margin: rem-calc(20);
+
+// We use these to style lists
+// $list-font-family: $paragraph-font-family;
+// $list-font-size: $paragraph-font-size;
+// $list-line-height: $paragraph-line-height;
+// $list-margin-bottom: $paragraph-margin-bottom;
+// $list-style-position: outside;
+// $list-side-margin: 1.1rem;
+// $list-ordered-side-margin: 1.4rem;
+// $list-side-margin-no-bullet: 0;
+// $list-nested-margin: rem-calc(20);
+// $definition-list-header-weight: $font-weight-bold;
+// $definition-list-header-margin-bottom: .3rem;
+// $definition-list-margin-bottom: rem-calc(12);
+
+// We use these to style blockquotes
+// $blockquote-font-color: scale-color($header-font-color, $lightness: 35%);
+// $blockquote-padding: rem-calc(9 20 0 19);
+// $blockquote-border: 1px solid $gainsboro;
+// $blockquote-cite-font-size: rem-calc(13);
+// $blockquote-cite-font-color: scale-color($header-font-color, $lightness: 23%);
+// $blockquote-cite-link-color: $blockquote-cite-font-color;
+
+// Acronym styles
+// $acronym-underline: 1px dotted $gainsboro;
+
+// We use these to control padding and margin
+// $microformat-padding: rem-calc(10 12);
+// $microformat-margin: rem-calc(0 0 20 0);
+
+// We use these to control the border styles
+// $microformat-border-width: 1px;
+// $microformat-border-style: solid;
+// $microformat-border-color: $gainsboro;
+
+// We use these to control full name font styles
+// $microformat-fullname-font-weight: $font-weight-bold;
+// $microformat-fullname-font-size: rem-calc(15);
+
+// We use this to control the summary font styles
+// $microformat-summary-font-weight: $font-weight-bold;
+
+// We use this to control abbr padding
+// $microformat-abbr-padding: rem-calc(0 1);
+
+// We use this to control abbr font styles
+// $microformat-abbr-font-weight: $font-weight-bold;
+// $microformat-abbr-font-decoration: none;
+
+// 01. Accordion
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-accordion-classes: $include-html-classes;
+
+// $accordion-navigation-padding: rem-calc(16);
+// $accordion-navigation-bg-color: $silver;
+// $accordion-navigation-hover-bg-color: scale-color($accordion-navigation-bg-color, $lightness: -5%);
+// $accordion-navigation-active-bg-color: scale-color($accordion-navigation-bg-color, $lightness: -3%);
+// $accordion-navigation-font-color: $jet;
+// $accordion-navigation-font-size: rem-calc(16);
+// $accordion-navigation-font-family: $body-font-family;
+
+// $accordion-content-padding: ($column-gutter/2);
+// $accordion-content-active-bg-color: $white;
+
+// 02. Alert Boxes
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-alert-classes: $include-html-classes;
+
+// We use this to control alert padding.
+// $alert-padding-top: rem-calc(14);
+// $alert-padding-default-float: $alert-padding-top;
+// $alert-padding-opposite-direction: $alert-padding-top + rem-calc(10);
+// $alert-padding-bottom: $alert-padding-top;
+
+// We use these to control text style.
+// $alert-font-weight: $font-weight-normal;
+// $alert-font-size: rem-calc(13);
+// $alert-font-color: $white;
+// $alert-font-color-alt: scale-color($secondary-color, $lightness: -66%);
+
+// We use this for close hover effect.
+// $alert-function-factor: -14%;
+
+// We use these to control border styles.
+// $alert-border-style: solid;
+// $alert-border-width: 1px;
+// $alert-border-color: scale-color($primary-color, $lightness: $alert-function-factor);
+// $alert-bottom-margin: rem-calc(20);
+
+// We use these to style the close buttons
+// $alert-close-color: $oil;
+// $alert-close-top: 50%;
+// $alert-close-position: rem-calc(4);
+// $alert-close-font-size: rem-calc(22);
+// $alert-close-opacity: 0.3;
+// $alert-close-opacity-hover: 0.5;
+// $alert-close-padding: 9px 6px 4px;
+// $alert-close-background: inherit;
+
+// We use this to control border radius
+// $alert-radius: $global-radius;
+
+// $alert-transition-speed: 300ms;
+// $alert-transition-ease: ease-out;
+
+// 03. Block Grid
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-block-grid-classes: $include-html-classes;
+// $include-xl-html-block-grid-classes: false;
+
+// We use this to control the maximum number of block grid elements per row
+$block-grid-elements: 12;
+$block-grid-default-spacing: rem-calc(20);
+
+$align-block-grid-to-grid: true;
+// @if $align-block-grid-to-grid {$block-grid-default-spacing: $column-gutter;}
+
+// Enables media queries for block-grid classes. Set to false if writing semantic HTML.
+// $block-grid-media-queries: true;
+
+// 04. Breadcrumbs
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-nav-classes: $include-html-classes;
+
+// We use this to set the background color for the breadcrumb container.
+$crumb-bg: transparent;
+
+// We use these to set the padding around the breadcrumbs.
+// $crumb-padding: rem-calc(9 14 9);
+// $crumb-side-padding: rem-calc(12);
+
+// We use these to control border styles.
+// $crumb-function-factor: -10%;
+// $crumb-border-size: 1px;
+// $crumb-border-style: solid;
+// $crumb-border-color: scale-color($crumb-bg, $lightness: $crumb-function-factor);
+// $crumb-radius: $global-radius;
+
+// We use these to set various text styles for breadcrumbs.
+// $crumb-font-size: rem-calc(11);
+$crumb-font-color: $dark-blue;
+$crumb-font-color-current: $green;
+// $crumb-font-color-unavailable: $aluminum;
+// $crumb-font-transform: uppercase;
+$crumb-link-decor: underline;
+
+// We use these to control the slash between breadcrumbs
+// $crumb-slash-color: $base;
+$crumb-slash: ">";
+
+// 05. Buttons
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-button-classes: $include-html-classes;
+
+// We use these to build padding for buttons.
+// $button-tny: rem-calc(10);
+// $button-sml: rem-calc(14);
+// $button-med: rem-calc(16);
+// $button-lrg: rem-calc(18);
+
+// We use this to control the display property.
+// $button-display: inline-block;
+// $button-margin-bottom: rem-calc(20);
+
+// We use these to control button text styles.
+// $button-font-family: $body-font-family;
+// $button-font-color: $white;
+// $button-font-color-alt: $oil;
+// $button-font-tny: rem-calc(11);
+// $button-font-sml: rem-calc(13);
+// $button-font-med: rem-calc(16);
+// $button-font-lrg: rem-calc(20);
+// $button-font-weight: $font-weight-normal;
+// $button-font-align: center;
+
+// We use these to control various hover effects.
+// $button-function-factor: -20%;
+
+// We use these to control button border styles.
+// $button-border-width: 0;
+// $button-border-style: solid;
+// $button-bg-color: $primary-color;
+// $button-bg-hover: scale-color($button-bg-color, $lightness: $button-function-factor);
+// $button-border-color: $button-bg-hover;
+// $secondary-button-bg-hover: scale-color($secondary-color, $lightness: $button-function-factor);
+// $secondary-button-border-color: $secondary-button-bg-hover;
+// $success-button-bg-hover: scale-color($success-color, $lightness: $button-function-factor);
+// $success-button-border-color: $success-button-bg-hover;
+// $alert-button-bg-hover: scale-color($alert-color, $lightness: $button-function-factor);
+// $alert-button-border-color: $alert-button-bg-hover;
+// $warning-button-bg-hover: scale-color($warning-color, $lightness: $button-function-factor);
+// $warning-button-border-color: $warning-button-bg-hover;
+// $info-button-bg-hover: scale-color($info-color, $lightness: $button-function-factor);
+// $info-button-border-color: $info-button-bg-hover;
+
+// We use this to set the default radius used throughout the core.
+// $button-radius: $global-radius;
+// $button-round: $global-rounded;
+
+// We use this to set default opacity and cursor for disabled buttons.
+// $button-disabled-opacity: 0.7;
+// $button-disabled-cursor: $cursor-default-value;
+
+// 06. Button Groups
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-button-classes: $include-html-classes;
+
+// Sets the margin for the right side by default, and the left margin if right-to-left direction is used
+// $button-bar-margin-opposite: rem-calc(10);
+// $button-group-border-width: 1px;
+
+// 07. Clearing
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-clearing-classes: $include-html-classes;
+
+// We use these to set the background colors for parts of Clearing.
+// $clearing-bg: $oil;
+// $clearing-caption-bg: $clearing-bg;
+// $clearing-carousel-bg: rgba(51,51,51,0.8);
+// $clearing-img-bg: $clearing-bg;
+
+// We use these to style the close button
+// $clearing-close-color: $iron;
+// $clearing-close-size: 30px;
+
+// We use these to style the arrows
+// $clearing-arrow-size: 12px;
+// $clearing-arrow-color: $clearing-close-color;
+
+// We use these to style captions
+// $clearing-caption-font-color: $iron;
+// $clearing-caption-font-size: 0.875em;
+// $clearing-caption-padding: 10px 30px 20px;
+
+// We use these to make the image and carousel height and style
+// $clearing-active-img-height: 85%;
+// $clearing-carousel-height: 120px;
+// $clearing-carousel-thumb-width: 120px;
+// $clearing-carousel-thumb-active-border: 1px solid rgb(255,255,255);
+
+// 08. Dropdown
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-dropdown-classes: $include-html-classes;
+
+// We use these to controls height and width styles.
+// $f-dropdown-max-width: 200px;
+// $f-dropdown-height: auto;
+// $f-dropdown-max-height: none;
+
+// Used for bottom position
+// $f-dropdown-margin-top: 2px;
+
+// Used for right position
+// $f-dropdown-margin-left: $f-dropdown-margin-top;
+
+// Used for left position
+// $f-dropdown-margin-right: $f-dropdown-margin-top;
+
+// Used for top position
+// $f-dropdown-margin-bottom: $f-dropdown-margin-top;
+
+// We use this to control the background color
+ $f-dropdown-bg: $white;
+
+// We use this to set the border styles for dropdowns.
+// $f-dropdown-border-style: solid;
+// $f-dropdown-border-width: 1px;
+// $f-dropdown-border-color: scale-color($white, $lightness: -20%);
+
+// We use these to style the triangle pip.
+// $f-dropdown-triangle-size: 6px;
+// $f-dropdown-triangle-color: $white;
+// $f-dropdown-triangle-side-offset: 10px;
+
+// We use these to control styles for the list elements.
+// $f-dropdown-list-style: none;
+// $f-dropdown-font-color: $charcoal;
+// $f-dropdown-font-size: rem-calc(13);
+// $f-dropdown-list-padding: rem-calc(5, 10);
+// $f-dropdown-line-height: rem-calc(18);
+// $f-dropdown-list-hover-bg: $smoke;
+// $dropdown-mobile-default-float: 0;
+
+// We use this to control the styles for when the dropdown has custom content.
+ $f-dropdown-content-padding: rem-calc(16);
+
+// Default radius for dropdown.
+// $f-dropdown-radius: $global-radius;
+
+
+// 09. Dropdown Buttons
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-button-classes: $include-html-classes;
+
+// We use these to set the color of the pip in dropdown buttons
+// $dropdown-button-pip-color: $white;
+// $dropdown-button-pip-color-alt: $oil;
+
+// We use these to set the size of the pip in dropdown buttons
+// $button-pip-tny: rem-calc(6);
+// $button-pip-sml: rem-calc(7);
+// $button-pip-med: rem-calc(9);
+// $button-pip-lrg: rem-calc(11);
+
+// We use these to style tiny dropdown buttons
+// $dropdown-button-padding-tny: $button-pip-tny * 7;
+// $dropdown-button-pip-size-tny: $button-pip-tny;
+// $dropdown-button-pip-opposite-tny: $button-pip-tny * 3;
+// $dropdown-button-pip-top-tny: (-$button-pip-tny / 2) + rem-calc(1);
+
+// We use these to style small dropdown buttons
+// $dropdown-button-padding-sml: $button-pip-sml * 7;
+// $dropdown-button-pip-size-sml: $button-pip-sml;
+// $dropdown-button-pip-opposite-sml: $button-pip-sml * 3;
+// $dropdown-button-pip-top-sml: (-$button-pip-sml / 2) + rem-calc(1);
+
+// We use these to style medium dropdown buttons
+// $dropdown-button-padding-med: $button-pip-med * 6 + rem-calc(3);
+// $dropdown-button-pip-size-med: $button-pip-med - rem-calc(3);
+// $dropdown-button-pip-opposite-med: $button-pip-med * 2.5;
+// $dropdown-button-pip-top-med: (-$button-pip-med / 2) + rem-calc(2);
+
+// We use these to style large dropdown buttons
+// $dropdown-button-padding-lrg: $button-pip-lrg * 5 + rem-calc(3);
+// $dropdown-button-pip-size-lrg: $button-pip-lrg - rem-calc(6);
+// $dropdown-button-pip-opposite-lrg: $button-pip-lrg * 2.5;
+// $dropdown-button-pip-top-lrg: (-$button-pip-lrg / 2) + rem-calc(3);
+
+// 10. Flex Video
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-media-classes: $include-html-classes;
+
+// We use these to control video container padding and margins
+// $flex-video-padding-top: rem-calc(25);
+// $flex-video-padding-bottom: 67.5%;
+// $flex-video-margin-bottom: rem-calc(16);
+
+// We use this to control widescreen bottom padding
+// $flex-video-widescreen-padding-bottom: 56.34%;
+
+// 11. Forms
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-form-classes: $include-html-classes;
+
+// We use this to set the base for lots of form spacing and positioning styles
+// $form-spacing: rem-calc(16);
+
+// We use these to style the labels in different ways
+// $form-label-pointer: pointer;
+// $form-label-font-size: rem-calc(14);
+// $form-label-font-weight: $font-weight-normal;
+// $form-label-line-height: 1.5;
+// $form-label-font-color: scale-color($black, $lightness: 30%);
+// $form-label-small-transform: capitalize;
+// $form-label-bottom-margin: 0;
+// $input-font-family: inherit;
+// $input-font-color: rgba(0,0,0,0.75);
+// $input-font-size: rem-calc(14);
+// $input-bg-color: $white;
+// $input-focus-bg-color: scale-color($white, $lightness: -2%);
+// $input-border-color: scale-color($white, $lightness: -20%);
+// $input-focus-border-color: scale-color($white, $lightness: -40%);
+// $input-border-style: solid;
+// $input-border-width: 1px;
+// $input-border-radius: $global-radius;
+// $input-disabled-bg: $gainsboro;
+// $input-disabled-cursor: $cursor-default-value;
+// $input-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
+// $input-include-glowing-effect: true;
+
+// We use these to style the fieldset border and spacing.
+// $fieldset-border-style: solid;
+// $fieldset-border-width: 1px;
+// $fieldset-border-color: $gainsboro;
+// $fieldset-padding: rem-calc(20);
+// $fieldset-margin: rem-calc(18 0);
+
+// We use these to style the legends when you use them
+// $legend-bg: $white;
+// $legend-font-weight: $font-weight-bold;
+// $legend-padding: rem-calc(0 3);
+
+// We use these to style the prefix and postfix input elements
+// $input-prefix-bg: scale-color($white, $lightness: -5%);
+// $input-prefix-border-color: scale-color($white, $lightness: -20%);
+// $input-prefix-border-size: 1px;
+// $input-prefix-border-type: solid;
+// $input-prefix-overflow: hidden;
+// $input-prefix-font-color: $oil;
+// $input-prefix-font-color-alt: $white;
+
+// We use this setting to turn on/off HTML5 number spinners (the up/down arrows)
+// $input-number-spinners: true;
+
+// We use these to style the error states for inputs and labels
+// $input-error-message-padding: rem-calc(6 9 9);
+// $input-error-message-top: -1px;
+// $input-error-message-font-size: rem-calc(12);
+// $input-error-message-font-weight: $font-weight-normal;
+// $input-error-message-font-style: italic;
+// $input-error-message-font-color: $white;
+// $input-error-message-bg-color: $alert-color;
+// $input-error-message-font-color-alt: $oil;
+
+// We use this to style the glowing effect of inputs when focused
+// $glowing-effect-fade-time: 0.45s;
+// $glowing-effect-color: $input-focus-border-color;
+
+// Select variables
+// $select-bg-color: $ghost;
+// $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%);
+
+
+// 12. Icon Bar
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// We use these to style the icon-bar and items
+// $icon-bar-bg: $oil;
+// $icon-bar-font-color: $white;
+// $icon-bar-font-color-hover: $icon-bar-font-color;
+// $icon-bar-font-size: 1rem;
+// $icon-bar-hover-color: $primary-color;
+// $icon-bar-icon-color: $white;
+// $icon-bar-icon-color-hover: $icon-bar-icon-color;
+// $icon-bar-icon-size: 1.875rem;
+// $icon-bar-image-width: 1.875rem;
+// $icon-bar-image-height: 1.875rem;
+// $icon-bar-active-color: $primary-color;
+// $icon-bar-item-padding: 1.25rem;
+
+// We use this to set default opacity and cursor for disabled icons.
+// $icon-bar-disabled-opacity: 0.7;
+
+// 13. Inline Lists
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-inline-list-classes: $include-html-classes;
+
+// We use this to control the margins and padding of the inline list.
+// $inline-list-top-margin: 0;
+// $inline-list-opposite-margin: 0;
+// $inline-list-bottom-margin: rem-calc(17);
+// $inline-list-default-float-margin: rem-calc(-22);
+// $inline-list-default-float-list-margin: rem-calc(22);
+
+// $inline-list-padding: 0;
+
+// We use this to control the overflow of the inline list.
+// $inline-list-overflow: hidden;
+
+// We use this to control the list items
+// $inline-list-display: block;
+
+// We use this to control any elements within list items
+// $inline-list-children-display: block;
+
+// 14. Joyride
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-joyride-classes: $include-html-classes;
+
+// Controlling default Joyride styles
+// $joyride-tip-bg: $oil;
+// $joyride-tip-default-width: 300px;
+// $joyride-tip-padding: rem-calc(18 20 24);
+// $joyride-tip-border: solid 1px $charcoal;
+// $joyride-tip-radius: 4px;
+// $joyride-tip-position-offset: 22px;
+
+// Here, we're setting the tip font styles
+// $joyride-tip-font-color: $white;
+// $joyride-tip-font-size: rem-calc(14);
+// $joyride-tip-header-weight: $font-weight-bold;
+
+// This changes the nub size
+// $joyride-tip-nub-size: 10px;
+
+// This adjusts the styles for the timer when its enabled
+// $joyride-tip-timer-width: 50px;
+// $joyride-tip-timer-height: 3px;
+// $joyride-tip-timer-color: $steel;
+
+// This changes up the styles for the close button
+// $joyride-tip-close-color: $monsoon;
+// $joyride-tip-close-size: 24px;
+// $joyride-tip-close-weight: $font-weight-normal;
+
+// When Joyride is filling the screen, we use this style for the bg
+// $joyride-screenfill: rgba(0,0,0,0.5);
+
+// 15. Keystrokes
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-keystroke-classes: $include-html-classes;
+
+// We use these to control text styles.
+// $keystroke-font: "Consolas", "Menlo", "Courier", monospace;
+// $keystroke-font-size: inherit;
+// $keystroke-font-color: $jet;
+// $keystroke-font-color-alt: $white;
+// $keystroke-function-factor: -7%;
+
+// We use this to control keystroke padding.
+// $keystroke-padding: rem-calc(2 4 0);
+
+// We use these to control background and border styles.
+// $keystroke-bg: scale-color($white, $lightness: $keystroke-function-factor);
+// $keystroke-border-style: solid;
+// $keystroke-border-width: 1px;
+// $keystroke-border-color: scale-color($keystroke-bg, $lightness: $keystroke-function-factor);
+// $keystroke-radius: $global-radius;
+
+// 16. Labels
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-label-classes: $include-html-classes;
+
+// We use these to style the labels
+// $label-padding: rem-calc(4 8 4);
+// $label-radius: $global-radius;
+
+// We use these to style the label text
+// $label-font-sizing: rem-calc(11);
+// $label-font-weight: $font-weight-normal;
+// $label-font-color: $oil;
+// $label-font-color-alt: $white;
+// $label-font-family: $body-font-family;
+
+// 17. Magellan
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-magellan-classes: $include-html-classes;
+
+// $magellan-bg: $white;
+// $magellan-padding: 10px;
+
+// 18. Off-canvas
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// Off Canvas Tab Bar Variables
+// $include-html-off-canvas-classes: $include-html-classes;
+
+ $tabbar-bg: $l-blue;
+// $tabbar-height: rem-calc(45);
+// $tabbar-icon-width: $tabbar-height;
+// $tabbar-line-height: $tabbar-height;
+// $tabbar-color: $white;
+// $tabbar-middle-padding: 0 rem-calc(10);
+
+// Off Canvas Divider Styles
+// $tabbar-left-section-border: solid 1px scale-color($tabbar-bg, $lightness: -50%);
+// $tabbar-right-section-border: $tabbar-left-section-border;
+
+
+// Off Canvas Tab Bar Headers
+// $tabbar-header-color: $white;
+// $tabbar-header-weight: $font-weight-bold;
+// $tabbar-header-line-height: $tabbar-height;
+// $tabbar-header-margin: 0;
+
+// Off Canvas Menu Variables
+// $off-canvas-width: rem-calc(250);
+ $off-canvas-bg: $l-blue;
+
+// Off Canvas Menu List Variables
+// $off-canvas-label-padding: 0.3rem rem-calc(15);
+// $off-canvas-label-color: $aluminum;
+// $off-canvas-label-text-transform: uppercase;
+// $off-canvas-label-font-size: rem-calc(12);
+// $off-canvas-label-font-weight: $font-weight-bold;
+// $off-canvas-label-bg: $tuatara;
+// $off-canvas-label-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%);
+// $off-canvas-label-border-bottom: none;
+// $off-canvas-label-margin:0;
+// $off-canvas-link-padding: rem-calc(10, 15);
+// $off-canvas-link-color: rgba($white, 0.7);
+// $off-canvas-link-border-bottom: 1px solid scale-color($off-canvas-bg, $lightness: -25%);
+// $off-canvas-back-bg: #444;
+// $off-canvas-back-border-top: $off-canvas-label-border-top;
+// $off-canvas-back-border-bottom: $off-canvas-label-border-bottom;
+// $off-canvas-back-hover-bg: scale-color($off-canvas-back-bg, $lightness: -30%);
+// $off-canvas-back-hover-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%);
+// $off-canvas-back-hover-border-bottom: none;
+
+// Off Canvas Menu Icon Variables
+// $tabbar-menu-icon-color: $white;
+// $tabbar-menu-icon-hover: scale-color($tabbar-menu-icon-color, $lightness: -30%);
+
+ $tabbar-menu-icon-text-indent: rem-calc(55);
+// $tabbar-menu-icon-width: $tabbar-icon-width;
+// $tabbar-menu-icon-height: $tabbar-height;
+// $tabbar-menu-icon-padding: 0;
+
+// $tabbar-hamburger-icon-width: rem-calc(16);
+// $tabbar-hamburger-icon-left: false;
+// $tabbar-hamburger-icon-top: false;
+// $tabbar-hamburger-icon-thickness: 1px;
+// $tabbar-hamburger-icon-gap: 6px;
+
+// Off Canvas Back-Link Overlay
+// $off-canvas-overlay-transition: background 300ms ease;
+// $off-canvas-overlay-cursor: pointer;
+// $off-canvas-overlay-box-shadow: -4px 0 4px rgba($black, 0.5), 4px 0 4px rgba($black, 0.5);
+// $off-canvas-overlay-background: rgba($white, 0.2);
+// $off-canvas-overlay-background-hover: rgba($white, 0.05);
+
+// Transition Variables
+// $menu-slide: "transform 500ms ease";
+
+// 19. Orbit
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-orbit-classes: $include-html-classes;
+
+// We use these to control the caption styles
+// $orbit-container-bg: none;
+// $orbit-caption-bg: rgba(51,51,51, 0.8);
+// $orbit-caption-font-color: $white;
+// $orbit-caption-font-size: rem-calc(14);
+// $orbit-caption-position: "bottom"; // Supported values: "bottom", "under"
+// $orbit-caption-padding: rem-calc(10 14);
+// $orbit-caption-height: auto;
+
+// We use these to control the left/right nav styles
+// $orbit-nav-bg: transparent;
+// $orbit-nav-bg-hover: rgba(0,0,0,0.3);
+// $orbit-nav-arrow-color: $white;
+// $orbit-nav-arrow-color-hover: $white;
+
+// We use these to control the timer styles
+// $orbit-timer-bg: rgba(255,255,255,0.3);
+// $orbit-timer-show-progress-bar: true;
+
+// We use these to control the bullet nav styles
+// $orbit-bullet-nav-color: $iron;
+// $orbit-bullet-nav-color-active: $aluminum;
+// $orbit-bullet-radius: rem-calc(9);
+
+// We use these to controls the style of slide numbers
+// $orbit-slide-number-bg: rgba(0,0,0,0);
+// $orbit-slide-number-font-color: $white;
+// $orbit-slide-number-padding: rem-calc(5);
+
+// Graceful Loading Wrapper and preloader
+// $wrapper-class: "slideshow-wrapper";
+// $preloader-class: "preloader";
+
+// Hide controls on small
+// $orbit-nav-hide-for-small: true;
+// $orbit-bullet-hide-for-small: true;
+// $orbit-timer-hide-for-small: true; 
+
+// 20. Pagination
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-pagination-classes: $include-html-classes;
+
+// We use these to control the pagination container
+// $pagination-height: rem-calc(24);
+// $pagination-margin: rem-calc(-5);
+
+// We use these to set the list-item properties
+// $pagination-li-float: $default-float;
+// $pagination-li-height: rem-calc(24);
+// $pagination-li-font-color: $jet;
+// $pagination-li-font-size: rem-calc(14);
+// $pagination-li-margin: rem-calc(5);
+
+// We use these for the pagination anchor links
+// $pagination-link-pad: rem-calc(1 10 1);
+// $pagination-link-font-color: $aluminum;
+// $pagination-link-active-bg: scale-color($white, $lightness: -10%);
+
+// We use these for disabled anchor links
+// $pagination-link-unavailable-cursor: default;
+// $pagination-link-unavailable-font-color: $aluminum;
+// $pagination-link-unavailable-bg-active: transparent;
+
+// We use these for currently selected anchor links
+// $pagination-link-current-background: $primary-color;
+// $pagination-link-current-font-color: $white;
+// $pagination-link-current-font-weight: $font-weight-bold;
+// $pagination-link-current-cursor: default;
+// $pagination-link-current-active-bg: $primary-color;
+
+// 21. Panels
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-panel-classes: $include-html-classes;
+
+// We use these to control the background and border styles
+// $panel-bg: scale-color($white, $lightness: -5%);
+// $panel-border-style: solid;
+// $panel-border-size: 1px;
+
+// We use this % to control how much we darken things on hover
+// $panel-function-factor: -11%;
+// $panel-border-color: scale-color($panel-bg, $lightness: $panel-function-factor);
+
+// We use these to set default inner padding and bottom margin
+// $panel-margin-bottom: rem-calc(20);
+// $panel-padding: rem-calc(20);
+
+// We use these to set default font colors
+// $panel-font-color: $oil;
+// $panel-font-color-alt: $white;
+
+// $panel-header-adjust: true;
+// $callout-panel-link-color: $primary-color;
+// $callout-panel-link-color-hover: scale-color($callout-panel-link-color, $lightness: -14%);
+
+// 22. Pricing Tables
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-pricing-classes: $include-html-classes;
+
+// We use this to control the border color
+// $price-table-border: solid 1px $gainsboro;
+
+// We use this to control the bottom margin of the pricing table
+// $price-table-margin-bottom: rem-calc(20);
+
+// We use these to control the title styles
+// $price-title-bg: $oil;
+// $price-title-padding: rem-calc(15 20);
+// $price-title-align: center;
+// $price-title-color: $smoke;
+// $price-title-weight: $font-weight-normal;
+// $price-title-size: rem-calc(16);
+// $price-title-font-family: $body-font-family;
+
+// We use these to control the price styles
+// $price-money-bg: $vapor;
+// $price-money-padding: rem-calc(15 20);
+// $price-money-align: center;
+// $price-money-color: $oil;
+// $price-money-weight: $font-weight-normal;
+// $price-money-size: rem-calc(32);
+// $price-money-font-family: $body-font-family;
+
+
+// We use these to control the description styles
+// $price-bg: $white;
+// $price-desc-color: $monsoon;
+// $price-desc-padding: rem-calc(15);
+// $price-desc-align: center;
+// $price-desc-font-size: rem-calc(12);
+// $price-desc-weight: $font-weight-normal;
+// $price-desc-line-height: 1.4;
+// $price-desc-bottom-border: dotted 1px $gainsboro;
+
+// We use these to control the list item styles
+// $price-item-color: $oil;
+// $price-item-padding: rem-calc(15);
+// $price-item-align: center;
+// $price-item-font-size: rem-calc(14);
+// $price-item-weight: $font-weight-normal;
+// $price-item-bottom-border: dotted 1px $gainsboro;
+
+// We use these to control the CTA area styles
+// $price-cta-bg: $white;
+// $price-cta-align: center;
+// $price-cta-padding: rem-calc(20 20 0);
+
+// 23. Progress Bar
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-media-classes: $include-html-classes;
+
+// We use this to set the progress bar height
+// $progress-bar-height: rem-calc(25);
+// $progress-bar-color: $vapor;
+
+// We use these to control the border styles
+// $progress-bar-border-color: scale-color($white, $lightness: 20%);
+// $progress-bar-border-size: 1px;
+// $progress-bar-border-style: solid;
+// $progress-bar-border-radius: $global-radius;
+
+// We use these to control the margin & padding
+// $progress-bar-margin-bottom: rem-calc(10);
+
+// We use these to set the meter colors
+// $progress-meter-color: $primary-color;
+// $progress-meter-secondary-color: $secondary-color;
+// $progress-meter-success-color: $success-color;
+// $progress-meter-alert-color: $alert-color;
+
+// 24. Range Slider
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-range-slider-classes: $include-html-classes;
+
+// These variabels define the slider bar styles
+// $range-slider-bar-width: 100%;
+// $range-slider-bar-height: rem-calc(16);
+
+// $range-slider-bar-border-width: 1px;
+// $range-slider-bar-border-style: solid;
+// $range-slider-bar-border-color: $gainsboro;
+// $range-slider-radius: $global-radius;
+// $range-slider-round: $global-rounded;
+// $range-slider-bar-bg-color: $ghost;
+// $range-slider-active-segment-bg-color: scale-color($secondary-color, $lightness: -1%);
+
+// Vertical bar styles
+// $range-slider-vertical-bar-width: rem-calc(16);
+// $range-slider-vertical-bar-height: rem-calc(200);
+
+// These variabels define the slider handle styles
+// $range-slider-handle-width: rem-calc(32);
+// $range-slider-handle-height: rem-calc(22);
+// $range-slider-handle-position-top: rem-calc(-5);
+// $range-slider-handle-bg-color: $primary-color;
+// $range-slider-handle-border-width: 1px;
+// $range-slider-handle-border-style: solid;
+// $range-slider-handle-border-color: none;
+// $range-slider-handle-radius: $global-radius;
+// $range-slider-handle-round: $global-rounded;
+// $range-slider-handle-bg-hover-color: scale-color($primary-color, $lightness: -12%);
+// $range-slider-handle-cursor: pointer;
+
+// $range-slider-disabled-opacity: 0.7;
+// $range-slider-disabled-cursor: $cursor-disabled-value;
+
+// 25. Reveal
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-reveal-classes: $include-html-classes;
+
+// We use these to control the style of the reveal overlay.
+// $reveal-overlay-bg: rgba($black, .45);
+// $reveal-overlay-bg-old: $black;
+
+// We use these to control the style of the modal itself.
+// $reveal-modal-bg: $white;
+// $reveal-position-top: rem-calc(100);
+// $reveal-default-width: 80%;
+// $reveal-max-width: $row-width;
+// $reveal-modal-padding: rem-calc(20);
+// $reveal-box-shadow: 0 0 10px rgba($black,.4);
+
+// We use these to style the reveal close button
+// $reveal-close-font-size: rem-calc(40);
+// $reveal-close-top: rem-calc(10);
+// $reveal-close-side: rem-calc(22);
+// $reveal-close-color: $base;
+// $reveal-close-weight: $font-weight-bold;
+
+// We use this to set the default radius used throughout the core.
+// $reveal-radius: $global-radius;
+// $reveal-round: $global-rounded;
+
+// We use these to control the modal border
+// $reveal-border-style: solid;
+// $reveal-border-width: 1px;
+// $reveal-border-color: $steel;
+
+// $reveal-modal-class: "reveal-modal";
+// $close-reveal-modal-class: "close-reveal-modal";
+
+// 26. Side Nav
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-nav-classes: $include-html-classes;
+
+// We use this to control padding.
+// $side-nav-padding: rem-calc(14 0);
+
+// We use these to control list styles.
+// $side-nav-list-type: none;
+// $side-nav-list-position: outside;
+// $side-nav-list-margin: rem-calc(0 0 7 0);
+
+// We use these to control link styles.
+// $side-nav-link-color: $primary-color;
+// $side-nav-link-color-active: scale-color($side-nav-link-color, $lightness: 30%);
+// $side-nav-link-color-hover: scale-color($side-nav-link-color, $lightness: 30%);
+// $side-nav-link-bg-hover: hsla(0, 0, 0, 0.025);
+// $side-nav-link-margin: 0;
+// $side-nav-link-padding: rem-calc(7 14);
+// $side-nav-font-size: rem-calc(14);
+// $side-nav-font-weight: $font-weight-normal;
+// $side-nav-font-weight-active: $side-nav-font-weight;
+// $side-nav-font-family: $body-font-family;
+// $side-nav-font-family-active: $side-nav-font-family;
+
+// We use these to control heading styles.
+// $side-nav-heading-color: $side-nav-link-color;
+// $side-nav-heading-font-size: $side-nav-font-size;
+// $side-nav-heading-font-weight: bold;
+// $side-nav-heading-text-transform: uppercase;
+
+// We use these to control border styles
+// $side-nav-divider-size: 1px;
+// $side-nav-divider-style: solid;
+// $side-nav-divider-color: scale-color($white, $lightness: 10%);
+
+// 27. Split Buttons
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-button-classes: $include-html-classes;
+
+// We use these to control different shared styles for Split Buttons
+// $split-button-function-factor: 10%;
+// $split-button-pip-color: $white;
+// $split-button-pip-color-alt: $oil;
+// $split-button-active-bg-tint: rgba(0,0,0,0.1);
+
+// We use these to control tiny split buttons
+// $split-button-padding-tny: $button-pip-tny * 10;
+// $split-button-span-width-tny: $button-pip-tny * 6;
+// $split-button-pip-size-tny: $button-pip-tny;
+// $split-button-pip-top-tny: $button-pip-tny * 2;
+// $split-button-pip-default-float-tny: rem-calc(-6);
+
+// We use these to control small split buttons
+// $split-button-padding-sml: $button-pip-sml * 10;
+// $split-button-span-width-sml: $button-pip-sml * 6;
+// $split-button-pip-size-sml: $button-pip-sml;
+// $split-button-pip-top-sml: $button-pip-sml * 1.5;
+// $split-button-pip-default-float-sml: rem-calc(-6);
+
+// We use these to control medium split buttons
+// $split-button-padding-med: $button-pip-med * 9;
+// $split-button-span-width-med: $button-pip-med * 5.5;
+// $split-button-pip-size-med: $button-pip-med - rem-calc(3);
+// $split-button-pip-top-med: $button-pip-med * 1.5;
+// $split-button-pip-default-float-med: rem-calc(-6);
+
+// We use these to control large split buttons
+// $split-button-padding-lrg: $button-pip-lrg * 8;
+// $split-button-span-width-lrg: $button-pip-lrg * 5;
+// $split-button-pip-size-lrg: $button-pip-lrg - rem-calc(6);
+// $split-button-pip-top-lrg: $button-pip-lrg + rem-calc(5);
+// $split-button-pip-default-float-lrg: rem-calc(-6);
+
+// 28. Sub Nav
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-nav-classes: $include-html-classes;
+
+// We use these to control margin and padding
+// $sub-nav-list-margin: rem-calc(-4 0 18);
+// $sub-nav-list-padding-top: rem-calc(4);
+
+// We use this to control the definition
+// $sub-nav-font-family: $body-font-family;
+// $sub-nav-font-size: rem-calc(14);
+// $sub-nav-font-color: $aluminum;
+// $sub-nav-font-weight: $font-weight-normal;
+// $sub-nav-text-decoration: none;
+// $sub-nav-padding: rem-calc(3 16);
+// $sub-nav-border-radius: 3px;
+// $sub-nav-font-color-hover: scale-color($sub-nav-font-color, $lightness: -25%);
+
+
+// We use these to control the active item styles
+
+// $sub-nav-active-font-weight: $font-weight-normal;
+// $sub-nav-active-bg: $primary-color;
+// $sub-nav-active-bg-hover: scale-color($sub-nav-active-bg, $lightness: -14%);
+// $sub-nav-active-color: $white;
+// $sub-nav-active-padding: $sub-nav-padding;
+// $sub-nav-active-cursor: default;
+
+// $sub-nav-item-divider: "";
+// $sub-nav-item-divider-margin: rem-calc(12);
+
+// 29. Switch
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-form-classes: $include-html-classes;
+
+// Controlling background color for the switch container
+// $switch-bg: $gainsboro;
+
+// We use these to control the switch heights for our default classes
+// $switch-height-tny: 1.5rem;
+// $switch-height-sml: 1.75rem;
+// $switch-height-med: 2rem;
+// $switch-height-lrg: 2.5rem;
+// $switch-bottom-margin: 1.5rem;
+
+// We use these to style the switch-paddle
+// $switch-paddle-bg: $white;
+// $switch-paddle-transition-speed: .15s;
+// $switch-paddle-transition-ease: ease-out;
+// $switch-active-color: $primary-color; 
+
+// 30. Tables
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-table-classes: $include-html-classes;
+
+// These control the background color for the table and even rows
+// $table-bg: $white;
+// $table-even-row-bg: $snow;
+
+// These control the table cell border style
+// $table-border-style: solid;
+// $table-border-size: 1px;
+// $table-border-color: $gainsboro;
+
+// These control the table head styles
+// $table-head-bg: $white-smoke;
+// $table-head-font-size: rem-calc(14);
+// $table-head-font-color: $jet;
+// $table-head-font-weight: $font-weight-bold;
+// $table-head-padding: rem-calc(8 10 10);
+
+// These control the table foot styles
+// $table-foot-bg: $table-head-bg;
+// $table-foot-font-size: $table-head-font-size;
+// $table-foot-font-color: $table-head-font-color;
+// $table-foot-font-weight: $table-head-font-weight;
+// $table-foot-padding: $table-head-padding;
+
+// These control the caption
+// table-caption-bg: transparent;
+// $table-caption-font-color: $table-head-font-color;
+// $table-caption-font-size: rem-calc(16);
+// $table-caption-font-weight: bold;
+
+// These control the row padding and font styles
+// $table-row-padding: rem-calc(9 10);
+// $table-row-font-size: rem-calc(14);
+// $table-row-font-color: $jet;
+// $table-line-height: rem-calc(18);
+
+// These are for controlling the layout, display and margin of tables
+// $table-layout: auto;
+// $table-display: table-cell;
+// $table-margin-bottom: rem-calc(20);
+
+
+// 31. Tabs
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-tabs-classes: $include-html-classes;
+
+// $tabs-navigation-padding: rem-calc(16);
+// $tabs-navigation-bg-color: $silver;
+// $tabs-navigation-active-bg-color: $white;
+// $tabs-navigation-hover-bg-color: scale-color($tabs-navigation-bg-color, $lightness: -6%);
+// $tabs-navigation-font-color: $jet;
+// $tabs-navigation-active-font-color: $tabs-navigation-font-color;
+// $tabs-navigation-font-size: rem-calc(16);
+// $tabs-navigation-font-family: $body-font-family;
+
+// $tabs-content-margin-bottom: rem-calc(24);
+// $tabs-content-padding: ($column-gutter/2);
+
+// $tabs-vertical-navigation-margin-bottom: 1.25rem;
+
+// 32. Thumbnails
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-media-classes: $include-html-classes;
+
+// We use these to control border styles
+// $thumb-border-style: solid;
+// $thumb-border-width: 4px;
+// $thumb-border-color: $white;
+// $thumb-box-shadow: 0 0 0 1px rgba($black,.2);
+// $thumb-box-shadow-hover: 0 0 6px 1px rgba($primary-color,0.5);
+
+// Radius and transition speed for thumbs
+// $thumb-radius: $global-radius;
+// $thumb-transition-speed: 200ms;
+
+// 33. Tooltips
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-tooltip-classes: $include-html-classes;
+
+// $has-tip-border-bottom: dotted 1px $iron;
+// $has-tip-font-weight: $font-weight-bold;
+// $has-tip-font-color: $oil;
+// $has-tip-border-bottom-hover: dotted 1px scale-color($primary-color, $lightness: -55%);
+// $has-tip-font-color-hover: $primary-color;
+// $has-tip-cursor-type: help;
+
+// $tooltip-padding: rem-calc(12);
+// $tooltip-bg: $oil;
+// $tooltip-font-size: rem-calc(14);
+// $tooltip-font-weight: $font-weight-normal;
+// $tooltip-font-color: $white;
+// $tooltip-line-height: 1.3;
+// $tooltip-close-font-size: rem-calc(10);
+// $tooltip-close-font-weight: $font-weight-normal;
+// $tooltip-close-font-color: $monsoon;
+// $tooltip-font-size-sml: rem-calc(14);
+// $tooltip-radius: $global-radius;
+// $tooltip-rounded: $global-rounded;
+// $tooltip-pip-size: 5px;
+// $tooltip-max-width: 300px;
+
+// 34. Top Bar
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-top-bar-classes: $include-html-classes;
+
+// Background color for the top bar
+// $topbar-bg-color: $oil;
+// $topbar-bg: $topbar-bg-color;
+
+// Height and margin
+ $topbar-height: rem-calc(30);
+// $topbar-margin-bottom: 0;
+
+// Controlling the styles for the title in the top bar
+// $topbar-title-weight: $font-weight-normal;
+// $topbar-title-font-size: rem-calc(17);
+
+// Set the link colors and styles for top-level nav
+// $topbar-link-color: $white;
+$topbar-link-color-hover: $dark-blue;
+$topbar-link-color-active: $dark-blue;
+$topbar-link-color-active-hover: $dark-blue;
+// $topbar-link-weight: $font-weight-normal;
+ $topbar-link-font-size: rem-calc(20);
+// $topbar-link-hover-lightness: -10%; // Darken by 10%
+// $topbar-link-bg: $topbar-bg;
+// $topbar-link-bg-hover: $d-blue;
+// $topbar-link-bg-color-hover: $d-blue;
+$topbar-link-bg-active: $white;
+$topbar-link-bg-active-hover: transparent;
+// $topbar-link-font-family: $body-font-family;
+// $topbar-link-text-transform: none;
+// $topbar-link-padding: ($topbar-height / 3);
+// $topbar-back-link-size: rem-calc(18);
+ $topbar-link-dropdown-padding: rem-calc(16);
+// $topbar-button-font-size: 0.75rem;
+// $topbar-button-top: 7px;
+
+// Style the top bar dropdown elements
+// $topbar-dropdown-bg: $white;
+// $topbar-dropdown-link-color: $black;
+// $topbar-dropdown-link-color-hover: $green;
+// $topbar-dropdown-link-bg: $white;
+// $topbar-dropdown-link-bg-hover: $white;
+// $topbar-dropdown-link-weight: $font-weight-normal;
+// $topbar-dropdown-toggle-size: 5px;
+// $topbar-dropdown-toggle-color: $white;
+// $topbar-dropdown-toggle-alpha: 0.4;
+
+// $topbar-dropdown-label-color: $monsoon;
+// $topbar-dropdown-label-text-transform: uppercase;
+// $topbar-dropdown-label-font-weight: $font-weight-bold;
+// $topbar-dropdown-label-font-size: rem-calc(10);
+// $topbar-dropdown-label-bg: $oil;
+
+// Top menu icon styles
+// $topbar-menu-link-transform: uppercase;
+// $topbar-menu-link-font-size: rem-calc(13);
+// $topbar-menu-link-weight: $font-weight-bold;
+// $topbar-menu-link-color: $white;
+// $topbar-menu-icon-color: $white;
+// $topbar-menu-link-color-toggled: $jumbo;
+// $topbar-menu-icon-color-toggled: $jumbo;
+// $topbar-menu-icon-position: $opposite-direction; // Change to $default-float for a left menu icon
+
+// Transitions and breakpoint styles
+// $topbar-transition-speed: 300ms;
+// Using rem-calc for the below breakpoint causes issues with top bar
+// $topbar-breakpoint: #{lower-bound($medium-range)}; // Change to 9999px for always mobile layout
+// $topbar-media-query: $medium-up;
+
+// Top-bar input styles
+// $topbar-input-height: rem-calc(28);
+
+// Divider Styles
+// $topbar-divider-border-bottom: solid 1px scale-color($topbar-bg-color, $lightness: 13%);
+// $topbar-divider-border-top: solid 1px scale-color($topbar-bg-color, $lightness: -50%);
+
+// Sticky Class
+$topbar-sticky-class: ".sticky";
+ $topbar-arrows: false; //Set false to remove the triangle icon from the menu item
+$topbar-dropdown-arrows: false; //Set false to remove the \00bb >> text from dropdown subnavigation li// 
+
+// 36. Visibility Classes
+// - - - - - - - - - - - - - - - - - - - - - - - - -
+
+// $include-html-visibility-classes: $include-html-classes;
+// $include-accessibility-classes: true;
+// $include-table-visibility-classes: true;
+// $include-legacy-visibility-classes: true;
diff --git a/dev/scss/_shadow.wrapper.scss b/dev/scss/_shadow.wrapper.scss
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/dev/scss/_sidebar.scss b/dev/scss/_sidebar.scss
new file mode 100644 (file)
index 0000000..61d850a
--- /dev/null
@@ -0,0 +1,143 @@
+#sidebar {
+    padding-top: 25px;
+    background: #f2f9fc;
+    .row.collapse {
+        margin-left: 14px;
+    }
+    li {
+        list-style: none;
+        #calendar_wrap {
+            table#wp-calendar {
+                margin: 0 auto;
+            }
+        }
+    }
+    a {
+        // font-size: 12px;
+    }
+    form {
+        margin: 0 12px 0 14px;
+        select {
+            padding: 0 rem-calc(8);
+            border-radius: 5px;
+            height: 25px;
+            margin: 0;
+            option {
+                font-size: 10px;
+            }
+        }
+    }
+    .small-block-grid-2 {
+        margin-top: 10px;
+        li {
+            padding: 0 rem-calc(10) rem-calc(10);
+            img {
+                border: 2px solid lightblue;
+            }
+        }
+        & > li:nth-of-type(2), & > li:nth-of-type(4) {
+            padding-left: 0;
+        }
+        & > li:nth-of-type(3), & > li:nth-of-type(4) {
+            padding-bottom: 20px;
+        }
+    }
+    h3 {
+        margin: 20px 0 0;
+    }
+    h1 {
+        margin: 0;
+        font-size: rem-calc(25);
+        text-transform: none;
+    }
+    input {
+        padding: 5px 0 5px 8px;
+        height: auto;
+        margin: 10px 0;
+    }
+    button {
+        border-radius: 2px;
+        padding: 0 10px;
+    }
+}
+#side-nav {
+    padding-top: 10px;
+    background: #f2f9fc;
+    h1 {
+        font-size: rem-calc(22);
+/*        margin: 5px 0 25px;*/
+    }
+    h4 {
+        font-weight: bold;
+        margin-left: 10px;
+    }
+    li {
+        list-style: none;
+    }
+    ul {
+        list-style: none;
+        margin: 0 0 20px;
+        li {
+            margin: 0 -15px;
+            padding: 5px 10px 5px 25px;
+            &:hover {
+                background: #81adc1;
+            }
+            a {
+                color: darkblue;
+                &:hover {
+                    color: $white;
+                }
+            }
+        }
+    }
+    h3 {
+        text-transform: none;
+        margin: 0;
+    }
+    input {
+        padding: 5px 0 5px 8px;
+        height: auto;
+        margin-bottom: 10px;
+    }
+    button {
+        border-radius: 2px;
+        padding: 0 10px;
+    }
+}
+#extra {
+    margin-top: 15px;
+    p {
+        line-height: 1.3;
+        &.title {
+            margin: 0;
+            &#last {
+                padding-top: 10px;
+            }
+        }
+        &#message {
+            text-transform: uppercase;
+            color: lightblue;
+            font-size: rem-calc(15);
+            margin: 40px 0;
+        }
+    }
+}
+.current_page_item > a {
+    font-weight: bold;
+}
+body #sidebar ul.members-only{
+    margin-left: 0;
+    font-size: 16px !important;
+    @media #{$large-up}{
+        #menu-members-only-menu{
+            margin-left: 0;
+        }
+    }
+    @media #{$medium-down}{
+        margin-left: 0;
+        ul{
+            margin-left: 0;
+        }
+    }
+}
\ No newline at end of file
diff --git a/dev/scss/_slideshow.scss b/dev/scss/_slideshow.scss
new file mode 100644 (file)
index 0000000..7a4e9f2
--- /dev/null
@@ -0,0 +1,36 @@
+#slideshow {
+    margin-bottom: 20px;
+    box-shadow: 0px 0px 7px 1px darkgrey;
+    max-height: 600px;
+    overflow-y: hidden;
+    position: relative;
+    width: 100%;
+    z-index: 0;
+    ul {
+        list-style: none;
+        margin: 0;
+        li {
+            max-height: 600px;
+            overflow: hidden;
+            div {
+                max-height: 600px;
+            }
+        }
+        div.nivo-caption {
+            text-align: right;
+            font-size: 20px;
+            font-weight: 300;
+            padding: 9px 10px;
+            background: rgba($black, 0.85);
+            padding-right: 220px;
+            color: $white;
+            @media#{$small-only}{
+                display: none !important;
+            }
+            
+        }
+    }
+    li {
+        list-style: none;
+    }
+}
\ No newline at end of file
diff --git a/dev/scss/_structure.scss b/dev/scss/_structure.scss
new file mode 100644 (file)
index 0000000..e2ae0b1
--- /dev/null
@@ -0,0 +1,62 @@
+//1. Body
+//2. Header
+//3. Fonts
+//4. Top Bar
+//5. Off-Canvas
+.off-canvas-wrap {
+    min-height: 100%;
+    .inner-wrap {
+        min-height: 100vh;
+        height: 100%;
+    }
+}
+//6. Main
+h1{
+    color: $dark-blue;
+    font-family:  $font-family-serif;
+    font-size: 32px;
+    font-weight: bold;
+}
+h2{
+    color: $dark-blue;
+    font-family:  $font-family-sans-serif;
+    font-size: 26px;
+    font-weight: normal;
+}
+h3{
+    color: $dark-blue;
+    font-family:  $font-family-sans-serif;
+    font-size: 26px;
+    font-weight: normal;
+}
+h4{
+    color: $dark-blue;
+    font-family: $font-family-sans-serif;
+    font-size: 20px;
+    font-weight: normal;
+}
+h5{
+    color: $gold;
+    font-family: $font-family-serif;
+    font-size: 20px;
+    font-weight: bold;
+}
+h6{
+    color: $dark-blue;
+    font-family: $font-family-sans-serif;
+    font-size: 20px;
+    font-weight: bold;
+}
+a {
+    color: $dark-blue;
+    &:hover {
+        color: $dark-blue;
+    }
+}
+//6. Main
+//7. Slideshow
+//8. Blog 
+//9. Sidebar
+//10. Links
+//11. Footer
+//12. Copyright
\ No newline at end of file
diff --git a/dev/scss/_topbar.scss b/dev/scss/_topbar.scss
new file mode 100644 (file)
index 0000000..9657cb8
--- /dev/null
@@ -0,0 +1,270 @@
+.contain-to-grid {
+    box-shadow: 0 5px 10px -1px $aluminum;
+    .top-bar {
+        height: 73px;
+        box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.5);
+        margin-bottom: 10px;
+    }
+}
+.tab-bar {
+    .left-small{
+        border-right: 1px solid white;
+    }
+    clear: both;
+    background: $dark-blue;
+    .tab-bar-section.middle {
+//        left: 0;
+//        right: 2.8125rem;
+        text-align: right;
+    }
+}
+.top-bar{
+    background-color: transparent;
+    color: black;
+    text-align: center;
+    width: 100%;
+    height: auto;
+    position: absolute;
+    bottom: 20px;
+    transition: all 0.5s ease-in-out;
+    .top-bar-section {
+        background-color: transparent;
+        display: inline-block;
+        float: none;
+        color: black;
+        height: auto;
+        line-height: 1;
+        > ul {
+            left: 50%;
+            transform: translateX(-50%);
+            top: 53px;
+            > li+li:before {
+                //content: '|';
+            }
+            > li {
+                a{
+                    position: relative;
+                }
+                &:not(:last-child) {
+                    > a:after {
+                        color: $gold;
+                        content: "|";
+                        margin: 0;
+                        padding: 0 0 0 32px;
+                        position: absolute;
+                        right: auto;
+                        top: 15px;
+                        font-size: 20px;
+                        transition: all 0.5s ease;
+                        //border-right: 2px solid $gold;
+                    }
+                }
+                > a {
+                    padding: 0 10px;
+
+                }
+            }
+        }
+        ul{
+            background-color: white;
+            box-shadow: 1px 1px 1px grey;
+            li {
+                background-color: transparent;
+                a {
+                    color: $dark-blue;
+                }
+                > a {
+                    color: $dark-blue;
+                    font-size: 16px;
+                    line-height: 1.2 !important;
+                    font-weight: bold;
+                }
+                &:not(.has-form) {
+                    > a:not(.button) {
+                        transition: all 0.5s ease;
+                        padding: 11px 38px;
+                    }
+                }
+                &:not(.has-form):not(.active) {
+                    > a:not(.button) {
+                        background: transparent;
+                        color: $dark-blue;
+                    }
+                }
+                &.active:not(.has-form) {
+                    & > a:not(.button) {
+                        background: transparent;
+                        color: $gold;
+                    }
+                }
+                ul.dropdown {
+                    box-shadow: 0px 0px 4px -1px grey;
+                    min-width: auto;
+                    padding: 0;
+                    width: auto;
+                    li {
+                        border-bottom: 1px solid lightgrey;
+                        float: none;
+                        min-width: 200px;
+                        width: auto;
+                        a {
+                            border-top-left-radius: 0;
+                            border-top-right-radius: 0;
+                            padding: 5px 0;
+                            text-align: left;
+                        }
+                        &:not(.has-form):not(.active) {
+                            &:hover > a:not(.button) {
+                                background: transparent;
+                                color: $gold;
+                            }
+                            & > a:not(.button) {
+                                font-size: rem-calc(16);
+                                padding: 11px 13px;
+
+                            }
+                        }
+/*                        &.active:not(.has-form) {
+                            & > a:not(.button) {
+                                padding: 5px;
+                            }
+                        }*/
+                    }
+                    > ul > li {
+                        float: none; 
+                    }
+                }
+                &.drop-left {
+                    ul.dropdown {
+                        //left: -100%;
+/*                        right: -1%;
+                        left: auto;*/
+                        li {
+                            a {
+                                text-align: left;       
+                            }
+                        }
+                    }
+                }
+            }
+            .member-dropdown{
+                top: 47px;
+                min-width: 1200px;
+                left: 0%;
+                transform: translateX(-50%);
+            }
+
+
+        }
+        .topbar-member{
+            min-height: 150px;
+            // min-width: 155px;
+            width: 16% !important;
+            margin-bottom: 10px;
+            // border: 1px dashed black;
+            padding-right: 12px !important;
+            background: transparent;
+            div.member-name{
+                line-height: 1;
+                background: transparent;
+                color: $dark-blue;
+                &:hover{
+                    color: $green;
+                }
+            }
+            a.member-link{
+                display: block;
+                white-space: normal;
+                background: transparent !important;
+
+            }
+            .member-image{
+                margin-bottom: 10px;
+                image-rendering: -webkit-optimize-contrast;
+            }
+        } 
+        #interactive-map > li,#dropdown-destination > li,#dropdown-venues > li{
+            padding-bottom: 17px !important;
+        }
+       .map-dropdown{
+           top: 47px;
+           background: white;
+           border: 2px $dark-blue solid;
+           min-width: 600px;
+       }
+
+       .hover-region-text{
+           pointer-events: none;
+           &:hover{
+               cursor: pointer;
+           }
+       }
+       .hover-region{
+           &:hover{
+               fill: $dark-blue;
+               cursor: pointer;
+           }
+       }
+       #Text rect{
+           fill: transparent;
+           cursor: pointer;
+           pointer-events: none;
+       }
+
+    }
+}
+
+.top-bar-section > ul > li > a{
+    //text-transform: uppercase !important;
+}
+.top-bar-section > ul {
+    position: relative;
+    > li.has-dropdown ul li:not(.has-form).active > a:not(.button) {
+        padding-left: 13px;
+    }
+    > li.has-dropdown ul li:not(.has-form):not(.active).has-dropdown > a:not(.button) {
+        padding-left: 25px;
+    }
+    > li.has-dropdown ul li.has-dropdown::after{
+        bottom: 13px;
+        content: '';
+        height: 0;
+        width: 0;
+        border: 7px solid transparent;
+        position: absolute;
+    }
+    > li.has-dropdown.drop-left > ul > li.has-dropdown > ul {
+        left: -100%;
+    }
+    > li.has-dropdown.drop-left > ul > li.has-dropdown::after {
+        border-left-color: transparent;
+        border-right-color: $dark-blue;
+        left: 1%;
+    }
+    > li.has-dropdown.drop-left > ul > li.has-dropdown:active::after,
+    > li.has-dropdown.drop-left > ul > li.has-dropdown:hover::after {
+        border-right-color: $gold;
+    }
+    > li.has-dropdown.drop-right > ul > li.has-dropdown > ul {
+        left: 100%;
+    }
+    > li.has-dropdown.drop-right > ul > li.has-dropdown::after {
+        border-left-color: $dark-blue;
+        border-right-color: transparent;
+        left: 6%;
+    }
+    > li.has-dropdown.drop-right > ul > li.has-dropdown:active::after,
+    > li.has-dropdown.drop-right > ul > li.has-dropdown:hover::after {
+        border-left-color: $gold;
+    }
+}
+header.main.shrink {
+    .top-bar .top-bar-section > ul > li:not(.has-form) > a:not(.button) {
+        padding: 11px 32px;
+        transition: all 0.5s ease;
+    }
+    .top-bar .top-bar-section > ul > li:not(:last-child) > a:after {
+        padding: 0 0 0 25px;
+        transition: all 0.5s ease;
+    }
+}
\ No newline at end of file
diff --git a/dev/scss/_wordpress.scss b/dev/scss/_wordpress.scss
new file mode 100644 (file)
index 0000000..64c4140
--- /dev/null
@@ -0,0 +1,228 @@
+// Wordpress styles
+// Table of Contents
+// 01. Images
+
+
+// 01. Images
+// 02 Search and Post
+
+img.aligncenter {
+    display: block;
+    clear: both;
+    float:none;
+    padding:0;
+    margin-left: auto;
+    margin-right: auto;
+    }
+
+img.alignright {
+    padding: 0;
+    margin: 0 0 6px 11px;
+    display: inline;
+    }
+
+blockquote.alignleft,
+img.alignleft,
+.wp-caption.alignleft {
+    margin: rem-calc(7) rem-calc(35) rem-calc(7) 0;
+}
+
+blockquote.alignright,
+img.alignright,
+.wp-caption.alignright {
+    margin: rem-calc(7) 0 rem-calc(7) rem-calc(35);
+}
+img.alignleft {
+    padding: 0;
+    display: inline;
+    }
+img.alignleft, img.alignright, img.aligncenter, img.alignnone, div.wp-caption img {
+//    border: 1px solid $charcoal;
+}
+
+.alignright {
+    float: right;
+}
+.alignnone {
+    float: none;
+}
+.alignleft {
+    float: left;
+}
+.wp-caption {
+//    background: $charcoal;
+    width: auto;
+}
+.wp-caption-text {
+    font-family: Open Sans, sans-serif;
+    font-size: 9px;
+    color: $white;
+    font-style: italic;
+    margin: 0;
+    padding: 0 5px;
+}
+.gallery-one-title {
+    height: 45px;
+    font-size: 0.8em;
+    text-align: center;
+    font-family: sans-serif;
+    padding: 5px;
+}
+.gallery-holder {
+    margin: 10px 0 20px 0;
+}
+// @media #{$small-range} {
+//     img.alignright, img.alignleft, img.aligncenter {
+//         width: 70% !important;
+//         display: block;
+//         margin-left: auto;
+//         margin-right: auto;
+//         float: none;
+//         text-align: center;
+//     }
+//     div.wp-caption.alignright, div.wp-caption.alignleft {
+//         width: 44% !important;
+//         margin-left: auto;
+//         margin-right: auto;
+//         float: none;
+//         text-align: center;
+//     }
+//     div.wp-caption.aligncenter {
+//         width: 85% !important;
+//         margin-left: auto;
+//         margin-right: auto;
+//         float: none;
+//         text-align: center;
+//     }
+//     div.wp-caption.alignnone {
+//         width: 85% !important;
+//         float: none;
+//     }
+//     div.wp-caption.alignright, div.wp-caption.alignleft, div.wp-caption.aligncenter {
+//         width: 100%;
+//     }
+// }
+// @media #{$medium-range} {
+//     img.aligncenter, img.alignnone {
+//         width: 70% !important;
+//         display: block;
+//         margin-left: auto;
+//         margin-right: auto;
+//         float: none;
+//         text-align: center;
+//     }
+//     div.wp-caption.aligncenter {
+//         width: 74% !important;
+//         margin-left: auto;
+//         margin-right: auto;
+//         float: none;
+//         text-align: center;
+//     }
+//     div.wp-caption.aligncenter {
+//         width: 100%;
+//     }
+//     div.wp-caption.alignnone {
+//         width: 73% !important;
+//         float: none;
+//     }
+// }
+
+.wp-caption {
+    max-width: 100%;
+    margin: 10px 20px;
+    padding: 5px;
+//    background-color: #f3f3f3;
+//    border: 1px solid #ddd;
+    text-align: center;
+    img {
+        width: 100%;
+    }
+    p.wp-caption-text {
+        padding: 5px;
+        width: 100%;
+        margin: 0;
+        color: black;
+        font-size: 12px;
+    }
+    &.aligncenter {
+        margin: 10px auto;
+    }
+}
+// end Images
+// 02 Search and Post
+@media #{$small-only} {
+    #blog-posts-over {
+        padding: 0 !important;
+        margin: 0 !important;
+    }
+}
+.blog-posts-container {
+    margin: 30px 0 30px;
+    embed, iframe, object, video {
+        max-width: 100%;
+    }
+    a {
+        text-decoration: none;
+    }
+    header.entry-header {
+        h2.entry-title {
+            a {
+                color: #222;
+                margin-left: 0;
+            }
+        }
+    }
+    .wp-caption .wp-caption-text, .gallery-caption, .entry-caption {
+        overflow: hidden;
+        color: #757575;
+        font-size: 0.857143rem;
+        font-style: italic;
+        line-height: 2;
+    }
+    .date {
+        font-size: 12px;
+    }
+    footer.entry-meta {
+        color: #757575;
+        font-size: 0.928571rem;
+        line-height: 1.84615;
+        margin-top: 1.71429rem;
+        clear: both;
+        float: none;
+        margin-right: auto;
+    }
+    footer {
+        background: none;
+        clear: both;
+        padding: 15px 0 0;
+        position: relative;
+        text-align: center;
+    }
+}
+#content-wrapper {
+    h1, h2, h3, h4, h5, h6 {
+        clear: both;
+    }
+}
+.content {
+    background: #fff;
+/*    -webkit-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.75);
+    -moz-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.75);
+    box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.75);*/
+    // box-shadow: 3px 3px 8px -1px darkgrey;
+}
+#searchform_container {
+    margin-top: 20px;
+}
+#searchform {
+    max-width: 100%;
+    text-align: center;
+    div {
+        input.blogbutton {
+            @include gradient(#1999ce, #107098);
+        }
+    }
+}
+
+
+// End Search and Posts
diff --git a/dev/scss/admin/tinymce.css b/dev/scss/admin/tinymce.css
new file mode 100644 (file)
index 0000000..24e0f6a
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+GaslightMedia, all rights reserved.
+*/
+/* 
+    Created on : May 22, 2015, 11:19:44 AM
+    Author     : laury
+*/
+ /*
+ * To make the TINYMCE editor in wordpress reflect some of the default styles
+ * we have active on all our themes, thus leading to a more true WYSIWYG
+ * experience.
+ */
+#tinymce h1 {
+    clear: both;
+}
+
+#tinymce h2 {
+    clear: both;
+}
+
+#tinymce h3 {
+    clear: both;   
+}
+
+#tinymce h4 {
+    clear: both;   
+}
+
+#tinymce h5 {
+    clear: both;   
+}
+
+#tinymce h6 {
+    clear: both;   
+} 
\ No newline at end of file
diff --git a/dev/scss/app.scss b/dev/scss/app.scss
new file mode 100644 (file)
index 0000000..b15b9ac
--- /dev/null
@@ -0,0 +1,23 @@
+
+@import "settings";
+@import "content";
+@import "foundation";
+@media #{$small-only}{
+    
+}
+@import "mixins";
+@import "wordpress";
+@import "defaults";
+@import "body";
+@import "header";
+@import "topbar";
+@import "main";
+@import "slideshow";
+@import "plugins";
+@import "blog";
+@import "sidebar";
+@import "search";
+@import "footer";
+@import "structure";
+@import "off-canvas";
+
diff --git a/dev/scss/mixins/_gradient.scss b/dev/scss/mixins/_gradient.scss
new file mode 100644 (file)
index 0000000..47f4364
--- /dev/null
@@ -0,0 +1,10 @@
+/* 
+    Created on : Mar 5, 2015, 2:57:35 PM
+    Author     : laury
+*/
+
+@mixin gradient($from, $to) {
+    background: -webkit-linear-gradient(left, $from 5%, $to 100%);
+    background: -moz-linear-gradient(center top, $from 5%, $to 100%);
+    background: -ms-linear-gradient(left, $from 5%, $to 100%);
+}
diff --git a/dev/scss/mixins/_off-canvas-arrow.scss b/dev/scss/mixins/_off-canvas-arrow.scss
new file mode 100644 (file)
index 0000000..07180f3
--- /dev/null
@@ -0,0 +1,42 @@
+@mixin off-canvas-arrow($direction: down, $color: white, $size: 20px) {
+  border-left: $size - 5 solid transparent;
+  border-right: $size - 5 solid transparent;
+   @if $direction == 'up' {
+    border-bottom: $size solid $color;
+    border-top: 0;
+    // if width is not passed, or empty do this
+   } @else {
+    border-top: $size solid $color;
+    border-bottom: 0;
+   }
+}
+@mixin off-canvas-point($direction: right, $color: red, $size: 1rem) {
+    @if $direction == 'down' {
+        content: '>';
+        transform: rotate(90deg);
+        color: $color;
+        height: $size;
+        width: $size;
+        font-size: $size;
+        font-weight: bold;
+        display: block;
+    } @if $direction == 'up' {
+        content: '>';
+        transform: rotate(-90deg);
+        color: $color;
+        height: $size;
+        width: $size;
+        font-size: $size;
+        font-weight: bold;
+        display: block;
+    } @else if $direction == 'right' {
+        content: '>';
+        transform: rotate(0deg);
+        color: $color;
+        height: $size;
+        width: $size;
+        font-size: $size;
+        font-weight: bold;
+        display: block;
+    }
+}
\ No newline at end of file
diff --git a/dev/scss/plugins/_blocks.scss b/dev/scss/plugins/_blocks.scss
new file mode 100644 (file)
index 0000000..391ceb4
--- /dev/null
@@ -0,0 +1,146 @@
+.blocks-header{
+    font-size: 36px;
+    padding: 0 10px;
+    display: block;
+    text-align: center;
+    
+    line-height: 1.0;
+    @media #{$small-only} {
+        font-size: 32px;
+        text-align: center;
+    }
+    @media #{$medium-down} {
+        margin-bottom: 20px;
+    }
+    font-family: 'Times New Roman', Times, serif;
+    font-weight: lighter;
+    text-transform: uppercase;
+    color: $dark-blue;
+}
+
+.blocks{
+    margin: 0;
+    
+    padding: 0 10px;
+    .block:not(.events-block){
+        display: block;
+        // float: left;
+        padding: 10px;
+        position: relative;
+        height: 300px;
+        max-width: 320px;
+        // margin: 20px 20px 0 0;
+        margin: 15px 5px;
+        border: 5px double rgba($dark-blue, .3);
+        @media #{$medium-down}{
+            margin: 0 auto;
+        }
+        &:not(:last-child) {
+            //padding-right: 3%;
+        }
+        .block-background {
+            background: transparent;
+         
+            height: 100%;
+            position: relative;
+            width: 100%;
+        }
+        // block title and post content
+        a.title-posts,a.title-posts+p{
+            display: block;
+            position: absolute;
+            bottom: 0;
+            width: 100%;
+        }
+        a.blocks-readmore{
+            font-family: 'Times New Roman', Times, serif;
+            display: block;
+            max-width: 115px;
+            padding: 1px;
+            line-height: 1;
+            border-radius: 1px;
+            color: $dark-blue;
+            cursor: pointer;
+            position: absolute;
+            bottom: 0;
+            text-transform: uppercase;
+            border-bottom: 1px solid $gold;
+            &:hover{
+                
+            }
+        }
+        .block-title{
+            color: white;
+            width: 100%;
+            text-align: center;
+            margin: 0;
+        }
+        @media #{$medium-down}{
+            // max-width: 475px;
+            float: none;
+            margin-bottom: 15px;
+        }
+        &:hover{
+            // cursor: pointer;
+            .block-overlay{
+                display: block;
+            }
+        }
+    }
+    .block-overlay{
+        .block-overlay-center{
+            // border: 3px solid white;
+            width: 100%;
+            height: 100%;
+            margin: 0 auto;
+            max-width: 100%;
+            
+            .block-content{
+                overflow: hidden;
+                margin-bottom: 10px;
+                color: $dark-blue;
+                font-size: 16px;
+                // font-style: italic;
+                line-height: 1;
+                margin-bottom: 0;
+                text-align: left;
+                h2 {
+                    font-weight: bold;
+                    margin-bottom: 25px;
+                }
+                p {
+                    color: $dark-blue;
+                    font-size: 16px;
+                    // font-style: italic;
+                    line-height: 1;
+                    margin-bottom: 0;
+                    padding: 5px;
+                    text-align: left;
+                }
+            }
+        }
+        position: absolute;
+        top: 0;
+        width: 100%;
+        height: 100%;
+        // background: rgba(67, 80, 63, 0.85);
+        // padding: 15px;
+        
+        //display: none;
+    }
+}
+.blocks-row{
+    margin-bottom: 50px;
+    max-width: 1100px;
+}
+.block-title-center{
+    color: $dark-blue;
+    font-size: 20px;
+    font-weight: bold;
+    font-family: arial;
+    line-height: 1.2;
+    margin: 0;
+    padding: 5px 5px 10px;
+    text-align: left;
+    text-transform: uppercase;
+}
\ No newline at end of file
diff --git a/dev/scss/plugins/_events.scss b/dev/scss/plugins/_events.scss
new file mode 100644 (file)
index 0000000..7362cbc
--- /dev/null
@@ -0,0 +1,3 @@
+#blog-posts-over article.ai1ec_event {
+    padding: 10px;
+}
\ No newline at end of file
diff --git a/dev/scss/plugins/_fullCalendar.scss b/dev/scss/plugins/_fullCalendar.scss
new file mode 100644 (file)
index 0000000..d89b30d
--- /dev/null
@@ -0,0 +1,80 @@
+/* These are the basic styles for calendar, there are several others that can be added from the calendar's mark up. 
+   These styles are primarily for the buttons, columns headers, and the over all calendar body. More selectors will 
+   be necessary when getting deeper into the calendar's mark up to style elements
+*/
+
+#eventCalendar{
+    
+    /* contains all of the buttons above the calendar, on left and right */
+    .fc-toolbar{
+        
+        /* apply button styles here to affect all of the calendar buttons */
+        .fc-button{
+      
+        }
+        /* currently selected button styles */
+        .fc-button.fc-state-active{
+
+        }
+        .fc-button.fc-state-hover{
+
+        }
+        
+        /* affect only today, prev and next buttons (buttons on the above the left side of the calendar*/
+        .fc-left{
+            .fc-button{
+       
+            }
+            .fc-today-button{
+                
+            }
+        }
+        
+        /* affect only month, week, day buttons (buttons above the right side of the calendar) */
+        .fc-right{
+            .fc-button-group{
+                .fc-button{
+
+                }
+                .fc-button.fc-state-active{
+
+                }
+                .fc-button.fc-state-hover{
+
+                }
+            }
+        }
+        
+        /* Calendar Title / Current Month or Date */
+        .fc-center{
+            h2{
+    
+            }
+        }
+    }
+    
+    /* entire calendar body */
+    .fc-view-container{
+        
+        /* dates, days or months at the top of each column (sun, mon, tue, wed, thur, fri, sat) */
+        .fc-head{
+            .fc-widget-header{
+        
+            }
+        }
+        .fc-agendaDay-view{
+            
+        }
+        .fc-month-view{
+            
+        }
+        .fc-agendaWeek-view{
+            
+        }
+        .fc-body{
+            .fc-widget-content{
+                
+            }
+        }
+    }
+}
diff --git a/dev/scss/plugins/_glm-member-db-contacts.scss b/dev/scss/plugins/_glm-member-db-contacts.scss
new file mode 100644 (file)
index 0000000..3664e7c
--- /dev/null
@@ -0,0 +1,26 @@
+body {
+    #glm-contact-front-container {
+        
+        a:hover {
+            color: $dark-blue;
+        }
+        .glm-alpha-link {
+            border: 0;
+            background-color: white;
+            color: $dark-blue
+        }
+        .glm-alpha-link-selected {
+            background-color: $dark-blue;
+            color: white;
+            &:hover {
+                color: white;
+            }
+        }
+        .glm-member-title {
+            color: $dark-blue;
+        }
+        .button, .button:hover, .button:focus, button, button:hover, button:focus {
+            background-color: $dark-blue;
+        }
+    }
+}
\ No newline at end of file
diff --git a/dev/scss/plugins/_glm-member-db-events.scss b/dev/scss/plugins/_glm-member-db-events.scss
new file mode 100644 (file)
index 0000000..6b90de4
--- /dev/null
@@ -0,0 +1,416 @@
+#events-sidebar {
+    max-width: 360px;
+    margin: 0 auto;
+    .events-sidebar-title {
+        font-style: italic;
+        font-family: 'Times New Roman', Times, serif;
+        font-size: 36px;
+        font-weight: normal;
+        text-align: center;
+        padding: 0 0;
+        color: #394d56;
+        line-height: 1;
+        margin: 5px;
+    }
+    #glm-events-frontpage-wrapper {
+        .glm-events-frontpage-day {
+            background-color: $dark-blue;
+            margin: 10px 0 4px 0;
+        }
+        .glm-events-frontpage-event-title {
+            color: $dark-blue;
+            padding: 2px 4px;
+            font-size: 12px;
+        }
+        .glm-events-frontpage-event-dates {
+            padding: 2px 4px;
+            font-size: 12px;        
+        }
+        .glm-events-frontpage-event-content {
+            padding: 2px 4px;
+            font-size: 12px;        
+        }
+        .glm-events-frontpage-event-container {
+            margin-bottom: 3px;
+        }
+    }
+}
+#glm-event-detail-takeback-mini {
+    background-color: $dark-blue;
+    &:hover {
+        background-color: darken($dark-blue, 10%);
+    }
+}
+.glm-events-frontpage-event-container{
+    height: 97px !important;
+    overflow: hidden;
+}
+#calendar-link{
+    background-color: $dark-blue;
+    padding: 6px;
+    max-width: 150px;
+    display: block;
+    margin: 15px auto;
+}
+// Setting for the colors
+$nameSearchButtonColor   : $green;
+$shortcutsButtonColor    : $green;
+$backToSearchButtonColor : $red;
+$eventGradientColor      : #f2f2f2;
+$eventMonthColor         : $dark-blue;
+
+body{
+    #glm-event-wrapper {
+        
+        .glm-event-day-row{
+            background: transparent !important;
+        }
+        h1 {
+            font-size: 1.5rem;
+            padding: 0 15px;
+        }
+        #glm-events-search-form {
+            .button {
+                @include button(
+                    // $padding
+                    rem-calc(12),
+                    // Background color.
+                    $nameSearchButtonColor,
+                    // If true, set to button radius which is $global-radius
+                    // or explicitly set radius amount in px (ex. $radius:10px).
+                    // Default:false.
+                    3px,
+                    // We can set $full-width:true to remove side
+                    // padding extend width. Default:false
+                    false,
+                    // We can set $disabled:true to create a
+                    // disabled transparent button. Default:false
+                    false
+                );
+                }
+            
+        }
+        #glm-events-shortcuts .shortcuts-button-group { 
+            @include button-group-container();
+            .shortcuts-button {
+                @include button(
+                    rem-calc(12),
+                    $shortcutsButtonColor,
+                    true,
+                    true,
+                    false
+                );
+                margin-bottom: 1px;
+            }
+            & > li {
+                @include button-group-style(
+                    $radius:true,
+                    $even:false,
+                    $float:none
+                );
+            }
+        }
+        // for the back to search button
+        button:not(.fc-button) {
+                @include button(
+                    // $padding
+                    rem-calc(12),
+                    // Background color.
+                    $backToSearchButtonColor,
+                    // If true, set to button radius which is $global-radius
+                    // or explicitly set radius amount in px (ex. $radius:10px).
+                    // Default:false.
+                    3px,
+                    // We can set $full-width:true to remove side
+                    // padding extend width. Default:false
+                    false,
+                    // We can set $disabled:true to create a
+                    // disabled transparent button. Default:false
+                    false
+                );
+            width: 220px;
+        }
+        p {
+            margin-left: 15px;
+        }
+        
+        .glm-event-day-row {
+            border: 1px solid $white;
+            @include gradient($eventGradientColor, $white);
+        }
+
+        .glm-event-day-event {
+            border: 1px solid $iron;
+            &::before{
+                display: none;
+            }
+            &:hover {
+                border: 1px solid $black;
+            }
+        }
+        .glm-event-day-event a.glm-read-more {
+            border: 1px solid $dark-blue;
+            background-color: $white;
+            color: $black;
+        }
+        .glm-event-day-event a.glm-read-more:hover {
+            color: $white;
+            background-color: $dark-blue;
+            border: 1px solid $white;
+            background-color: $dark-blue;
+        }
+        .glm-event-cal {
+            border: 1px solid $dark-blue;
+        }
+        .glm-event-cal-day-container {
+            @include gradient($white, $eventGradientColor);
+        }
+        .glm-event-cal-month {
+            background-color: $dark-blue;
+            color: #fff;
+        }
+        h1 {
+            color: $dark-blue;
+        }
+        h2 {
+            color: $dark-blue;
+        }
+    }
+    .events-feed-container{
+        padding: 0;
+    }
+    .front-page-event-image{
+        min-height: 350px;
+        width: 100%;
+    }
+    #event-feed{
+        position: relative;
+        margin-bottom: 75px;
+        .featured-event{
+            padding: 0;
+            &:hover{
+                .featured-event-details{
+                    bottom: 0 !important;
+                }
+            }
+            position: relative;
+            max-height: 400px;
+            .front-page-event-image{
+                position: relative;
+                width: 100%;
+                // min-height: 345px;
+            }
+            .featured-event-details{
+                padding: 10px 20px;
+                position: absolute;
+                width: 100%;
+                bottom: 0;
+                background-color: $l-blue;
+                transition: 350ms ease-in-out bottom;
+                @media #{$medium-down}{
+                    opacity: .7;
+                    background-color: $black;
+                }
+                h6{
+                    color: white;
+                    opacity: 1;
+                }
+                .featured-event-date{
+                    color: white;
+                }
+        
+            }
+        }
+    }
+    .slick-arrow{
+        position: absolute;
+        height: 50px !important;
+        width: 50px !important;
+        &:focus{
+            background: transparent !important;
+        }
+        &:hover{
+            background: transparent !important;
+        }
+
+    }
+    .slick-arrow.slick-prev{
+        
+        right: 150px !important;
+        @media #{$small-only}{
+            right: 50px !important;
+        }
+        top: -40px !important;
+        left: inherit;
+        background: transparent;
+        
+        &::before{
+            content: '<' !important;
+            font-size: 45px;
+            color: lightgrey;
+        }
+    }
+    .slick-arrow.slick-next{
+        right: 100px !important;
+        @media #{$small-only}{
+            right: 10px !important;
+        }
+        top: -40px !important;
+        left: inherit;
+        background: transparent;
+        &::before{
+            content: '>' !important;
+            font-size: 45px;
+            color: lightgrey;
+        }
+    }
+    .events-feed-title{
+        h3{
+            font-weight: bold;
+            text-align: center;
+            @media #{$small-only}{
+                text-align: left;
+                margin-left: 15px;
+            }
+            color: $l-blue;
+        }
+    }
+    #glm-event-agenda-view .glm-event-day-event::before{
+    display: none;
+    }
+    .glm-events-agenda-image{
+        padding: 0;
+        text-align: center;
+        @media #{$large-up}{
+            img{
+                float: right !important;
+            }
+        }
+    }
+    .event-contents{
+        font-size: 13px;
+    }
+    .glm-agenda-city{
+        font-size: 13px;   
+    }
+    #glm-event-category, #glm-event-city{
+        font-size: 14px;
+    }
+    .glm-event-day-event .front-event-links{
+        
+        @media#{$large-up}{
+            margin-top: 25px;
+            float: right;
+        }
+        @media#{$medium-only}{
+            max-width: 300px;
+            padding: 0;
+            float: none;
+            margin: 0 auto;
+            margin-top: 5px;
+        }
+        @media#{$medium-down}{
+            max-width: 300px;
+            margin: 0 auto;
+            float: none !important;
+            clear: both;
+        }
+        @media#{$small-only}{
+            text-align: center;
+            margin-bottom: 15px;
+        }
+    }
+    .front-event-link{
+        padding: 7px;
+        @media #{$large-up}{
+            display: block;
+            border: 1px solid $orange;
+        }
+        
+        color: $orange;
+        background-color: $white;
+        transition: background-color 400ms ease-in-out;
+        float: none;
+        display: block;
+        text-align: center;
+        &:hover{
+            background-color: $orange;
+            color: $white;
+        }
+        @media#{$medium-down}{
+            // float: left;
+            margin: 2px;
+
+        }
+        @media#{$medium-up}{
+            margin: 2px;
+            
+        }
+        @media #{$large-up}{
+            max-width: 120px;
+        }
+    }
+    .agenda-date{
+        background: $orange;
+        color: white;
+        font-weight: bold;
+        font-size: 16px;
+        margin: 0 auto;
+        max-width: 275px;
+        display: block;
+        padding: 10px;
+        text-align: center;
+    }
+}
+
+.fc-state-default{
+    background-color: transparent !important;
+    background-image: none;
+    color: black !important;
+    &:hover{
+        background-image: none;
+        color: black;
+    }
+}
+.front-event-info{
+    @media #{$medium-down}{
+        // text-align: center;
+    }
+}
+@media #{$large-up}{
+    .mobile-title{
+        display: none;
+    }
+}
+@media #{$medium-up}{
+    .mobile-add-event{
+        display: none;
+    }
+}
+@media #{$small-only}{
+    .large-add-event{
+        display: none;
+    }
+}
+@media #{$medium-down}{
+    .mobile-add-event{
+        #glm-event-add-event-mobile{
+
+        }
+    }
+    .large-title{
+        display: none;
+    }
+    .agenda-event-name{
+        display: block !important;
+        text-align: center;
+        line-height: 1.1
+    }
+}
+#event-tab-title{
+    padding: 20px 0;
+    font-weight: bold;
+}
+.events-sort-tab:not(.active){
+    background-color: #c0c0c0 !important;
+}
diff --git a/dev/scss/plugins/_glm-member-db.scss b/dev/scss/plugins/_glm-member-db.scss
new file mode 100644 (file)
index 0000000..43f9cbe
--- /dev/null
@@ -0,0 +1,300 @@
+.glm-modal{
+    font-weight: normal !important;
+}
+.glm-modal-title{
+    margin-bottom: 15px;
+    font-size: 17px;
+    font-weight: bold;
+}
+.glm-modal-description{
+    
+}
+body #glm-member-db-front-container {
+    #glm-member-detail-images-container ul li{
+        max-height: none;
+    }
+    .glm-thumb-title{
+        font-weight: normal;
+        line-height: 1 !important;
+        font-size: 16px;
+        padding-bottom: 3px;
+    }
+    .addthis_wrapper{
+        float: right;
+    }
+    .glm-member-list-image-left{
+        margin-bottom: 20px;
+    }
+    @media #{$small-only}{
+        padding-top: 20px;
+    }
+    .glm-member-list-active-info .glm-member-title a {
+      color: $l-blue;
+      font-size: 26px;
+      letter-spacing: normal;
+      text-decoration: none;
+      vertical-align: top;
+      &:hover {
+          text-decoration: underline;
+      }
+    }
+    #glm-member-list-filters-button {
+        background-color: $dark-blue;
+    }
+    #glm-member-list-map-toggle {
+        background-color: $dark-blue;
+    }
+    #glm-member-list-filters-close {
+        background-color: $dark-blue;
+    }
+    .glm-member-list-container .glm-member-title {
+      line-height: 1;
+      margin: 5px 0;
+      text-transform: none;
+    }
+    .glm-member-list-container .glm-member-list-image-wrapper {
+      float: right;
+      max-height: 180px;
+    }
+    .glm-member-list-data {
+      padding: 20px;
+    }
+    .glm-member-list-active-info {
+        font-size: 16px;
+    }
+    .glm-member-list-address-wrapper > div {
+        line-height: 1.5;
+    }
+    .glm-member-list-active-info .glm-member-list-links > a {
+        text-decoration: underline;
+        color: $dark-blue;
+        line-height: 1.5;
+    }
+    .glm-alpha-links > .glm-alpha-link {
+        background-color: $white;
+        border-color: $l-blue;
+        color: $l-blue;
+        &:hover {
+            background-color: $l-blue;
+            color: $white;
+        }
+    }
+    .glm-alpha-links > .glm-alpha-link-selected {
+        background-color: $l-blue;
+        color: white;
+    }
+    .glm-member-list-active-info {
+      padding: 0 0px 0 0;
+    }
+    .glm-member-db-list-header-title {
+        text-transform: none;
+    }
+    .glm-member-list-terms {
+        display: none;
+    }
+    .glm-member-search {
+        .glm-member-button-small,
+        input[type="submit"].glm-member-button {
+            font-size: 0.9em !important;
+            padding: 5px 20px !important;
+            margin: 0 auto !important;
+            line-height: 1.8em !important;
+            height: auto !important;
+            border-radius: 5px;
+            background-color: $dark-blue;
+            transition: all 0.5s;
+            &:hover {
+                transition: all 0.5s;
+                background-color: yellow;
+            }
+        }
+    }
+    .glm-member-search::before {
+        background-color: $dark-blue;
+    }
+    .glm-member-db-takeback-mini {
+        text-decoration: none;
+        position: relative;
+        background-color: $dark-blue;
+        transition: all 0.5s;
+        &:hover {
+            transition: all 0.5s;
+            background-color: darken($dark-blue, 10%);
+        }
+    }
+    .glm-member-db-takeback-mini span {
+        font-size: 16px;
+        top: 14px;
+    }
+}
+#content-wrapper .glm-member-db-grid-view {
+    .glm-member-title a {
+        letter-spacing: 2px;
+    }
+    .glm-member-list-sub-links {
+        margin: 0;
+        ul {
+            display: table;
+            margin-left: 0;
+            width: 100%;
+            li {
+                text-transform: uppercase;
+                font-weight: bold;
+                border: 0;
+                width: 50%;
+                float: left;
+                display: block;
+                padding: 1px;
+                margin: 0;
+                a {
+                    color: $gold;
+                    border-radius: 3px;
+                    padding: 4px 8px;
+                    display: block;
+                    width: auto;
+                    font-size: 12px;
+                    text-decoration: underline;
+                }
+            }
+        }
+    }
+}
+body #glm-member-detail-container {
+    margin-top:10px;
+    .glm-member-title {
+        // display: none;
+    }
+    #glm-member-detail-contact-info {
+        background-color: $dark-blue;
+        color: $white;
+    }
+    #glm-member-detail-website-link {
+        text-decoration: none;
+        background-color: $gold;
+        &:hover{
+            background-color: lighten($gold, 10%);
+        }
+    }
+    #glm-member-detail-data-container > .glm-member-detail-content-toggle {
+        color: $gold;
+    }
+    .map-button {
+        background-color: $gold;
+        &:hover{
+            background-color: lighten($gold, 10%);
+        }
+    }
+    #glm-member-detail-links a {
+        color: $dark-blue;
+        border-color: $dark-blue;
+    }
+}
+.glm-member-detail-contact-phone small {
+    font-size: 12px;
+}
+#members-only-sidebar-off-canvas {
+    background-color: #324B4F;
+    border-radius: 5px;
+    list-style: outside none none;
+    margin: 10px;
+    max-width: 230px;
+    h2 {
+        color: yellow;
+    }
+    h4 {
+        color: yellow;
+    }
+    ul li a {
+        color: $white;
+        &:hover {
+            color: yellow;
+        }
+    }
+    .menu-side .glm-button {
+        background: transparent;
+        text-decoration: underline;
+        color: white;
+    }
+}
+#members-only-content {
+    #glm-member-front-header {
+        margin-top: -10px;
+    }
+    #side-links {
+        border: 1px solid $dark-blue;
+        border-radius: 3px;
+        padding: 15px 20px 30px;
+        background-color: $dark-blue;
+        list-style: none;
+        @media #{$medium-only} {
+            padding: 25px 15px;
+        }
+    }
+    #side-links h4 {
+        color: yellow;
+        line-height: 1.2;
+        letter-spacing: normal;
+        font-size: 26px;
+        @media #{$medium-only} {
+            font-size: 24px;
+        }
+    }
+    #side-links ul {
+        margin: 0;
+        list-style: none;
+    }
+    #side-links li {
+        list-style: none;
+        line-height: 1.2;
+        margin-top: 15px;
+    }
+    #side-links li a {
+        color: white;
+        text-decoration: none;
+        font-size: 20px;
+    }
+    #side-links li a:hover {
+        color: yellow;
+    }
+    .glm-button.button {
+        background-color: $dark-blue;
+    }
+    #main-content {
+        padding-top: 0;
+    }
+    #lostpasswordform {
+        max-width: 350px;
+    }
+}
+
+#featured-business {
+    #glm-member-db-front-container {
+        padding: 0;
+        
+    }
+    .glm-featured-member-text {
+        padding: 20px;
+    }
+    .glm-featured-member-image-container {
+        max-height: 200px;
+        overflow: hidden;
+    }
+}
+#sidebar .glm-member-front-container {
+  padding: 0;
+}
+.glm-member-detail-custom-field{
+    padding: 4px;
+    &:nth-child(even){
+        background-color: rgba($dark-blue,0.2);
+    }
+}
+.glm-member-detail-custom-field-name{
+    font-weight: bold;
+    padding-top: 3px;
+}
+.glm-member-detail-custom-field-data{
+    p{
+        margin: 0;
+    }
+}
\ No newline at end of file
diff --git a/dev/scss/plugins/_gravityForms.scss b/dev/scss/plugins/_gravityForms.scss
new file mode 100644 (file)
index 0000000..aef49c4
--- /dev/null
@@ -0,0 +1,7 @@
+.gform_button {
+    background: $orange;
+    border-radius: 4px;
+    &:hover {
+        background: $orange;
+    }
+}
\ No newline at end of file
diff --git a/dev/scss/plugins/_nextgen.scss b/dev/scss/plugins/_nextgen.scss
new file mode 100644 (file)
index 0000000..3bb3619
--- /dev/null
@@ -0,0 +1,40 @@
+/* NextGen Gallery */
+.ngg-gallery-thumbnail, 
+.ngg-gallery-thumbnail-box {
+    float: none !important;
+}
+.gallery li a img { // without this images will overlap each other at certain widths
+    display: block;
+    width: 100%;
+}
+.ngg-gallery-thumbnail, .ngg-gallery-thumbnail-box {
+    float: none !important;
+}
+.ngg-album-compact h4 .ngg-album-desc {
+    height: auto !important;
+    font-family: $font-family-serif;
+    font-weight: 400;
+}
+.ngg-album-compact .album-meta-wrapper h4 a {
+    font-style: normal;
+}
+.album-meta-wrapper {
+    display: block;
+    height: 54px;
+    margin-bottom: 20px;
+}
+.ngg-glmalbums {
+    margin: 10px 0;
+}
+/* Ninja Forms */
+.ninja-forms-form-wrap {
+    max-width: 600px;
+    margin: 0 auto;
+    input[type=submit] {
+        @include button();
+        display: block;
+        margin: 0 auto;
+    }
+}
+
+/* End NextGen Gallery */
diff --git a/dist/app.css b/dist/app.css
new file mode 100644 (file)
index 0000000..bd3de1c
--- /dev/null
@@ -0,0 +1,3 @@
+@media only screen and (min-width: 64.063em){#content-wrapper{padding-top:30px}}.content-button{background-color:#d67c3e;border-radius:4px;color:white;padding:10px 20px}.content-button:hover{background-color:#394d56;color:white;transition:all 0.5s ease-in-out}meta.foundation-version{font-family:"/5.5.3/"}meta.foundation-mq-small{font-family:"/only screen/";width:0em}meta.foundation-mq-small-only{font-family:"/only screen and (max-width: 40em)/";width:0em}meta.foundation-mq-medium{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}meta.foundation-mq-medium-only{font-family:"/only screen and (min-width:40.063em) and (max-width:64em)/";width:40.063em}meta.foundation-mq-large{font-family:"/only screen and (min-width:64.063em)/";width:64.063em}meta.foundation-mq-large-only{font-family:"/only screen and (min-width:64.063em) and (max-width:90em)/";width:64.063em}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:90.063em)/";width:90.063em}meta.foundation-mq-xlarge-only{font-family:"/only screen and (min-width:90.063em) and (max-width:120em)/";width:90.063em}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:120.063em)/";width:120.063em}meta.foundation-data-attribute-namespace{font-family:false}html,body{height:100%}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body{font-size:100%}body{background:#fff;color:#000;cursor:auto;font-family:"Open Sans",sans-serif;font-style:normal;font-weight:normal;line-height:150%;margin:0;padding:0;position:relative}a:hover{cursor:pointer}img{max-width:100%;height:auto}img{-ms-interpolation-mode:bicubic}#map_canvas img,#map_canvas embed,#map_canvas object,.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}.left{float:left !important}.right{float:right !important}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.hide{display:none}.invisible{visibility:hidden}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px}select{width:100%}.row{margin:0 auto;max-width:62.5rem;width:100%}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row.collapse .row{margin-left:0;margin-right:0}.row .row{margin:0 -.9375rem;max-width:none;width:auto}.row .row:before,.row .row:after{content:" ";display:table}.row .row:after{clear:both}.row .row.collapse{margin:0;max-width:none;width:auto}.row .row.collapse:before,.row .row.collapse:after{content:" ";display:table}.row .row.collapse:after{clear:both}.column,.columns{padding-left:.9375rem;padding-right:.9375rem;width:100%;float:left}.column+.column:last-child,.columns+.column:last-child,.column+.columns:last-child,.columns+.columns:last-child{float:right}.column+.column.end,.columns+.column.end,.column+.columns.end,.columns+.columns.end{float:left}@media only screen{.small-push-0{position:relative;left:0;right:auto}.small-pull-0{position:relative;right:0;left:auto}.small-push-1{position:relative;left:8.33333%;right:auto}.small-pull-1{position:relative;right:8.33333%;left:auto}.small-push-2{position:relative;left:16.66667%;right:auto}.small-pull-2{position:relative;right:16.66667%;left:auto}.small-push-3{position:relative;left:25%;right:auto}.small-pull-3{position:relative;right:25%;left:auto}.small-push-4{position:relative;left:33.33333%;right:auto}.small-pull-4{position:relative;right:33.33333%;left:auto}.small-push-5{position:relative;left:41.66667%;right:auto}.small-pull-5{position:relative;right:41.66667%;left:auto}.small-push-6{position:relative;left:50%;right:auto}.small-pull-6{position:relative;right:50%;left:auto}.small-push-7{position:relative;left:58.33333%;right:auto}.small-pull-7{position:relative;right:58.33333%;left:auto}.small-push-8{position:relative;left:66.66667%;right:auto}.small-pull-8{position:relative;right:66.66667%;left:auto}.small-push-9{position:relative;left:75%;right:auto}.small-pull-9{position:relative;right:75%;left:auto}.small-push-10{position:relative;left:83.33333%;right:auto}.small-pull-10{position:relative;right:83.33333%;left:auto}.small-push-11{position:relative;left:91.66667%;right:auto}.small-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:.9375rem;padding-right:.9375rem;float:left}.small-1{width:8.33333%}.small-2{width:16.66667%}.small-3{width:25%}.small-4{width:33.33333%}.small-5{width:41.66667%}.small-6{width:50%}.small-7{width:58.33333%}.small-8{width:66.66667%}.small-9{width:75%}.small-10{width:83.33333%}.small-11{width:91.66667%}.small-12{width:100%}.small-offset-0{margin-left:0 !important}.small-offset-1{margin-left:8.33333% !important}.small-offset-2{margin-left:16.66667% !important}.small-offset-3{margin-left:25% !important}.small-offset-4{margin-left:33.33333% !important}.small-offset-5{margin-left:41.66667% !important}.small-offset-6{margin-left:50% !important}.small-offset-7{margin-left:58.33333% !important}.small-offset-8{margin-left:66.66667% !important}.small-offset-9{margin-left:75% !important}.small-offset-10{margin-left:83.33333% !important}.small-offset-11{margin-left:91.66667% !important}.small-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.small-centered,.columns.small-centered{margin-left:auto;margin-right:auto;float:none}.column.small-uncentered,.columns.small-uncentered{float:left;margin-left:0;margin-right:0}.column.small-centered:last-child,.columns.small-centered:last-child{float:none}.column.small-uncentered:last-child,.columns.small-uncentered:last-child{float:left}.column.small-uncentered.opposite,.columns.small-uncentered.opposite{float:right}.row.small-collapse>.column,.row.small-collapse>.columns{padding-left:0;padding-right:0}.row.small-collapse .row{margin-left:0;margin-right:0}.row.small-uncollapse>.column,.row.small-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem;float:left}}@media only screen and (min-width: 40.063em){.medium-push-0{position:relative;left:0;right:auto}.medium-pull-0{position:relative;right:0;left:auto}.medium-push-1{position:relative;left:8.33333%;right:auto}.medium-pull-1{position:relative;right:8.33333%;left:auto}.medium-push-2{position:relative;left:16.66667%;right:auto}.medium-pull-2{position:relative;right:16.66667%;left:auto}.medium-push-3{position:relative;left:25%;right:auto}.medium-pull-3{position:relative;right:25%;left:auto}.medium-push-4{position:relative;left:33.33333%;right:auto}.medium-pull-4{position:relative;right:33.33333%;left:auto}.medium-push-5{position:relative;left:41.66667%;right:auto}.medium-pull-5{position:relative;right:41.66667%;left:auto}.medium-push-6{position:relative;left:50%;right:auto}.medium-pull-6{position:relative;right:50%;left:auto}.medium-push-7{position:relative;left:58.33333%;right:auto}.medium-pull-7{position:relative;right:58.33333%;left:auto}.medium-push-8{position:relative;left:66.66667%;right:auto}.medium-pull-8{position:relative;right:66.66667%;left:auto}.medium-push-9{position:relative;left:75%;right:auto}.medium-pull-9{position:relative;right:75%;left:auto}.medium-push-10{position:relative;left:83.33333%;right:auto}.medium-pull-10{position:relative;right:83.33333%;left:auto}.medium-push-11{position:relative;left:91.66667%;right:auto}.medium-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:.9375rem;padding-right:.9375rem;float:left}.medium-1{width:8.33333%}.medium-2{width:16.66667%}.medium-3{width:25%}.medium-4{width:33.33333%}.medium-5{width:41.66667%}.medium-6{width:50%}.medium-7{width:58.33333%}.medium-8{width:66.66667%}.medium-9{width:75%}.medium-10{width:83.33333%}.medium-11{width:91.66667%}.medium-12{width:100%}.medium-offset-0{margin-left:0 !important}.medium-offset-1{margin-left:8.33333% !important}.medium-offset-2{margin-left:16.66667% !important}.medium-offset-3{margin-left:25% !important}.medium-offset-4{margin-left:33.33333% !important}.medium-offset-5{margin-left:41.66667% !important}.medium-offset-6{margin-left:50% !important}.medium-offset-7{margin-left:58.33333% !important}.medium-offset-8{margin-left:66.66667% !important}.medium-offset-9{margin-left:75% !important}.medium-offset-10{margin-left:83.33333% !important}.medium-offset-11{margin-left:91.66667% !important}.medium-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.medium-centered,.columns.medium-centered{margin-left:auto;margin-right:auto;float:none}.column.medium-uncentered,.columns.medium-uncentered{float:left;margin-left:0;margin-right:0}.column.medium-centered:last-child,.columns.medium-centered:last-child{float:none}.column.medium-uncentered:last-child,.columns.medium-uncentered:last-child{float:left}.column.medium-uncentered.opposite,.columns.medium-uncentered.opposite{float:right}.row.medium-collapse>.column,.row.medium-collapse>.columns{padding-left:0;padding-right:0}.row.medium-collapse .row{margin-left:0;margin-right:0}.row.medium-uncollapse>.column,.row.medium-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem;float:left}.push-0{position:relative;left:0;right:auto}.pull-0{position:relative;right:0;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}@media only screen and (min-width: 64.063em){.large-push-0{position:relative;left:0;right:auto}.large-pull-0{position:relative;right:0;left:auto}.large-push-1{position:relative;left:8.33333%;right:auto}.large-pull-1{position:relative;right:8.33333%;left:auto}.large-push-2{position:relative;left:16.66667%;right:auto}.large-pull-2{position:relative;right:16.66667%;left:auto}.large-push-3{position:relative;left:25%;right:auto}.large-pull-3{position:relative;right:25%;left:auto}.large-push-4{position:relative;left:33.33333%;right:auto}.large-pull-4{position:relative;right:33.33333%;left:auto}.large-push-5{position:relative;left:41.66667%;right:auto}.large-pull-5{position:relative;right:41.66667%;left:auto}.large-push-6{position:relative;left:50%;right:auto}.large-pull-6{position:relative;right:50%;left:auto}.large-push-7{position:relative;left:58.33333%;right:auto}.large-pull-7{position:relative;right:58.33333%;left:auto}.large-push-8{position:relative;left:66.66667%;right:auto}.large-pull-8{position:relative;right:66.66667%;left:auto}.large-push-9{position:relative;left:75%;right:auto}.large-pull-9{position:relative;right:75%;left:auto}.large-push-10{position:relative;left:83.33333%;right:auto}.large-pull-10{position:relative;right:83.33333%;left:auto}.large-push-11{position:relative;left:91.66667%;right:auto}.large-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:.9375rem;padding-right:.9375rem;float:left}.large-1{width:8.33333%}.large-2{width:16.66667%}.large-3{width:25%}.large-4{width:33.33333%}.large-5{width:41.66667%}.large-6{width:50%}.large-7{width:58.33333%}.large-8{width:66.66667%}.large-9{width:75%}.large-10{width:83.33333%}.large-11{width:91.66667%}.large-12{width:100%}.large-offset-0{margin-left:0 !important}.large-offset-1{margin-left:8.33333% !important}.large-offset-2{margin-left:16.66667% !important}.large-offset-3{margin-left:25% !important}.large-offset-4{margin-left:33.33333% !important}.large-offset-5{margin-left:41.66667% !important}.large-offset-6{margin-left:50% !important}.large-offset-7{margin-left:58.33333% !important}.large-offset-8{margin-left:66.66667% !important}.large-offset-9{margin-left:75% !important}.large-offset-10{margin-left:83.33333% !important}.large-offset-11{margin-left:91.66667% !important}.large-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.large-centered,.columns.large-centered{margin-left:auto;margin-right:auto;float:none}.column.large-uncentered,.columns.large-uncentered{float:left;margin-left:0;margin-right:0}.column.large-centered:last-child,.columns.large-centered:last-child{float:none}.column.large-uncentered:last-child,.columns.large-uncentered:last-child{float:left}.column.large-uncentered.opposite,.columns.large-uncentered.opposite{float:right}.row.large-collapse>.column,.row.large-collapse>.columns{padding-left:0;padding-right:0}.row.large-collapse .row{margin-left:0;margin-right:0}.row.large-uncollapse>.column,.row.large-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem;float:left}.push-0{position:relative;left:0;right:auto}.pull-0{position:relative;right:0;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}.accordion{margin-bottom:0;margin-left:0}.accordion:before,.accordion:after{content:" ";display:table}.accordion:after{clear:both}.accordion .accordion-navigation,.accordion dd{display:block;margin-bottom:0 !important}.accordion .accordion-navigation.active>a,.accordion dd.active>a{background:#e8e8e8;color:#222}.accordion .accordion-navigation>a,.accordion dd>a{background:#EFEFEF;color:#222;display:block;font-family:"Open Sans",sans-serif;font-size:1rem;padding:1rem}.accordion .accordion-navigation>a:hover,.accordion dd>a:hover{background:#e3e3e3}.accordion .accordion-navigation>.content,.accordion dd>.content{display:none;padding:.9375rem}.accordion .accordion-navigation>.content.active,.accordion dd>.content.active{background:#fff;display:block}.alert-box{border-style:solid;border-width:1px;display:block;font-size:.8125rem;font-weight:normal;margin-bottom:1.25rem;padding:.875rem 1.5rem .875rem .875rem;position:relative;transition:opacity 300ms ease-out;background-color:#008CBA;border-color:#0078a0;color:#fff}.alert-box .close{right:.25rem;background:inherit;color:#333;font-size:1.375rem;line-height:.9;margin-top:-.6875rem;opacity:.3;padding:0 6px 4px;position:absolute;top:50%}.alert-box .close:hover,.alert-box .close:focus{opacity:.5}.alert-box.radius{border-radius:3px}.alert-box.round{border-radius:1000px}.alert-box.success{background-color:#43AC6A;border-color:#3a945b;color:#fff}.alert-box.alert{background-color:#f04124;border-color:#de2d0f;color:#fff}.alert-box.secondary{background-color:#e7e7e7;border-color:#c7c7c7;color:#4f4f4f}.alert-box.warning{background-color:#f08a24;border-color:#de770f;color:#fff}.alert-box.info{background-color:#a0d3e8;border-color:#74bfdd;color:#4f4f4f}.alert-box.alert-close{opacity:0}[class*="block-grid-"]{display:block;padding:0;margin:0}[class*="block-grid-"]:before,[class*="block-grid-"]:after{content:" ";display:table}[class*="block-grid-"]:after{clear:both}[class*="block-grid-"]>li{display:block;float:left;height:auto;padding:0 .9375rem 1.875rem}@media only screen{.small-block-grid-1>li{list-style:none;width:100%}.small-block-grid-1>li:nth-of-type(1n){clear:none}.small-block-grid-1>li:nth-of-type(1n+1){clear:both}.small-block-grid-1>li:nth-of-type(1n){padding-left:0rem;padding-right:0rem}.small-block-grid-2>li{list-style:none;width:50%}.small-block-grid-2>li:nth-of-type(1n){clear:none}.small-block-grid-2>li:nth-of-type(2n+1){clear:both}.small-block-grid-2>li:nth-of-type(2n+1){padding-left:0rem;padding-right:.9375rem}.small-block-grid-2>li:nth-of-type(2n){padding-left:.9375rem;padding-right:0rem}.small-block-grid-3>li{list-style:none;width:33.33333%}.small-block-grid-3>li:nth-of-type(1n){clear:none}.small-block-grid-3>li:nth-of-type(3n+1){clear:both}.small-block-grid-3>li:nth-of-type(3n+1){padding-left:0rem;padding-right:1.25rem}.small-block-grid-3>li:nth-of-type(3n+2){padding-left:.625rem;padding-right:.625rem}.small-block-grid-3>li:nth-of-type(3n){padding-left:1.25rem;padding-right:0rem}.small-block-grid-4>li{list-style:none;width:25%}.small-block-grid-4>li:nth-of-type(1n){clear:none}.small-block-grid-4>li:nth-of-type(4n+1){clear:both}.small-block-grid-4>li:nth-of-type(4n+1){padding-left:0rem;padding-right:1.40625rem}.small-block-grid-4>li:nth-of-type(4n+2){padding-left:.46875rem;padding-right:.9375rem}.small-block-grid-4>li:nth-of-type(4n+3){padding-left:.9375rem;padding-right:.46875rem}.small-block-grid-4>li:nth-of-type(4n){padding-left:1.40625rem;padding-right:0rem}.small-block-grid-5>li{list-style:none;width:20%}.small-block-grid-5>li:nth-of-type(1n){clear:none}.small-block-grid-5>li:nth-of-type(5n+1){clear:both}.small-block-grid-5>li:nth-of-type(5n+1){padding-left:0rem;padding-right:1.5rem}.small-block-grid-5>li:nth-of-type(5n+2){padding-left:.375rem;padding-right:1.125rem}.small-block-grid-5>li:nth-of-type(5n+3){padding-left:.75rem;padding-right:.75rem}.small-block-grid-5>li:nth-of-type(5n+4){padding-left:1.125rem;padding-right:.375rem}.small-block-grid-5>li:nth-of-type(5n){padding-left:1.5rem;padding-right:0rem}.small-block-grid-6>li{list-style:none;width:16.66667%}.small-block-grid-6>li:nth-of-type(1n){clear:none}.small-block-grid-6>li:nth-of-type(6n+1){clear:both}.small-block-grid-6>li:nth-of-type(6n+1){padding-left:0rem;padding-right:1.5625rem}.small-block-grid-6>li:nth-of-type(6n+2){padding-left:.3125rem;padding-right:1.25rem}.small-block-grid-6>li:nth-of-type(6n+3){padding-left:.625rem;padding-right:.9375rem}.small-block-grid-6>li:nth-of-type(6n+4){padding-left:.9375rem;padding-right:.625rem}.small-block-grid-6>li:nth-of-type(6n+5){padding-left:1.25rem;padding-right:.3125rem}.small-block-grid-6>li:nth-of-type(6n){padding-left:1.5625rem;padding-right:0rem}.small-block-grid-7>li{list-style:none;width:14.28571%}.small-block-grid-7>li:nth-of-type(1n){clear:none}.small-block-grid-7>li:nth-of-type(7n+1){clear:both}.small-block-grid-7>li:nth-of-type(7n+1){padding-left:0rem;padding-right:1.60714rem}.small-block-grid-7>li:nth-of-type(7n+2){padding-left:.26786rem;padding-right:1.33929rem}.small-block-grid-7>li:nth-of-type(7n+3){padding-left:.53571rem;padding-right:1.07143rem}.small-block-grid-7>li:nth-of-type(7n+4){padding-left:.80357rem;padding-right:.80357rem}.small-block-grid-7>li:nth-of-type(7n+5){padding-left:1.07143rem;padding-right:.53571rem}.small-block-grid-7>li:nth-of-type(7n+6){padding-left:1.33929rem;padding-right:.26786rem}.small-block-grid-7>li:nth-of-type(7n){padding-left:1.60714rem;padding-right:0rem}.small-block-grid-8>li{list-style:none;width:12.5%}.small-block-grid-8>li:nth-of-type(1n){clear:none}.small-block-grid-8>li:nth-of-type(8n+1){clear:both}.small-block-grid-8>li:nth-of-type(8n+1){padding-left:0rem;padding-right:1.64062rem}.small-block-grid-8>li:nth-of-type(8n+2){padding-left:.23438rem;padding-right:1.40625rem}.small-block-grid-8>li:nth-of-type(8n+3){padding-left:.46875rem;padding-right:1.17188rem}.small-block-grid-8>li:nth-of-type(8n+4){padding-left:.70312rem;padding-right:.9375rem}.small-block-grid-8>li:nth-of-type(8n+5){padding-left:.9375rem;padding-right:.70312rem}.small-block-grid-8>li:nth-of-type(8n+6){padding-left:1.17188rem;padding-right:.46875rem}.small-block-grid-8>li:nth-of-type(8n+7){padding-left:1.40625rem;padding-right:.23438rem}.small-block-grid-8>li:nth-of-type(8n){padding-left:1.64062rem;padding-right:0rem}.small-block-grid-9>li{list-style:none;width:11.11111%}.small-block-grid-9>li:nth-of-type(1n){clear:none}.small-block-grid-9>li:nth-of-type(9n+1){clear:both}.small-block-grid-9>li:nth-of-type(9n+1){padding-left:0rem;padding-right:1.66667rem}.small-block-grid-9>li:nth-of-type(9n+2){padding-left:.20833rem;padding-right:1.45833rem}.small-block-grid-9>li:nth-of-type(9n+3){padding-left:.41667rem;padding-right:1.25rem}.small-block-grid-9>li:nth-of-type(9n+4){padding-left:.625rem;padding-right:1.04167rem}.small-block-grid-9>li:nth-of-type(9n+5){padding-left:.83333rem;padding-right:.83333rem}.small-block-grid-9>li:nth-of-type(9n+6){padding-left:1.04167rem;padding-right:.625rem}.small-block-grid-9>li:nth-of-type(9n+7){padding-left:1.25rem;padding-right:.41667rem}.small-block-grid-9>li:nth-of-type(9n+8){padding-left:1.45833rem;padding-right:.20833rem}.small-block-grid-9>li:nth-of-type(9n){padding-left:1.66667rem;padding-right:0rem}.small-block-grid-10>li{list-style:none;width:10%}.small-block-grid-10>li:nth-of-type(1n){clear:none}.small-block-grid-10>li:nth-of-type(10n+1){clear:both}.small-block-grid-10>li:nth-of-type(10n+1){padding-left:0rem;padding-right:1.6875rem}.small-block-grid-10>li:nth-of-type(10n+2){padding-left:.1875rem;padding-right:1.5rem}.small-block-grid-10>li:nth-of-type(10n+3){padding-left:.375rem;padding-right:1.3125rem}.small-block-grid-10>li:nth-of-type(10n+4){padding-left:.5625rem;padding-right:1.125rem}.small-block-grid-10>li:nth-of-type(10n+5){padding-left:.75rem;padding-right:.9375rem}.small-block-grid-10>li:nth-of-type(10n+6){padding-left:.9375rem;padding-right:.75rem}.small-block-grid-10>li:nth-of-type(10n+7){padding-left:1.125rem;padding-right:.5625rem}.small-block-grid-10>li:nth-of-type(10n+8){padding-left:1.3125rem;padding-right:.375rem}.small-block-grid-10>li:nth-of-type(10n+9){padding-left:1.5rem;padding-right:.1875rem}.small-block-grid-10>li:nth-of-type(10n){padding-left:1.6875rem;padding-right:0rem}.small-block-grid-11>li{list-style:none;width:9.09091%}.small-block-grid-11>li:nth-of-type(1n){clear:none}.small-block-grid-11>li:nth-of-type(11n+1){clear:both}.small-block-grid-11>li:nth-of-type(11n+1){padding-left:0rem;padding-right:1.70455rem}.small-block-grid-11>li:nth-of-type(11n+2){padding-left:.17045rem;padding-right:1.53409rem}.small-block-grid-11>li:nth-of-type(11n+3){padding-left:.34091rem;padding-right:1.36364rem}.small-block-grid-11>li:nth-of-type(11n+4){padding-left:.51136rem;padding-right:1.19318rem}.small-block-grid-11>li:nth-of-type(11n+5){padding-left:.68182rem;padding-right:1.02273rem}.small-block-grid-11>li:nth-of-type(11n+6){padding-left:.85227rem;padding-right:.85227rem}.small-block-grid-11>li:nth-of-type(11n+7){padding-left:1.02273rem;padding-right:.68182rem}.small-block-grid-11>li:nth-of-type(11n+8){padding-left:1.19318rem;padding-right:.51136rem}.small-block-grid-11>li:nth-of-type(11n+9){padding-left:1.36364rem;padding-right:.34091rem}.small-block-grid-11>li:nth-of-type(11n+10){padding-left:1.53409rem;padding-right:.17045rem}.small-block-grid-11>li:nth-of-type(11n){padding-left:1.70455rem;padding-right:0rem}.small-block-grid-12>li{list-style:none;width:8.33333%}.small-block-grid-12>li:nth-of-type(1n){clear:none}.small-block-grid-12>li:nth-of-type(12n+1){clear:both}.small-block-grid-12>li:nth-of-type(12n+1){padding-left:0rem;padding-right:1.71875rem}.small-block-grid-12>li:nth-of-type(12n+2){padding-left:.15625rem;padding-right:1.5625rem}.small-block-grid-12>li:nth-of-type(12n+3){padding-left:.3125rem;padding-right:1.40625rem}.small-block-grid-12>li:nth-of-type(12n+4){padding-left:.46875rem;padding-right:1.25rem}.small-block-grid-12>li:nth-of-type(12n+5){padding-left:.625rem;padding-right:1.09375rem}.small-block-grid-12>li:nth-of-type(12n+6){padding-left:.78125rem;padding-right:.9375rem}.small-block-grid-12>li:nth-of-type(12n+7){padding-left:.9375rem;padding-right:.78125rem}.small-block-grid-12>li:nth-of-type(12n+8){padding-left:1.09375rem;padding-right:.625rem}.small-block-grid-12>li:nth-of-type(12n+9){padding-left:1.25rem;padding-right:.46875rem}.small-block-grid-12>li:nth-of-type(12n+10){padding-left:1.40625rem;padding-right:.3125rem}.small-block-grid-12>li:nth-of-type(12n+11){padding-left:1.5625rem;padding-right:.15625rem}.small-block-grid-12>li:nth-of-type(12n){padding-left:1.71875rem;padding-right:0rem}}@media only screen and (min-width: 40.063em){.medium-block-grid-1>li{list-style:none;width:100%}.medium-block-grid-1>li:nth-of-type(1n){clear:none}.medium-block-grid-1>li:nth-of-type(1n+1){clear:both}.medium-block-grid-1>li:nth-of-type(1n){padding-left:0rem;padding-right:0rem}.medium-block-grid-2>li{list-style:none;width:50%}.medium-block-grid-2>li:nth-of-type(1n){clear:none}.medium-block-grid-2>li:nth-of-type(2n+1){clear:both}.medium-block-grid-2>li:nth-of-type(2n+1){padding-left:0rem;padding-right:.9375rem}.medium-block-grid-2>li:nth-of-type(2n){padding-left:.9375rem;padding-right:0rem}.medium-block-grid-3>li{list-style:none;width:33.33333%}.medium-block-grid-3>li:nth-of-type(1n){clear:none}.medium-block-grid-3>li:nth-of-type(3n+1){clear:both}.medium-block-grid-3>li:nth-of-type(3n+1){padding-left:0rem;padding-right:1.25rem}.medium-block-grid-3>li:nth-of-type(3n+2){padding-left:.625rem;padding-right:.625rem}.medium-block-grid-3>li:nth-of-type(3n){padding-left:1.25rem;padding-right:0rem}.medium-block-grid-4>li{list-style:none;width:25%}.medium-block-grid-4>li:nth-of-type(1n){clear:none}.medium-block-grid-4>li:nth-of-type(4n+1){clear:both}.medium-block-grid-4>li:nth-of-type(4n+1){padding-left:0rem;padding-right:1.40625rem}.medium-block-grid-4>li:nth-of-type(4n+2){padding-left:.46875rem;padding-right:.9375rem}.medium-block-grid-4>li:nth-of-type(4n+3){padding-left:.9375rem;padding-right:.46875rem}.medium-block-grid-4>li:nth-of-type(4n){padding-left:1.40625rem;padding-right:0rem}.medium-block-grid-5>li{list-style:none;width:20%}.medium-block-grid-5>li:nth-of-type(1n){clear:none}.medium-block-grid-5>li:nth-of-type(5n+1){clear:both}.medium-block-grid-5>li:nth-of-type(5n+1){padding-left:0rem;padding-right:1.5rem}.medium-block-grid-5>li:nth-of-type(5n+2){padding-left:.375rem;padding-right:1.125rem}.medium-block-grid-5>li:nth-of-type(5n+3){padding-left:.75rem;padding-right:.75rem}.medium-block-grid-5>li:nth-of-type(5n+4){padding-left:1.125rem;padding-right:.375rem}.medium-block-grid-5>li:nth-of-type(5n){padding-left:1.5rem;padding-right:0rem}.medium-block-grid-6>li{list-style:none;width:16.66667%}.medium-block-grid-6>li:nth-of-type(1n){clear:none}.medium-block-grid-6>li:nth-of-type(6n+1){clear:both}.medium-block-grid-6>li:nth-of-type(6n+1){padding-left:0rem;padding-right:1.5625rem}.medium-block-grid-6>li:nth-of-type(6n+2){padding-left:.3125rem;padding-right:1.25rem}.medium-block-grid-6>li:nth-of-type(6n+3){padding-left:.625rem;padding-right:.9375rem}.medium-block-grid-6>li:nth-of-type(6n+4){padding-left:.9375rem;padding-right:.625rem}.medium-block-grid-6>li:nth-of-type(6n+5){padding-left:1.25rem;padding-right:.3125rem}.medium-block-grid-6>li:nth-of-type(6n){padding-left:1.5625rem;padding-right:0rem}.medium-block-grid-7>li{list-style:none;width:14.28571%}.medium-block-grid-7>li:nth-of-type(1n){clear:none}.medium-block-grid-7>li:nth-of-type(7n+1){clear:both}.medium-block-grid-7>li:nth-of-type(7n+1){padding-left:0rem;padding-right:1.60714rem}.medium-block-grid-7>li:nth-of-type(7n+2){padding-left:.26786rem;padding-right:1.33929rem}.medium-block-grid-7>li:nth-of-type(7n+3){padding-left:.53571rem;padding-right:1.07143rem}.medium-block-grid-7>li:nth-of-type(7n+4){padding-left:.80357rem;padding-right:.80357rem}.medium-block-grid-7>li:nth-of-type(7n+5){padding-left:1.07143rem;padding-right:.53571rem}.medium-block-grid-7>li:nth-of-type(7n+6){padding-left:1.33929rem;padding-right:.26786rem}.medium-block-grid-7>li:nth-of-type(7n){padding-left:1.60714rem;padding-right:0rem}.medium-block-grid-8>li{list-style:none;width:12.5%}.medium-block-grid-8>li:nth-of-type(1n){clear:none}.medium-block-grid-8>li:nth-of-type(8n+1){clear:both}.medium-block-grid-8>li:nth-of-type(8n+1){padding-left:0rem;padding-right:1.64062rem}.medium-block-grid-8>li:nth-of-type(8n+2){padding-left:.23438rem;padding-right:1.40625rem}.medium-block-grid-8>li:nth-of-type(8n+3){padding-left:.46875rem;padding-right:1.17188rem}.medium-block-grid-8>li:nth-of-type(8n+4){padding-left:.70312rem;padding-right:.9375rem}.medium-block-grid-8>li:nth-of-type(8n+5){padding-left:.9375rem;padding-right:.70312rem}.medium-block-grid-8>li:nth-of-type(8n+6){padding-left:1.17188rem;padding-right:.46875rem}.medium-block-grid-8>li:nth-of-type(8n+7){padding-left:1.40625rem;padding-right:.23438rem}.medium-block-grid-8>li:nth-of-type(8n){padding-left:1.64062rem;padding-right:0rem}.medium-block-grid-9>li{list-style:none;width:11.11111%}.medium-block-grid-9>li:nth-of-type(1n){clear:none}.medium-block-grid-9>li:nth-of-type(9n+1){clear:both}.medium-block-grid-9>li:nth-of-type(9n+1){padding-left:0rem;padding-right:1.66667rem}.medium-block-grid-9>li:nth-of-type(9n+2){padding-left:.20833rem;padding-right:1.45833rem}.medium-block-grid-9>li:nth-of-type(9n+3){padding-left:.41667rem;padding-right:1.25rem}.medium-block-grid-9>li:nth-of-type(9n+4){padding-left:.625rem;padding-right:1.04167rem}.medium-block-grid-9>li:nth-of-type(9n+5){padding-left:.83333rem;padding-right:.83333rem}.medium-block-grid-9>li:nth-of-type(9n+6){padding-left:1.04167rem;padding-right:.625rem}.medium-block-grid-9>li:nth-of-type(9n+7){padding-left:1.25rem;padding-right:.41667rem}.medium-block-grid-9>li:nth-of-type(9n+8){padding-left:1.45833rem;padding-right:.20833rem}.medium-block-grid-9>li:nth-of-type(9n){padding-left:1.66667rem;padding-right:0rem}.medium-block-grid-10>li{list-style:none;width:10%}.medium-block-grid-10>li:nth-of-type(1n){clear:none}.medium-block-grid-10>li:nth-of-type(10n+1){clear:both}.medium-block-grid-10>li:nth-of-type(10n+1){padding-left:0rem;padding-right:1.6875rem}.medium-block-grid-10>li:nth-of-type(10n+2){padding-left:.1875rem;padding-right:1.5rem}.medium-block-grid-10>li:nth-of-type(10n+3){padding-left:.375rem;padding-right:1.3125rem}.medium-block-grid-10>li:nth-of-type(10n+4){padding-left:.5625rem;padding-right:1.125rem}.medium-block-grid-10>li:nth-of-type(10n+5){padding-left:.75rem;padding-right:.9375rem}.medium-block-grid-10>li:nth-of-type(10n+6){padding-left:.9375rem;padding-right:.75rem}.medium-block-grid-10>li:nth-of-type(10n+7){padding-left:1.125rem;padding-right:.5625rem}.medium-block-grid-10>li:nth-of-type(10n+8){padding-left:1.3125rem;padding-right:.375rem}.medium-block-grid-10>li:nth-of-type(10n+9){padding-left:1.5rem;padding-right:.1875rem}.medium-block-grid-10>li:nth-of-type(10n){padding-left:1.6875rem;padding-right:0rem}.medium-block-grid-11>li{list-style:none;width:9.09091%}.medium-block-grid-11>li:nth-of-type(1n){clear:none}.medium-block-grid-11>li:nth-of-type(11n+1){clear:both}.medium-block-grid-11>li:nth-of-type(11n+1){padding-left:0rem;padding-right:1.70455rem}.medium-block-grid-11>li:nth-of-type(11n+2){padding-left:.17045rem;padding-right:1.53409rem}.medium-block-grid-11>li:nth-of-type(11n+3){padding-left:.34091rem;padding-right:1.36364rem}.medium-block-grid-11>li:nth-of-type(11n+4){padding-left:.51136rem;padding-right:1.19318rem}.medium-block-grid-11>li:nth-of-type(11n+5){padding-left:.68182rem;padding-right:1.02273rem}.medium-block-grid-11>li:nth-of-type(11n+6){padding-left:.85227rem;padding-right:.85227rem}.medium-block-grid-11>li:nth-of-type(11n+7){padding-left:1.02273rem;padding-right:.68182rem}.medium-block-grid-11>li:nth-of-type(11n+8){padding-left:1.19318rem;padding-right:.51136rem}.medium-block-grid-11>li:nth-of-type(11n+9){padding-left:1.36364rem;padding-right:.34091rem}.medium-block-grid-11>li:nth-of-type(11n+10){padding-left:1.53409rem;padding-right:.17045rem}.medium-block-grid-11>li:nth-of-type(11n){padding-left:1.70455rem;padding-right:0rem}.medium-block-grid-12>li{list-style:none;width:8.33333%}.medium-block-grid-12>li:nth-of-type(1n){clear:none}.medium-block-grid-12>li:nth-of-type(12n+1){clear:both}.medium-block-grid-12>li:nth-of-type(12n+1){padding-left:0rem;padding-right:1.71875rem}.medium-block-grid-12>li:nth-of-type(12n+2){padding-left:.15625rem;padding-right:1.5625rem}.medium-block-grid-12>li:nth-of-type(12n+3){padding-left:.3125rem;padding-right:1.40625rem}.medium-block-grid-12>li:nth-of-type(12n+4){padding-left:.46875rem;padding-right:1.25rem}.medium-block-grid-12>li:nth-of-type(12n+5){padding-left:.625rem;padding-right:1.09375rem}.medium-block-grid-12>li:nth-of-type(12n+6){padding-left:.78125rem;padding-right:.9375rem}.medium-block-grid-12>li:nth-of-type(12n+7){padding-left:.9375rem;padding-right:.78125rem}.medium-block-grid-12>li:nth-of-type(12n+8){padding-left:1.09375rem;padding-right:.625rem}.medium-block-grid-12>li:nth-of-type(12n+9){padding-left:1.25rem;padding-right:.46875rem}.medium-block-grid-12>li:nth-of-type(12n+10){padding-left:1.40625rem;padding-right:.3125rem}.medium-block-grid-12>li:nth-of-type(12n+11){padding-left:1.5625rem;padding-right:.15625rem}.medium-block-grid-12>li:nth-of-type(12n){padding-left:1.71875rem;padding-right:0rem}}@media only screen and (min-width: 64.063em){.large-block-grid-1>li{list-style:none;width:100%}.large-block-grid-1>li:nth-of-type(1n){clear:none}.large-block-grid-1>li:nth-of-type(1n+1){clear:both}.large-block-grid-1>li:nth-of-type(1n){padding-left:0rem;padding-right:0rem}.large-block-grid-2>li{list-style:none;width:50%}.large-block-grid-2>li:nth-of-type(1n){clear:none}.large-block-grid-2>li:nth-of-type(2n+1){clear:both}.large-block-grid-2>li:nth-of-type(2n+1){padding-left:0rem;padding-right:.9375rem}.large-block-grid-2>li:nth-of-type(2n){padding-left:.9375rem;padding-right:0rem}.large-block-grid-3>li{list-style:none;width:33.33333%}.large-block-grid-3>li:nth-of-type(1n){clear:none}.large-block-grid-3>li:nth-of-type(3n+1){clear:both}.large-block-grid-3>li:nth-of-type(3n+1){padding-left:0rem;padding-right:1.25rem}.large-block-grid-3>li:nth-of-type(3n+2){padding-left:.625rem;padding-right:.625rem}.large-block-grid-3>li:nth-of-type(3n){padding-left:1.25rem;padding-right:0rem}.large-block-grid-4>li{list-style:none;width:25%}.large-block-grid-4>li:nth-of-type(1n){clear:none}.large-block-grid-4>li:nth-of-type(4n+1){clear:both}.large-block-grid-4>li:nth-of-type(4n+1){padding-left:0rem;padding-right:1.40625rem}.large-block-grid-4>li:nth-of-type(4n+2){padding-left:.46875rem;padding-right:.9375rem}.large-block-grid-4>li:nth-of-type(4n+3){padding-left:.9375rem;padding-right:.46875rem}.large-block-grid-4>li:nth-of-type(4n){padding-left:1.40625rem;padding-right:0rem}.large-block-grid-5>li{list-style:none;width:20%}.large-block-grid-5>li:nth-of-type(1n){clear:none}.large-block-grid-5>li:nth-of-type(5n+1){clear:both}.large-block-grid-5>li:nth-of-type(5n+1){padding-left:0rem;padding-right:1.5rem}.large-block-grid-5>li:nth-of-type(5n+2){padding-left:.375rem;padding-right:1.125rem}.large-block-grid-5>li:nth-of-type(5n+3){padding-left:.75rem;padding-right:.75rem}.large-block-grid-5>li:nth-of-type(5n+4){padding-left:1.125rem;padding-right:.375rem}.large-block-grid-5>li:nth-of-type(5n){padding-left:1.5rem;padding-right:0rem}.large-block-grid-6>li{list-style:none;width:16.66667%}.large-block-grid-6>li:nth-of-type(1n){clear:none}.large-block-grid-6>li:nth-of-type(6n+1){clear:both}.large-block-grid-6>li:nth-of-type(6n+1){padding-left:0rem;padding-right:1.5625rem}.large-block-grid-6>li:nth-of-type(6n+2){padding-left:.3125rem;padding-right:1.25rem}.large-block-grid-6>li:nth-of-type(6n+3){padding-left:.625rem;padding-right:.9375rem}.large-block-grid-6>li:nth-of-type(6n+4){padding-left:.9375rem;padding-right:.625rem}.large-block-grid-6>li:nth-of-type(6n+5){padding-left:1.25rem;padding-right:.3125rem}.large-block-grid-6>li:nth-of-type(6n){padding-left:1.5625rem;padding-right:0rem}.large-block-grid-7>li{list-style:none;width:14.28571%}.large-block-grid-7>li:nth-of-type(1n){clear:none}.large-block-grid-7>li:nth-of-type(7n+1){clear:both}.large-block-grid-7>li:nth-of-type(7n+1){padding-left:0rem;padding-right:1.60714rem}.large-block-grid-7>li:nth-of-type(7n+2){padding-left:.26786rem;padding-right:1.33929rem}.large-block-grid-7>li:nth-of-type(7n+3){padding-left:.53571rem;padding-right:1.07143rem}.large-block-grid-7>li:nth-of-type(7n+4){padding-left:.80357rem;padding-right:.80357rem}.large-block-grid-7>li:nth-of-type(7n+5){padding-left:1.07143rem;padding-right:.53571rem}.large-block-grid-7>li:nth-of-type(7n+6){padding-left:1.33929rem;padding-right:.26786rem}.large-block-grid-7>li:nth-of-type(7n){padding-left:1.60714rem;padding-right:0rem}.large-block-grid-8>li{list-style:none;width:12.5%}.large-block-grid-8>li:nth-of-type(1n){clear:none}.large-block-grid-8>li:nth-of-type(8n+1){clear:both}.large-block-grid-8>li:nth-of-type(8n+1){padding-left:0rem;padding-right:1.64062rem}.large-block-grid-8>li:nth-of-type(8n+2){padding-left:.23438rem;padding-right:1.40625rem}.large-block-grid-8>li:nth-of-type(8n+3){padding-left:.46875rem;padding-right:1.17188rem}.large-block-grid-8>li:nth-of-type(8n+4){padding-left:.70312rem;padding-right:.9375rem}.large-block-grid-8>li:nth-of-type(8n+5){padding-left:.9375rem;padding-right:.70312rem}.large-block-grid-8>li:nth-of-type(8n+6){padding-left:1.17188rem;padding-right:.46875rem}.large-block-grid-8>li:nth-of-type(8n+7){padding-left:1.40625rem;padding-right:.23438rem}.large-block-grid-8>li:nth-of-type(8n){padding-left:1.64062rem;padding-right:0rem}.large-block-grid-9>li{list-style:none;width:11.11111%}.large-block-grid-9>li:nth-of-type(1n){clear:none}.large-block-grid-9>li:nth-of-type(9n+1){clear:both}.large-block-grid-9>li:nth-of-type(9n+1){padding-left:0rem;padding-right:1.66667rem}.large-block-grid-9>li:nth-of-type(9n+2){padding-left:.20833rem;padding-right:1.45833rem}.large-block-grid-9>li:nth-of-type(9n+3){padding-left:.41667rem;padding-right:1.25rem}.large-block-grid-9>li:nth-of-type(9n+4){padding-left:.625rem;padding-right:1.04167rem}.large-block-grid-9>li:nth-of-type(9n+5){padding-left:.83333rem;padding-right:.83333rem}.large-block-grid-9>li:nth-of-type(9n+6){padding-left:1.04167rem;padding-right:.625rem}.large-block-grid-9>li:nth-of-type(9n+7){padding-left:1.25rem;padding-right:.41667rem}.large-block-grid-9>li:nth-of-type(9n+8){padding-left:1.45833rem;padding-right:.20833rem}.large-block-grid-9>li:nth-of-type(9n){padding-left:1.66667rem;padding-right:0rem}.large-block-grid-10>li{list-style:none;width:10%}.large-block-grid-10>li:nth-of-type(1n){clear:none}.large-block-grid-10>li:nth-of-type(10n+1){clear:both}.large-block-grid-10>li:nth-of-type(10n+1){padding-left:0rem;padding-right:1.6875rem}.large-block-grid-10>li:nth-of-type(10n+2){padding-left:.1875rem;padding-right:1.5rem}.large-block-grid-10>li:nth-of-type(10n+3){padding-left:.375rem;padding-right:1.3125rem}.large-block-grid-10>li:nth-of-type(10n+4){padding-left:.5625rem;padding-right:1.125rem}.large-block-grid-10>li:nth-of-type(10n+5){padding-left:.75rem;padding-right:.9375rem}.large-block-grid-10>li:nth-of-type(10n+6){padding-left:.9375rem;padding-right:.75rem}.large-block-grid-10>li:nth-of-type(10n+7){padding-left:1.125rem;padding-right:.5625rem}.large-block-grid-10>li:nth-of-type(10n+8){padding-left:1.3125rem;padding-right:.375rem}.large-block-grid-10>li:nth-of-type(10n+9){padding-left:1.5rem;padding-right:.1875rem}.large-block-grid-10>li:nth-of-type(10n){padding-left:1.6875rem;padding-right:0rem}.large-block-grid-11>li{list-style:none;width:9.09091%}.large-block-grid-11>li:nth-of-type(1n){clear:none}.large-block-grid-11>li:nth-of-type(11n+1){clear:both}.large-block-grid-11>li:nth-of-type(11n+1){padding-left:0rem;padding-right:1.70455rem}.large-block-grid-11>li:nth-of-type(11n+2){padding-left:.17045rem;padding-right:1.53409rem}.large-block-grid-11>li:nth-of-type(11n+3){padding-left:.34091rem;padding-right:1.36364rem}.large-block-grid-11>li:nth-of-type(11n+4){padding-left:.51136rem;padding-right:1.19318rem}.large-block-grid-11>li:nth-of-type(11n+5){padding-left:.68182rem;padding-right:1.02273rem}.large-block-grid-11>li:nth-of-type(11n+6){padding-left:.85227rem;padding-right:.85227rem}.large-block-grid-11>li:nth-of-type(11n+7){padding-left:1.02273rem;padding-right:.68182rem}.large-block-grid-11>li:nth-of-type(11n+8){padding-left:1.19318rem;padding-right:.51136rem}.large-block-grid-11>li:nth-of-type(11n+9){padding-left:1.36364rem;padding-right:.34091rem}.large-block-grid-11>li:nth-of-type(11n+10){padding-left:1.53409rem;padding-right:.17045rem}.large-block-grid-11>li:nth-of-type(11n){padding-left:1.70455rem;padding-right:0rem}.large-block-grid-12>li{list-style:none;width:8.33333%}.large-block-grid-12>li:nth-of-type(1n){clear:none}.large-block-grid-12>li:nth-of-type(12n+1){clear:both}.large-block-grid-12>li:nth-of-type(12n+1){padding-left:0rem;padding-right:1.71875rem}.large-block-grid-12>li:nth-of-type(12n+2){padding-left:.15625rem;padding-right:1.5625rem}.large-block-grid-12>li:nth-of-type(12n+3){padding-left:.3125rem;padding-right:1.40625rem}.large-block-grid-12>li:nth-of-type(12n+4){padding-left:.46875rem;padding-right:1.25rem}.large-block-grid-12>li:nth-of-type(12n+5){padding-left:.625rem;padding-right:1.09375rem}.large-block-grid-12>li:nth-of-type(12n+6){padding-left:.78125rem;padding-right:.9375rem}.large-block-grid-12>li:nth-of-type(12n+7){padding-left:.9375rem;padding-right:.78125rem}.large-block-grid-12>li:nth-of-type(12n+8){padding-left:1.09375rem;padding-right:.625rem}.large-block-grid-12>li:nth-of-type(12n+9){padding-left:1.25rem;padding-right:.46875rem}.large-block-grid-12>li:nth-of-type(12n+10){padding-left:1.40625rem;padding-right:.3125rem}.large-block-grid-12>li:nth-of-type(12n+11){padding-left:1.5625rem;padding-right:.15625rem}.large-block-grid-12>li:nth-of-type(12n){padding-left:1.71875rem;padding-right:0rem}}.breadcrumbs{border-style:solid;border-width:1px;display:block;list-style:none;margin-left:0;overflow:hidden;padding:.5625rem .875rem .5625rem;background-color:transparent;border-color:transparent;border-radius:3px}.breadcrumbs>*{color:#394d56;float:left;font-size:.6875rem;line-height:.6875rem;margin:0;text-transform:uppercase}.breadcrumbs>*:hover a,.breadcrumbs>*:focus a{text-decoration:underline}.breadcrumbs>* a{color:#394d56}.breadcrumbs>*.current{color:#9ba493;cursor:default}.breadcrumbs>*.current a{color:#9ba493;cursor:default}.breadcrumbs>*.current:hover,.breadcrumbs>*.current:hover a,.breadcrumbs>*.current:focus,.breadcrumbs>*.current:focus a{text-decoration:none}.breadcrumbs>*.unavailable{color:#999}.breadcrumbs>*.unavailable a{color:#999}.breadcrumbs>*.unavailable:hover,.breadcrumbs>*.unavailable:hover a,.breadcrumbs>*.unavailable:focus,.breadcrumbs>*.unavailable a:focus{color:#999;cursor:not-allowed;text-decoration:none}.breadcrumbs>*:before{color:#aaa;content:">";margin:0 .75rem;position:relative;top:1px}.breadcrumbs>*:first-child:before{content:" ";margin:0}[aria-label="breadcrumbs"] [aria-hidden="true"]:after{content:"/"}button,.button{-webkit-appearance:none;-moz-appearance:none;border-radius:0;border-style:solid;border-width:0;cursor:pointer;font-family:"Open Sans",sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;background-color:#008CBA;border-color:#007095;color:#fff;transition:background-color 300ms ease-out}button:hover,button:focus,.button:hover,.button:focus{background-color:#007095}button:hover,button:focus,.button:hover,.button:focus{color:#fff}button.secondary,.button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{background-color:#b9b9b9}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{color:#333}button.success,.button.success{background-color:#43AC6A;border-color:#368a55;color:#fff}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{background-color:#368a55}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{color:#fff}button.alert,.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{background-color:#cf2a0e}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{color:#fff}button.warning,.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{background-color:#cf6e0e}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{color:#fff}button.info,.button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{background-color:#61b6d9}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{color:#fff}button.large,.button.large{padding:1.125rem 2.25rem 1.1875rem 2.25rem;font-size:1.25rem}button.small,.button.small{padding:.875rem 1.75rem .9375rem 1.75rem;font-size:.8125rem}button.tiny,.button.tiny{padding:.625rem 1.25rem .6875rem 1.25rem;font-size:.6875rem}button.expand,.button.expand{padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;padding-bottom:1.0625rem;padding-top:1rem;padding-left:1rem;padding-right:1rem;width:100%}button.left-align,.button.left-align{text-align:left;text-indent:.75rem}button.right-align,.button.right-align{text-align:right;padding-right:.75rem}button.radius,.button.radius{border-radius:3px}button.round,.button.round{border-radius:1000px}button.disabled,button[disabled],.button.disabled,.button[disabled]{background-color:#008CBA;border-color:#007095;color:#fff;box-shadow:none;cursor:default;opacity:.7}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#007095}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{color:#fff}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#008CBA}button.disabled.secondary,button[disabled].secondary,.button.disabled.secondary,.button[disabled].secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333;box-shadow:none;cursor:default;opacity:.7}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#b9b9b9}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{color:#333}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#e7e7e7}button.disabled.success,button[disabled].success,.button.disabled.success,.button[disabled].success{background-color:#43AC6A;border-color:#368a55;color:#fff;box-shadow:none;cursor:default;opacity:.7}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#368a55}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{color:#fff}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#43AC6A}button.disabled.alert,button[disabled].alert,.button.disabled.alert,.button[disabled].alert{background-color:#f04124;border-color:#cf2a0e;color:#fff;box-shadow:none;cursor:default;opacity:.7}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#cf2a0e}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{color:#fff}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#f04124}button.disabled.warning,button[disabled].warning,.button.disabled.warning,.button[disabled].warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff;box-shadow:none;cursor:default;opacity:.7}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#cf6e0e}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{color:#fff}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#f08a24}button.disabled.info,button[disabled].info,.button.disabled.info,.button[disabled].info{background-color:#a0d3e8;border-color:#61b6d9;color:#333;box-shadow:none;cursor:default;opacity:.7}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#61b6d9}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{color:#fff}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#a0d3e8}button::-moz-focus-inner{border:0;padding:0}@media only screen and (min-width: 40.063em){button,.button{display:inline-block}}.button-group{list-style:none;margin:0;left:0}.button-group:before,.button-group:after{content:" ";display:table}.button-group:after{clear:both}.button-group.even-2 li{display:inline-block;margin:0 -2px;width:50%}.button-group.even-2 li>button,.button-group.even-2 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-2 li:first-child button,.button-group.even-2 li:first-child .button{border-left:0}.button-group.even-2 li button,.button-group.even-2 li .button{width:100%}.button-group.even-3 li{display:inline-block;margin:0 -2px;width:33.33333%}.button-group.even-3 li>button,.button-group.even-3 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-3 li:first-child button,.button-group.even-3 li:first-child .button{border-left:0}.button-group.even-3 li button,.button-group.even-3 li .button{width:100%}.button-group.even-4 li{display:inline-block;margin:0 -2px;width:25%}.button-group.even-4 li>button,.button-group.even-4 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-4 li:first-child button,.button-group.even-4 li:first-child .button{border-left:0}.button-group.even-4 li button,.button-group.even-4 li .button{width:100%}.button-group.even-5 li{display:inline-block;margin:0 -2px;width:20%}.button-group.even-5 li>button,.button-group.even-5 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-5 li:first-child button,.button-group.even-5 li:first-child .button{border-left:0}.button-group.even-5 li button,.button-group.even-5 li .button{width:100%}.button-group.even-6 li{display:inline-block;margin:0 -2px;width:16.66667%}.button-group.even-6 li>button,.button-group.even-6 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-6 li:first-child button,.button-group.even-6 li:first-child .button{border-left:0}.button-group.even-6 li button,.button-group.even-6 li .button{width:100%}.button-group.even-7 li{display:inline-block;margin:0 -2px;width:14.28571%}.button-group.even-7 li>button,.button-group.even-7 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-7 li:first-child button,.button-group.even-7 li:first-child .button{border-left:0}.button-group.even-7 li button,.button-group.even-7 li .button{width:100%}.button-group.even-8 li{display:inline-block;margin:0 -2px;width:12.5%}.button-group.even-8 li>button,.button-group.even-8 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-8 li:first-child button,.button-group.even-8 li:first-child .button{border-left:0}.button-group.even-8 li button,.button-group.even-8 li .button{width:100%}.button-group>li{display:inline-block;margin:0 -2px}.button-group>li>button,.button-group>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group>li:first-child button,.button-group>li:first-child .button{border-left:0}.button-group.stack>li{display:block;margin:0;float:none}.button-group.stack>li>button,.button-group.stack>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-left:0}.button-group.stack>li>button,.button-group.stack>li .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.stack>li>button{width:100%}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-top:0}.button-group.stack-for-small>li{display:inline-block;margin:0 -2px}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}@media only screen and (max-width: 40em){.button-group.stack-for-small>li{display:block;margin:0;width:100%}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.stack-for-small>li>button{width:100%}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-top:0}}.button-group.radius>*{display:inline-block;margin:0 -2px}.button-group.radius>*>button,.button-group.radius>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius>*:first-child button,.button-group.radius>*:first-child .button{border-left:0}.button-group.radius>*,.button-group.radius>*>a,.button-group.radius>*>button,.button-group.radius>*>.button{border-radius:0}.button-group.radius>*:first-child,.button-group.radius>*:first-child>a,.button-group.radius>*:first-child>button,.button-group.radius>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius>*:last-child,.button-group.radius>*:last-child>a,.button-group.radius>*:last-child>button,.button-group.radius>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*{display:block;margin:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-left:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.radius.stack>*>button{width:100%}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-top:0}.button-group.radius.stack>*,.button-group.radius.stack>*>a,.button-group.radius.stack>*>button,.button-group.radius.stack>*>.button{border-radius:0}.button-group.radius.stack>*:first-child,.button-group.radius.stack>*:first-child>a,.button-group.radius.stack>*:first-child>button,.button-group.radius.stack>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*:last-child,.button-group.radius.stack>*:last-child>a,.button-group.radius.stack>*:last-child>button,.button-group.radius.stack>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}@media only screen and (min-width: 40.063em){.button-group.radius.stack-for-small>*{display:inline-block;margin:0 -2px}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}}@media only screen and (max-width: 40em){.button-group.radius.stack-for-small>*{display:block;margin:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.radius.stack-for-small>*>button{width:100%}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-top:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}}.button-group.round>*{display:inline-block;margin:0 -2px}.button-group.round>*>button,.button-group.round>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round>*:first-child button,.button-group.round>*:first-child .button{border-left:0}.button-group.round>*,.button-group.round>*>a,.button-group.round>*>button,.button-group.round>*>.button{border-radius:0}.button-group.round>*:first-child,.button-group.round>*:first-child>a,.button-group.round>*:first-child>button,.button-group.round>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round>*:last-child,.button-group.round>*:last-child>a,.button-group.round>*:last-child>button,.button-group.round>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.button-group.round.stack>*{display:block;margin:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-left:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.round.stack>*>button{width:100%}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-top:0}.button-group.round.stack>*,.button-group.round.stack>*>a,.button-group.round.stack>*>button,.button-group.round.stack>*>.button{border-radius:0}.button-group.round.stack>*:first-child,.button-group.round.stack>*:first-child>a,.button-group.round.stack>*:first-child>button,.button-group.round.stack>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack>*:last-child,.button-group.round.stack>*:last-child>a,.button-group.round.stack>*:last-child>button,.button-group.round.stack>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}@media only screen and (min-width: 40.063em){.button-group.round.stack-for-small>*{display:inline-block;margin:0 -2px}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}}@media only screen and (max-width: 40em){.button-group.round.stack-for-small>*{display:block;margin:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.round.stack-for-small>*>button{width:100%}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-top:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}}.button-bar:before,.button-bar:after{content:" ";display:table}.button-bar:after{clear:both}.button-bar .button-group{float:left;margin-right:.625rem}.button-bar .button-group div{overflow:hidden}.clearing-thumbs,[data-clearing]{list-style:none;margin-left:0;margin-bottom:0}.clearing-thumbs:before,.clearing-thumbs:after,[data-clearing]:before,[data-clearing]:after{content:" ";display:table}.clearing-thumbs:after,[data-clearing]:after{clear:both}.clearing-thumbs li,[data-clearing] li{float:left;margin-right:10px}.clearing-thumbs[class*="block-grid-"] li,[data-clearing][class*="block-grid-"] li{margin-right:0}.clearing-blackout{background:#333;height:100%;position:fixed;top:0;width:100%;z-index:998;left:0}.clearing-blackout .clearing-close{display:block}.clearing-container{height:100%;margin:0;overflow:hidden;position:relative;z-index:998}.clearing-touch-label{color:#aaa;font-size:.6em;left:50%;position:absolute;top:50%}.visible-img{height:95%;position:relative}.visible-img img{position:absolute;left:50%;top:50%;-webkit-transform:translateY(-50%) translateX(-50%);-moz-transform:translateY(-50%) translateX(-50%);-ms-transform:translateY(-50%) translateX(-50%);-o-transform:translateY(-50%) translateX(-50%);transform:translateY(-50%) translateX(-50%);max-height:100%;max-width:100%}.clearing-caption{background:#333;bottom:0;color:#ccc;font-size:.875em;line-height:1.3;margin-bottom:0;padding:10px 30px 20px;position:absolute;text-align:center;width:100%;left:0}.clearing-close{color:#ccc;display:none;font-size:30px;line-height:1;padding-left:20px;padding-top:10px;z-index:999}.clearing-close:hover,.clearing-close:focus{color:#ccc}.clearing-assembled .clearing-container{height:100%}.clearing-assembled .clearing-container .carousel>ul{display:none}.clearing-feature li{display:none}.clearing-feature li.clearing-featured-img{display:block}@media only screen and (min-width: 40.063em){.clearing-main-prev,.clearing-main-next{height:100%;position:absolute;top:0;width:40px}.clearing-main-prev>span,.clearing-main-next>span{border:solid 12px;display:block;height:0;position:absolute;top:50%;width:0}.clearing-main-prev>span:hover,.clearing-main-next>span:hover{opacity:.8}.clearing-main-prev{left:0}.clearing-main-prev>span{left:5px;border-color:transparent;border-right-color:#ccc}.clearing-main-next{right:0}.clearing-main-next>span{border-color:transparent;border-left-color:#ccc}.clearing-main-prev.disabled,.clearing-main-next.disabled{opacity:.3}.clearing-assembled .clearing-container .carousel{background:rgba(51,51,51,0.8);height:120px;margin-top:10px;text-align:center}.clearing-assembled .clearing-container .carousel>ul{display:inline-block;z-index:999;height:100%;position:relative;float:none}.clearing-assembled .clearing-container .carousel>ul li{clear:none;cursor:pointer;display:block;float:left;margin-right:0;min-height:inherit;opacity:.4;overflow:hidden;padding:0;position:relative;width:120px}.clearing-assembled .clearing-container .carousel>ul li.fix-height img{height:100%;max-width:none}.clearing-assembled .clearing-container .carousel>ul li a.th{border:none;box-shadow:none;display:block}.clearing-assembled .clearing-container .carousel>ul li img{cursor:pointer !important;width:100% !important}.clearing-assembled .clearing-container .carousel>ul li.visible{opacity:1}.clearing-assembled .clearing-container .carousel>ul li:hover{opacity:.8}.clearing-assembled .clearing-container .visible-img{background:#333;height:85%;overflow:hidden}.clearing-close{padding-left:0;padding-top:0;position:absolute;top:10px;right:20px}}.f-dropdown{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:2px;max-width:200px}.f-dropdown.open{display:block}.f-dropdown>*:first-child{margin-top:0}.f-dropdown>*:last-child{margin-bottom:0}.f-dropdown:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent transparent #fff transparent;border-bottom-style:solid;position:absolute;top:-12px;left:10px;z-index:89}.f-dropdown:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent transparent #ccc transparent;border-bottom-style:solid;position:absolute;top:-14px;left:9px;z-index:88}.f-dropdown.right:before{left:auto;right:10px}.f-dropdown.right:after{left:auto;right:9px}.f-dropdown.drop-right{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:0;margin-left:2px;max-width:200px}.f-dropdown.drop-right.open{display:block}.f-dropdown.drop-right>*:first-child{margin-top:0}.f-dropdown.drop-right>*:last-child{margin-bottom:0}.f-dropdown.drop-right:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent #fff transparent transparent;border-right-style:solid;position:absolute;top:10px;left:-12px;z-index:89}.f-dropdown.drop-right:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent #ccc transparent transparent;border-right-style:solid;position:absolute;top:9px;left:-14px;z-index:88}.f-dropdown.drop-left{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:0;margin-left:-2px;max-width:200px}.f-dropdown.drop-left.open{display:block}.f-dropdown.drop-left>*:first-child{margin-top:0}.f-dropdown.drop-left>*:last-child{margin-bottom:0}.f-dropdown.drop-left:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent #fff;border-left-style:solid;position:absolute;top:10px;right:-12px;left:auto;z-index:89}.f-dropdown.drop-left:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent #ccc;border-left-style:solid;position:absolute;top:9px;right:-14px;left:auto;z-index:88}.f-dropdown.drop-top{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-left:0;margin-top:-2px;max-width:200px}.f-dropdown.drop-top.open{display:block}.f-dropdown.drop-top>*:first-child{margin-top:0}.f-dropdown.drop-top>*:last-child{margin-bottom:0}.f-dropdown.drop-top:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:#fff transparent transparent transparent;border-top-style:solid;bottom:-12px;position:absolute;top:auto;left:10px;right:auto;z-index:89}.f-dropdown.drop-top:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:#ccc transparent transparent transparent;border-top-style:solid;bottom:-14px;position:absolute;top:auto;left:9px;right:auto;z-index:88}.f-dropdown li{cursor:pointer;font-size:.875rem;line-height:1.125rem;margin:0}.f-dropdown li:hover,.f-dropdown li:focus{background:#eee}.f-dropdown li a{display:block;padding:.5rem;color:#555}.f-dropdown.content{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:.875rem;height:auto;max-height:none;padding:1rem;width:100%;z-index:89;max-width:200px}.f-dropdown.content.open{display:block}.f-dropdown.content>*:first-child{margin-top:0}.f-dropdown.content>*:last-child{margin-bottom:0}.f-dropdown.radius{border-radius:3px}.f-dropdown.tiny{max-width:200px}.f-dropdown.small{max-width:300px}.f-dropdown.medium{max-width:500px}.f-dropdown.large{max-width:800px}.f-dropdown.mega{width:100% !important;max-width:100% !important}.f-dropdown.mega.open{left:0 !important}.dropdown.button,button.dropdown{position:relative;padding-right:3.5625rem}.dropdown.button::after,button.dropdown::after{border-color:#fff transparent transparent transparent;border-style:solid;content:"";display:block;height:0;position:absolute;top:50%;width:0}.dropdown.button::after,button.dropdown::after{border-width:.375rem;right:1.40625rem;margin-top:-.15625rem}.dropdown.button::after,button.dropdown::after{border-color:#fff transparent transparent transparent}.dropdown.button.tiny,button.dropdown.tiny{padding-right:2.625rem}.dropdown.button.tiny:after,button.dropdown.tiny:after{border-width:.375rem;right:1.125rem;margin-top:-.125rem}.dropdown.button.tiny::after,button.dropdown.tiny::after{border-color:#fff transparent transparent transparent}.dropdown.button.small,button.dropdown.small{padding-right:3.0625rem}.dropdown.button.small::after,button.dropdown.small::after{border-width:.4375rem;right:1.3125rem;margin-top:-.15625rem}.dropdown.button.small::after,button.dropdown.small::after{border-color:#fff transparent transparent transparent}.dropdown.button.large,button.dropdown.large{padding-right:3.625rem}.dropdown.button.large::after,button.dropdown.large::after{border-width:.3125rem;right:1.71875rem;margin-top:-.15625rem}.dropdown.button.large::after,button.dropdown.large::after{border-color:#fff transparent transparent transparent}.dropdown.button.secondary:after,button.dropdown.secondary:after{border-color:#333 transparent transparent transparent}.flex-video{height:0;margin-bottom:1rem;overflow:hidden;padding-bottom:67.5%;padding-top:1.5625rem;position:relative}.flex-video.widescreen{padding-bottom:56.34%}.flex-video.vimeo{padding-top:0}.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{height:100%;position:absolute;top:0;width:100%;left:0}form{margin:0 0 1rem}form .row .row{margin:0 -.5rem}form .row .row .column,form .row .row .columns{padding:0 .5rem}form .row .row.collapse{margin:0}form .row .row.collapse .column,form .row .row.collapse .columns{padding:0}form .row .row.collapse input{-webkit-border-bottom-right-radius:0;-webkit-border-top-right-radius:0;border-bottom-right-radius:0;border-top-right-radius:0}form .row input.column,form .row input.columns,form .row textarea.column,form .row textarea.columns{padding-left:.5rem}label{color:#4d4d4d;cursor:pointer;display:block;font-size:.875rem;font-weight:normal;line-height:1.5;margin-bottom:0}label.right{float:none !important;text-align:right}label.inline{margin:0 0 1rem 0;padding:.5625rem 0}label small{text-transform:capitalize;color:#676767}.prefix,.postfix{border-style:solid;border-width:1px;display:block;font-size:.875rem;height:2.3125rem;line-height:2.3125rem;overflow:visible;padding-bottom:0;padding-top:0;position:relative;text-align:center;width:100%;z-index:2}.postfix.button{border:none;padding-left:0;padding-right:0;padding-bottom:0;padding-top:0;text-align:center}.prefix.button{border:none;padding-left:0;padding-right:0;padding-bottom:0;padding-top:0;text-align:center}.prefix.button.radius{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.postfix.button.radius{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.prefix.button.round{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.postfix.button.round{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}span.prefix,label.prefix{background:#f2f2f2;border-right:none;color:#333;border-color:#ccc}span.postfix,label.postfix{background:#f2f2f2;border-left:none;color:#333;border-color:#ccc}input:not([type]),input[type="text"],input[type="password"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],input[type="color"],textarea{-webkit-appearance:none;-moz-appearance:none;border-radius:0;background-color:#fff;border-style:solid;border-width:1px;border-color:#ccc;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);color:rgba(0,0,0,0.75);display:block;font-family:inherit;font-size:.875rem;height:2.3125rem;margin:0 0 1rem 0;padding:.5rem;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .15s linear,background .15s linear;-moz-transition:border-color .15s linear,background .15s linear;-ms-transition:border-color .15s linear,background .15s linear;-o-transition:border-color .15s linear,background .15s linear;transition:border-color .15s linear,background .15s linear}input:not([type]):focus,input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="week"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input[type="color"]:focus,textarea:focus{background:#fafafa;border-color:#999;outline:none}input:not([type]):disabled,input[type="text"]:disabled,input[type="password"]:disabled,input[type="date"]:disabled,input[type="datetime"]:disabled,input[type="datetime-local"]:disabled,input[type="month"]:disabled,input[type="week"]:disabled,input[type="email"]:disabled,input[type="number"]:disabled,input[type="search"]:disabled,input[type="tel"]:disabled,input[type="time"]:disabled,input[type="url"]:disabled,input[type="color"]:disabled,textarea:disabled{background-color:#ddd;cursor:default}input:not([type])[disabled],input:not([type])[readonly],fieldset[disabled] input:not([type]),input[type="text"][disabled],input[type="text"][readonly],fieldset[disabled] input[type="text"],input[type="password"][disabled],input[type="password"][readonly],fieldset[disabled] input[type="password"],input[type="date"][disabled],input[type="date"][readonly],fieldset[disabled] input[type="date"],input[type="datetime"][disabled],input[type="datetime"][readonly],fieldset[disabled] input[type="datetime"],input[type="datetime-local"][disabled],input[type="datetime-local"][readonly],fieldset[disabled] input[type="datetime-local"],input[type="month"][disabled],input[type="month"][readonly],fieldset[disabled] input[type="month"],input[type="week"][disabled],input[type="week"][readonly],fieldset[disabled] input[type="week"],input[type="email"][disabled],input[type="email"][readonly],fieldset[disabled] input[type="email"],input[type="number"][disabled],input[type="number"][readonly],fieldset[disabled] input[type="number"],input[type="search"][disabled],input[type="search"][readonly],fieldset[disabled] input[type="search"],input[type="tel"][disabled],input[type="tel"][readonly],fieldset[disabled] input[type="tel"],input[type="time"][disabled],input[type="time"][readonly],fieldset[disabled] input[type="time"],input[type="url"][disabled],input[type="url"][readonly],fieldset[disabled] input[type="url"],input[type="color"][disabled],input[type="color"][readonly],fieldset[disabled] input[type="color"],textarea[disabled],textarea[readonly],fieldset[disabled] textarea{background-color:#ddd;cursor:default}input:not([type]).radius,input[type="text"].radius,input[type="password"].radius,input[type="date"].radius,input[type="datetime"].radius,input[type="datetime-local"].radius,input[type="month"].radius,input[type="week"].radius,input[type="email"].radius,input[type="number"].radius,input[type="search"].radius,input[type="tel"].radius,input[type="time"].radius,input[type="url"].radius,input[type="color"].radius,textarea.radius{border-radius:3px}form .row .prefix-radius.row.collapse input,form .row .prefix-radius.row.collapse textarea,form .row .prefix-radius.row.collapse select,form .row .prefix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-radius.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse input,form .row .postfix-radius.row.collapse textarea,form .row .postfix-radius.row.collapse select,form .row .postfix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-round.row.collapse input,form .row .prefix-round.row.collapse textarea,form .row .prefix-round.row.collapse select,form .row .prefix-round.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}form .row .prefix-round.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse input,form .row .postfix-round.row.collapse textarea,form .row .postfix-round.row.collapse select,form .row .postfix-round.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}input[type="submit"]{-webkit-appearance:none;-moz-appearance:none;border-radius:0}textarea[rows]{height:auto}textarea{max-width:100%}::-webkit-input-placeholder{color:#666}:-moz-placeholder{color:#666}::-moz-placeholder{color:#666}:-ms-input-placeholder{color:#666}select{-webkit-appearance:none !important;-moz-appearance:none !important;background-color:#FAFAFA;border-radius:0;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+");background-position:100% center;background-repeat:no-repeat;border-style:solid;border-width:1px;border-color:#ccc;color:rgba(0,0,0,0.75);font-family:inherit;font-size:.875rem;line-height:normal;padding:.5rem;border-radius:0;height:2.3125rem}select::-ms-expand{display:none}select.radius{border-radius:3px}select:focus{background-color:#f3f3f3;border-color:#999}select:disabled{background-color:#ddd;cursor:default}select[multiple]{height:auto}input[type="file"],input[type="checkbox"],input[type="radio"],select{margin:0 0 1rem 0}input[type="checkbox"]+label,input[type="radio"]+label{display:inline-block;margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}input[type="file"]{width:100%}fieldset{border:1px solid #ddd;margin:1.125rem 0;padding:1.25rem}fieldset legend{font-weight:bold;margin:0;margin-left:-.1875rem;padding:0 .1875rem}[data-abide] .error small.error,[data-abide] .error span.error,[data-abide] span.error,[data-abide] small.error{display:block;font-size:.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:-1px;padding:.375rem .5625rem .5625rem;background:#f04124;color:#fff}[data-abide] span.error,[data-abide] small.error{display:none}span.error,small.error{display:block;font-size:.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:-1px;padding:.375rem .5625rem .5625rem;background:#f04124;color:#fff}.error input,.error textarea,.error select{margin-bottom:0}.error input[type="checkbox"],.error input[type="radio"]{margin-bottom:1rem}.error label,.error label.error{color:#f04124}.error small.error{display:block;font-size:.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:-1px;padding:.375rem .5625rem .5625rem;background:#f04124;color:#fff}.error>label>small{background:transparent;color:#676767;display:inline;font-size:60%;font-style:normal;margin:0;padding:0;text-transform:capitalize}.error span.error-message{display:block}input.error,textarea.error,select.error{margin-bottom:0}label.error{color:#f04124}.icon-bar{display:inline-block;font-size:0;width:100%;background:#333}.icon-bar>*{display:block;float:left;font-size:1rem;margin:0 auto;padding:1.25rem;text-align:center;width:25%}.icon-bar>* i,.icon-bar>* img{display:block;margin:0 auto}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem}.icon-bar>* i{font-size:1.875rem;vertical-align:middle}.icon-bar>* img{height:1.875rem;width:1.875rem}.icon-bar.label-right>* i,.icon-bar.label-right>* img{display:inline-block;margin:0 .0625rem 0 0}.icon-bar.label-right>* i+label,.icon-bar.label-right>* img+label{margin-top:0}.icon-bar.label-right>* label{display:inline-block}.icon-bar.vertical.label-right>*{text-align:left}.icon-bar.vertical,.icon-bar.small-vertical{height:100%;width:auto}.icon-bar.vertical .item,.icon-bar.small-vertical .item{float:none;margin:auto;width:auto}@media only screen and (min-width: 40.063em){.icon-bar.medium-vertical{height:100%;width:auto}.icon-bar.medium-vertical .item{float:none;margin:auto;width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.large-vertical{height:100%;width:auto}.icon-bar.large-vertical .item{float:none;margin:auto;width:auto}}.icon-bar>*{font-size:1rem;padding:1.25rem}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem;font-size:1rem}.icon-bar>* i{font-size:1.875rem}.icon-bar>* img{height:1.875rem;width:1.875rem}.icon-bar>* label{color:#fff}.icon-bar>* i{color:#fff}.icon-bar>a:hover{background:#008CBA}.icon-bar>a:hover label{color:#fff}.icon-bar>a:hover i{color:#fff}.icon-bar>a.active{background:#008CBA}.icon-bar>a.active label{color:#fff}.icon-bar>a.active i{color:#fff}.icon-bar .item.disabled{cursor:not-allowed;opacity:.7;pointer-events:none}.icon-bar .item.disabled>*{opacity:.7;cursor:not-allowed}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.six-up.large-vertical .item{width:auto}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.seven-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.seven-up.large-vertical .item{width:auto}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.eight-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.eight-up.large-vertical .item{width:auto}}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.six-up.large-vertical .item{width:auto}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.seven-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.seven-up.large-vertical .item{width:auto}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.eight-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.eight-up.large-vertical .item{width:auto}}.inline-list{list-style:none;margin-top:0;margin-bottom:1.0625rem;margin-left:-1.375rem;margin-right:0;overflow:hidden;padding:0}.inline-list>li{display:block;float:left;list-style:none;margin-left:1.375rem}.inline-list>li>*{display:block}.joyride-list{display:none}.joyride-tip-guide{background:#333;color:#fff;display:none;font-family:inherit;font-weight:normal;position:absolute;top:0;width:95%;z-index:103;left:2.5%}.lt-ie9 .joyride-tip-guide{margin-left:-400px;max-width:800px;left:50%}.joyride-content-wrapper{padding:1.125rem 1.25rem 1.5rem;width:100%}.joyride-content-wrapper .button{margin-bottom:0 !important}.joyride-content-wrapper .joyride-prev-tip{margin-right:10px}.joyride-tip-guide .joyride-nub{border:10px solid #333;display:block;height:0;position:absolute;width:0;left:22px}.joyride-tip-guide .joyride-nub.top{border-color:#333;border-top-color:transparent !important;border-top-style:solid;border-left-color:transparent !important;border-right-color:transparent !important;top:-20px}.joyride-tip-guide .joyride-nub.bottom{border-color:#333 !important;border-bottom-color:transparent !important;border-bottom-style:solid;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{right:-20px}.joyride-tip-guide .joyride-nub.left{left:-20px}.joyride-tip-guide h1,.joyride-tip-guide h2,.joyride-tip-guide h3,.joyride-tip-guide h4,.joyride-tip-guide h5,.joyride-tip-guide h6{color:#fff;font-weight:bold;line-height:1.25;margin:0}.joyride-tip-guide p{font-size:.875rem;line-height:1.3;margin:0 0 1.125rem 0}.joyride-timer-indicator-wrap{border:solid 1px #555;bottom:1rem;height:3px;position:absolute;width:50px;right:1.0625rem}.joyride-timer-indicator{background:#666;display:block;height:inherit;width:0}.joyride-close-tip{color:#777 !important;font-size:24px;font-weight:normal;line-height:.5 !important;position:absolute;text-decoration:none;top:10px;right:12px}.joyride-close-tip:hover,.joyride-close-tip:focus{color:#eee !important}.joyride-modal-bg{background:rgba(0,0,0,0.5);cursor:pointer;display:none;height:100%;position:fixed;top:0;width:100%;z-index:100;left:0}.joyride-expose-wrapper{background-color:#fff;border-radius:3px;box-shadow:0 0 15px #fff;position:absolute;z-index:102}.joyride-expose-cover{background:transparent;border-radius:3px;left:0;position:absolute;top:0;z-index:9999}@media only screen{.joyride-tip-guide{width:300px;left:inherit}.joyride-tip-guide .joyride-nub.bottom{border-color:#333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{border-color:#333 !important;border-right-color:transparent !important;border-bottom-color:transparent !important;border-top-color:transparent !important;left:auto;right:-20px;top:22px}.joyride-tip-guide .joyride-nub.left{border-color:#333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-top-color:transparent !important;left:-20px;right:auto;top:22px}}.keystroke,kbd{background-color:#ededed;border-color:#ddd;color:#222;border-style:solid;border-width:1px;font-family:"Consolas","Menlo","Courier",monospace;font-size:inherit;margin:0;padding:.125rem .25rem 0;border-radius:3px}.label{display:inline-block;font-family:"Open Sans",sans-serif;font-weight:normal;line-height:1;margin-bottom:auto;position:relative;text-align:center;text-decoration:none;white-space:nowrap;padding:.25rem .5rem .25rem;font-size:.6875rem;background-color:#008CBA;color:#fff}.label.radius{border-radius:3px}.label.round{border-radius:1000px}.label.alert{background-color:#f04124;color:#fff}.label.warning{background-color:#f08a24;color:#fff}.label.success{background-color:#43AC6A;color:#fff}.label.secondary{background-color:#e7e7e7;color:#333}.label.info{background-color:#a0d3e8;color:#333}[data-magellan-expedition],[data-magellan-expedition-clone]{background:#fff;min-width:100%;padding:10px;z-index:50}[data-magellan-expedition] .sub-nav,[data-magellan-expedition-clone] .sub-nav{margin-bottom:0}[data-magellan-expedition] .sub-nav dd,[data-magellan-expedition-clone] .sub-nav dd{margin-bottom:0}[data-magellan-expedition] .sub-nav a,[data-magellan-expedition-clone] .sub-nav a{line-height:1.8em}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}.slideshow-wrapper{position:relative}.slideshow-wrapper ul{list-style-type:none;margin:0}.slideshow-wrapper ul li,.slideshow-wrapper ul li .orbit-caption{display:none}.slideshow-wrapper ul li:first-child{display:block}.slideshow-wrapper .orbit-container{background-color:transparent}.slideshow-wrapper .orbit-container li{display:block}.slideshow-wrapper .orbit-container li .orbit-caption{display:block}.slideshow-wrapper .orbit-container .orbit-bullets li{display:inline-block}.slideshow-wrapper .preloader{border-radius:1000px;animation-duration:1.5s;animation-iteration-count:infinite;animation-name:rotate;animation-timing-function:linear;border-color:#555 #fff;border:solid 3px;display:block;height:40px;left:50%;margin-left:-20px;margin-top:-20px;position:absolute;top:50%;width:40px}.orbit-container{background:none;overflow:hidden;position:relative;width:100%}.orbit-container .orbit-slides-container{list-style:none;margin:0;padding:0;position:relative;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.orbit-container .orbit-slides-container img{display:block;max-width:100%}.orbit-container .orbit-slides-container>*{position:absolute;top:0;width:100%;margin-left:100%}.orbit-container .orbit-slides-container>*:first-child{margin-left:0}.orbit-container .orbit-slides-container>* .orbit-caption{bottom:0;position:absolute;background-color:rgba(51,51,51,0.8);color:#fff;font-size:.875rem;padding:.625rem .875rem;width:100%}.orbit-container .orbit-slide-number{left:10px;background:transparent;color:#fff;font-size:12px;position:absolute;top:10px;z-index:10}.orbit-container .orbit-slide-number span{font-weight:700;padding:.3125rem}.orbit-container .orbit-timer{position:absolute;top:12px;right:10px;height:6px;width:100px;z-index:10}.orbit-container .orbit-timer .orbit-progress{height:3px;background-color:rgba(255,255,255,0.3);display:block;width:0;position:relative;right:20px;top:5px}.orbit-container .orbit-timer>span{border:solid 4px #fff;border-bottom:none;border-top:none;display:none;height:14px;position:absolute;top:0;width:11px;right:0}.orbit-container .orbit-timer.paused>span{top:0;width:11px;height:14px;border:inset 8px;border-left-style:solid;border-color:transparent;border-left-color:#fff;right:-4px}.orbit-container .orbit-timer.paused>span.dark{border-left-color:#333}.orbit-container:hover .orbit-timer>span{display:block}.orbit-container .orbit-prev,.orbit-container .orbit-next{background-color:transparent;color:white;height:60px;line-height:50px;margin-top:-25px;position:absolute;text-indent:-9999px !important;top:45%;width:36px;z-index:10}.orbit-container .orbit-prev:hover,.orbit-container .orbit-next:hover{background-color:rgba(0,0,0,0.3)}.orbit-container .orbit-prev>span,.orbit-container .orbit-next>span{border:inset 10px;display:block;height:0;margin-top:-10px;position:absolute;top:50%;width:0}.orbit-container .orbit-prev{left:0}.orbit-container .orbit-prev>span{border-right-style:solid;border-color:transparent;border-right-color:#fff}.orbit-container .orbit-prev:hover>span{border-right-color:#fff}.orbit-container .orbit-next{right:0}.orbit-container .orbit-next>span{border-color:transparent;border-left-style:solid;border-left-color:#fff;left:50%;margin-left:-4px}.orbit-container .orbit-next:hover>span{border-left-color:#fff}.orbit-bullets-container{text-align:center}.orbit-bullets{display:block;float:none;margin:0 auto 30px auto;overflow:hidden;position:relative;text-align:center;top:10px}.orbit-bullets li{background:#ccc;cursor:pointer;display:inline-block;float:none;height:.5625rem;margin-right:6px;width:.5625rem;border-radius:1000px}.orbit-bullets li.active{background:#999}.orbit-bullets li:last-child{margin-right:0}.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:none}.touch .orbit-bullets{display:none}@media only screen and (min-width: 40.063em){.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:inherit}.touch .orbit-bullets{display:block}}@media only screen and (max-width: 40em){.orbit-stack-on-small .orbit-slides-container{height:auto !important}.orbit-stack-on-small .orbit-slides-container>*{margin:0  !important;opacity:1 !important;position:relative}.orbit-stack-on-small .orbit-slide-number{display:none}.orbit-timer{display:none}.orbit-next,.orbit-prev{display:none}.orbit-bullets{display:none}}ul.pagination{display:block;margin-left:-.3125rem;min-height:1.5rem}ul.pagination li{color:#222;font-size:.875rem;height:1.5rem;margin-left:.3125rem}ul.pagination li a,ul.pagination li button{border-radius:3px;transition:background-color 300ms ease-out;background:none;color:#999;display:block;font-size:1em;font-weight:normal;line-height:inherit;padding:.0625rem .625rem .0625rem}ul.pagination li:hover a,ul.pagination li a:focus,ul.pagination li:hover button,ul.pagination li button:focus{background:#e6e6e6}ul.pagination li.unavailable a,ul.pagination li.unavailable button{cursor:default;color:#999;pointer-events:none}ul.pagination li.unavailable:hover a,ul.pagination li.unavailable a:focus,ul.pagination li.unavailable:hover button,ul.pagination li.unavailable button:focus{background:transparent}ul.pagination li.current a,ul.pagination li.current button{background:#008CBA;color:#fff;cursor:default;font-weight:bold}ul.pagination li.current a:hover,ul.pagination li.current a:focus,ul.pagination li.current button:hover,ul.pagination li.current button:focus{background:#008CBA}ul.pagination li{display:block;float:left}.pagination-centered{text-align:center}.pagination-centered ul.pagination li{display:inline-block;float:none}.panel{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#f2f2f2;color:#333}.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6,.panel p,.panel li,.panel dl{color:#333}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6{line-height:1;margin-bottom:.625rem}.panel h1.subheader,.panel h2.subheader,.panel h3.subheader,.panel h4.subheader,.panel h5.subheader,.panel h6.subheader{line-height:1.4}.panel.callout{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#ecfaff;color:#333}.panel.callout>:first-child{margin-top:0}.panel.callout>:last-child{margin-bottom:0}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6,.panel.callout p,.panel.callout li,.panel.callout dl{color:#333}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6{line-height:1;margin-bottom:.625rem}.panel.callout h1.subheader,.panel.callout h2.subheader,.panel.callout h3.subheader,.panel.callout h4.subheader,.panel.callout h5.subheader,.panel.callout h6.subheader{line-height:1.4}.panel.callout a:not(.button){color:#008CBA}.panel.callout a:not(.button):hover,.panel.callout a:not(.button):focus{color:#0078a0}.panel.radius{border-radius:3px}.pricing-table{border:solid 1px #ddd;margin-left:0;margin-bottom:1.25rem}.pricing-table *{list-style:none;line-height:1}.pricing-table .title{background-color:#333;color:#eee;font-family:"Open Sans",sans-serif;font-size:1rem;font-weight:normal;padding:.9375rem 1.25rem;text-align:center}.pricing-table .price{background-color:#F6F6F6;color:#333;font-family:"Open Sans",sans-serif;font-size:2rem;font-weight:normal;padding:.9375rem 1.25rem;text-align:center}.pricing-table .description{background-color:#fff;border-bottom:dotted 1px #ddd;color:#777;font-size:.75rem;font-weight:normal;line-height:1.4;padding:.9375rem;text-align:center}.pricing-table .bullet-item{background-color:#fff;border-bottom:dotted 1px #ddd;color:#333;font-size:.875rem;font-weight:normal;padding:.9375rem;text-align:center}.pricing-table .cta-button{background-color:#fff;padding:1.25rem 1.25rem 0;text-align:center}.progress{background-color:#F6F6F6;border:1px solid #fff;height:1.5625rem;margin-bottom:.625rem;padding:.125rem}.progress .meter{background:#008CBA;display:block;height:100%;float:left;width:0%}.progress .meter.secondary{background:#e7e7e7;display:block;height:100%;float:left;width:0%}.progress .meter.success{background:#43AC6A;display:block;height:100%;float:left;width:0%}.progress .meter.alert{background:#f04124;display:block;height:100%;float:left;width:0%}.progress.secondary .meter{background:#e7e7e7;display:block;height:100%;float:left;width:0%}.progress.success .meter{background:#43AC6A;display:block;height:100%;float:left;width:0%}.progress.alert .meter{background:#f04124;display:block;height:100%;float:left;width:0%}.progress.radius{border-radius:3px}.progress.radius .meter{border-radius:2px}.progress.round{border-radius:1000px}.progress.round .meter{border-radius:999px}.range-slider{border:1px solid #ddd;margin:1.25rem 0;position:relative;-ms-touch-action:none;touch-action:none;display:block;height:1rem;width:100%;background:#FAFAFA}.range-slider.vertical-range{border:1px solid #ddd;margin:1.25rem 0;position:relative;-ms-touch-action:none;touch-action:none;display:inline-block;height:12.5rem;width:1rem}.range-slider.vertical-range .range-slider-handle{bottom:-10.5rem;margin-left:-.5rem;margin-top:0;position:absolute}.range-slider.vertical-range .range-slider-active-segment{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;border-top-left-radius:initial;bottom:0;height:auto;width:.875rem}.range-slider.radius{background:#FAFAFA;border-radius:3px}.range-slider.radius .range-slider-handle{background:#008CBA;border-radius:3px}.range-slider.radius .range-slider-handle:hover{background:#007ba4}.range-slider.round{background:#FAFAFA;border-radius:1000px}.range-slider.round .range-slider-handle{background:#008CBA;border-radius:1000px}.range-slider.round .range-slider-handle:hover{background:#007ba4}.range-slider.disabled,.range-slider[disabled]{background:#FAFAFA;cursor:not-allowed;opacity:.7}.range-slider.disabled .range-slider-handle,.range-slider[disabled] .range-slider-handle{background:#008CBA;cursor:default;opacity:.7}.range-slider.disabled .range-slider-handle:hover,.range-slider[disabled] .range-slider-handle:hover{background:#007ba4}.range-slider-active-segment{background:#e5e5e5;border-bottom-left-radius:inherit;border-top-left-radius:inherit;display:inline-block;height:.875rem;position:absolute}.range-slider-handle{border:1px solid none;cursor:pointer;display:inline-block;height:1.375rem;position:absolute;top:-.3125rem;width:2rem;z-index:1;-ms-touch-action:manipulation;touch-action:manipulation;background:#008CBA}.range-slider-handle:hover{background:#007ba4}.reveal-modal-bg{background:#000;background:rgba(0,0,0,0.45);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1004;left:0}.reveal-modal{border-radius:3px;display:none;position:absolute;top:0;visibility:hidden;width:100%;z-index:1005;left:0;background-color:#fff;padding:1.875rem;border:solid 1px #666;box-shadow:0 0 10px rgba(0,0,0,0.4)}@media only screen and (max-width: 40em){.reveal-modal{min-height:100vh}}.reveal-modal .column,.reveal-modal .columns{min-width:0}.reveal-modal>:first-child{margin-top:0}.reveal-modal>:last-child{margin-bottom:0}@media only screen and (min-width: 40.063em){.reveal-modal{left:0;margin:0 auto;max-width:62.5rem;right:0;width:80%}}@media only screen and (min-width: 40.063em){.reveal-modal{top:6.25rem}}.reveal-modal.radius{box-shadow:none;border-radius:3px}.reveal-modal.round{box-shadow:none;border-radius:1000px}.reveal-modal.collapse{padding:0;box-shadow:none}@media only screen and (min-width: 40.063em){.reveal-modal.tiny{left:0;margin:0 auto;max-width:62.5rem;right:0;width:30%}}@media only screen and (min-width: 40.063em){.reveal-modal.small{left:0;margin:0 auto;max-width:62.5rem;right:0;width:40%}}@media only screen and (min-width: 40.063em){.reveal-modal.medium{left:0;margin:0 auto;max-width:62.5rem;right:0;width:60%}}@media only screen and (min-width: 40.063em){.reveal-modal.large{left:0;margin:0 auto;max-width:62.5rem;right:0;width:70%}}@media only screen and (min-width: 40.063em){.reveal-modal.xlarge{left:0;margin:0 auto;max-width:62.5rem;right:0;width:95%}}.reveal-modal.full{height:100vh;height:100%;left:0;margin-left:0 !important;max-width:none !important;min-height:100vh;top:0}@media only screen and (min-width: 40.063em){.reveal-modal.full{left:0;margin:0 auto;max-width:62.5rem;right:0;width:100%}}.reveal-modal.toback{z-index:1003}.reveal-modal .close-reveal-modal{color:#aaa;cursor:pointer;font-size:2.5rem;font-weight:bold;line-height:1;position:absolute;top:.625rem;right:1.375rem}.side-nav{display:block;font-family:"Open Sans",sans-serif;list-style-position:outside;list-style-type:none;margin:0;padding:.875rem 0}.side-nav li{font-size:.875rem;font-weight:normal;margin:0 0 .4375rem 0}.side-nav li a:not(.button){color:#008CBA;display:block;margin:0;padding:.4375rem .875rem}.side-nav li a:not(.button):hover,.side-nav li a:not(.button):focus{background:rgba(0,0,0,0.025);color:#1cc7ff}.side-nav li a:not(.button):active{color:#1cc7ff}.side-nav li.active>a:first-child:not(.button){color:#1cc7ff;font-family:"Open Sans",sans-serif;font-weight:normal}.side-nav li.divider{border-top:1px solid;height:0;list-style:none;padding:0;border-top-color:#e6e6e6}.side-nav li.heading{color:#008CBA;font-size:.875rem;font-weight:bold;text-transform:uppercase}.split.button{position:relative;padding-right:5.0625rem}.split.button span{display:block;height:100%;position:absolute;right:0;top:0;border-left:solid 1px}.split.button span:after{position:absolute;content:"";width:0;height:0;display:block;border-style:inset;top:50%;left:50%}.split.button span:active{background-color:rgba(0,0,0,0.1)}.split.button span{border-left-color:rgba(255,255,255,0.5)}.split.button span{width:3.09375rem}.split.button span:after{border-top-style:solid;border-width:.375rem;margin-left:-.375rem;top:48%}.split.button span:after{border-color:#fff transparent transparent transparent}.split.button.secondary span{border-left-color:rgba(255,255,255,0.5)}.split.button.secondary span:after{border-color:#fff transparent transparent transparent}.split.button.alert span{border-left-color:rgba(255,255,255,0.5)}.split.button.success span{border-left-color:rgba(255,255,255,0.5)}.split.button.tiny{padding-right:3.75rem}.split.button.tiny span{width:2.25rem}.split.button.tiny span:after{border-top-style:solid;border-width:.375rem;margin-left:-.375rem;top:48%}.split.button.small{padding-right:4.375rem}.split.button.small span{width:2.625rem}.split.button.small span:after{border-top-style:solid;border-width:.4375rem;margin-left:-.375rem;top:48%}.split.button.large{padding-right:5.5rem}.split.button.large span{width:3.4375rem}.split.button.large span:after{border-top-style:solid;border-width:.3125rem;margin-left:-.375rem;top:48%}.split.button.expand{padding-left:2rem}.split.button.secondary span:after{border-color:#333 transparent transparent transparent}.split.button.radius span{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.split.button.round span{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.split.button.no-pip span:before{border-style:none}.split.button.no-pip span:after{border-style:none}.split.button.no-pip span>i{display:block;left:50%;margin-left:-0.28889em;margin-top:-0.48889em;position:absolute;top:50%}.sub-nav{display:block;margin:-.25rem 0 1.125rem;overflow:hidden;padding-top:.25rem;width:auto}.sub-nav dt{text-transform:uppercase}.sub-nav dt,.sub-nav dd,.sub-nav li{color:#999;float:left;font-family:"Open Sans",sans-serif;font-size:.875rem;font-weight:normal;margin-left:1rem;margin-bottom:0}.sub-nav dt a,.sub-nav dd a,.sub-nav li a{color:#999;padding:.1875rem 1rem;text-decoration:none}.sub-nav dt a:hover,.sub-nav dd a:hover,.sub-nav li a:hover{color:#737373}.sub-nav dt.active a,.sub-nav dd.active a,.sub-nav li.active a{border-radius:3px;background:#008CBA;color:#fff;cursor:default;font-weight:normal;padding:.1875rem 1rem}.sub-nav dt.active a:hover,.sub-nav dd.active a:hover,.sub-nav li.active a:hover{background:#0078a0}.switch{border:none;margin-bottom:1.5rem;outline:0;padding:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{background:#ddd;color:transparent;cursor:pointer;display:block;margin-bottom:1rem;position:relative;text-indent:100%;width:4rem;height:2rem;transition:left .15s ease-out}.switch input{left:10px;opacity:0;padding:0;position:absolute;top:9px}.switch input+label{margin-left:0;margin-right:0}.switch label:after{background:#fff;content:"";display:block;height:1.5rem;left:.25rem;position:absolute;top:.25rem;width:1.5rem;-webkit-transition:left .15s ease-out;-moz-transition:left .15s ease-out;-o-transition:translate3d(0, 0, 0);transition:left .15s ease-out;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.switch input:checked+label{background:#008CBA}.switch input:checked+label:after{left:2.25rem}.switch label{height:2rem;width:4rem}.switch label:after{height:1.5rem;width:1.5rem}.switch input:checked+label:after{left:2.25rem}.switch label{color:transparent;background:#ddd}.switch label:after{background:#fff}.switch input:checked+label{background:#008CBA}.switch.large label{height:2.5rem;width:5rem}.switch.large label:after{height:2rem;width:2rem}.switch.large input:checked+label:after{left:2.75rem}.switch.small label{height:1.75rem;width:3.5rem}.switch.small label:after{height:1.25rem;width:1.25rem}.switch.small input:checked+label:after{left:2rem}.switch.tiny label{height:1.5rem;width:3rem}.switch.tiny label:after{height:1rem;width:1rem}.switch.tiny input:checked+label:after{left:1.75rem}.switch.radius label{border-radius:4px}.switch.radius label:after{border-radius:3px}.switch.round{border-radius:1000px}.switch.round label{border-radius:2rem}.switch.round label:after{border-radius:2rem}table{background:#fff;border:solid 1px #ddd;margin-bottom:1.25rem;table-layout:auto}table caption{background:transparent;color:#222;font-size:1rem;font-weight:bold}table thead{background:#f5f5f5}table thead tr th,table thead tr td{color:#222;font-size:.875rem;font-weight:bold;padding:.5rem .625rem .625rem}table tfoot{background:#f5f5f5}table tfoot tr th,table tfoot tr td{color:#222;font-size:.875rem;font-weight:bold;padding:.5rem .625rem .625rem}table tr th,table tr td{color:#222;font-size:.875rem;padding:.5625rem .625rem;text-align:left}table tr.even,table tr.alt,table tr:nth-of-type(even){background:#F9F9F9}table thead tr th,table tfoot tr th,table tfoot tr td,table tbody tr th,table tbody tr td,table tr td{display:table-cell;line-height:1.125rem}.tabs{margin-bottom:0 !important;margin-left:0}.tabs:before,.tabs:after{content:" ";display:table}.tabs:after{clear:both}.tabs dd,.tabs .tab-title{float:left;list-style:none;margin-bottom:0 !important;position:relative}.tabs dd>a,.tabs .tab-title>a{display:block;background-color:#EFEFEF;color:#222;font-family:"Open Sans",sans-serif;font-size:1rem;padding:1rem 2rem}.tabs dd>a:hover,.tabs .tab-title>a:hover{background-color:#e1e1e1}.tabs dd.active>a,.tabs .tab-title.active>a{background-color:#fff;color:#222}.tabs.radius dd:first-child a,.tabs.radius .tab:first-child a{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.tabs.radius dd:last-child a,.tabs.radius .tab:last-child a{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.tabs.vertical dd,.tabs.vertical .tab-title{position:inherit;float:none;display:block;top:auto}.tabs-content{margin-bottom:1.5rem;width:100%}.tabs-content:before,.tabs-content:after{content:" ";display:table}.tabs-content:after{clear:both}.tabs-content>.content{display:none;float:left;padding:.9375rem 0;width:100%}.tabs-content>.content.active{display:block;float:none}.tabs-content>.content.contained{padding:.9375rem}.tabs-content.vertical{display:block}.tabs-content.vertical>.content{padding:0 .9375rem}@media only screen and (min-width: 40.063em){.tabs.vertical{float:left;margin:0;margin-bottom:1.25rem !important;max-width:20%;width:20%}.tabs-content.vertical{float:left;margin-left:-1px;max-width:80%;padding-left:1rem;width:80%}}.no-js .tabs-content>.content{display:block;float:none}.th{border:solid 4px #fff;box-shadow:0 0 0 1px rgba(0,0,0,0.2);display:inline-block;line-height:0;max-width:100%;transition:all 200ms ease-out}.th:hover,.th:focus{box-shadow:0 0 6px 1px rgba(0,140,186,0.5)}.th.radius{border-radius:3px}.has-tip{border-bottom:dotted 1px #ccc;color:#333;cursor:help;font-weight:bold}.has-tip:hover,.has-tip:focus{border-bottom:dotted 1px #003f54;color:#008CBA}.has-tip.tip-left,.has-tip.tip-right{float:none !important}.tooltip{background:#333;color:#fff;display:none;font-size:.875rem;font-weight:normal;line-height:1.3;max-width:300px;padding:.75rem;position:absolute;width:100%;z-index:1006;left:50%}.tooltip>.nub{border:solid 5px;border-color:transparent transparent #333 transparent;display:block;height:0;pointer-events:none;position:absolute;top:-10px;width:0;left:5px}.tooltip>.nub.rtl{left:auto;right:5px}.tooltip.radius{border-radius:3px}.tooltip.round{border-radius:1000px}.tooltip.round>.nub{left:2rem}.tooltip.opened{border-bottom:dotted 1px #003f54 !important;color:#008CBA !important}.tap-to-close{color:#777;display:block;font-size:.625rem;font-weight:normal}@media only screen{.tooltip>.nub{border-color:transparent transparent #333 transparent;top:-10px}.tooltip.tip-top>.nub{border-color:#333 transparent transparent transparent;bottom:-10px;top:auto}.tooltip.tip-left,.tooltip.tip-right{float:none !important}.tooltip.tip-left>.nub{border-color:transparent transparent transparent #333;left:auto;margin-top:-5px;right:-10px;top:50%}.tooltip.tip-right>.nub{border-color:transparent #333 transparent transparent;left:-10px;margin-top:-5px;right:auto;top:50%}}meta.foundation-mq-topbar{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}.contain-to-grid{width:100%;background:#333}.contain-to-grid .top-bar{margin-bottom:0}.fixed{position:fixed;top:0;width:100%;z-index:99;left:0}.fixed.expanded:not(.top-bar){height:auto;max-height:100%;overflow-y:auto;width:100%}.fixed.expanded:not(.top-bar) .title-area{position:fixed;width:100%;z-index:99}.fixed.expanded:not(.top-bar) .top-bar-section{margin-top:1.875rem;z-index:98}.top-bar{background:#333;height:1.875rem;line-height:1.875rem;margin-bottom:0;overflow:hidden;position:relative}.top-bar ul{list-style:none;margin-bottom:0}.top-bar .row{max-width:none}.top-bar form,.top-bar input,.top-bar select{margin-bottom:0}.top-bar input,.top-bar select{font-size:.75rem;height:1.75rem;padding-bottom:.35rem;padding-top:.35rem}.top-bar .button,.top-bar button{font-size:.75rem;margin-bottom:0;padding-bottom:0.4125rem;padding-top:0.4125rem}@media only screen and (max-width: 40em){.top-bar .button,.top-bar button{position:relative;top:-1px}}.top-bar .title-area{margin:0;position:relative}.top-bar .name{font-size:16px;height:1.875rem;margin:0}.top-bar .name h1,.top-bar .name h2,.top-bar .name h3,.top-bar .name h4,.top-bar .name p,.top-bar .name span{font-size:1.0625rem;line-height:1.875rem;margin:0}.top-bar .name h1 a,.top-bar .name h2 a,.top-bar .name h3 a,.top-bar .name h4 a,.top-bar .name p a,.top-bar .name span a{color:#fff;display:block;font-weight:normal;padding:0 .625rem;width:75%}.top-bar .toggle-topbar{position:absolute;right:0;top:0}.top-bar .toggle-topbar a{color:#fff;display:block;font-size:.8125rem;font-weight:bold;height:1.875rem;line-height:1.875rem;padding:0 .625rem;position:relative;text-transform:uppercase}.top-bar .toggle-topbar.menu-icon{margin-top:-16px;top:50%}.top-bar .toggle-topbar.menu-icon a{color:#fff;height:34px;line-height:33px;padding:0 2.1875rem 0 .625rem;position:relative}.top-bar .toggle-topbar.menu-icon a span::after{content:"";display:block;height:0;position:absolute;margin-top:-8px;top:50%;right:.625rem;box-shadow:0 0 0 1px #fff,0 7px 0 1px #fff,0 14px 0 1px #fff;width:16px}.top-bar .toggle-topbar.menu-icon a span:hover:after{box-shadow:0 0 0 1px "",0 7px 0 1px "",0 14px 0 1px ""}.top-bar.expanded{background:transparent;height:auto}.top-bar.expanded .title-area{background:#333}.top-bar.expanded .toggle-topbar a{color:#888}.top-bar.expanded .toggle-topbar a span::after{box-shadow:0 0 0 1px #888,0 7px 0 1px #888,0 14px 0 1px #888}@media screen and (-webkit-min-device-pixel-ratio: 0){.top-bar.expanded .top-bar-section .has-dropdown.moved>.dropdown,.top-bar.expanded .top-bar-section .dropdown{clip:initial}.top-bar.expanded .top-bar-section .has-dropdown:not(.moved)>ul{padding:0}}.top-bar-section{left:0;position:relative;width:auto;transition:left 300ms ease-out}.top-bar-section ul{display:block;font-size:16px;height:auto;margin:0;padding:0;width:100%}.top-bar-section .divider,.top-bar-section [role="separator"]{border-top:solid 1px #1a1a1a;clear:both;height:1px;width:100%}.top-bar-section ul li{background:#333}.top-bar-section ul li>a{color:#fff;display:block;font-family:"Open Sans",sans-serif;font-size:1.25rem;font-weight:normal;padding-left:.625rem;padding:12px 0 12px .625rem;text-transform:none;width:100%}.top-bar-section ul li>a.button{font-size:1.25rem;padding-left:.625rem;padding-right:.625rem;background-color:#008CBA;border-color:#007095;color:#fff}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{background-color:#007095}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{color:#fff}.top-bar-section ul li>a.button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{background-color:#b9b9b9}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{color:#333}.top-bar-section ul li>a.button.success{background-color:#43AC6A;border-color:#368a55;color:#fff}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{background-color:#368a55}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{color:#fff}.top-bar-section ul li>a.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{color:#fff}.top-bar-section ul li>a.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{color:#fff}.top-bar-section ul li>a.button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}.top-bar-section ul li>a.button.info:hover,.top-bar-section ul li>a.button.info:focus{background-color:#61b6d9}.top-bar-section ul li>a.button.info:hover,.top-bar-section ul li>a.button.info:focus{color:#fff}.top-bar-section ul li>button{font-size:1.25rem;padding-left:.625rem;padding-right:.625rem;background-color:#008CBA;border-color:#007095;color:#fff}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{background-color:#007095}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{color:#fff}.top-bar-section ul li>button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{background-color:#b9b9b9}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{color:#333}.top-bar-section ul li>button.success{background-color:#43AC6A;border-color:#368a55;color:#fff}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{background-color:#368a55}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{color:#fff}.top-bar-section ul li>button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{color:#fff}.top-bar-section ul li>button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{color:#fff}.top-bar-section ul li>button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}.top-bar-section ul li>button.info:hover,.top-bar-section ul li>button.info:focus{background-color:#61b6d9}.top-bar-section ul li>button.info:hover,.top-bar-section ul li>button.info:focus{color:#fff}.top-bar-section ul li:hover:not(.has-form)>a{background-color:#555;color:#394d56;background:#222}.top-bar-section ul li.active>a{background:#fff;color:#394d56}.top-bar-section ul li.active>a:hover{background:transparent;color:#394d56}.top-bar-section .has-form{padding:.625rem}.top-bar-section .has-dropdown{position:relative}.top-bar-section .has-dropdown>a:after{margin-right:.625rem;margin-top:-4.5px;position:absolute;top:50%;right:0}.top-bar-section .has-dropdown.moved{position:static}.top-bar-section .has-dropdown.moved>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important;width:100%}.top-bar-section .has-dropdown.moved>a:after{display:none}.top-bar-section .dropdown{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px;display:block;padding:0;position:absolute;top:0;z-index:99;left:100%}.top-bar-section .dropdown li{height:auto;width:100%}.top-bar-section .dropdown li a{font-weight:normal;padding:8px .625rem}.top-bar-section .dropdown li a.parent-link{font-weight:normal}.top-bar-section .dropdown li.title h5,.top-bar-section .dropdown li.parent-link{margin-bottom:0;margin-top:0;font-size:1.125rem}.top-bar-section .dropdown li.title h5 a,.top-bar-section .dropdown li.parent-link a{color:#fff;display:block}.top-bar-section .dropdown li.title h5 a:hover,.top-bar-section .dropdown li.parent-link a:hover{background:none}.top-bar-section .dropdown li.has-form{padding:8px .625rem}.top-bar-section .dropdown li .button,.top-bar-section .dropdown li button{top:auto}.top-bar-section .dropdown label{color:#777;font-size:.625rem;font-weight:bold;margin-bottom:0;padding:8px .625rem 2px;text-transform:uppercase}.js-generated{display:block}@media only screen and (min-width: 40.063em){.top-bar{background:#333;overflow:visible}.top-bar:before,.top-bar:after{content:" ";display:table}.top-bar:after{clear:both}.top-bar .toggle-topbar{display:none}.top-bar .title-area{float:left}.top-bar .name h1 a,.top-bar .name h2 a,.top-bar .name h3 a,.top-bar .name h4 a,.top-bar .name h5 a,.top-bar .name h6 a{width:auto}.top-bar input,.top-bar select,.top-bar .button,.top-bar button{font-size:.875rem;height:1.75rem;position:relative;top:.0625rem}.top-bar .has-form>.button,.top-bar .has-form>button{font-size:.875rem;height:1.75rem;position:relative;top:.0625rem}.top-bar.expanded{background:#333}.contain-to-grid .top-bar{margin:0 auto;margin-bottom:0;max-width:62.5rem}.top-bar-section{transition:none 0 0;left:0 !important}.top-bar-section ul{display:inline;height:auto !important;width:auto}.top-bar-section ul li{float:left}.top-bar-section ul li .js-generated{display:none}.top-bar-section li.hover>a:not(.button){background-color:#555;background:#222;color:#394d56}.top-bar-section li:not(.has-form) a:not(.button){background:#333;line-height:1.875rem;padding:0 .625rem}.top-bar-section li:not(.has-form) a:not(.button):hover{background-color:#555;background:#222}.top-bar-section li.active:not(.has-form) a:not(.button){background:#fff;color:#394d56;line-height:1.875rem;padding:0 .625rem}.top-bar-section li.active:not(.has-form) a:not(.button):hover{background:transparent;color:#394d56}.top-bar-section .has-dropdown.moved{position:relative}.top-bar-section .has-dropdown.moved>.dropdown{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px;display:block}.top-bar-section .has-dropdown.hover>.dropdown,.top-bar-section .has-dropdown.not-click:hover>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.top-bar-section .has-dropdown>a:focus+.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.top-bar-section .dropdown{left:0;background:transparent;min-width:100%;top:auto}.top-bar-section .dropdown li a{background:#333;color:#fff;line-height:1.875rem;padding:12px .625rem;white-space:nowrap}.top-bar-section .dropdown li:not(.has-form):not(.active)>a:not(.button){background:#333;color:#fff}.top-bar-section .dropdown li:not(.has-form):not(.active):hover>a:not(.button){background-color:#555;color:#394d56;background:#222}.top-bar-section .dropdown li label{background:#333;white-space:nowrap}.top-bar-section .dropdown li .dropdown{left:100%;top:0}.top-bar-section>ul>.divider,.top-bar-section>ul>[role="separator"]{border-right:solid 1px #4e4e4e;border-bottom:none;border-top:none;clear:none;height:1.875rem;width:0}.top-bar-section .has-form{background:#333;height:1.875rem;padding:0 .625rem}.top-bar-section .right li .dropdown{left:auto;right:0}.top-bar-section .right li .dropdown li .dropdown{right:100%}.top-bar-section .left li .dropdown{right:auto;left:0}.top-bar-section .left li .dropdown li .dropdown{left:100%}.no-js .top-bar-section ul li:hover>a{background-color:#555;background:#222;color:#394d56}.no-js .top-bar-section ul li:active>a{background:#fff;color:#394d56}.no-js .top-bar-section .has-dropdown:hover>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.no-js .top-bar-section .has-dropdown>a:focus+.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify !important}@media only screen and (max-width: 40em){.small-only-text-left{text-align:left !important}.small-only-text-right{text-align:right !important}.small-only-text-center{text-align:center !important}.small-only-text-justify{text-align:justify !important}}@media only screen{.small-text-left{text-align:left !important}.small-text-right{text-align:right !important}.small-text-center{text-align:center !important}.small-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.063em) and (max-width: 64em){.medium-only-text-left{text-align:left !important}.medium-only-text-right{text-align:right !important}.medium-only-text-center{text-align:center !important}.medium-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.063em){.medium-text-left{text-align:left !important}.medium-text-right{text-align:right !important}.medium-text-center{text-align:center !important}.medium-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.063em) and (max-width: 90em){.large-only-text-left{text-align:left !important}.large-only-text-right{text-align:right !important}.large-only-text-center{text-align:center !important}.large-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.063em){.large-text-left{text-align:left !important}.large-text-right{text-align:right !important}.large-text-center{text-align:center !important}.large-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.063em) and (max-width: 120em){.xlarge-only-text-left{text-align:left !important}.xlarge-only-text-right{text-align:right !important}.xlarge-only-text-center{text-align:center !important}.xlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.063em){.xlarge-text-left{text-align:left !important}.xlarge-text-right{text-align:right !important}.xlarge-text-center{text-align:center !important}.xlarge-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.063em) and (max-width: 99999999em){.xxlarge-only-text-left{text-align:left !important}.xxlarge-only-text-right{text-align:right !important}.xxlarge-only-text-center{text-align:center !important}.xxlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.063em){.xxlarge-text-left{text-align:left !important}.xxlarge-text-right{text-align:right !important}.xxlarge-text-center{text-align:center !important}.xxlarge-text-justify{text-align:justify !important}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}a{color:#008CBA;line-height:inherit;text-decoration:none}a:hover,a:focus{color:#0078a0}a img{border:none}p{font-family:inherit;font-size:.875rem;font-weight:normal;line-height:1.6;margin-bottom:1.25rem;text-rendering:optimizeLegibility}p.lead{font-size:1.09375rem;line-height:1.6}p aside{font-size:.875rem;font-style:italic;line-height:1.35}h1,h2,h3,h4,h5,h6{color:#222;font-family:"Open Sans",sans-serif;font-style:normal;font-weight:normal;line-height:1.4;margin-bottom:.5rem;margin-top:.2rem;text-rendering:optimizeLegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#6f6f6f;font-size:60%;line-height:0}h1{font-size:2.375rem}h2{font-size:1.625rem}h3{font-size:1.1875rem}h4{font-size:1.1875rem}h5{font-size:1.25rem}h6{font-size:1.125rem}.subheader{line-height:1.4;color:#6f6f6f;font-weight:normal;margin-top:.2rem;margin-bottom:.5rem}hr{border:solid #ddd;border-width:1px 0 0;clear:both;height:0;margin:1.25rem 0 1.1875rem}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:60%;line-height:inherit}code{background-color:#f8f8f8;border-color:#dfdfdf;border-style:solid;border-width:1px;color:#333;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;padding:.125rem .3125rem .0625rem}ul,ol,dl{font-family:inherit;font-size:.875rem;line-height:1.6;list-style-position:outside;margin-bottom:1.25rem}ul{margin-left:1.1rem}ul li ul,ul li ol{margin-left:1.25rem;margin-bottom:0}ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}ul.square{list-style-type:square;margin-left:1.1rem}ul.circle{list-style-type:circle;margin-left:1.1rem}ul.disc{list-style-type:disc;margin-left:1.1rem}ol{margin-left:1.4rem}ol li ul,ol li ol{margin-left:1.25rem;margin-bottom:0}.no-bullet{list-style-type:none;margin-left:0}.no-bullet li ul,.no-bullet li ol{margin-left:1.25rem;margin-bottom:0;list-style:none}dl dt{margin-bottom:.3rem;font-weight:bold}dl dd{margin-bottom:.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#000;cursor:help}abbr{text-transform:none}abbr[title]{border-bottom:1px dotted #ddd}blockquote{margin:0 0 1.25rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #ddd}blockquote cite{display:block;font-size:.8125rem;color:#555}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#555}blockquote,blockquote p{line-height:1.6;color:#6f6f6f}.vcard{display:inline-block;margin:0 0 1.25rem 0;border:1px solid #ddd;padding:.625rem .75rem}.vcard li{margin:0;display:block}.vcard .fn{font-weight:bold;font-size:.9375rem}.vevent .summary{font-weight:bold}.vevent abbr{cursor:default;text-decoration:none;font-weight:bold;border:none;padding:0 .0625rem}@media only screen and (min-width: 40.063em){h1,h2,h3,h4,h5,h6{line-height:1.4}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.5rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.34in}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.off-canvas-wrap{-webkit-backface-visibility:hidden;position:relative;width:100%;overflow:hidden}.off-canvas-wrap.move-right,.off-canvas-wrap.move-left,.off-canvas-wrap.move-bottom,.off-canvas-wrap.move-top{min-height:100%;-webkit-overflow-scrolling:touch}.inner-wrap{position:relative;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.inner-wrap:before,.inner-wrap:after{content:" ";display:table}.inner-wrap:after{clear:both}.tab-bar{-webkit-backface-visibility:hidden;background:#90c3ea;color:#fff;height:2.8125rem;line-height:2.8125rem;position:relative}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4,.tab-bar h5,.tab-bar h6{color:#fff;font-weight:bold;line-height:2.8125rem;margin:0}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4{font-size:1.25rem}.left-small{height:2.8125rem;position:absolute;top:0;width:2.8125rem;border-right:solid 1px #1e679f;left:0}.right-small{height:2.8125rem;position:absolute;top:0;width:2.8125rem;border-left:solid 1px #1e679f;right:0}.tab-bar-section{height:2.8125rem;padding:0 .625rem;position:absolute;text-align:center;top:0}.tab-bar-section.left{text-align:left}.tab-bar-section.right{text-align:right}.tab-bar-section.left{left:0;right:2.8125rem}.tab-bar-section.right{left:2.8125rem;right:0}.tab-bar-section.middle{left:2.8125rem;right:2.8125rem}.tab-bar .menu-icon{color:#fff;display:block;height:2.8125rem;padding:0;position:relative;text-indent:3.4375rem;transform:translate3d(0, 0, 0);width:2.8125rem}.tab-bar .menu-icon span::after{content:"";display:block;height:0;position:absolute;top:50%;margin-top:-.5rem;left:.90625rem;box-shadow:0 0 0 1px #fff,0 7px 0 1px #fff,0 14px 0 1px #fff;width:1rem}.tab-bar .menu-icon span:hover:after{box-shadow:0 0 0 1px #b3b3b3,0 7px 0 1px #b3b3b3,0 14px 0 1px #b3b3b3}.left-off-canvas-menu{-webkit-backface-visibility:hidden;background:#90c3ea;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate(-100%, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0;top:0}.left-off-canvas-menu *{-webkit-backface-visibility:hidden}.right-off-canvas-menu{-webkit-backface-visibility:hidden;background:#90c3ea;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate(100%, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0;top:0}.right-off-canvas-menu *{-webkit-backface-visibility:hidden}.top-off-canvas-menu{-webkit-backface-visibility:hidden;background:#90c3ea;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(0, -100%, 0);-moz-transform:translate3d(0, -100%, 0);-ms-transform:translate(0, -100%);-o-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);top:0;width:100%;height:18.75rem}.top-off-canvas-menu *{-webkit-backface-visibility:hidden}.bottom-off-canvas-menu{-webkit-backface-visibility:hidden;background:#90c3ea;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(0, 100%, 0);-moz-transform:translate3d(0, 100%, 0);-ms-transform:translate(0, 100%);-o-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);bottom:0;width:100%;height:18.75rem}.bottom-off-canvas-menu *{-webkit-backface-visibility:hidden}ul.off-canvas-list{list-style-type:none;margin:0;padding:0}ul.off-canvas-list li label{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;display:block;font-size:.75rem;font-weight:bold;margin:0;padding:0.3rem .9375rem;text-transform:uppercase}ul.off-canvas-list li a{border-bottom:1px solid #4198db;color:rgba(255,255,255,0.7);display:block;padding:.66667rem;transition:background 300ms ease}ul.off-canvas-list li a:hover{background:#318fd8}ul.off-canvas-list li a:active{background:#318fd8}.move-right>.inner-wrap{-webkit-transform:translate3d(15.625rem, 0, 0);-moz-transform:translate3d(15.625rem, 0, 0);-ms-transform:translate(15.625rem, 0);-o-transform:translate3d(15.625rem, 0, 0);transform:translate3d(15.625rem, 0, 0)}.move-right .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.063em){.move-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-left>.inner-wrap{-webkit-transform:translate3d(-15.625rem, 0, 0);-moz-transform:translate3d(-15.625rem, 0, 0);-ms-transform:translate(-15.625rem, 0);-o-transform:translate3d(-15.625rem, 0, 0);transform:translate3d(-15.625rem, 0, 0)}.move-left .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.063em){.move-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-top>.inner-wrap{-webkit-transform:translate3d(0, -18.75rem, 0);-moz-transform:translate3d(0, -18.75rem, 0);-ms-transform:translate(0, -18.75rem);-o-transform:translate3d(0, -18.75rem, 0);transform:translate3d(0, -18.75rem, 0)}.move-top .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.063em){.move-top .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-bottom>.inner-wrap{-webkit-transform:translate3d(0, 18.75rem, 0);-moz-transform:translate3d(0, 18.75rem, 0);-ms-transform:translate(0, 18.75rem);-o-transform:translate3d(0, 18.75rem, 0);transform:translate3d(0, 18.75rem, 0)}.move-bottom .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.063em){.move-bottom .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap .left-off-canvas-menu,.offcanvas-overlap .right-off-canvas-menu,.offcanvas-overlap .top-off-canvas-menu,.offcanvas-overlap .bottom-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.063em){.offcanvas-overlap .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-left .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-left .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.063em){.offcanvas-overlap-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-right .left-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-right .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.063em){.offcanvas-overlap-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-top .bottom-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-top .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.063em){.offcanvas-overlap-top .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-bottom .top-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-bottom .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.063em){.offcanvas-overlap-bottom .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.no-csstransforms .left-off-canvas-menu{left:-15.625rem}.no-csstransforms .right-off-canvas-menu{right:-15.625rem}.no-csstransforms .top-off-canvas-menu{top:-18.75rem}.no-csstransforms .bottom-off-canvas-menu{bottom:-18.75rem}.no-csstransforms .move-left>.inner-wrap{right:15.625rem}.no-csstransforms .move-right>.inner-wrap{left:15.625rem}.no-csstransforms .move-top>.inner-wrap{right:18.75rem}.no-csstransforms .move-bottom>.inner-wrap{left:18.75rem}.left-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#90c3ea;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;height:18.75rem;z-index:1002;-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate(-100%, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.left-submenu *{-webkit-backface-visibility:hidden}.left-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem .9375rem;text-transform:uppercase;margin:0}.left-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.left-submenu .back>a:before{content:"\AB";margin-right:.5rem;display:inline}.left-submenu.move-right,.left-submenu.offcanvas-overlap-right,.left-submenu.offcanvas-overlap{-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate(0%, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.right-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#90c3ea;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;height:18.75rem;z-index:1002;-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate(100%, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.right-submenu *{-webkit-backface-visibility:hidden}.right-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem .9375rem;text-transform:uppercase;margin:0}.right-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.right-submenu .back>a:after{content:"\BB";margin-left:.5rem;display:inline}.right-submenu.move-left,.right-submenu.offcanvas-overlap-left,.right-submenu.offcanvas-overlap{-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate(0%, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.top-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#90c3ea;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;height:18.75rem;z-index:1002;-webkit-transform:translate3d(0, -100%, 0);-moz-transform:translate3d(0, -100%, 0);-ms-transform:translate(0, -100%);-o-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);top:0;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.top-submenu *{-webkit-backface-visibility:hidden}.top-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem .9375rem;text-transform:uppercase;margin:0}.top-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.top-submenu.move-bottom,.top-submenu.offcanvas-overlap-bottom,.top-submenu.offcanvas-overlap{-webkit-transform:translate3d(0, 0%, 0);-moz-transform:translate3d(0, 0%, 0);-ms-transform:translate(0, 0%);-o-transform:translate3d(0, 0%, 0);transform:translate3d(0, 0%, 0)}.bottom-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#90c3ea;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;height:18.75rem;z-index:1002;-webkit-transform:translate3d(0, 100%, 0);-moz-transform:translate3d(0, 100%, 0);-ms-transform:translate(0, 100%);-o-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);bottom:0;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.bottom-submenu *{-webkit-backface-visibility:hidden}.bottom-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem .9375rem;text-transform:uppercase;margin:0}.bottom-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.bottom-submenu.move-top,.bottom-submenu.offcanvas-overlap-top,.bottom-submenu.offcanvas-overlap{-webkit-transform:translate3d(0, 0%, 0);-moz-transform:translate3d(0, 0%, 0);-ms-transform:translate(0, 0%);-o-transform:translate3d(0, 0%, 0);transform:translate3d(0, 0%, 0)}.left-off-canvas-menu ul.off-canvas-list li.has-submenu>a:after{content:"\BB";margin-left:.5rem;display:inline}.right-off-canvas-menu ul.off-canvas-list li.has-submenu>a:before{content:"\AB";margin-right:.5rem;display:inline}@media only screen{.show-for-small-only,.show-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.hide-for-small-only,.hide-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.visible-for-small-only,.visible-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.hidden-for-small-only,.hidden-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.show-for-small-only,table.show-for-small-up,table.show-for-small,table.show-for-small-down,table.hide-for-medium-only,table.hide-for-medium-up,table.hide-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.show-for-small-only,thead.show-for-small-up,thead.show-for-small,thead.show-for-small-down,thead.hide-for-medium-only,thead.hide-for-medium-up,thead.hide-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.show-for-small-only,tbody.show-for-small-up,tbody.show-for-small,tbody.show-for-small-down,tbody.hide-for-medium-only,tbody.hide-for-medium-up,tbody.hide-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.show-for-small-only,tr.show-for-small-up,tr.show-for-small,tr.show-for-small-down,tr.hide-for-medium-only,tr.hide-for-medium-up,tr.hide-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.show-for-small-only,td.show-for-small-only,th.show-for-small-up,td.show-for-small-up,th.show-for-small,td.show-for-small,th.show-for-small-down,td.show-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.hide-for-medium-up,td.hide-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 40.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.show-for-medium-only,table.show-for-medium-up,table.show-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.show-for-medium-only,thead.show-for-medium-up,thead.show-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.show-for-medium-only,tbody.show-for-medium-up,tbody.show-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.show-for-medium-only,tr.show-for-medium-up,tr.show-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.show-for-medium-only,td.show-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.show-for-medium,td.show-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 64.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.show-for-large-only,table.show-for-large-up,table.show-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.show-for-large-only,thead.show-for-large-up,thead.show-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.show-for-large-only,tbody.show-for-large-up,tbody.show-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.show-for-large-only,tr.show-for-large-up,tr.show-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.show-for-large-only,td.show-for-large-only,th.show-for-large-up,td.show-for-large-up,th.show-for-large,td.show-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 90.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.show-for-xlarge-only,table.show-for-xlarge-up,table.show-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.show-for-xlarge-only,thead.show-for-xlarge-up,thead.show-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.show-for-xlarge-only,tbody.show-for-xlarge-up,tbody.show-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.show-for-xlarge-only,tr.show-for-xlarge-up,tr.show-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.show-for-xlarge-only,td.show-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.show-for-xlarge,td.show-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 120.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.hide-for-xlarge-only,.show-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.show-for-xlarge-only,.hide-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.hidden-for-xlarge-only,.visible-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.visible-for-xlarge-only,.hidden-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.hide-for-xlarge-only,table.show-for-xlarge-up,table.hide-for-xlarge,table.hide-for-xlarge-down,table.show-for-xxlarge-only,table.show-for-xxlarge-up,table.show-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.hide-for-xlarge-only,thead.show-for-xlarge-up,thead.hide-for-xlarge,thead.hide-for-xlarge-down,thead.show-for-xxlarge-only,thead.show-for-xxlarge-up,thead.show-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.hide-for-xlarge-only,tbody.show-for-xlarge-up,tbody.hide-for-xlarge,tbody.hide-for-xlarge-down,tbody.show-for-xxlarge-only,tbody.show-for-xxlarge-up,tbody.show-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.hide-for-xlarge-only,tr.show-for-xlarge-up,tr.hide-for-xlarge,tr.hide-for-xlarge-down,tr.show-for-xxlarge-only,tr.show-for-xxlarge-up,tr.show-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.hide-for-xlarge-down,td.hide-for-xlarge-down,th.show-for-xxlarge-only,td.show-for-xxlarge-only,th.show-for-xxlarge-up,td.show-for-xxlarge-up,th.show-for-xxlarge,td.show-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.hide-for-landscape,table.show-for-portrait{display:table !important}thead.hide-for-landscape,thead.show-for-portrait{display:table-header-group !important}tbody.hide-for-landscape,tbody.show-for-portrait{display:table-row-group !important}tr.hide-for-landscape,tr.show-for-portrait{display:table-row !important}td.hide-for-landscape,td.show-for-portrait,th.hide-for-landscape,th.show-for-portrait{display:table-cell !important}@media only screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.show-for-landscape,table.hide-for-portrait{display:table !important}thead.show-for-landscape,thead.hide-for-portrait{display:table-header-group !important}tbody.show-for-landscape,tbody.hide-for-portrait{display:table-row-group !important}tr.show-for-landscape,tr.hide-for-portrait{display:table-row !important}td.show-for-landscape,td.hide-for-portrait,th.show-for-landscape,th.hide-for-portrait{display:table-cell !important}}@media only screen and (orientation: portrait){.show-for-portrait,.hide-for-landscape{display:inherit !important}.hide-for-portrait,.show-for-landscape{display:none !important}table.show-for-portrait,table.hide-for-landscape{display:table !important}thead.show-for-portrait,thead.hide-for-landscape{display:table-header-group !important}tbody.show-for-portrait,tbody.hide-for-landscape{display:table-row-group !important}tr.show-for-portrait,tr.hide-for-landscape{display:table-row !important}td.show-for-portrait,td.hide-for-landscape,th.show-for-portrait,th.hide-for-landscape{display:table-cell !important}}.show-for-touch{display:none !important}.hide-for-touch{display:inherit !important}.touch .show-for-touch{display:inherit !important}.touch .hide-for-touch{display:none !important}table.hide-for-touch{display:table !important}.touch table.show-for-touch{display:table !important}thead.hide-for-touch{display:table-header-group !important}.touch thead.show-for-touch{display:table-header-group !important}tbody.hide-for-touch{display:table-row-group !important}.touch tbody.show-for-touch{display:table-row-group !important}tr.hide-for-touch{display:table-row !important}.touch tr.show-for-touch{display:table-row !important}td.hide-for-touch{display:table-cell !important}.touch td.show-for-touch{display:table-cell !important}th.hide-for-touch{display:table-cell !important}.touch th.show-for-touch{display:table-cell !important}.show-for-sr{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus:focus,.show-on-focus:active{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.print-only,.show-for-print{display:none !important}@media print{.print-only,.show-for-print{display:block !important}.hide-on-print,.hide-for-print{display:none !important}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}}img.aligncenter{display:block;clear:both;float:none;padding:0;margin-left:auto;margin-right:auto}img.alignright{padding:0;margin:0 0 6px 11px;display:inline}blockquote.alignleft,img.alignleft,.wp-caption.alignleft{margin:.4375rem 2.1875rem .4375rem 0}blockquote.alignright,img.alignright,.wp-caption.alignright{margin:.4375rem 0 .4375rem 2.1875rem}img.alignleft{padding:0;display:inline}.alignright{float:right}.alignnone{float:none}.alignleft{float:left}.wp-caption{width:auto}.wp-caption-text{font-family:Open Sans, sans-serif;font-size:9px;color:#fff;font-style:italic;margin:0;padding:0 5px}.gallery-one-title{height:45px;font-size:0.8em;text-align:center;font-family:sans-serif;padding:5px}.gallery-holder{margin:10px 0 20px 0}.wp-caption{max-width:100%;margin:10px 20px;padding:5px;text-align:center}.wp-caption img{width:100%}.wp-caption p.wp-caption-text{padding:5px;width:100%;margin:0;color:black;font-size:12px}.wp-caption.aligncenter{margin:10px auto}@media only screen and (max-width: 40em){#blog-posts-over{padding:0 !important;margin:0 !important}}.blog-posts-container{margin:30px 0 30px}.blog-posts-container embed,.blog-posts-container iframe,.blog-posts-container object,.blog-posts-container video{max-width:100%}.blog-posts-container a{text-decoration:none}.blog-posts-container header.entry-header h2.entry-title a{color:#222;margin-left:0}.blog-posts-container .wp-caption .wp-caption-text,.blog-posts-container .gallery-caption,.blog-posts-container .entry-caption{overflow:hidden;color:#757575;font-size:0.857143rem;font-style:italic;line-height:2}.blog-posts-container .date{font-size:12px}.blog-posts-container footer.entry-meta{color:#757575;font-size:0.928571rem;line-height:1.84615;margin-top:1.71429rem;clear:both;float:none;margin-right:auto}.blog-posts-container footer{background:none;clear:both;padding:15px 0 0;position:relative;text-align:center}#content-wrapper h1,#content-wrapper h2,#content-wrapper h3,#content-wrapper h4,#content-wrapper h5,#content-wrapper h6{clear:both}.content{background:#fff}#searchform_container{margin-top:20px}#searchform{max-width:100%;text-align:center}#searchform div input.blogbutton{background:-webkit-linear-gradient(left, #1999ce 5%, #107098 100%);background:-moz-linear-gradient(center top, #1999ce 5%, #107098 100%);background:-ms-linear-gradient(left, #1999ce 5%, #107098 100%)}h1,h2,h3,h4,h5,h6{clear:both}.gallery li a img{display:block;width:100%}.ngg-gallery-thumbnail,.ngg-gallery-thumbnail-box{float:none !important}.ngg-album-compact h4 .ngg-album-desc{height:auto !important;font-family:"El Messiri",Cambria,"Times New Roman",Times,serif;font-weight:400}.ngg-album-compact .album-meta-wrapper h4 a{font-style:normal}.album-meta-wrapper{display:block;height:54px;margin-bottom:20px}.ngg-glmalbums{margin:10px 0;min-height:260px}@media only screen and (max-width: 40em){.ngg-glmalbums{min-height:180px}}.ngg-album-link{text-align:center}.ninja-forms-form-wrap{max-width:600px;margin:0 auto}.ninja-forms-form-wrap input[type=submit]{-webkit-appearance:none;-moz-appearance:none;border-radius:0;border-style:solid;border-width:0;cursor:pointer;font-family:"Open Sans",sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;background-color:#008CBA;border-color:#007095;color:#fff;transition:background-color 300ms ease-out;display:block;margin:0 auto}.ninja-forms-form-wrap input[type=submit]:hover,.ninja-forms-form-wrap input[type=submit]:focus{background-color:#007095}.ninja-forms-form-wrap input[type=submit]:hover,.ninja-forms-form-wrap input[type=submit]:focus{color:#fff}a[href^=tel]{color:inherit;text-decoration:none}body .shadow-wrapper{margin:0 auto;background:#fff;box-shadow:0 0 15px -6px #000;-ms-box-shadow:0 0 15px -6px #000;-moz-box-shadow:0 0 15px -6px #000;-webkit-box-shadow:0 0 15px -6px #000;max-width:1024px;padding-top:1.25rem}body p{font-size:16px}body .homepage-content{background-color:transparent}header #top-links{right:0;position:absolute;top:20px;transition:all 0.5s ease-in-out}header #top-links .top-link{border-bottom:1px solid black;color:#394d56;font-family:times;font-size:22px;float:right;position:relative;text-transform:uppercase;text-decoration:none;margin-top:5px;margin-left:15px;transition:all 0.5s ease-in-out}header #top-links .facebook-icon{margin-right:5px}header #top-links .blog-icon{margin-right:5px}header #top-links .phone{color:#394d56;font-family:times;font-size:20px;clear:both;display:block}header .header-top{background-color:transparent;position:relative;max-width:1024px;height:300px;transition:all 0.5s ease-in-out}@media only screen and (min-width: 40.063em){header .header-top{min-height:75px}}header .header-logo .logo-link{display:block;float:right;margin-top:20px;transition:all 0.5s ease-in-out}@media only screen and (min-width: 0em) and (max-width: 64em){header .header-logo .logo-link{margin-top:0}}header .header-logo .logo-link .small-header-logo{width:120px}@media only screen and (min-width: 64.063em){header .header-logo .logo-link .small-header-logo{position:absolute;left:0;transition:all 0.5s ease-in-out;width:188px}}header #header-slogan{position:absolute;top:145px;transition:all 0.5s ease-in-out}header #header-slogan h1{color:#394d56;font-family:times;font-size:38px;text-transform:uppercase;font-weight:normal;transition:all 0.5s ease-in-out}@media only screen and (min-width: 0em) and (max-width: 64em){header .header-logo{margin:10px 0;text-align:center}header .header-logo .logo-link{float:none}}header .search input{height:20px;width:167px;padding:0 8px;margin:13px 0px 0px 18px;border-radius:3px;font-size:10px;color:#000;display:inline-block}header .search a.magnifying-glass{font-size:10em;display:inline-block;width:.625rem;height:.625rem;border:.125rem solid #394d56;position:relative;border-radius:0.35em;margin:0 0 0 -25px}header .search a.magnifying-glass:before{content:"";display:inline-block;position:absolute;right:-.4375rem;bottom:-.25rem;border-width:0;background:#394d56;width:.5rem;height:.125rem;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}header #sec-nav{position:relative;text-align:left;padding:10px 0;margin:0 0 15px 45px}header #sec-nav ul{margin:0}header #sec-nav ul li{display:inline}header #sec-nav ul li a{font-size:12px;color:#394d56;padding:0 5px;font-weight:bold}header #sec-nav>ul>li{position:relative}header #sec-nav>ul>li:before{color:#999;content:"|";position:absolute;top:2px;left:-15px;font-size:14px;font-weight:bold;display:block;padding:0 10px}header #sec-nav>ul>li:first-child:before{content:none}header .social{margin-top:-25px;padding-right:0}header .social a{float:right;margin:0 5px}header .social a img{margin:0}.interior-wrapper header.main,.landing-wrapper header.main{background:url("../assets/paneling-resized.png");box-shadow:0px 1px 8px grey;border-top:5px solid #394d56;transition:all 0.5s ease-in-out}.interior-wrapper header.main.shrink,.landing-wrapper header.main.shrink{transition:all 0.5s ease-in-out;height:120px}.interior-wrapper header.main.shrink #top-links,.landing-wrapper header.main.shrink #top-links{top:0;transition:all 0.5s ease-in-out}.interior-wrapper header.main.shrink #top-links .top-link,.landing-wrapper header.main.shrink #top-links .top-link{font-size:14px;margin-top:0;transition:all 0.5s ease-in-out}.interior-wrapper header.main.shrink #header-left-section,.landing-wrapper header.main.shrink #header-left-section{z-index:9}.interior-wrapper header.main.shrink #header-left-section .logo-link,.landing-wrapper header.main.shrink #header-left-section .logo-link{margin-top:5px;float:left;transition:all 0.5s ease-in-out}.interior-wrapper header.main.shrink #header-left-section .logo-link .small-header-logo,.landing-wrapper header.main.shrink #header-left-section .logo-link .small-header-logo{width:110px;position:absolute;left:0px;transition:all 0.5s ease-in-out}.interior-wrapper header.main.shrink #header-slogan,.landing-wrapper header.main.shrink #header-slogan{opacity:0;top:5px;transition:all 0.5s ease-in-out}.interior-wrapper header.main.shrink #header-slogan h1,.landing-wrapper header.main.shrink #header-slogan h1{font-size:22px;transition:all 0.5s ease-in-out}.interior-wrapper header.main.shrink .header-top,.landing-wrapper header.main.shrink .header-top{height:120px;transition:all 0.5s ease-in-out}.interior-wrapper header.main.shrink .top-bar,.landing-wrapper header.main.shrink .top-bar{bottom:5px;transition:all 0.5s ease-in-out}.interior-wrapper header.main.shrink .top-bar .top-bar-section,.landing-wrapper header.main.shrink .top-bar .top-bar-section{float:right;transition:all 0.5s ease-in-out}.interior-wrapper header.main{height:300px}.interior-wrapper header.main .header-top{height:300px}@media only screen and (min-width: 0em) and (max-width: 64em){.interior-wrapper header.main{height:185px}.interior-wrapper header.main .header-top{height:185px}}.landing-wrapper main{margin-top:200px;padding-top:100px}@media only screen and (min-width: 0em) and (max-width: 64em){.landing-wrapper main{margin-top:100px}}.landing-wrapper header.main{height:220px}@media only screen and (min-width: 0em) and (max-width: 64em){.landing-wrapper header.main{height:140px}}.landing-wrapper header.main .header-top{height:200px}.landing-wrapper header.main .tab-bar{display:none !important}.landing-wrapper header.main .top-bar{display:none !important}.contain-to-grid{box-shadow:0 5px 10px -1px #999}.contain-to-grid .top-bar{height:73px;box-shadow:0 3px 3px 0 rgba(0,0,0,0.5);margin-bottom:10px}.tab-bar{clear:both;background:#394d56}.tab-bar .left-small{border-right:1px solid white}.tab-bar .tab-bar-section.middle{text-align:right}.top-bar{background-color:transparent;color:black;text-align:center;width:100%;height:auto;position:absolute;bottom:20px;transition:all 0.5s ease-in-out}.top-bar .top-bar-section{background-color:transparent;display:inline-block;float:none;color:black;height:auto;line-height:1}.top-bar .top-bar-section>ul{left:50%;transform:translateX(-50%);top:53px}.top-bar .top-bar-section>ul>li a{position:relative}.top-bar .top-bar-section>ul>li:not(:last-child)>a:after{color:#cabc8b;content:"|";margin:0;padding:0 0 0 32px;position:absolute;right:auto;top:15px;font-size:20px;transition:all 0.5s ease}.top-bar .top-bar-section>ul>li>a{padding:0 10px}.top-bar .top-bar-section ul{background-color:white;box-shadow:1px 1px 1px grey}.top-bar .top-bar-section ul li{background-color:transparent}.top-bar .top-bar-section ul li a{color:#394d56}.top-bar .top-bar-section ul li>a{color:#394d56;font-size:16px;line-height:1.2 !important;font-weight:bold}.top-bar .top-bar-section ul li:not(.has-form)>a:not(.button){transition:all 0.5s ease;padding:11px 38px}.top-bar .top-bar-section ul li:not(.has-form):not(.active)>a:not(.button){background:transparent;color:#394d56}.top-bar .top-bar-section ul li.active:not(.has-form)>a:not(.button){background:transparent;color:#cabc8b}.top-bar .top-bar-section ul li ul.dropdown{box-shadow:0px 0px 4px -1px grey;min-width:auto;padding:0;width:auto}.top-bar .top-bar-section ul li ul.dropdown li{border-bottom:1px solid lightgrey;float:none;min-width:200px;width:auto}.top-bar .top-bar-section ul li ul.dropdown li a{border-top-left-radius:0;border-top-right-radius:0;padding:5px 0;text-align:left}.top-bar .top-bar-section ul li ul.dropdown li:not(.has-form):not(.active):hover>a:not(.button){background:transparent;color:#cabc8b}.top-bar .top-bar-section ul li ul.dropdown li:not(.has-form):not(.active)>a:not(.button){font-size:1rem;padding:11px 13px}.top-bar .top-bar-section ul li ul.dropdown>ul>li{float:none}.top-bar .top-bar-section ul li.drop-left ul.dropdown li a{text-align:left}.top-bar .top-bar-section ul .member-dropdown{top:47px;min-width:1200px;left:0%;transform:translateX(-50%)}.top-bar .top-bar-section .topbar-member{min-height:150px;width:16% !important;margin-bottom:10px;padding-right:12px !important;background:transparent}.top-bar .top-bar-section .topbar-member div.member-name{line-height:1;background:transparent;color:#394d56}.top-bar .top-bar-section .topbar-member div.member-name:hover{color:#9ba493}.top-bar .top-bar-section .topbar-member a.member-link{display:block;white-space:normal;background:transparent !important}.top-bar .top-bar-section .topbar-member .member-image{margin-bottom:10px;image-rendering:-webkit-optimize-contrast}.top-bar .top-bar-section #interactive-map>li,.top-bar .top-bar-section #dropdown-destination>li,.top-bar .top-bar-section #dropdown-venues>li{padding-bottom:17px !important}.top-bar .top-bar-section .map-dropdown{top:47px;background:white;border:2px #394d56 solid;min-width:600px}.top-bar .top-bar-section .hover-region-text{pointer-events:none}.top-bar .top-bar-section .hover-region-text:hover{cursor:pointer}.top-bar .top-bar-section .hover-region:hover{fill:#394d56;cursor:pointer}.top-bar .top-bar-section #Text rect{fill:transparent;cursor:pointer;pointer-events:none}.top-bar-section>ul{position:relative}.top-bar-section>ul>li.has-dropdown ul li:not(.has-form).active>a:not(.button){padding-left:13px}.top-bar-section>ul>li.has-dropdown ul li:not(.has-form):not(.active).has-dropdown>a:not(.button){padding-left:25px}.top-bar-section>ul>li.has-dropdown ul li.has-dropdown::after{bottom:13px;content:'';height:0;width:0;border:7px solid transparent;position:absolute}.top-bar-section>ul>li.has-dropdown.drop-left>ul>li.has-dropdown>ul{left:-100%}.top-bar-section>ul>li.has-dropdown.drop-left>ul>li.has-dropdown::after{border-left-color:transparent;border-right-color:#394d56;left:1%}.top-bar-section>ul>li.has-dropdown.drop-left>ul>li.has-dropdown:active::after,.top-bar-section>ul>li.has-dropdown.drop-left>ul>li.has-dropdown:hover::after{border-right-color:#cabc8b}.top-bar-section>ul>li.has-dropdown.drop-right>ul>li.has-dropdown>ul{left:100%}.top-bar-section>ul>li.has-dropdown.drop-right>ul>li.has-dropdown::after{border-left-color:#394d56;border-right-color:transparent;left:6%}.top-bar-section>ul>li.has-dropdown.drop-right>ul>li.has-dropdown:active::after,.top-bar-section>ul>li.has-dropdown.drop-right>ul>li.has-dropdown:hover::after{border-left-color:#cabc8b}header.main.shrink .top-bar .top-bar-section>ul>li:not(.has-form)>a:not(.button){padding:11px 32px;transition:all 0.5s ease}header.main.shrink .top-bar .top-bar-section>ul>li:not(:last-child)>a:after{padding:0 0 0 25px;transition:all 0.5s ease}main{margin-top:300px;padding-bottom:400px;background-image:url("../assets/main-bg.jpg");background-size:100%;background-position:bottom;background-repeat:no-repeat}@media only screen and (min-width: 0em) and (max-width: 64em){main{margin-top:185px;padding-bottom:200px}}.breadcrumbs{margin-top:10px}#main-content{padding-bottom:50px}#main-content .member-profile-title{position:absolute;display:inline-block;background:#9ba493;color:White;left:25%;font-size:1rem;padding:10px;line-height:1}@media only screen and (min-width: 0em) and (max-width: 64em){#main-content .member-profile-title{display:inline-block;top:-50px;left:20px}}@media only screen and (min-width: 64.063em){#main-content .member-profile-title{top:-72px;left:40px;font-size:2rem}}#main-content p{font-size:16px}#main-content p a{color:#fc6463}#main-content p a:hover{text-decoration:underline}.breadcrumbs>span:nth-child(2)::before{content:"";display:none}.breadcrumbs>span:last-child{color:#fc6463}@media only screen and (min-width: 64.063em){.page-inside{padding-top:50px}}#featured-image{max-height:300px;overflow:hidden;box-shadow:0px 0px 7px 1px darkgrey}#content-bulk #con{margin:0}#content-bulk h2{text-transform:uppercase;font-size:25px}#content-bulk footer{margin:35px 0}#content-bulk footer #address{margin-top:25px}#content-bulk footer #address p{font-size:12px;margin-top:5px}#content-bulk footer #address img{margin:0;padding-right:5px}#content-bulk footer #address a{font-size:12px}#content-bulk footer img{box-shadow:none}.st_sharethis{float:right;width:58px}body .stButton .sharethis{background-image:url("../assets/share-icon.png") !important;width:52px;height:22px}#landing-blocks .landing-block{position:relative}@media only screen and (max-width: 40em){#landing-blocks .landing-block{margin-bottom:20px}}#landing-blocks .landing-block-content{position:relative;display:block;float:none;max-width:300px;margin:0 auto}#landing-blocks .landing-block-title{position:absolute;bottom:10px;left:0;right:0;background:rgba(57,77,86,0.9);padding:5px;text-transform:uppercase;font-weight:bold;letter-spacing:1px;color:white;font-size:17px;transition:all 0.5s ease-in-out;opacity:1.0}#landing-blocks .landing-block-title.hidden{opacity:0.0}#landing-blocks .landing-block-overlay{position:absolute;top:0;bottom:0;right:0;background:rgba(57,77,86,0.9);max-width:300px;left:50%;width:100%;transform:translateX(-50%);transition:all 0.5s ease;opacity:0.0}#landing-blocks .landing-block-overlay.hidden{opacity:1.0}#landing-blocks .landing-block-overlay .landing-block-overlay-title{color:white;text-transform:uppercase;top:60px;position:absolute;font-size:18px;left:50%;transform:translateX(-50%);width:90%}#landing-blocks .landing-block-overlay .landing-block-overlay-link{border-bottom:1px solid rgba(202,188,139,0.8);text-transform:uppercase;color:white;font-family:times;padding-bottom:2px;bottom:60px;position:absolute;left:50%;transform:translateX(-50%)}#landing-blocks .landing-block-overlay .wp_login_error{display:none}#landing-blocks .landing-block-overlay .login-remember{display:none}#landing-blocks .landing-block-overlay #glm_login_form{left:50%;transform:translateX(-50%);position:absolute;width:80%;height:80%;top:10%}#landing-blocks .landing-block-overlay #glm_login_form .login-password{margin-bottom:0}#landing-blocks .landing-block-overlay #glm_login_form #wp-submit{background:transparent;color:white;font-family:times;font-size:16px;text-transform:uppercase;padding:0 0 2px 0;border-bottom:1px solid gold;width:auto;min-width:0;border-radius:0;margin:0}#landing-blocks .landing-block-overlay #glm_login_form input{height:30px;margin:0 0 10px}#landing-blocks .landing-block-overlay #glm_login_form label{color:white;float:left}#front-blog-container{background:url("../assets/front-posts-bg.jpg");background-position:center;background-repeat:no-repeat;background-size:cover;height:auto;position:relative;z-index:2}#front-blog-bg{z-index:-1;position:absolute;bottom:0;height:100%;width:100%;background-color:rgba(107,152,207,0.75)}.home-feed-post-image img{width:165px;height:auto;border:2px solid white;padding:0 !important;-webkit-box-shadow:3px 3px 6px -1px rgba(0,0,0,0.75);-moz-box-shadow:3px 3px 6px -1px rgba(0,0,0,0.75);box-shadow:3px 3px 6px -1px rgba(0,0,0,0.75)}@media only screen and (min-width: 64.063em){.home-feed-post-image{padding:0px !important}}@media only screen and (min-width: 40.063em) and (max-width: 64em){.home-feed-post-image{margin:25px 0 0 0;max-width:300px;margin:0 auto}}@media only screen and (max-width: 40em){.home-feed-post-image{border:none;margin-bottom:15px}}#home-feed-posts{padding-top:20px}#home-feed-posts #home-feed-posts-title{color:white;margin-bottom:20px;text-align:center}.home-feed-post h2.title-posts{line-height:1;margin:0 0 15px 0}.home-feed-post h2.title-posts a{display:block;color:white;line-height:1;font-size:24px}.home-feed-post .home-feed-post-content{padding:0 40px 0 10px}.home-feed-post span.meta.date{display:inline-block;color:white;font-size:14px;margin-bottom:10px}.home-feed-post .post-excerpt{color:white;line-height:1.1;margin-bottom:20px;overflow:hidden;font-size:16px}.home-feed-post .read-more{display:inline-block;background:#d67c3e;padding:2px 15px;border-radius:5px;-webkit-box-shadow:3px 3px 6px -1px rgba(0,0,0,0.75);-moz-box-shadow:3px 3px 6px -1px rgba(0,0,0,0.75);box-shadow:3px 3px 6px -1px rgba(0,0,0,0.75)}@media only screen and (max-width: 40em){.home-feed-post .read-more{display:block;width:110px;text-align:center}}.home-feed-post .read-more:hover{background:#394d56}.home-feed-post .read-more a{color:white}#home-feed-posts-button-wrapper{margin-top:20px;margin-bottom:20px;text-align:center}#home-feed-posts-button-wrapper #home-feed-posts-button{background:#d67c3e;border:1px solid #394d56;border-radius:4px;-webkit-box-shadow:3px 3px 6px -1px rgba(0,0,0,0.75);-moz-box-shadow:3px 3px 6px -1px rgba(0,0,0,0.75);box-shadow:3px 3px 6px -1px rgba(0,0,0,0.75)}#home-feed-posts-button-wrapper #home-feed-posts-button:hover{background:#394d56}.members-only-template #glm-member-front-header{padding-left:0;padding-right:0;margin-left:0}.members-only-template #glm-member-front-header .breadcrumbs{float:left;padding:0;margin:0}.members-only-template .members-only-buttons{padding:0}.members-only-template .glm-button{background-color:#394d56;margin-top:0}.entry-header .addthis_wrapper{float:right;margin-top:5px}.st_sharethis{float:right;width:58px}body .stButton .sharethis{background-image:url("../assets/share-icon.png") !important;width:52px;height:22px}#glm-member-login-form .button-primary,#glm-member-password-lost-form .lostpassword-button{background-color:#394d56;border:0 none;border-radius:5px;color:white;font-size:14px;padding:10px 15px;min-width:90px;cursor:pointer}#glm-member-password-lost-form{width:400px}#glm-member-password-lost-link{color:#394d56;margin-top:40px}#glm-member-password-lost-form{display:none}#glm-member-password-lost-form button{padding:5px}#ui-datepicker-div{display:none}#slideshow{margin-bottom:20px;box-shadow:0px 0px 7px 1px darkgrey;max-height:600px;overflow-y:hidden;position:relative;width:100%;z-index:0}#slideshow ul{list-style:none;margin:0}#slideshow ul li{max-height:600px;overflow:hidden}#slideshow ul li div{max-height:600px}#slideshow ul div.nivo-caption{text-align:right;font-size:20px;font-weight:300;padding:9px 10px;background:rgba(0,0,0,0.85);padding-right:220px;color:#fff}@media only screen and (max-width: 40em){#slideshow ul div.nivo-caption{display:none !important}}#slideshow li{list-style:none}.ngg-gallery-thumbnail,.ngg-gallery-thumbnail-box{float:none !important}.gallery li a img{display:block;width:100%}.ngg-gallery-thumbnail,.ngg-gallery-thumbnail-box{float:none !important}.ngg-album-compact h4 .ngg-album-desc{height:auto !important;font-family:"El Messiri",Cambria,"Times New Roman",Times,serif;font-weight:400}.ngg-album-compact .album-meta-wrapper h4 a{font-style:normal}.album-meta-wrapper{display:block;height:54px;margin-bottom:20px}.ngg-glmalbums{margin:10px 0}.ninja-forms-form-wrap{max-width:600px;margin:0 auto}.ninja-forms-form-wrap input[type=submit]{-webkit-appearance:none;-moz-appearance:none;border-radius:0;border-style:solid;border-width:0;cursor:pointer;font-family:"Open Sans",sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;background-color:#008CBA;border-color:#007095;color:#fff;transition:background-color 300ms ease-out;display:block;margin:0 auto}.ninja-forms-form-wrap input[type=submit]:hover,.ninja-forms-form-wrap input[type=submit]:focus{background-color:#007095}.ninja-forms-form-wrap input[type=submit]:hover,.ninja-forms-form-wrap input[type=submit]:focus{color:#fff}.gform_button{background:#d67c3e;border-radius:4px}.gform_button:hover{background:#d67c3e}#blog-posts-over article.ai1ec_event{padding:10px}.blocks-header{font-size:36px;padding:0 10px;display:block;text-align:center;line-height:1.0;font-family:'Times New Roman', Times, serif;font-weight:lighter;text-transform:uppercase;color:#394d56}@media only screen and (max-width: 40em){.blocks-header{font-size:32px;text-align:center}}@media only screen and (min-width: 0em) and (max-width: 64em){.blocks-header{margin-bottom:20px}}.blocks{margin:0;padding:0 10px}.blocks .block:not(.events-block){display:block;padding:10px;position:relative;height:300px;max-width:320px;margin:15px 5px;border:5px double rgba(57,77,86,0.3)}@media only screen and (min-width: 0em) and (max-width: 64em){.blocks .block:not(.events-block){margin:0 auto}}.blocks .block:not(.events-block) .block-background{background:transparent;height:100%;position:relative;width:100%}.blocks .block:not(.events-block) a.title-posts,.blocks .block:not(.events-block) a.title-posts+p{display:block;position:absolute;bottom:0;width:100%}.blocks .block:not(.events-block) a.blocks-readmore{font-family:'Times New Roman', Times, serif;display:block;max-width:115px;padding:1px;line-height:1;border-radius:1px;color:#394d56;cursor:pointer;position:absolute;bottom:0;text-transform:uppercase;border-bottom:1px solid #cabc8b}.blocks .block:not(.events-block) .block-title{color:white;width:100%;text-align:center;margin:0}@media only screen and (min-width: 0em) and (max-width: 64em){.blocks .block:not(.events-block){float:none;margin-bottom:15px}}.blocks .block:not(.events-block):hover .block-overlay{display:block}.blocks .block-overlay{position:absolute;top:0;width:100%;height:100%}.blocks .block-overlay .block-overlay-center{width:100%;height:100%;margin:0 auto;max-width:100%}.blocks .block-overlay .block-overlay-center .block-content{overflow:hidden;margin-bottom:10px;color:#394d56;font-size:16px;line-height:1;margin-bottom:0;text-align:left}.blocks .block-overlay .block-overlay-center .block-content h2{font-weight:bold;margin-bottom:25px}.blocks .block-overlay .block-overlay-center .block-content p{color:#394d56;font-size:16px;line-height:1;margin-bottom:0;padding:5px;text-align:left}.blocks-row{margin-bottom:50px;max-width:1100px}.block-title-center{color:#394d56;font-size:20px;font-weight:bold;font-family:arial;line-height:1.2;margin:0;padding:5px 5px 10px;text-align:left;text-transform:uppercase}.glm-modal{font-weight:normal !important}.glm-modal-title{margin-bottom:15px;font-size:17px;font-weight:bold}body #glm-member-db-front-container #glm-member-detail-images-container ul li{max-height:none}body #glm-member-db-front-container .glm-thumb-title{font-weight:normal;line-height:1 !important;font-size:16px;padding-bottom:3px}body #glm-member-db-front-container .addthis_wrapper{float:right}body #glm-member-db-front-container .glm-member-list-image-left{margin-bottom:20px}@media only screen and (max-width: 40em){body #glm-member-db-front-container{padding-top:20px}}body #glm-member-db-front-container .glm-member-list-active-info .glm-member-title a{color:#90c3ea;font-size:26px;letter-spacing:normal;text-decoration:none;vertical-align:top}body #glm-member-db-front-container .glm-member-list-active-info .glm-member-title a:hover{text-decoration:underline}body #glm-member-db-front-container #glm-member-list-filters-button{background-color:#394d56}body #glm-member-db-front-container #glm-member-list-map-toggle{background-color:#394d56}body #glm-member-db-front-container #glm-member-list-filters-close{background-color:#394d56}body #glm-member-db-front-container .glm-member-list-container .glm-member-title{line-height:1;margin:5px 0;text-transform:none}body #glm-member-db-front-container .glm-member-list-container .glm-member-list-image-wrapper{float:right;max-height:180px}body #glm-member-db-front-container .glm-member-list-data{padding:20px}body #glm-member-db-front-container .glm-member-list-active-info{font-size:16px}body #glm-member-db-front-container .glm-member-list-address-wrapper>div{line-height:1.5}body #glm-member-db-front-container .glm-member-list-active-info .glm-member-list-links>a{text-decoration:underline;color:#394d56;line-height:1.5}body #glm-member-db-front-container .glm-alpha-links>.glm-alpha-link{background-color:#fff;border-color:#90c3ea;color:#90c3ea}body #glm-member-db-front-container .glm-alpha-links>.glm-alpha-link:hover{background-color:#90c3ea;color:#fff}body #glm-member-db-front-container .glm-alpha-links>.glm-alpha-link-selected{background-color:#90c3ea;color:white}body #glm-member-db-front-container .glm-member-list-active-info{padding:0 0px 0 0}body #glm-member-db-front-container .glm-member-db-list-header-title{text-transform:none}body #glm-member-db-front-container .glm-member-list-terms{display:none}body #glm-member-db-front-container .glm-member-search .glm-member-button-small,body #glm-member-db-front-container .glm-member-search input[type="submit"].glm-member-button{font-size:0.9em !important;padding:5px 20px !important;margin:0 auto !important;line-height:1.8em !important;height:auto !important;border-radius:5px;background-color:#394d56;transition:all 0.5s}body #glm-member-db-front-container .glm-member-search .glm-member-button-small:hover,body #glm-member-db-front-container .glm-member-search input[type="submit"].glm-member-button:hover{transition:all 0.5s;background-color:yellow}body #glm-member-db-front-container .glm-member-search::before{background-color:#394d56}body #glm-member-db-front-container .glm-member-db-takeback-mini{text-decoration:none;position:relative;background-color:#394d56;transition:all 0.5s}body #glm-member-db-front-container .glm-member-db-takeback-mini:hover{transition:all 0.5s;background-color:#253237}body #glm-member-db-front-container .glm-member-db-takeback-mini span{font-size:16px;top:14px}#content-wrapper .glm-member-db-grid-view .glm-member-title a{letter-spacing:2px}#content-wrapper .glm-member-db-grid-view .glm-member-list-sub-links{margin:0}#content-wrapper .glm-member-db-grid-view .glm-member-list-sub-links ul{display:table;margin-left:0;width:100%}#content-wrapper .glm-member-db-grid-view .glm-member-list-sub-links ul li{text-transform:uppercase;font-weight:bold;border:0;width:50%;float:left;display:block;padding:1px;margin:0}#content-wrapper .glm-member-db-grid-view .glm-member-list-sub-links ul li a{color:#cabc8b;border-radius:3px;padding:4px 8px;display:block;width:auto;font-size:12px;text-decoration:underline}body #glm-member-detail-container{margin-top:10px}body #glm-member-detail-container #glm-member-detail-contact-info{background-color:#394d56;color:#fff}body #glm-member-detail-container #glm-member-detail-website-link{text-decoration:none;background-color:#cabc8b}body #glm-member-detail-container #glm-member-detail-website-link:hover{background-color:#dad0ae}body #glm-member-detail-container #glm-member-detail-data-container>.glm-member-detail-content-toggle{color:#cabc8b}body #glm-member-detail-container .map-button{background-color:#cabc8b}body #glm-member-detail-container .map-button:hover{background-color:#dad0ae}body #glm-member-detail-container #glm-member-detail-links a{color:#394d56;border-color:#394d56}.glm-member-detail-contact-phone small{font-size:12px}#members-only-sidebar-off-canvas{background-color:#324B4F;border-radius:5px;list-style:outside none none;margin:10px;max-width:230px}#members-only-sidebar-off-canvas h2{color:yellow}#members-only-sidebar-off-canvas h4{color:yellow}#members-only-sidebar-off-canvas ul li a{color:#fff}#members-only-sidebar-off-canvas ul li a:hover{color:yellow}#members-only-sidebar-off-canvas .menu-side .glm-button{background:transparent;text-decoration:underline;color:white}#members-only-content #glm-member-front-header{margin-top:-10px}#members-only-content #side-links{border:1px solid #394d56;border-radius:3px;padding:15px 20px 30px;background-color:#394d56;list-style:none}@media only screen and (min-width: 40.063em) and (max-width: 64em){#members-only-content #side-links{padding:25px 15px}}#members-only-content #side-links h4{color:yellow;line-height:1.2;letter-spacing:normal;font-size:26px}@media only screen and (min-width: 40.063em) and (max-width: 64em){#members-only-content #side-links h4{font-size:24px}}#members-only-content #side-links ul{margin:0;list-style:none}#members-only-content #side-links li{list-style:none;line-height:1.2;margin-top:15px}#members-only-content #side-links li a{color:white;text-decoration:none;font-size:20px}#members-only-content #side-links li a:hover{color:yellow}#members-only-content .glm-button.button{background-color:#394d56}#members-only-content #main-content{padding-top:0}#members-only-content #lostpasswordform{max-width:350px}#featured-business #glm-member-db-front-container{padding:0}#featured-business .glm-featured-member-text{padding:20px}#featured-business .glm-featured-member-image-container{max-height:200px;overflow:hidden}#sidebar .glm-member-front-container{padding:0}.glm-member-detail-custom-field{padding:4px}.glm-member-detail-custom-field:nth-child(even){background-color:rgba(57,77,86,0.2)}.glm-member-detail-custom-field-name{font-weight:bold;padding-top:3px}.glm-member-detail-custom-field-data p{margin:0}#events-sidebar{max-width:360px;margin:0 auto}#events-sidebar .events-sidebar-title{font-style:italic;font-family:'Times New Roman', Times, serif;font-size:36px;font-weight:normal;text-align:center;padding:0 0;color:#394d56;line-height:1;margin:5px}#events-sidebar #glm-events-frontpage-wrapper .glm-events-frontpage-day{background-color:#394d56;margin:10px 0 4px 0}#events-sidebar #glm-events-frontpage-wrapper .glm-events-frontpage-event-title{color:#394d56;padding:2px 4px;font-size:12px}#events-sidebar #glm-events-frontpage-wrapper .glm-events-frontpage-event-dates{padding:2px 4px;font-size:12px}#events-sidebar #glm-events-frontpage-wrapper .glm-events-frontpage-event-content{padding:2px 4px;font-size:12px}#events-sidebar #glm-events-frontpage-wrapper .glm-events-frontpage-event-container{margin-bottom:3px}#glm-event-detail-takeback-mini{background-color:#394d56}#glm-event-detail-takeback-mini:hover{background-color:#253237}.glm-events-frontpage-event-container{height:97px !important;overflow:hidden}#calendar-link{background-color:#394d56;padding:6px;max-width:150px;display:block;margin:15px auto}body #glm-event-wrapper .glm-event-day-row{background:transparent !important}body #glm-event-wrapper h1{font-size:1.5rem;padding:0 15px}body #glm-event-wrapper #glm-events-search-form .button{-webkit-appearance:none;-moz-appearance:none;border-radius:0;border-style:solid;border-width:0;cursor:pointer;font-family:"Open Sans",sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:.75rem 1.5rem .8125rem 1.5rem;background-color:#9ba493;border-color:#7c8772;color:#fff;border-radius:3px;transition:background-color 300ms ease-out}body #glm-event-wrapper #glm-events-search-form .button:hover,body #glm-event-wrapper #glm-events-search-form .button:focus{background-color:#7c8772}body #glm-event-wrapper #glm-events-search-form .button:hover,body #glm-event-wrapper #glm-events-search-form .button:focus{color:#fff}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group{list-style:none;margin:0;left:0}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group:before,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group:after{content:" ";display:table}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group:after{clear:both}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group .shortcuts-button{-webkit-appearance:none;-moz-appearance:none;border-radius:0;border-style:solid;border-width:0;cursor:pointer;font-family:"Open Sans",sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:.75rem 1.5rem .8125rem 1.5rem;padding-bottom:.8125rem;padding-top:.75rem;padding-left:1rem;padding-right:1rem;width:100%;background-color:#9ba493;border-color:#7c8772;color:#fff;border-radius:3px;transition:background-color 300ms ease-out;margin-bottom:1px}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group .shortcuts-button:hover,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group .shortcuts-button:focus{background-color:#7c8772}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group .shortcuts-button:hover,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group .shortcuts-button:focus{color:#fff}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li{float:none;display:list-item;margin:0}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li>button,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li:first-child button,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li:first-child .button{border-left:0}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li:first-child{margin-left:0}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li>a,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li>button,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li>.button{border-radius:0}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li:first-child,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li:first-child>a,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li:first-child>button,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li:last-child,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li:last-child>a,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li:last-child>button,body #glm-event-wrapper #glm-events-shortcuts .shortcuts-button-group>li:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}body #glm-event-wrapper button:not(.fc-button){-webkit-appearance:none;-moz-appearance:none;border-radius:0;border-style:solid;border-width:0;cursor:pointer;font-family:"Open Sans",sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:.75rem 1.5rem .8125rem 1.5rem;background-color:#fc6463;border-color:#fb201e;color:#fff;border-radius:3px;transition:background-color 300ms ease-out;width:220px}body #glm-event-wrapper button:not(.fc-button):hover,body #glm-event-wrapper button:not(.fc-button):focus{background-color:#fb201e}body #glm-event-wrapper button:not(.fc-button):hover,body #glm-event-wrapper button:not(.fc-button):focus{color:#fff}body #glm-event-wrapper p{margin-left:15px}body #glm-event-wrapper .glm-event-day-row{border:1px solid #fff;background:-webkit-linear-gradient(left, #f2f2f2 5%, #fff 100%);background:-moz-linear-gradient(center top, #f2f2f2 5%, #fff 100%);background:-ms-linear-gradient(left, #f2f2f2 5%, #fff 100%)}body #glm-event-wrapper .glm-event-day-event{border:1px solid #ccc}body #glm-event-wrapper .glm-event-day-event::before{display:none}body #glm-event-wrapper .glm-event-day-event:hover{border:1px solid #000}body #glm-event-wrapper .glm-event-day-event a.glm-read-more{border:1px solid #394d56;background-color:#fff;color:#000}body #glm-event-wrapper .glm-event-day-event a.glm-read-more:hover{color:#fff;background-color:#394d56;border:1px solid #fff;background-color:#394d56}body #glm-event-wrapper .glm-event-cal{border:1px solid #394d56}body #glm-event-wrapper .glm-event-cal-day-container{background:-webkit-linear-gradient(left, #fff 5%, #f2f2f2 100%);background:-moz-linear-gradient(center top, #fff 5%, #f2f2f2 100%);background:-ms-linear-gradient(left, #fff 5%, #f2f2f2 100%)}body #glm-event-wrapper .glm-event-cal-month{background-color:#394d56;color:#fff}body #glm-event-wrapper h1{color:#394d56}body #glm-event-wrapper h2{color:#394d56}body .events-feed-container{padding:0}body .front-page-event-image{min-height:350px;width:100%}body #event-feed{position:relative;margin-bottom:75px}body #event-feed .featured-event{padding:0;position:relative;max-height:400px}body #event-feed .featured-event:hover .featured-event-details{bottom:0 !important}body #event-feed .featured-event .front-page-event-image{position:relative;width:100%}body #event-feed .featured-event .featured-event-details{padding:10px 20px;position:absolute;width:100%;bottom:0;background-color:#90c3ea;transition:350ms ease-in-out bottom}@media only screen and (min-width: 0em) and (max-width: 64em){body #event-feed .featured-event .featured-event-details{opacity:.7;background-color:#000}}body #event-feed .featured-event .featured-event-details h6{color:white;opacity:1}body #event-feed .featured-event .featured-event-details .featured-event-date{color:white}body .slick-arrow{position:absolute;height:50px !important;width:50px !important}body .slick-arrow:focus{background:transparent !important}body .slick-arrow:hover{background:transparent !important}body .slick-arrow.slick-prev{right:150px !important;top:-40px !important;left:inherit;background:transparent}@media only screen and (max-width: 40em){body .slick-arrow.slick-prev{right:50px !important}}body .slick-arrow.slick-prev::before{content:'<' !important;font-size:45px;color:lightgrey}body .slick-arrow.slick-next{right:100px !important;top:-40px !important;left:inherit;background:transparent}@media only screen and (max-width: 40em){body .slick-arrow.slick-next{right:10px !important}}body .slick-arrow.slick-next::before{content:'>' !important;font-size:45px;color:lightgrey}body .events-feed-title h3{font-weight:bold;text-align:center;color:#90c3ea}@media only screen and (max-width: 40em){body .events-feed-title h3{text-align:left;margin-left:15px}}body #glm-event-agenda-view .glm-event-day-event::before{display:none}body .glm-events-agenda-image{padding:0;text-align:center}@media only screen and (min-width: 64.063em){body .glm-events-agenda-image img{float:right !important}}body .event-contents{font-size:13px}body .glm-agenda-city{font-size:13px}body #glm-event-category,body #glm-event-city{font-size:14px}@media only screen and (min-width:64.063em){body .glm-event-day-event .front-event-links{margin-top:25px;float:right}}@media only screen and (min-width:40.063em) and (max-width:64em){body .glm-event-day-event .front-event-links{max-width:300px;padding:0;float:none;margin:0 auto;margin-top:5px}}@media only screen and (min-width:0em) and (max-width:64em){body .glm-event-day-event .front-event-links{max-width:300px;margin:0 auto;float:none !important;clear:both}}@media only screen and (max-width: 40em){body .glm-event-day-event .front-event-links{text-align:center;margin-bottom:15px}}body .front-event-link{padding:7px;color:#d67c3e;background-color:#fff;transition:background-color 400ms ease-in-out;float:none;display:block;text-align:center}@media only screen and (min-width: 64.063em){body .front-event-link{display:block;border:1px solid #d67c3e}}body .front-event-link:hover{background-color:#d67c3e;color:#fff}@media only screen and (min-width:0em) and (max-width:64em){body .front-event-link{margin:2px}}@media only screen and (min-width:40.063em){body .front-event-link{margin:2px}}@media only screen and (min-width: 64.063em){body .front-event-link{max-width:120px}}body .agenda-date{background:#d67c3e;color:white;font-weight:bold;font-size:16px;margin:0 auto;max-width:275px;display:block;padding:10px;text-align:center}.fc-state-default{background-color:transparent !important;background-image:none;color:black !important}.fc-state-default:hover{background-image:none;color:black}@media only screen and (min-width: 64.063em){.mobile-title{display:none}}@media only screen and (min-width: 40.063em){.mobile-add-event{display:none}}@media only screen and (max-width: 40em){.large-add-event{display:none}}@media only screen and (min-width: 0em) and (max-width: 64em){.large-title{display:none}.agenda-event-name{display:block !important;text-align:center;line-height:1.1}}#event-tab-title{padding:20px 0;font-weight:bold}.events-sort-tab:not(.active){background-color:#c0c0c0 !important}body #glm-contact-front-container a:hover{color:#394d56}body #glm-contact-front-container .glm-alpha-link{border:0;background-color:white;color:#394d56}body #glm-contact-front-container .glm-alpha-link-selected{background-color:#394d56;color:white}body #glm-contact-front-container .glm-alpha-link-selected:hover{color:white}body #glm-contact-front-container .glm-member-title{color:#394d56}body #glm-contact-front-container .button,body #glm-contact-front-container .button:hover,body #glm-contact-front-container .button:focus,body #glm-contact-front-container button,body #glm-contact-front-container button:hover,body #glm-contact-front-container button:focus{background-color:#394d56}@media only screen and (min-width: 0em) and (max-width: 64em){body .grid-block.home-feed-post{padding:30px 5%}}input[type="submit"].blogbutton{border-radius:3px;color:#fff;border:2px solid #fff;font-weight:bold;font-size:13px;padding:2px 5px;margin-top:-10px;text-transform:uppercase}input[type="submit"].blogbutton:hover{cursor:pointer;background:#fff;border:2px solid #035C84;color:white}#blog-posts-over article{margin-bottom:15px;display:inline-block;width:100%}#blog-posts-over article .entry-header{background:transparent}#blog-posts-over article #addthis_wrapper{margin-top:-25px}#blog-posts-over article p{padding-bottom:15px}#blog-posts-over article a.read-more{border:2px solid #fff;font-weight:bold;font-size:13px;padding:0 3px;text-transform:uppercase}#blog-posts-over article a.read-more:hover{background:#fff;border:2px solid #035C84;color:#035C84}#blog-posts-over article .entry-header{margin-bottom:10px}#blog-posts-over article .entry-header .entry-title{margin:0;display:block}@media only screen and (min-width: 64.063em){#blog-posts-over article .entry-header .entry-title{margin-top:10px}}#blog-posts-over article .entry-header .entry-title a{display:block;line-height:1;font-size:28px}#blog-posts-over article .entry-header .meta.date{font-size:13px;font-weight:bold}.blog-post-container{border:2px solid rgba(57,77,86,0.7);border-radius:5px;background:white}.blog-post-container border .entry-header .entry-title{line-height:1;font-size:28px;padding-bottom:10px}.blog-posts-container{border:2px solid rgba(57,77,86,0.7);border-radius:5px}#blog-posts-over .entry-meta{text-align:center;color:#757575;font-size:12px}#blog-posts-over>div{margin:25px 0}#blog-side-info a{font-size:16px}#blog-side-info #searchform{margin-bottom:30px}#blog-side-info #searchform div input.blogbutton{background:#394d56}#blog-side-info p{margin-bottom:0}@media only screen and (max-width: 40em){#blog-side-info-wrapper{float:none;margin:0 auto;clear:both}#blog-side-info{padding-left:0;border-left:0}#blog-side-info ul{margin-left:0;margin-top:10px}#blog-side-info #searchform{padding:35px 0}#blog-side-info #searchform #s{width:100%}}#blog-side-info{border:2px solid rgba(57,77,86,0.7);border-radius:5px;background:white;padding:10px;margin-top:30px}@media only screen and (max-width: 40em){#blog-side-info{text-align:center}}#blog-side-info ul{list-style-type:none}#blog-side-info ul li{line-height:1;padding-bottom:10px}#blog-side-info ul li a{line-height:1}main.blog-home,main.blog-archive,main.blog-single{padding-bottom:50px}.blog-archive .featured-image-wrap,.blog-home .featured-image-wrap{display:none}#sidebar{padding-top:25px;background:#f2f9fc}#sidebar .row.collapse{margin-left:14px}#sidebar li{list-style:none}#sidebar li #calendar_wrap table#wp-calendar{margin:0 auto}#sidebar form{margin:0 12px 0 14px}#sidebar form select{padding:0 .5rem;border-radius:5px;height:25px;margin:0}#sidebar form select option{font-size:10px}#sidebar .small-block-grid-2{margin-top:10px}#sidebar .small-block-grid-2 li{padding:0 .625rem .625rem}#sidebar .small-block-grid-2 li img{border:2px solid lightblue}#sidebar .small-block-grid-2>li:nth-of-type(2),#sidebar .small-block-grid-2>li:nth-of-type(4){padding-left:0}#sidebar .small-block-grid-2>li:nth-of-type(3),#sidebar .small-block-grid-2>li:nth-of-type(4){padding-bottom:20px}#sidebar h3{margin:20px 0 0}#sidebar h1{margin:0;font-size:1.5625rem;text-transform:none}#sidebar input{padding:5px 0 5px 8px;height:auto;margin:10px 0}#sidebar button{border-radius:2px;padding:0 10px}#side-nav{padding-top:10px;background:#f2f9fc}#side-nav h1{font-size:1.375rem}#side-nav h4{font-weight:bold;margin-left:10px}#side-nav li{list-style:none}#side-nav ul{list-style:none;margin:0 0 20px}#side-nav ul li{margin:0 -15px;padding:5px 10px 5px 25px}#side-nav ul li:hover{background:#81adc1}#side-nav ul li a{color:darkblue}#side-nav ul li a:hover{color:#fff}#side-nav h3{text-transform:none;margin:0}#side-nav input{padding:5px 0 5px 8px;height:auto;margin-bottom:10px}#side-nav button{border-radius:2px;padding:0 10px}#extra{margin-top:15px}#extra p{line-height:1.3}#extra p.title{margin:0}#extra p.title#last{padding-top:10px}#extra p#message{text-transform:uppercase;color:lightblue;font-size:.9375rem;margin:40px 0}.current_page_item>a{font-weight:bold}body #sidebar ul.members-only{margin-left:0;font-size:16px !important}@media only screen and (min-width: 64.063em){body #sidebar ul.members-only #menu-members-only-menu{margin-left:0}}@media only screen and (min-width: 0em) and (max-width: 64em){body #sidebar ul.members-only{margin-left:0}body #sidebar ul.members-only ul{margin-left:0}}.search-top #searchform{text-align:left;display:inline-block;position:relative}.search-top #searchform #search-button{width:22px;right:0px;position:absolute;padding:0;border:1px solid lightgray}.search-top input{height:20px;width:167px;padding:0 8px;margin:13px 0px 0px 18px;border-radius:3px;font-size:10px;color:#000;display:inline-block}.search-top a.magnifying-glass{font-size:10em;width:.75rem;height:.75rem;border:.125rem solid #00008b;position:absolute;top:15px;border-radius:0.35em;margin:0 0 0 -20px}.search-top a.magnifying-glass:before{content:"";display:inline-block;position:absolute;right:-.4375rem;bottom:-.25rem;border-width:0;background:darkblue;width:.5rem;height:.125rem;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.search-results #blog-posts-over .search-result-container header.entry-header{margin-bottom:0px}.search-results #blog-posts-over .search-result-container .search_result_context{margin:0;padding:0;line-height:1.3}.search-results #blog-posts-over .search-result-container article p{margin:0;padding:0}#footer-page-anchor{background:url("../assets/paneling-resized.png");border-top:5px solid #394d56}#footer-address{margin-top:20px;text-align:center}#footer-address span{color:#394d56;display:inline-block;font-size:18px;margin-bottom:10px;white-space:nowrap}#footer-address a{color:#394d56}#footer-address .phone{color:#394d56}.email-link,.contact-us-link{display:inline-block;color:#394d56;font-size:18px;text-align:left;text-decoration:underline}.email-link:hover,.contact-us-link:hover{color:#394d56}.footer-logo{display:block;margin:0 auto 20px;max-width:140px}#footer-enews{margin-top:5px;margin-bottom:20px}#footer-enews #enews-title{font-family:"El Messiri",Cambria,"Times New Roman",Times,serif;font-size:22px;text-align:center}#footer-enews #enews-button{background-image:url("../assets/signup-button.png");background-position:0 0;display:block;height:30px;margin:0 auto;text-align:center;width:100px}#footer-enews #enews-button:hover{background-position:0 32px}footer .action-grid{margin:0 auto}@media only screen and (max-width: 40em){footer .action-grid{max-width:230px;margin:0 auto}}footer .action-item{display:block;height:35px;margin-bottom:10px;overflow-y:hidden;padding:0 !important;position:relative}footer .action-item:nth-child(odd){max-width:170px}footer .action-item a{display:block;overflow-y:hidden}footer .action-item img{position:absolute;top:0}footer .action-item img:hover{top:-44px}footer .large-row{max-width:1024px}#copyright{padding:5px 0 15px 0;margin:0 auto;float:none}#copyright span{font-size:.875rem;color:grey}#copyright a{color:grey}#footer-address span.bullet,#copyright span.bullet{margin:0 5px}@media only screen and (max-width: 40em){#footer-address span.bullet,#copyright span.bullet{display:none !important}}#copyright span.bullet{color:grey}#footer-address span.bullet{color:grey}.off-canvas-wrap{min-height:100%}.off-canvas-wrap .inner-wrap{min-height:100vh;height:100%}h1{color:#394d56;font-family:"El Messiri",Cambria,"Times New Roman",Times,serif;font-size:32px;font-weight:bold}h2{color:#394d56;font-family:"Open Sans",sans-serif;font-size:26px;font-weight:normal}h3{color:#394d56;font-family:"Open Sans",sans-serif;font-size:26px;font-weight:normal}h4{color:#394d56;font-family:"Open Sans",sans-serif;font-size:20px;font-weight:normal}h5{color:#cabc8b;font-family:"El Messiri",Cambria,"Times New Roman",Times,serif;font-size:20px;font-weight:bold}h6{color:#394d56;font-family:"Open Sans",sans-serif;font-size:20px;font-weight:bold}a{color:#394d56}a:hover{color:#394d56}aside.left-off-canvas-menu li.page_item{display:block;line-height:1.0;margin-bottom:5px;overflow:hidden;padding:5px 35px 5px 0;position:relative}aside.left-off-canvas-menu .off-canvas-list ul li a{line-height:20px;color:white;border-bottom:1px solid #b1b3b6;background-repeat:no-repeat;background-position:3px 50%}aside.left-off-canvas-menu li.page_item_has_children a.toggle{position:absolute;right:10px;top:5px;width:auto;text-decoration:none}aside.left-off-canvas-menu li.page_item_has_children a.toggle:before{content:'>';transform:rotate(0deg);color:#fff;height:17px;width:17px;font-size:17px;font-weight:bold;display:block}aside.left-off-canvas-menu li.page_item_has_children a.toggle:hover{background:transparent}aside.left-off-canvas-menu li.page_item_has_children a.toggle.open{content:'>';transform:rotate(90deg);color:#fff;height:1rem;width:1rem;font-size:1rem;font-weight:bold;display:block}aside.left-off-canvas-menu ul.children{display:none}aside.left-off-canvas-menu .off-canvas-list ul li>ul li>a{padding-left:10px;margin-left:25px;line-height:18px}aside.left-off-canvas-menu ul.open{display:block}.left-off-canvas-menu{background:#394d56;color:white;list-style:none;padding-top:20px}.left-off-canvas-menu .email-link,.left-off-canvas-menu .contact-us-link{color:#fff;font-size:14px;text-decoration:underline}.left-off-canvas-menu .bullet{color:#fff;margin:0 8px}.left-off-canvas-menu li a{color:#fff;font-size:1rem;line-height:1.2;border-color:white;text-transform:uppercase}.left-off-canvas-menu li a:hover{color:white}.left-off-canvas-menu li .dropdown{list-style:none}.left-off-canvas-menu ul{list-style:none}.left-off-canvas-menu ul li a{color:#fff}.left-off-canvas-menu ul li ul{list-style:none}.left-off-canvas-menu ul li ul li a{width:85%;display:block;white-space:pre-wrap}#oc-socials{padding:20px}#oc-socials .social-icon{display:inline-block;height:32px;width:32px;background-image:url("../assets/socials.png")}#oc-socials .social-icon.facebook{background-position:0 0}.oc-site-title{font-size:16px}.oc-action-items .oc-action-grid li{height:30px;margin-bottom:14px;overflow:hidden}.oc-action-items .oc-action-grid li a{display:block}.offcavas-social-list{list-style:none;margin-top:0;margin-bottom:1.0625rem;margin-left:-1.375rem;margin-right:0;overflow:hidden;padding:0;margin-left:auto}.offcavas-social-list>li{display:block;float:left;list-style:none;margin-left:1.375rem}.offcavas-social-list>li>*{display:block}
+
+/*# sourceMappingURL=app.css.map */
diff --git a/dist/app.css.map b/dist/app.css.map
new file mode 100644 (file)
index 0000000..b4c8466
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"app.css","sources":["app.scss","_settings.scss","../../bower_components/foundation/scss/foundation/_functions.scss","_content.scss","../../bower_components/foundation/scss/foundation.scss","../../bower_components/foundation/scss/foundation/components/_grid.scss","../../bower_components/foundation/scss/foundation/components/_global.scss","../../bower_components/foundation/scss/foundation/_functions.scss","../../bower_components/foundation/scss/foundation/components/_accordion.scss","../../bower_components/foundation/scss/foundation/components/_alert-boxes.scss","../../bower_components/foundation/scss/foundation/components/_block-grid.scss","../../bower_components/foundation/scss/foundation/components/_breadcrumbs.scss","../../bower_components/foundation/scss/foundation/components/_button-groups.scss","../../bower_components/foundation/scss/foundation/components/_buttons.scss","../../bower_components/foundation/scss/foundation/components/_clearing.scss","../../bower_components/foundation/scss/foundation/components/_dropdown.scss","../../bower_components/foundation/scss/foundation/components/_dropdown-buttons.scss","../../bower_components/foundation/scss/foundation/components/_flex-video.scss","../../bower_components/foundation/scss/foundation/components/_forms.scss","../../bower_components/foundation/scss/foundation/components/_icon-bar.scss","../../bower_components/foundation/scss/foundation/components/_inline-lists.scss","../../bower_components/foundation/scss/foundation/components/_joyride.scss","../../bower_components/foundation/scss/foundation/components/_keystrokes.scss","../../bower_components/foundation/scss/foundation/components/_labels.scss","../../bower_components/foundation/scss/foundation/components/_magellan.scss","../../bower_components/foundation/scss/foundation/components/_orbit.scss","../../bower_components/foundation/scss/foundation/components/_pagination.scss","../../bower_components/foundation/scss/foundation/components/_panels.scss","../../bower_components/foundation/scss/foundation/components/_pricing-tables.scss","../../bower_components/foundation/scss/foundation/components/_progress-bars.scss","../../bower_components/foundation/scss/foundation/components/_range-slider.scss","../../bower_components/foundation/scss/foundation/components/_reveal.scss","../../bower_components/foundation/scss/foundation/components/_side-nav.scss","../../bower_components/foundation/scss/foundation/components/_split-buttons.scss","../../bower_components/foundation/scss/foundation/components/_sub-nav.scss","../../bower_components/foundation/scss/foundation/components/_switches.scss","../../bower_components/foundation/scss/foundation/components/_tables.scss","../../bower_components/foundation/scss/foundation/components/_tabs.scss","../../bower_components/foundation/scss/foundation/components/_thumbs.scss","../../bower_components/foundation/scss/foundation/components/_tooltips.scss","../../bower_components/foundation/scss/foundation/components/_top-bar.scss","../../bower_components/foundation/scss/foundation/components/_type.scss","../../bower_components/foundation/scss/foundation/components/_offcanvas.scss","../../bower_components/foundation/scss/foundation/components/_visibility.scss","_mixins.scss","mixins/_gradient.scss","mixins/_off-canvas-arrow.scss","_wordpress.scss","_defaults.scss","_body.scss","_header.scss","_topbar.scss","_main.scss","_slideshow.scss","_plugins.scss","plugins/_nextgen.scss","plugins/_gravityForms.scss","plugins/_events.scss","plugins/_fullCalendar.scss","plugins/_blocks.scss","plugins/_glm-member-db.scss","plugins/_glm-member-db-events.scss","plugins/_glm-member-db-contacts.scss","_blog.scss","_sidebar.scss","_search.scss","_footer.scss","_structure.scss","_off-canvas.scss"],"sourcesContent":["\n@import \"settings\";\n@import \"content\";\n@import \"foundation\";\n@media #{$small-only}{\n    \n}\n@import \"mixins\";\n@import \"wordpress\";\n@import \"defaults\";\n@import \"body\";\n@import \"header\";\n@import \"topbar\";\n@import \"main\";\n@import \"slideshow\";\n@import \"plugins\";\n@import \"blog\";\n@import \"sidebar\";\n@import \"search\";\n@import \"footer\";\n@import \"structure\";\n@import \"off-canvas\";\n\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n//\n\n// Table of Contents\n// Foundation Settings\n//\n// a. Base\n// b. Grid\n// c. Global\n// d. Media Query Ranges\n// e. Typography\n// 01. Accordion\n// 02. Alert Boxes\n// 03. Block Grid\n// 04. Breadcrumbs\n// 05. Buttons\n// 06. Button Groups\n// 07. Clearing\n// 08. Dropdown\n// 09. Dropdown Buttons\n// 10. Flex Vide\n// 11. Forms\n// 12. Icon Bar\n// 13. Inline Lists\n// 14. Joyride\n// 15. Keystrokes\n// 16. Labels\n// 17. Magellan\n// 18. Off-canvas\n// 19. Orbit\n// 20. Pagination\n// 21. Panels\n// 22. Pricing Tables\n// 23. Progress Bar\n// 24. Range Slider\n// 25. Reveal\n// 26. Side Nav\n// 27. Split Buttons\n// 28. Sub Nav\n// 29. Switch\n// 30. Tables\n// 31. Tabs\n// 32. Thumbnails\n// 33. Tooltips\n// 34. Top Bar\n// 36. Visibility Classes\n\n// a. Base\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// This is the default html and body font-size for the base rem value.\n$rem-base: 16px;\n\n// Allows the use of rem-calc() or lower-bound() in your settings\n@import \"foundation/functions\";\n\n// The default font-size is set to 100% of the browser style sheet (usually 16px)\n// for compatibility with browser-based text zoom or user-set defaults.\n\n// Since the typical default browser font-size is 16px, that makes the calculation for grid size.\n// If you want your base font-size to be different and not have it affect the grid breakpoints,\n// set $rem-base to $base-font-size and make sure $base-font-size is a px value.\n$base-font-size: 100%;\n\n// The $base-font-size is 100% while $base-line-height is 150%\n$base-line-height: 150%;\n\n// We use this to control whether or not CSS classes come through in the gem files.\n$include-html-classes: true;\n// $include-print-styles: true;\n$include-html-global-classes: $include-html-classes;\n\n// b. Grid\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-grid-classes: $include-html-classes;\n// $include-xl-html-grid-classes: false;\n\n$row-width: rem-calc(1000);\n$total-columns: 12;\n$column-gutter: rem-calc(30);\n\n//$last-child-float: $opposite-direction;\n\n// c. Global\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// We use these to define default font stacks\n$font-family-sans-serif: \"Open Sans\", sans-serif;\n$font-family-serif: 'El Messiri', Cambria, \"Times New Roman\", Times, serif;\n$font-family-monospace: Consolas, \"Liberation Mono\", Courier, monospace;\n$custom-font :  'El Messiri',\"Open Sans\";\n// We use these to define default font weights\n$font-weight-normal: normal;\n$font-weight-bold: bold;\n\n$white       : #FFFFFF;\n$ghost       : #FAFAFA;\n$snow        : #F9F9F9;\n$vapor       : #F6F6F6;\n$white-smoke : #F5F5F5;\n$silver      : #EFEFEF;\n$smoke       : #EEEEEE;\n$gainsboro   : #DDDDDD;\n$iron        : #CCCCCC;\n$base        : #AAAAAA;\n$aluminum    : #999999;\n$jumbo       : #888888;\n$monsoon     : #777777;\n$steel       : #666666;\n$charcoal    : #555555;\n$tuatara     : #444444;\n$oil         : #333333;\n$jet         : #222222;\n$black       : #000000;\n$dark-green  : #43503f;\n$green       : #9ba493;\n$light-green : #ebede9;\n$red         : #fc6463;\n$blue        : #6b98cf;\n$orange      : #d67c3e;\n$l-blue      : #90c3ea;\n$l-green     : #8dc819;\n$dark-blue   : #394d56;\n$gold        : #cabc8b;\n\n// We use these as default colors throughout\n$primary-color: #008CBA;\n$secondary-color: #e7e7e7;\n$alert-color: #f04124;\n$success-color: #43AC6A;\n$warning-color: #f08a24;\n$info-color: #a0d3e8;\n\n// We use these to control various global styles\n// $body-bg: $white;\n$body-font-color: $black;\n$body-font-family: $font-family-sans-serif;\n$body-font-weight: $font-weight-normal;\n$body-font-style: normal;\n\n// We use this to control font-smoothing\n// $font-smoothing: antialiased;\n\n// We use these to control text direction settings\n// $text-direction: ltr;\n// $opposite-direction: right;\n// $default-float: left;\n// $last-child-float: $opposite-direction;\n\n// We use these to make sure border radius matches unless we want it different.\n// $global-radius: 3px;\n// $global-rounded: 1000px;\n\n// We use these to control inset shadow shiny edges and depressions.\n// $shiny-edge-size: 0 1px 0;\n// $shiny-edge-color: rgba($white, .5);\n// $shiny-edge-active-color: rgba($black, .2);\n\n// d. Media Query Ranges\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n$small-range: (0em, 40em);\n$medium-range: (40.063em, 64em);\n$large-range: (64.063em, 90em);\n$xlarge-range: (90.063em, 120em);\n$xxlarge-range: (120.063em, 99999999em);\n\n$screen: \"only screen\";\n\n$landscape: \"#{$screen} and (orientation: landscape)\";\n$portrait: \"#{$screen} and (orientation: portrait)\";\n\n$small-up: $screen;\n$small-only: \"#{$screen} and (max-width: #{upper-bound($small-range)})\";\n\n$medium-up: \"#{$screen} and (min-width:#{lower-bound($medium-range)})\";\n$medium-only: \"#{$screen} and (min-width:#{lower-bound($medium-range)}) and (max-width:#{upper-bound($medium-range)})\";\n\n$medium-down: \"#{$screen} and (min-width:#{lower-bound($small-range)}) and (max-width:#{upper-bound($medium-range)})\";\n\n$large-up: \"#{$screen} and (min-width:#{lower-bound($large-range)})\";\n$large-only: \"#{$screen} and (min-width:#{lower-bound($large-range)}) and (max-width:#{upper-bound($large-range)})\";\n\n$large-down: \"#{$screen} and (min-width:#{lower-bound($small-range)}) and (max-width:#{upper-bound($large-range)})\";\n\n$xlarge-up: \"#{$screen} and (min-width:#{lower-bound($xlarge-range)})\";\n$xlarge-only: \"#{$screen} and (min-width:#{lower-bound($xlarge-range)}) and (max-width:#{upper-bound($xlarge-range)})\";\n\n$xxlarge-up: \"#{$screen} and (min-width:#{lower-bound($xxlarge-range)})\";\n$xxlarge-only: \"#{$screen} and (min-width:#{lower-bound($xxlarge-range)}) and (max-width:#{upper-bound($xxlarge-range)})\";\n\n// Legacy\n$small: $medium-up;\n$medium: $medium-up;\n$large: $large-up;\n\n// We use this as cursors values for enabling the option of having custom cursors in the whole site's stylesheet\n$cursor-crosshair-value: crosshair;\n$cursor-default-value: default;\n$cursor-disabled-value: not-allowed;\n$cursor-pointer-value: pointer;\n$cursor-help-value: help;\n$cursor-text-value: text;\n\n// e. Typography\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-type-classes: $include-html-classes;\n\n// We use these to control header font styles\n$header-font-family: $body-font-family;\n$header-font-weight: $font-weight-normal;\n$header-font-style: normal;\n$header-font-color: $jet;\n$header-line-height: 1.4;\n$header-top-margin: .2rem;\n$header-bottom-margin: .5rem;\n$header-text-rendering: optimizeLegibility;\n\n// We use these to control header font sizes\n$h1-font-size: rem-calc(48);\n$h2-font-size: rem-calc(36);\n$h3-font-size: rem-calc(24);\n$h4-font-size: rem-calc(24);\n$h5-font-size: rem-calc(20);\n$h6-font-size: rem-calc(18);\n\n// We use these to control header size reduction on small screens\n$h1-font-reduction: rem-calc(10);\n$h2-font-reduction: rem-calc(10);\n$h3-font-reduction: rem-calc(5);\n$h4-font-reduction: rem-calc(5);\n$h5-font-reduction: 0;\n$h6-font-reduction: 0;\n\n// These control how subheaders are styled.\n$subheader-line-height: 1.4;\n$subheader-font-color: scale-color($header-font-color, $lightness: 35%);\n$subheader-font-weight: $font-weight-normal;\n$subheader-top-margin: .2rem;\n$subheader-bottom-margin: .5rem;\n\n// A general <small> styling\n$small-font-size: 60%;\n$small-font-color: scale-color($header-font-color, $lightness: 35%);\n\n// We use these to style paragraphs\n// $paragraph-font-family: inherit;\n// $paragraph-font-weight: $font-weight-normal;\n $paragraph-font-size: rem-calc(14);\n// $paragraph-line-height: 1.6;\n// $paragraph-margin-bottom: rem-calc(20);\n// $paragraph-aside-font-size: rem-calc(14);\n// $paragraph-aside-line-height: 1.35;\n// $paragraph-aside-font-style: italic;\n// $paragraph-text-rendering: optimizeLegibility;\n\n// We use these to style <code> tags\n// $code-color: $oil;\n// $code-font-family: $font-family-monospace;\n// $code-font-weight: $font-weight-normal;\n// $code-background-color: scale-color($secondary-color, $lightness: 70%);\n// $code-border-size: 1px;\n// $code-border-style: solid;\n// $code-border-color: scale-color($code-background-color, $lightness: -10%);\n// $code-padding: rem-calc(2) rem-calc(5) rem-calc(1);\n\n// We use these to style anchors\n// $anchor-text-decoration: none;\n// $anchor-text-decoration-hover: none;\n// $anchor-font-color: $primary-color;\n// $anchor-font-color-hover: scale-color($anchor-font-color, $lightness: -14%);\n\n// We use these to style the <hr> element\n// $hr-border-width: 1px;\n// $hr-border-style: solid;\n// $hr-border-color: $gainsboro;\n// $hr-margin: rem-calc(20);\n\n// We use these to style lists\n// $list-font-family: $paragraph-font-family;\n// $list-font-size: $paragraph-font-size;\n// $list-line-height: $paragraph-line-height;\n// $list-margin-bottom: $paragraph-margin-bottom;\n// $list-style-position: outside;\n// $list-side-margin: 1.1rem;\n// $list-ordered-side-margin: 1.4rem;\n// $list-side-margin-no-bullet: 0;\n// $list-nested-margin: rem-calc(20);\n// $definition-list-header-weight: $font-weight-bold;\n// $definition-list-header-margin-bottom: .3rem;\n// $definition-list-margin-bottom: rem-calc(12);\n\n// We use these to style blockquotes\n// $blockquote-font-color: scale-color($header-font-color, $lightness: 35%);\n// $blockquote-padding: rem-calc(9 20 0 19);\n// $blockquote-border: 1px solid $gainsboro;\n// $blockquote-cite-font-size: rem-calc(13);\n// $blockquote-cite-font-color: scale-color($header-font-color, $lightness: 23%);\n// $blockquote-cite-link-color: $blockquote-cite-font-color;\n\n// Acronym styles\n// $acronym-underline: 1px dotted $gainsboro;\n\n// We use these to control padding and margin\n// $microformat-padding: rem-calc(10 12);\n// $microformat-margin: rem-calc(0 0 20 0);\n\n// We use these to control the border styles\n// $microformat-border-width: 1px;\n// $microformat-border-style: solid;\n// $microformat-border-color: $gainsboro;\n\n// We use these to control full name font styles\n// $microformat-fullname-font-weight: $font-weight-bold;\n// $microformat-fullname-font-size: rem-calc(15);\n\n// We use this to control the summary font styles\n// $microformat-summary-font-weight: $font-weight-bold;\n\n// We use this to control abbr padding\n// $microformat-abbr-padding: rem-calc(0 1);\n\n// We use this to control abbr font styles\n// $microformat-abbr-font-weight: $font-weight-bold;\n// $microformat-abbr-font-decoration: none;\n\n// 01. Accordion\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-accordion-classes: $include-html-classes;\n\n// $accordion-navigation-padding: rem-calc(16);\n// $accordion-navigation-bg-color: $silver;\n// $accordion-navigation-hover-bg-color: scale-color($accordion-navigation-bg-color, $lightness: -5%);\n// $accordion-navigation-active-bg-color: scale-color($accordion-navigation-bg-color, $lightness: -3%);\n// $accordion-navigation-font-color: $jet;\n// $accordion-navigation-font-size: rem-calc(16);\n// $accordion-navigation-font-family: $body-font-family;\n\n// $accordion-content-padding: ($column-gutter/2);\n// $accordion-content-active-bg-color: $white;\n\n// 02. Alert Boxes\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-alert-classes: $include-html-classes;\n\n// We use this to control alert padding.\n// $alert-padding-top: rem-calc(14);\n// $alert-padding-default-float: $alert-padding-top;\n// $alert-padding-opposite-direction: $alert-padding-top + rem-calc(10);\n// $alert-padding-bottom: $alert-padding-top;\n\n// We use these to control text style.\n// $alert-font-weight: $font-weight-normal;\n// $alert-font-size: rem-calc(13);\n// $alert-font-color: $white;\n// $alert-font-color-alt: scale-color($secondary-color, $lightness: -66%);\n\n// We use this for close hover effect.\n// $alert-function-factor: -14%;\n\n// We use these to control border styles.\n// $alert-border-style: solid;\n// $alert-border-width: 1px;\n// $alert-border-color: scale-color($primary-color, $lightness: $alert-function-factor);\n// $alert-bottom-margin: rem-calc(20);\n\n// We use these to style the close buttons\n// $alert-close-color: $oil;\n// $alert-close-top: 50%;\n// $alert-close-position: rem-calc(4);\n// $alert-close-font-size: rem-calc(22);\n// $alert-close-opacity: 0.3;\n// $alert-close-opacity-hover: 0.5;\n// $alert-close-padding: 9px 6px 4px;\n// $alert-close-background: inherit;\n\n// We use this to control border radius\n// $alert-radius: $global-radius;\n\n// $alert-transition-speed: 300ms;\n// $alert-transition-ease: ease-out;\n\n// 03. Block Grid\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-block-grid-classes: $include-html-classes;\n// $include-xl-html-block-grid-classes: false;\n\n// We use this to control the maximum number of block grid elements per row\n$block-grid-elements: 12;\n$block-grid-default-spacing: rem-calc(20);\n\n$align-block-grid-to-grid: true;\n// @if $align-block-grid-to-grid {$block-grid-default-spacing: $column-gutter;}\n\n// Enables media queries for block-grid classes. Set to false if writing semantic HTML.\n// $block-grid-media-queries: true;\n\n// 04. Breadcrumbs\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-nav-classes: $include-html-classes;\n\n// We use this to set the background color for the breadcrumb container.\n$crumb-bg: transparent;\n\n// We use these to set the padding around the breadcrumbs.\n// $crumb-padding: rem-calc(9 14 9);\n// $crumb-side-padding: rem-calc(12);\n\n// We use these to control border styles.\n// $crumb-function-factor: -10%;\n// $crumb-border-size: 1px;\n// $crumb-border-style: solid;\n// $crumb-border-color: scale-color($crumb-bg, $lightness: $crumb-function-factor);\n// $crumb-radius: $global-radius;\n\n// We use these to set various text styles for breadcrumbs.\n// $crumb-font-size: rem-calc(11);\n$crumb-font-color: $dark-blue;\n$crumb-font-color-current: $green;\n// $crumb-font-color-unavailable: $aluminum;\n// $crumb-font-transform: uppercase;\n$crumb-link-decor: underline;\n\n// We use these to control the slash between breadcrumbs\n// $crumb-slash-color: $base;\n$crumb-slash: \">\";\n\n// 05. Buttons\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-button-classes: $include-html-classes;\n\n// We use these to build padding for buttons.\n// $button-tny: rem-calc(10);\n// $button-sml: rem-calc(14);\n// $button-med: rem-calc(16);\n// $button-lrg: rem-calc(18);\n\n// We use this to control the display property.\n// $button-display: inline-block;\n// $button-margin-bottom: rem-calc(20);\n\n// We use these to control button text styles.\n// $button-font-family: $body-font-family;\n// $button-font-color: $white;\n// $button-font-color-alt: $oil;\n// $button-font-tny: rem-calc(11);\n// $button-font-sml: rem-calc(13);\n// $button-font-med: rem-calc(16);\n// $button-font-lrg: rem-calc(20);\n// $button-font-weight: $font-weight-normal;\n// $button-font-align: center;\n\n// We use these to control various hover effects.\n// $button-function-factor: -20%;\n\n// We use these to control button border styles.\n// $button-border-width: 0;\n// $button-border-style: solid;\n// $button-bg-color: $primary-color;\n// $button-bg-hover: scale-color($button-bg-color, $lightness: $button-function-factor);\n// $button-border-color: $button-bg-hover;\n// $secondary-button-bg-hover: scale-color($secondary-color, $lightness: $button-function-factor);\n// $secondary-button-border-color: $secondary-button-bg-hover;\n// $success-button-bg-hover: scale-color($success-color, $lightness: $button-function-factor);\n// $success-button-border-color: $success-button-bg-hover;\n// $alert-button-bg-hover: scale-color($alert-color, $lightness: $button-function-factor);\n// $alert-button-border-color: $alert-button-bg-hover;\n// $warning-button-bg-hover: scale-color($warning-color, $lightness: $button-function-factor);\n// $warning-button-border-color: $warning-button-bg-hover;\n// $info-button-bg-hover: scale-color($info-color, $lightness: $button-function-factor);\n// $info-button-border-color: $info-button-bg-hover;\n\n// We use this to set the default radius used throughout the core.\n// $button-radius: $global-radius;\n// $button-round: $global-rounded;\n\n// We use this to set default opacity and cursor for disabled buttons.\n// $button-disabled-opacity: 0.7;\n// $button-disabled-cursor: $cursor-default-value;\n\n// 06. Button Groups\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-button-classes: $include-html-classes;\n\n// Sets the margin for the right side by default, and the left margin if right-to-left direction is used\n// $button-bar-margin-opposite: rem-calc(10);\n// $button-group-border-width: 1px;\n\n// 07. Clearing\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-clearing-classes: $include-html-classes;\n\n// We use these to set the background colors for parts of Clearing.\n// $clearing-bg: $oil;\n// $clearing-caption-bg: $clearing-bg;\n// $clearing-carousel-bg: rgba(51,51,51,0.8);\n// $clearing-img-bg: $clearing-bg;\n\n// We use these to style the close button\n// $clearing-close-color: $iron;\n// $clearing-close-size: 30px;\n\n// We use these to style the arrows\n// $clearing-arrow-size: 12px;\n// $clearing-arrow-color: $clearing-close-color;\n\n// We use these to style captions\n// $clearing-caption-font-color: $iron;\n// $clearing-caption-font-size: 0.875em;\n// $clearing-caption-padding: 10px 30px 20px;\n\n// We use these to make the image and carousel height and style\n// $clearing-active-img-height: 85%;\n// $clearing-carousel-height: 120px;\n// $clearing-carousel-thumb-width: 120px;\n// $clearing-carousel-thumb-active-border: 1px solid rgb(255,255,255);\n\n// 08. Dropdown\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-dropdown-classes: $include-html-classes;\n\n// We use these to controls height and width styles.\n// $f-dropdown-max-width: 200px;\n// $f-dropdown-height: auto;\n// $f-dropdown-max-height: none;\n\n// Used for bottom position\n// $f-dropdown-margin-top: 2px;\n\n// Used for right position\n// $f-dropdown-margin-left: $f-dropdown-margin-top;\n\n// Used for left position\n// $f-dropdown-margin-right: $f-dropdown-margin-top;\n\n// Used for top position\n// $f-dropdown-margin-bottom: $f-dropdown-margin-top;\n\n// We use this to control the background color\n $f-dropdown-bg: $white;\n\n// We use this to set the border styles for dropdowns.\n// $f-dropdown-border-style: solid;\n// $f-dropdown-border-width: 1px;\n// $f-dropdown-border-color: scale-color($white, $lightness: -20%);\n\n// We use these to style the triangle pip.\n// $f-dropdown-triangle-size: 6px;\n// $f-dropdown-triangle-color: $white;\n// $f-dropdown-triangle-side-offset: 10px;\n\n// We use these to control styles for the list elements.\n// $f-dropdown-list-style: none;\n// $f-dropdown-font-color: $charcoal;\n// $f-dropdown-font-size: rem-calc(13);\n// $f-dropdown-list-padding: rem-calc(5, 10);\n// $f-dropdown-line-height: rem-calc(18);\n// $f-dropdown-list-hover-bg: $smoke;\n// $dropdown-mobile-default-float: 0;\n\n// We use this to control the styles for when the dropdown has custom content.\n $f-dropdown-content-padding: rem-calc(16);\n\n// Default radius for dropdown.\n// $f-dropdown-radius: $global-radius;\n\n\n// 09. Dropdown Buttons\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-button-classes: $include-html-classes;\n\n// We use these to set the color of the pip in dropdown buttons\n// $dropdown-button-pip-color: $white;\n// $dropdown-button-pip-color-alt: $oil;\n\n// We use these to set the size of the pip in dropdown buttons\n// $button-pip-tny: rem-calc(6);\n// $button-pip-sml: rem-calc(7);\n// $button-pip-med: rem-calc(9);\n// $button-pip-lrg: rem-calc(11);\n\n// We use these to style tiny dropdown buttons\n// $dropdown-button-padding-tny: $button-pip-tny * 7;\n// $dropdown-button-pip-size-tny: $button-pip-tny;\n// $dropdown-button-pip-opposite-tny: $button-pip-tny * 3;\n// $dropdown-button-pip-top-tny: (-$button-pip-tny / 2) + rem-calc(1);\n\n// We use these to style small dropdown buttons\n// $dropdown-button-padding-sml: $button-pip-sml * 7;\n// $dropdown-button-pip-size-sml: $button-pip-sml;\n// $dropdown-button-pip-opposite-sml: $button-pip-sml * 3;\n// $dropdown-button-pip-top-sml: (-$button-pip-sml / 2) + rem-calc(1);\n\n// We use these to style medium dropdown buttons\n// $dropdown-button-padding-med: $button-pip-med * 6 + rem-calc(3);\n// $dropdown-button-pip-size-med: $button-pip-med - rem-calc(3);\n// $dropdown-button-pip-opposite-med: $button-pip-med * 2.5;\n// $dropdown-button-pip-top-med: (-$button-pip-med / 2) + rem-calc(2);\n\n// We use these to style large dropdown buttons\n// $dropdown-button-padding-lrg: $button-pip-lrg * 5 + rem-calc(3);\n// $dropdown-button-pip-size-lrg: $button-pip-lrg - rem-calc(6);\n// $dropdown-button-pip-opposite-lrg: $button-pip-lrg * 2.5;\n// $dropdown-button-pip-top-lrg: (-$button-pip-lrg / 2) + rem-calc(3);\n\n// 10. Flex Video\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-media-classes: $include-html-classes;\n\n// We use these to control video container padding and margins\n// $flex-video-padding-top: rem-calc(25);\n// $flex-video-padding-bottom: 67.5%;\n// $flex-video-margin-bottom: rem-calc(16);\n\n// We use this to control widescreen bottom padding\n// $flex-video-widescreen-padding-bottom: 56.34%;\n\n// 11. Forms\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-form-classes: $include-html-classes;\n\n// We use this to set the base for lots of form spacing and positioning styles\n// $form-spacing: rem-calc(16);\n\n// We use these to style the labels in different ways\n// $form-label-pointer: pointer;\n// $form-label-font-size: rem-calc(14);\n// $form-label-font-weight: $font-weight-normal;\n// $form-label-line-height: 1.5;\n// $form-label-font-color: scale-color($black, $lightness: 30%);\n// $form-label-small-transform: capitalize;\n// $form-label-bottom-margin: 0;\n// $input-font-family: inherit;\n// $input-font-color: rgba(0,0,0,0.75);\n// $input-font-size: rem-calc(14);\n// $input-bg-color: $white;\n// $input-focus-bg-color: scale-color($white, $lightness: -2%);\n// $input-border-color: scale-color($white, $lightness: -20%);\n// $input-focus-border-color: scale-color($white, $lightness: -40%);\n// $input-border-style: solid;\n// $input-border-width: 1px;\n// $input-border-radius: $global-radius;\n// $input-disabled-bg: $gainsboro;\n// $input-disabled-cursor: $cursor-default-value;\n// $input-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n// $input-include-glowing-effect: true;\n\n// We use these to style the fieldset border and spacing.\n// $fieldset-border-style: solid;\n// $fieldset-border-width: 1px;\n// $fieldset-border-color: $gainsboro;\n// $fieldset-padding: rem-calc(20);\n// $fieldset-margin: rem-calc(18 0);\n\n// We use these to style the legends when you use them\n// $legend-bg: $white;\n// $legend-font-weight: $font-weight-bold;\n// $legend-padding: rem-calc(0 3);\n\n// We use these to style the prefix and postfix input elements\n// $input-prefix-bg: scale-color($white, $lightness: -5%);\n// $input-prefix-border-color: scale-color($white, $lightness: -20%);\n// $input-prefix-border-size: 1px;\n// $input-prefix-border-type: solid;\n// $input-prefix-overflow: hidden;\n// $input-prefix-font-color: $oil;\n// $input-prefix-font-color-alt: $white;\n\n// We use this setting to turn on/off HTML5 number spinners (the up/down arrows)\n// $input-number-spinners: true;\n\n// We use these to style the error states for inputs and labels\n// $input-error-message-padding: rem-calc(6 9 9);\n// $input-error-message-top: -1px;\n// $input-error-message-font-size: rem-calc(12);\n// $input-error-message-font-weight: $font-weight-normal;\n// $input-error-message-font-style: italic;\n// $input-error-message-font-color: $white;\n// $input-error-message-bg-color: $alert-color;\n// $input-error-message-font-color-alt: $oil;\n\n// We use this to style the glowing effect of inputs when focused\n// $glowing-effect-fade-time: 0.45s;\n// $glowing-effect-color: $input-focus-border-color;\n\n// Select variables\n// $select-bg-color: $ghost;\n// $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%);\n\n\n// 12. Icon Bar\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// We use these to style the icon-bar and items\n// $icon-bar-bg: $oil;\n// $icon-bar-font-color: $white;\n// $icon-bar-font-color-hover: $icon-bar-font-color;\n// $icon-bar-font-size: 1rem;\n// $icon-bar-hover-color: $primary-color;\n// $icon-bar-icon-color: $white;\n// $icon-bar-icon-color-hover: $icon-bar-icon-color;\n// $icon-bar-icon-size: 1.875rem;\n// $icon-bar-image-width: 1.875rem;\n// $icon-bar-image-height: 1.875rem;\n// $icon-bar-active-color: $primary-color;\n// $icon-bar-item-padding: 1.25rem;\n\n// We use this to set default opacity and cursor for disabled icons.\n// $icon-bar-disabled-opacity: 0.7;\n\n// 13. Inline Lists\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-inline-list-classes: $include-html-classes;\n\n// We use this to control the margins and padding of the inline list.\n// $inline-list-top-margin: 0;\n// $inline-list-opposite-margin: 0;\n// $inline-list-bottom-margin: rem-calc(17);\n// $inline-list-default-float-margin: rem-calc(-22);\n// $inline-list-default-float-list-margin: rem-calc(22);\n\n// $inline-list-padding: 0;\n\n// We use this to control the overflow of the inline list.\n// $inline-list-overflow: hidden;\n\n// We use this to control the list items\n// $inline-list-display: block;\n\n// We use this to control any elements within list items\n// $inline-list-children-display: block;\n\n// 14. Joyride\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-joyride-classes: $include-html-classes;\n\n// Controlling default Joyride styles\n// $joyride-tip-bg: $oil;\n// $joyride-tip-default-width: 300px;\n// $joyride-tip-padding: rem-calc(18 20 24);\n// $joyride-tip-border: solid 1px $charcoal;\n// $joyride-tip-radius: 4px;\n// $joyride-tip-position-offset: 22px;\n\n// Here, we're setting the tip font styles\n// $joyride-tip-font-color: $white;\n// $joyride-tip-font-size: rem-calc(14);\n// $joyride-tip-header-weight: $font-weight-bold;\n\n// This changes the nub size\n// $joyride-tip-nub-size: 10px;\n\n// This adjusts the styles for the timer when its enabled\n// $joyride-tip-timer-width: 50px;\n// $joyride-tip-timer-height: 3px;\n// $joyride-tip-timer-color: $steel;\n\n// This changes up the styles for the close button\n// $joyride-tip-close-color: $monsoon;\n// $joyride-tip-close-size: 24px;\n// $joyride-tip-close-weight: $font-weight-normal;\n\n// When Joyride is filling the screen, we use this style for the bg\n// $joyride-screenfill: rgba(0,0,0,0.5);\n\n// 15. Keystrokes\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-keystroke-classes: $include-html-classes;\n\n// We use these to control text styles.\n// $keystroke-font: \"Consolas\", \"Menlo\", \"Courier\", monospace;\n// $keystroke-font-size: inherit;\n// $keystroke-font-color: $jet;\n// $keystroke-font-color-alt: $white;\n// $keystroke-function-factor: -7%;\n\n// We use this to control keystroke padding.\n// $keystroke-padding: rem-calc(2 4 0);\n\n// We use these to control background and border styles.\n// $keystroke-bg: scale-color($white, $lightness: $keystroke-function-factor);\n// $keystroke-border-style: solid;\n// $keystroke-border-width: 1px;\n// $keystroke-border-color: scale-color($keystroke-bg, $lightness: $keystroke-function-factor);\n// $keystroke-radius: $global-radius;\n\n// 16. Labels\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-label-classes: $include-html-classes;\n\n// We use these to style the labels\n// $label-padding: rem-calc(4 8 4);\n// $label-radius: $global-radius;\n\n// We use these to style the label text\n// $label-font-sizing: rem-calc(11);\n// $label-font-weight: $font-weight-normal;\n// $label-font-color: $oil;\n// $label-font-color-alt: $white;\n// $label-font-family: $body-font-family;\n\n// 17. Magellan\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-magellan-classes: $include-html-classes;\n\n// $magellan-bg: $white;\n// $magellan-padding: 10px;\n\n// 18. Off-canvas\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// Off Canvas Tab Bar Variables\n// $include-html-off-canvas-classes: $include-html-classes;\n\n $tabbar-bg: $l-blue;\n// $tabbar-height: rem-calc(45);\n// $tabbar-icon-width: $tabbar-height;\n// $tabbar-line-height: $tabbar-height;\n// $tabbar-color: $white;\n// $tabbar-middle-padding: 0 rem-calc(10);\n\n// Off Canvas Divider Styles\n// $tabbar-left-section-border: solid 1px scale-color($tabbar-bg, $lightness: -50%);\n// $tabbar-right-section-border: $tabbar-left-section-border;\n\n\n// Off Canvas Tab Bar Headers\n// $tabbar-header-color: $white;\n// $tabbar-header-weight: $font-weight-bold;\n// $tabbar-header-line-height: $tabbar-height;\n// $tabbar-header-margin: 0;\n\n// Off Canvas Menu Variables\n// $off-canvas-width: rem-calc(250);\n $off-canvas-bg: $l-blue;\n\n// Off Canvas Menu List Variables\n// $off-canvas-label-padding: 0.3rem rem-calc(15);\n// $off-canvas-label-color: $aluminum;\n// $off-canvas-label-text-transform: uppercase;\n// $off-canvas-label-font-size: rem-calc(12);\n// $off-canvas-label-font-weight: $font-weight-bold;\n// $off-canvas-label-bg: $tuatara;\n// $off-canvas-label-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%);\n// $off-canvas-label-border-bottom: none;\n// $off-canvas-label-margin:0;\n// $off-canvas-link-padding: rem-calc(10, 15);\n// $off-canvas-link-color: rgba($white, 0.7);\n// $off-canvas-link-border-bottom: 1px solid scale-color($off-canvas-bg, $lightness: -25%);\n// $off-canvas-back-bg: #444;\n// $off-canvas-back-border-top: $off-canvas-label-border-top;\n// $off-canvas-back-border-bottom: $off-canvas-label-border-bottom;\n// $off-canvas-back-hover-bg: scale-color($off-canvas-back-bg, $lightness: -30%);\n// $off-canvas-back-hover-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%);\n// $off-canvas-back-hover-border-bottom: none;\n\n// Off Canvas Menu Icon Variables\n// $tabbar-menu-icon-color: $white;\n// $tabbar-menu-icon-hover: scale-color($tabbar-menu-icon-color, $lightness: -30%);\n\n $tabbar-menu-icon-text-indent: rem-calc(55);\n// $tabbar-menu-icon-width: $tabbar-icon-width;\n// $tabbar-menu-icon-height: $tabbar-height;\n// $tabbar-menu-icon-padding: 0;\n\n// $tabbar-hamburger-icon-width: rem-calc(16);\n// $tabbar-hamburger-icon-left: false;\n// $tabbar-hamburger-icon-top: false;\n// $tabbar-hamburger-icon-thickness: 1px;\n// $tabbar-hamburger-icon-gap: 6px;\n\n// Off Canvas Back-Link Overlay\n// $off-canvas-overlay-transition: background 300ms ease;\n// $off-canvas-overlay-cursor: pointer;\n// $off-canvas-overlay-box-shadow: -4px 0 4px rgba($black, 0.5), 4px 0 4px rgba($black, 0.5);\n// $off-canvas-overlay-background: rgba($white, 0.2);\n// $off-canvas-overlay-background-hover: rgba($white, 0.05);\n\n// Transition Variables\n// $menu-slide: \"transform 500ms ease\";\n\n// 19. Orbit\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-orbit-classes: $include-html-classes;\n\n// We use these to control the caption styles\n// $orbit-container-bg: none;\n// $orbit-caption-bg: rgba(51,51,51, 0.8);\n// $orbit-caption-font-color: $white;\n// $orbit-caption-font-size: rem-calc(14);\n// $orbit-caption-position: \"bottom\"; // Supported values: \"bottom\", \"under\"\n// $orbit-caption-padding: rem-calc(10 14);\n// $orbit-caption-height: auto;\n\n// We use these to control the left/right nav styles\n// $orbit-nav-bg: transparent;\n// $orbit-nav-bg-hover: rgba(0,0,0,0.3);\n// $orbit-nav-arrow-color: $white;\n// $orbit-nav-arrow-color-hover: $white;\n\n// We use these to control the timer styles\n// $orbit-timer-bg: rgba(255,255,255,0.3);\n// $orbit-timer-show-progress-bar: true;\n\n// We use these to control the bullet nav styles\n// $orbit-bullet-nav-color: $iron;\n// $orbit-bullet-nav-color-active: $aluminum;\n// $orbit-bullet-radius: rem-calc(9);\n\n// We use these to controls the style of slide numbers\n// $orbit-slide-number-bg: rgba(0,0,0,0);\n// $orbit-slide-number-font-color: $white;\n// $orbit-slide-number-padding: rem-calc(5);\n\n// Graceful Loading Wrapper and preloader\n// $wrapper-class: \"slideshow-wrapper\";\n// $preloader-class: \"preloader\";\n\n// Hide controls on small\n// $orbit-nav-hide-for-small: true;\n// $orbit-bullet-hide-for-small: true;\n// $orbit-timer-hide-for-small: true; \n\n// 20. Pagination\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-pagination-classes: $include-html-classes;\n\n// We use these to control the pagination container\n// $pagination-height: rem-calc(24);\n// $pagination-margin: rem-calc(-5);\n\n// We use these to set the list-item properties\n// $pagination-li-float: $default-float;\n// $pagination-li-height: rem-calc(24);\n// $pagination-li-font-color: $jet;\n// $pagination-li-font-size: rem-calc(14);\n// $pagination-li-margin: rem-calc(5);\n\n// We use these for the pagination anchor links\n// $pagination-link-pad: rem-calc(1 10 1);\n// $pagination-link-font-color: $aluminum;\n// $pagination-link-active-bg: scale-color($white, $lightness: -10%);\n\n// We use these for disabled anchor links\n// $pagination-link-unavailable-cursor: default;\n// $pagination-link-unavailable-font-color: $aluminum;\n// $pagination-link-unavailable-bg-active: transparent;\n\n// We use these for currently selected anchor links\n// $pagination-link-current-background: $primary-color;\n// $pagination-link-current-font-color: $white;\n// $pagination-link-current-font-weight: $font-weight-bold;\n// $pagination-link-current-cursor: default;\n// $pagination-link-current-active-bg: $primary-color;\n\n// 21. Panels\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-panel-classes: $include-html-classes;\n\n// We use these to control the background and border styles\n// $panel-bg: scale-color($white, $lightness: -5%);\n// $panel-border-style: solid;\n// $panel-border-size: 1px;\n\n// We use this % to control how much we darken things on hover\n// $panel-function-factor: -11%;\n// $panel-border-color: scale-color($panel-bg, $lightness: $panel-function-factor);\n\n// We use these to set default inner padding and bottom margin\n// $panel-margin-bottom: rem-calc(20);\n// $panel-padding: rem-calc(20);\n\n// We use these to set default font colors\n// $panel-font-color: $oil;\n// $panel-font-color-alt: $white;\n\n// $panel-header-adjust: true;\n// $callout-panel-link-color: $primary-color;\n// $callout-panel-link-color-hover: scale-color($callout-panel-link-color, $lightness: -14%);\n\n// 22. Pricing Tables\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-pricing-classes: $include-html-classes;\n\n// We use this to control the border color\n// $price-table-border: solid 1px $gainsboro;\n\n// We use this to control the bottom margin of the pricing table\n// $price-table-margin-bottom: rem-calc(20);\n\n// We use these to control the title styles\n// $price-title-bg: $oil;\n// $price-title-padding: rem-calc(15 20);\n// $price-title-align: center;\n// $price-title-color: $smoke;\n// $price-title-weight: $font-weight-normal;\n// $price-title-size: rem-calc(16);\n// $price-title-font-family: $body-font-family;\n\n// We use these to control the price styles\n// $price-money-bg: $vapor;\n// $price-money-padding: rem-calc(15 20);\n// $price-money-align: center;\n// $price-money-color: $oil;\n// $price-money-weight: $font-weight-normal;\n// $price-money-size: rem-calc(32);\n// $price-money-font-family: $body-font-family;\n\n\n// We use these to control the description styles\n// $price-bg: $white;\n// $price-desc-color: $monsoon;\n// $price-desc-padding: rem-calc(15);\n// $price-desc-align: center;\n// $price-desc-font-size: rem-calc(12);\n// $price-desc-weight: $font-weight-normal;\n// $price-desc-line-height: 1.4;\n// $price-desc-bottom-border: dotted 1px $gainsboro;\n\n// We use these to control the list item styles\n// $price-item-color: $oil;\n// $price-item-padding: rem-calc(15);\n// $price-item-align: center;\n// $price-item-font-size: rem-calc(14);\n// $price-item-weight: $font-weight-normal;\n// $price-item-bottom-border: dotted 1px $gainsboro;\n\n// We use these to control the CTA area styles\n// $price-cta-bg: $white;\n// $price-cta-align: center;\n// $price-cta-padding: rem-calc(20 20 0);\n\n// 23. Progress Bar\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-media-classes: $include-html-classes;\n\n// We use this to set the progress bar height\n// $progress-bar-height: rem-calc(25);\n// $progress-bar-color: $vapor;\n\n// We use these to control the border styles\n// $progress-bar-border-color: scale-color($white, $lightness: 20%);\n// $progress-bar-border-size: 1px;\n// $progress-bar-border-style: solid;\n// $progress-bar-border-radius: $global-radius;\n\n// We use these to control the margin & padding\n// $progress-bar-margin-bottom: rem-calc(10);\n\n// We use these to set the meter colors\n// $progress-meter-color: $primary-color;\n// $progress-meter-secondary-color: $secondary-color;\n// $progress-meter-success-color: $success-color;\n// $progress-meter-alert-color: $alert-color;\n\n// 24. Range Slider\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-range-slider-classes: $include-html-classes;\n\n// These variabels define the slider bar styles\n// $range-slider-bar-width: 100%;\n// $range-slider-bar-height: rem-calc(16);\n\n// $range-slider-bar-border-width: 1px;\n// $range-slider-bar-border-style: solid;\n// $range-slider-bar-border-color: $gainsboro;\n// $range-slider-radius: $global-radius;\n// $range-slider-round: $global-rounded;\n// $range-slider-bar-bg-color: $ghost;\n// $range-slider-active-segment-bg-color: scale-color($secondary-color, $lightness: -1%);\n\n// Vertical bar styles\n// $range-slider-vertical-bar-width: rem-calc(16);\n// $range-slider-vertical-bar-height: rem-calc(200);\n\n// These variabels define the slider handle styles\n// $range-slider-handle-width: rem-calc(32);\n// $range-slider-handle-height: rem-calc(22);\n// $range-slider-handle-position-top: rem-calc(-5);\n// $range-slider-handle-bg-color: $primary-color;\n// $range-slider-handle-border-width: 1px;\n// $range-slider-handle-border-style: solid;\n// $range-slider-handle-border-color: none;\n// $range-slider-handle-radius: $global-radius;\n// $range-slider-handle-round: $global-rounded;\n// $range-slider-handle-bg-hover-color: scale-color($primary-color, $lightness: -12%);\n// $range-slider-handle-cursor: pointer;\n\n// $range-slider-disabled-opacity: 0.7;\n// $range-slider-disabled-cursor: $cursor-disabled-value;\n\n// 25. Reveal\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-reveal-classes: $include-html-classes;\n\n// We use these to control the style of the reveal overlay.\n// $reveal-overlay-bg: rgba($black, .45);\n// $reveal-overlay-bg-old: $black;\n\n// We use these to control the style of the modal itself.\n// $reveal-modal-bg: $white;\n// $reveal-position-top: rem-calc(100);\n// $reveal-default-width: 80%;\n// $reveal-max-width: $row-width;\n// $reveal-modal-padding: rem-calc(20);\n// $reveal-box-shadow: 0 0 10px rgba($black,.4);\n\n// We use these to style the reveal close button\n// $reveal-close-font-size: rem-calc(40);\n// $reveal-close-top: rem-calc(10);\n// $reveal-close-side: rem-calc(22);\n// $reveal-close-color: $base;\n// $reveal-close-weight: $font-weight-bold;\n\n// We use this to set the default radius used throughout the core.\n// $reveal-radius: $global-radius;\n// $reveal-round: $global-rounded;\n\n// We use these to control the modal border\n// $reveal-border-style: solid;\n// $reveal-border-width: 1px;\n// $reveal-border-color: $steel;\n\n// $reveal-modal-class: \"reveal-modal\";\n// $close-reveal-modal-class: \"close-reveal-modal\";\n\n// 26. Side Nav\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-nav-classes: $include-html-classes;\n\n// We use this to control padding.\n// $side-nav-padding: rem-calc(14 0);\n\n// We use these to control list styles.\n// $side-nav-list-type: none;\n// $side-nav-list-position: outside;\n// $side-nav-list-margin: rem-calc(0 0 7 0);\n\n// We use these to control link styles.\n// $side-nav-link-color: $primary-color;\n// $side-nav-link-color-active: scale-color($side-nav-link-color, $lightness: 30%);\n// $side-nav-link-color-hover: scale-color($side-nav-link-color, $lightness: 30%);\n// $side-nav-link-bg-hover: hsla(0, 0, 0, 0.025);\n// $side-nav-link-margin: 0;\n// $side-nav-link-padding: rem-calc(7 14);\n// $side-nav-font-size: rem-calc(14);\n// $side-nav-font-weight: $font-weight-normal;\n// $side-nav-font-weight-active: $side-nav-font-weight;\n// $side-nav-font-family: $body-font-family;\n// $side-nav-font-family-active: $side-nav-font-family;\n\n// We use these to control heading styles.\n// $side-nav-heading-color: $side-nav-link-color;\n// $side-nav-heading-font-size: $side-nav-font-size;\n// $side-nav-heading-font-weight: bold;\n// $side-nav-heading-text-transform: uppercase;\n\n// We use these to control border styles\n// $side-nav-divider-size: 1px;\n// $side-nav-divider-style: solid;\n// $side-nav-divider-color: scale-color($white, $lightness: 10%);\n\n// 27. Split Buttons\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-button-classes: $include-html-classes;\n\n// We use these to control different shared styles for Split Buttons\n// $split-button-function-factor: 10%;\n// $split-button-pip-color: $white;\n// $split-button-pip-color-alt: $oil;\n// $split-button-active-bg-tint: rgba(0,0,0,0.1);\n\n// We use these to control tiny split buttons\n// $split-button-padding-tny: $button-pip-tny * 10;\n// $split-button-span-width-tny: $button-pip-tny * 6;\n// $split-button-pip-size-tny: $button-pip-tny;\n// $split-button-pip-top-tny: $button-pip-tny * 2;\n// $split-button-pip-default-float-tny: rem-calc(-6);\n\n// We use these to control small split buttons\n// $split-button-padding-sml: $button-pip-sml * 10;\n// $split-button-span-width-sml: $button-pip-sml * 6;\n// $split-button-pip-size-sml: $button-pip-sml;\n// $split-button-pip-top-sml: $button-pip-sml * 1.5;\n// $split-button-pip-default-float-sml: rem-calc(-6);\n\n// We use these to control medium split buttons\n// $split-button-padding-med: $button-pip-med * 9;\n// $split-button-span-width-med: $button-pip-med * 5.5;\n// $split-button-pip-size-med: $button-pip-med - rem-calc(3);\n// $split-button-pip-top-med: $button-pip-med * 1.5;\n// $split-button-pip-default-float-med: rem-calc(-6);\n\n// We use these to control large split buttons\n// $split-button-padding-lrg: $button-pip-lrg * 8;\n// $split-button-span-width-lrg: $button-pip-lrg * 5;\n// $split-button-pip-size-lrg: $button-pip-lrg - rem-calc(6);\n// $split-button-pip-top-lrg: $button-pip-lrg + rem-calc(5);\n// $split-button-pip-default-float-lrg: rem-calc(-6);\n\n// 28. Sub Nav\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-nav-classes: $include-html-classes;\n\n// We use these to control margin and padding\n// $sub-nav-list-margin: rem-calc(-4 0 18);\n// $sub-nav-list-padding-top: rem-calc(4);\n\n// We use this to control the definition\n// $sub-nav-font-family: $body-font-family;\n// $sub-nav-font-size: rem-calc(14);\n// $sub-nav-font-color: $aluminum;\n// $sub-nav-font-weight: $font-weight-normal;\n// $sub-nav-text-decoration: none;\n// $sub-nav-padding: rem-calc(3 16);\n// $sub-nav-border-radius: 3px;\n// $sub-nav-font-color-hover: scale-color($sub-nav-font-color, $lightness: -25%);\n\n\n// We use these to control the active item styles\n\n// $sub-nav-active-font-weight: $font-weight-normal;\n// $sub-nav-active-bg: $primary-color;\n// $sub-nav-active-bg-hover: scale-color($sub-nav-active-bg, $lightness: -14%);\n// $sub-nav-active-color: $white;\n// $sub-nav-active-padding: $sub-nav-padding;\n// $sub-nav-active-cursor: default;\n\n// $sub-nav-item-divider: \"\";\n// $sub-nav-item-divider-margin: rem-calc(12);\n\n// 29. Switch\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-form-classes: $include-html-classes;\n\n// Controlling background color for the switch container\n// $switch-bg: $gainsboro;\n\n// We use these to control the switch heights for our default classes\n// $switch-height-tny: 1.5rem;\n// $switch-height-sml: 1.75rem;\n// $switch-height-med: 2rem;\n// $switch-height-lrg: 2.5rem;\n// $switch-bottom-margin: 1.5rem;\n\n// We use these to style the switch-paddle\n// $switch-paddle-bg: $white;\n// $switch-paddle-transition-speed: .15s;\n// $switch-paddle-transition-ease: ease-out;\n// $switch-active-color: $primary-color; \n\n// 30. Tables\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-table-classes: $include-html-classes;\n\n// These control the background color for the table and even rows\n// $table-bg: $white;\n// $table-even-row-bg: $snow;\n\n// These control the table cell border style\n// $table-border-style: solid;\n// $table-border-size: 1px;\n// $table-border-color: $gainsboro;\n\n// These control the table head styles\n// $table-head-bg: $white-smoke;\n// $table-head-font-size: rem-calc(14);\n// $table-head-font-color: $jet;\n// $table-head-font-weight: $font-weight-bold;\n// $table-head-padding: rem-calc(8 10 10);\n\n// These control the table foot styles\n// $table-foot-bg: $table-head-bg;\n// $table-foot-font-size: $table-head-font-size;\n// $table-foot-font-color: $table-head-font-color;\n// $table-foot-font-weight: $table-head-font-weight;\n// $table-foot-padding: $table-head-padding;\n\n// These control the caption\n// table-caption-bg: transparent;\n// $table-caption-font-color: $table-head-font-color;\n// $table-caption-font-size: rem-calc(16);\n// $table-caption-font-weight: bold;\n\n// These control the row padding and font styles\n// $table-row-padding: rem-calc(9 10);\n// $table-row-font-size: rem-calc(14);\n// $table-row-font-color: $jet;\n// $table-line-height: rem-calc(18);\n\n// These are for controlling the layout, display and margin of tables\n// $table-layout: auto;\n// $table-display: table-cell;\n// $table-margin-bottom: rem-calc(20);\n\n\n// 31. Tabs\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-tabs-classes: $include-html-classes;\n\n// $tabs-navigation-padding: rem-calc(16);\n// $tabs-navigation-bg-color: $silver;\n// $tabs-navigation-active-bg-color: $white;\n// $tabs-navigation-hover-bg-color: scale-color($tabs-navigation-bg-color, $lightness: -6%);\n// $tabs-navigation-font-color: $jet;\n// $tabs-navigation-active-font-color: $tabs-navigation-font-color;\n// $tabs-navigation-font-size: rem-calc(16);\n// $tabs-navigation-font-family: $body-font-family;\n\n// $tabs-content-margin-bottom: rem-calc(24);\n// $tabs-content-padding: ($column-gutter/2);\n\n// $tabs-vertical-navigation-margin-bottom: 1.25rem;\n\n// 32. Thumbnails\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-media-classes: $include-html-classes;\n\n// We use these to control border styles\n// $thumb-border-style: solid;\n// $thumb-border-width: 4px;\n// $thumb-border-color: $white;\n// $thumb-box-shadow: 0 0 0 1px rgba($black,.2);\n// $thumb-box-shadow-hover: 0 0 6px 1px rgba($primary-color,0.5);\n\n// Radius and transition speed for thumbs\n// $thumb-radius: $global-radius;\n// $thumb-transition-speed: 200ms;\n\n// 33. Tooltips\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-tooltip-classes: $include-html-classes;\n\n// $has-tip-border-bottom: dotted 1px $iron;\n// $has-tip-font-weight: $font-weight-bold;\n// $has-tip-font-color: $oil;\n// $has-tip-border-bottom-hover: dotted 1px scale-color($primary-color, $lightness: -55%);\n// $has-tip-font-color-hover: $primary-color;\n// $has-tip-cursor-type: help;\n\n// $tooltip-padding: rem-calc(12);\n// $tooltip-bg: $oil;\n// $tooltip-font-size: rem-calc(14);\n// $tooltip-font-weight: $font-weight-normal;\n// $tooltip-font-color: $white;\n// $tooltip-line-height: 1.3;\n// $tooltip-close-font-size: rem-calc(10);\n// $tooltip-close-font-weight: $font-weight-normal;\n// $tooltip-close-font-color: $monsoon;\n// $tooltip-font-size-sml: rem-calc(14);\n// $tooltip-radius: $global-radius;\n// $tooltip-rounded: $global-rounded;\n// $tooltip-pip-size: 5px;\n// $tooltip-max-width: 300px;\n\n// 34. Top Bar\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-top-bar-classes: $include-html-classes;\n\n// Background color for the top bar\n// $topbar-bg-color: $oil;\n// $topbar-bg: $topbar-bg-color;\n\n// Height and margin\n $topbar-height: rem-calc(30);\n// $topbar-margin-bottom: 0;\n\n// Controlling the styles for the title in the top bar\n// $topbar-title-weight: $font-weight-normal;\n// $topbar-title-font-size: rem-calc(17);\n\n// Set the link colors and styles for top-level nav\n// $topbar-link-color: $white;\n$topbar-link-color-hover: $dark-blue;\n$topbar-link-color-active: $dark-blue;\n$topbar-link-color-active-hover: $dark-blue;\n// $topbar-link-weight: $font-weight-normal;\n $topbar-link-font-size: rem-calc(20);\n// $topbar-link-hover-lightness: -10%; // Darken by 10%\n// $topbar-link-bg: $topbar-bg;\n// $topbar-link-bg-hover: $d-blue;\n// $topbar-link-bg-color-hover: $d-blue;\n$topbar-link-bg-active: $white;\n$topbar-link-bg-active-hover: transparent;\n// $topbar-link-font-family: $body-font-family;\n// $topbar-link-text-transform: none;\n// $topbar-link-padding: ($topbar-height / 3);\n// $topbar-back-link-size: rem-calc(18);\n $topbar-link-dropdown-padding: rem-calc(16);\n// $topbar-button-font-size: 0.75rem;\n// $topbar-button-top: 7px;\n\n// Style the top bar dropdown elements\n// $topbar-dropdown-bg: $white;\n// $topbar-dropdown-link-color: $black;\n// $topbar-dropdown-link-color-hover: $green;\n// $topbar-dropdown-link-bg: $white;\n// $topbar-dropdown-link-bg-hover: $white;\n// $topbar-dropdown-link-weight: $font-weight-normal;\n// $topbar-dropdown-toggle-size: 5px;\n// $topbar-dropdown-toggle-color: $white;\n// $topbar-dropdown-toggle-alpha: 0.4;\n\n// $topbar-dropdown-label-color: $monsoon;\n// $topbar-dropdown-label-text-transform: uppercase;\n// $topbar-dropdown-label-font-weight: $font-weight-bold;\n// $topbar-dropdown-label-font-size: rem-calc(10);\n// $topbar-dropdown-label-bg: $oil;\n\n// Top menu icon styles\n// $topbar-menu-link-transform: uppercase;\n// $topbar-menu-link-font-size: rem-calc(13);\n// $topbar-menu-link-weight: $font-weight-bold;\n// $topbar-menu-link-color: $white;\n// $topbar-menu-icon-color: $white;\n// $topbar-menu-link-color-toggled: $jumbo;\n// $topbar-menu-icon-color-toggled: $jumbo;\n// $topbar-menu-icon-position: $opposite-direction; // Change to $default-float for a left menu icon\n\n// Transitions and breakpoint styles\n// $topbar-transition-speed: 300ms;\n// Using rem-calc for the below breakpoint causes issues with top bar\n// $topbar-breakpoint: #{lower-bound($medium-range)}; // Change to 9999px for always mobile layout\n// $topbar-media-query: $medium-up;\n\n// Top-bar input styles\n// $topbar-input-height: rem-calc(28);\n\n// Divider Styles\n// $topbar-divider-border-bottom: solid 1px scale-color($topbar-bg-color, $lightness: 13%);\n// $topbar-divider-border-top: solid 1px scale-color($topbar-bg-color, $lightness: -50%);\n\n// Sticky Class\n$topbar-sticky-class: \".sticky\";\n $topbar-arrows: false; //Set false to remove the triangle icon from the menu item\n$topbar-dropdown-arrows: false; //Set false to remove the \\00bb >> text from dropdown subnavigation li// \n\n// 36. Visibility Classes\n// - - - - - - - - - - - - - - - - - - - - - - - - -\n\n// $include-html-visibility-classes: $include-html-classes;\n// $include-accessibility-classes: true;\n// $include-table-visibility-classes: true;\n// $include-legacy-visibility-classes: true;\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n// This is the default html and body font-size for the base rem value.\n$rem-base: 16px !default;\n\n// IMPORT ONCE\n// We use this to prevent styles from being loaded multiple times for components that rely on other components.\n$modules: () !default;\n\n@mixin exports($name) {\n  // Import from global scope\n  $modules: $modules !global;\n  // Check if a module is already on the list\n  $module_index: index($modules, $name);\n  @if (($module_index == null) or ($module_index == false)) {\n    $modules: append($modules, $name) !global;\n    @content;\n  }\n}\n\n//\n// @functions\n//\n\n\n// RANGES\n// We use these functions to define ranges for various things, like media queries.\n@function lower-bound($range) {\n  @if length($range) <= 0 {\n    @return 0;\n  }\n  @return nth($range, 1);\n}\n\n@function upper-bound($range) {\n  @if length($range) < 2 {\n    @return 999999999999;\n  }\n  @return nth($range, 2);\n}\n\n// STRIP UNIT\n// It strips the unit of measure and returns it\n@function strip-unit($num) {\n  @return $num / ($num * 0 + 1);\n}\n\n// TEXT INPUT TYPES\n\n@function text-inputs( $types: all, $selector: input ) {\n\n  $return: ();\n\n  $all-text-input-types:\n    text\n    password\n    date\n    datetime\n    datetime-local\n    month\n    week\n    email\n    number\n    search\n    tel\n    time\n    url\n    color\n    textarea;\n\n  @if $types == all { $types: $all-text-input-types; }\n\n  @each $type in $types {\n    @if $type == textarea {\n      @if $selector == input {\n        $return: append($return, unquote('#{$type}'), comma)\n      } @else {\n        $return: append($return, unquote('#{$type}#{$selector}'), comma)\n      }\n    } @else {\n      $return: append($return, unquote('#{$selector}[type=\"#{$type}\"]'), comma)\n    }\n  }\n\n    @return $return;\n\n}\n\n// CONVERT TO REM\n@function convert-to-rem($value, $base-value: $rem-base) {\n  $value: strip-unit($value) / strip-unit($base-value) * 1rem;\n  @if ($value == 0rem) { $value: 0; } // Turn 0rem into 0\n  @return $value;\n}\n\n@function data($attr) {\n  @if $namespace {\n    @return '[data-' + $namespace + '-' + $attr + ']';\n  }\n\n  @return '[data-' + $attr + ']';\n}\n\n// REM CALC\n\n// New Syntax, allows to optionally calculate on a different base value to counter compounding effect of rem's.\n// Call with 1, 2, 3 or 4 parameters, 'px' is not required but supported:\n//\n//   rem-calc(10 20 30px 40);\n//\n// Space delimited, if you want to delimit using comma's, wrap it in another pair of brackets\n//\n//   rem-calc((10, 20, 30, 40px));\n//\n// Optionally call with a different base (eg: 8px) to calculate rem.\n//\n//   rem-calc(16px 32px 48px, 8px);\n//\n// If you require to comma separate your list\n//\n//   rem-calc((16px, 32px, 48), 8px);\n\n@function rem-calc($values, $base-value: $rem-base) {\n  $max: length($values);\n\n  @if $max == 1 { @return convert-to-rem(nth($values, 1), $base-value); }\n\n  $remValues: ();\n  @for $i from 1 through $max {\n    $remValues: append($remValues, convert-to-rem(nth($values, $i), $base-value));\n  }\n  @return $remValues;\n}\n\n\n@function em-calc($values, $base-value: $rem-base) {\n  $remValues: rem-calc($values, $base-value: $rem-base);\n\n  $max: length($remValues);\n\n  @if $max == 1 { @return strip-unit(nth($remValues, 1)) * 1em; }\n\n  $emValues: ();\n  @for $i from 1 through $max {\n    $emValues: append($emValues, strip-unit(nth($remValues, $i)) * 1em);\n  }\n  @return $emValues;\n}\n\n\n// Deprecated: OLD EM CALC\n@function emCalc($values) {\n  @return em-calc($values);\n}\n","#content-wrapper {\n    @media #{$large-up}{\n        padding-top: 30px;\n    }\n}\n.content-button {\n    background-color: $orange;\n    border-radius: 4px;\n    color: white;\n    padding: 10px 20px;\n    &:hover {\n        background-color: $dark-blue;\n        color: white;\n        transition: all 0.5s ease-in-out;\n    }\n}","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n// Behold, here are all the Foundation components.\n@import 'foundation/components/grid';\n@import 'foundation/components/accordion';\n@import 'foundation/components/alert-boxes';\n@import 'foundation/components/block-grid';\n@import 'foundation/components/breadcrumbs';\n@import 'foundation/components/button-groups';\n@import 'foundation/components/buttons';\n@import 'foundation/components/clearing';\n@import 'foundation/components/dropdown';\n@import 'foundation/components/dropdown-buttons';\n@import 'foundation/components/flex-video';\n@import 'foundation/components/forms';\n@import 'foundation/components/icon-bar';\n@import 'foundation/components/inline-lists';\n@import 'foundation/components/joyride';\n@import 'foundation/components/keystrokes';\n@import 'foundation/components/labels';\n@import 'foundation/components/magellan';\n@import 'foundation/components/orbit';\n@import 'foundation/components/pagination';\n@import 'foundation/components/panels';\n@import 'foundation/components/pricing-tables';\n@import 'foundation/components/progress-bars';\n@import 'foundation/components/range-slider';\n@import 'foundation/components/reveal';\n@import 'foundation/components/side-nav';\n@import 'foundation/components/split-buttons';\n@import 'foundation/components/sub-nav';\n@import 'foundation/components/switches';\n@import 'foundation/components/tables';\n@import 'foundation/components/tabs';\n@import 'foundation/components/thumbs';\n@import 'foundation/components/tooltips';\n@import 'foundation/components/top-bar';\n@import 'foundation/components/type';\n@import 'foundation/components/offcanvas';\n@import 'foundation/components/visibility';\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-grid-classes: $include-html-classes !default;\n$include-xl-html-grid-classes: false !default;\n\n$row-width: rem-calc(1000) !default;\n$total-columns: 12 !default;\n\n$last-child-float: $opposite-direction !default;\n\n//\n// Grid Functions\n//\n\n// Deprecated: We'll drop support for this in 5.1, use grid-calc()\n@function gridCalc($colNumber, $totalColumns) {\n  @warn \"gridCalc() is deprecated, use grid-calc()\";\n  @return grid-calc($colNumber, $totalColumns);\n}\n\n// @FUNCTION\n// $colNumber - Found in settings file\n// $totalColumns - Found in settings file\n@function grid-calc($colNumber, $totalColumns) {\n  $result: percentage(($colNumber / $totalColumns));\n  @if $result == 0% { $result: 0; }\n  @return $result;\n}\n\n//\n// @mixins\n//\n\n// For creating container, nested, and collapsed rows.\n//\n//\n// $behavior - Any special behavior for this row? Default: false. Options: nest, collapse, nest-collapse, false.\n@mixin grid-row($behavior: false) {\n\n  // use @include grid-row(nest); to include a nested row\n  @if $behavior == nest {\n    margin: 0 (-($column-gutter/2));\n    max-width: none;\n    width: auto;\n  }\n\n  // use @include grid-row(collapse); to collapsed a container row margins\n  @else if $behavior == collapse {\n    margin: 0;\n    max-width: $row-width;\n    width: 100%;\n  }\n\n  // use @include grid-row(nest-collapse); to collapse outer margins on a nested row\n  @else if $behavior == nest-collapse {\n    margin: 0;\n    max-width: none;\n    width: auto;\n  }\n\n  // use @include grid-row; to use a container row\n  @else {\n    margin: 0 auto;\n    max-width: $row-width;\n    width: 100%;\n  }\n\n  // Clearfix for all rows\n  @include clearfix();\n}\n\n// Creates a column, should be used inside of a media query to control layouts\n//\n// $columns - The number of columns this should be\n// $last-column - Is this the last column? Default: false.\n// $center - Center these columns? Default: false.\n// $offset - # of columns to offset. Default: false.\n// $push - # of columns to push. Default: false.\n// $pull - # of columns to pull. Default: false.\n// $collapse - Get rid of gutter padding on column? Default: false.\n// $float - Should this float? Default: true. Options: true, false, left, right.\n@mixin grid-column(\n  $columns:false,\n  $last-column:false,\n  $center:false,\n  $offset:false,\n  $push:false,\n  $pull:false,\n  $collapse:false,\n  $float:true,\n  $position:false) {\n\n  // If positioned for default .column, include relative position\n  // push and pull require position set\n  @if $position or $push or $pull {\n    position: relative;\n  }\n\n  // If collapsed, get rid of gutter padding\n  @if $collapse {\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n  // Gutter padding whenever a column isn't set to collapse\n  // (use $collapse:null to do nothing)\n  @else if $collapse == false {\n    padding-left: ($column-gutter / 2);\n    padding-right: ($column-gutter / 2);\n  }\n\n  // If a column number is given, calculate width\n  @if $columns {\n    width: grid-calc($columns, $total-columns);\n\n    // If last column, float naturally instead of to the right\n    @if $last-column { float: $opposite-direction; }\n  }\n\n  // Source Ordering, adds left/right depending on which you use.\n  @if $push { #{$default-float}: grid-calc($push, $total-columns); #{$opposite-direction}: auto; }\n  @if $pull { #{$opposite-direction}: grid-calc($pull, $total-columns); #{$default-float}: auto; }\n\n  @if $float and $last-column == false {\n    @if $float == left or $float == true { float: $default-float; }\n    @else if $float == right { float: $opposite-direction; }\n    @else { float: none; }\n  }\n\n  // If centered, get rid of float and add appropriate margins\n  @if $center {\n    margin-#{$default-float}: auto;\n    margin-#{$opposite-direction}: auto;\n    float: none;\n  }\n\n  // If offset, calculate appropriate margins\n  @if $offset { margin-#{$default-float}: grid-calc($offset, $total-columns) !important; }\n\n}\n\n// Create presentational classes for grid\n//\n// $size - Name of class to use, i.e. \"large\" will generate .large-1, .large-2, etc.\n@mixin grid-html-classes($size) {\n\n  @for $i from 0 through $total-columns - 1 {\n    .#{$size}-push-#{$i} {\n      @include grid-column($push:$i, $collapse:null, $float:false);\n    }\n    .#{$size}-pull-#{$i} {\n      @include grid-column($pull:$i, $collapse:null, $float:false);\n    }\n  }\n\n  .column,\n  .columns { @include grid-column($columns:false, $position:true); }\n\n\n  @for $i from 1 through $total-columns {\n    .#{$size}-#{$i} { @include grid-column($columns:$i, $collapse:null, $float:false); }\n  }\n\n  @for $i from 0 through $total-columns - 1 {\n    .#{$size}-offset-#{$i} { @include grid-column($offset:$i, $collapse:null, $float:false); }\n  }\n\n  .#{$size}-reset-order {\n    float: $default-float;\n    left: auto;\n    margin-#{$default-float}: 0;\n    margin-#{$opposite-direction}: 0;\n    right: auto;\n  }\n\n  .column.#{$size}-centered,\n  .columns.#{$size}-centered { @include grid-column($center:true, $collapse:null, $float:false); }\n\n  .column.#{$size}-uncentered,\n  .columns.#{$size}-uncentered {\n    float: $default-float;\n    margin-#{$default-float}: 0;\n    margin-#{$opposite-direction}: 0;\n  }\n\n  // Fighting [class*=\"column\"] + [class*=\"column\"]:last-child\n  .column.#{$size}-centered:last-child,\n  .columns.#{$size}-centered:last-child{\n    float: none;\n  }\n\n  // Fighting .column.<previous-size>-centered:last-child\n  .column.#{$size}-uncentered:last-child,\n  .columns.#{$size}-uncentered:last-child {\n    float: $default-float;\n  }\n\n  .column.#{$size}-uncentered.opposite,\n  .columns.#{$size}-uncentered.opposite {\n    float: $opposite-direction;\n  }\n\n  .row {\n    &.#{$size}-collapse {\n      > .column,\n      > .columns { @include grid-column($collapse:true, $float:false); }\n\n      .row {margin-left:0; margin-right:0;}\n    }\n    &.#{$size}-uncollapse {\n      > .column,\n      > .columns {\n        @include grid-column;\n      }\n    }\n  }\n}\n\n@include exports(\"grid\") {\n  @if $include-html-grid-classes {\n    .row {\n      @include grid-row;\n\n      &.collapse {\n         > .column,\n         > .columns { @include grid-column($collapse:true, $float:false); }\n\n        .row {margin-left:0; margin-right:0;}\n      }\n\n      .row { @include grid-row($behavior:nest);\n        &.collapse { @include grid-row($behavior:nest-collapse); }\n      }\n    }\n\n    .column,\n    .columns { @include grid-column($columns:$total-columns); }\n\n    .column,\n    .columns {\n      & + &:last-child {\n        float: $last-child-float;\n      }\n      & + &.end {\n        float: $default-float;\n      }\n    }\n\n    @media #{$small-up} {\n      @include grid-html-classes($size:small);\n    }\n\n    @media #{$medium-up} {\n      @include grid-html-classes($size:medium);\n      // Old push and pull classes\n      @for $i from 0 through $total-columns - 1 {\n        .push-#{$i} {\n          @include grid-column($push:$i, $collapse:null, $float:false);\n        }\n        .pull-#{$i} {\n          @include grid-column($pull:$i, $collapse:null, $float:false);\n        }\n      }\n    }\n    @media #{$large-up} {\n      @include grid-html-classes($size:large);\n      @for $i from 0 through $total-columns - 1 {\n        .push-#{$i} {\n          @include grid-column($push:$i, $collapse:null, $float:false);\n        }\n        .pull-#{$i} {\n          @include grid-column($pull:$i, $collapse:null, $float:false);\n        }\n      }\n    }\n  }\n  @if $include-xl-html-grid-classes {\n    @media #{$xlarge-up} {\n      @include grid-html-classes($size:xlarge);\n    }\n    @media #{$xxlarge-up} {\n      @include grid-html-classes($size:xxlarge);\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import '../functions';\n//\n// Foundation Variables\n//\n\n// Data attribute namespace\n// styles get applied to [data-mysite-plugin], etc\n$namespace: false !default;\n\n// The default font-size is set to 100% of the browser style sheet (usually 16px)\n// for compatibility with browser-based text zoom or user-set defaults.\n\n// Since the typical default browser font-size is 16px, that makes the calculation for grid size.\n// If you want your base font-size to be different and not have it affect the grid breakpoints,\n// set $rem-base to $base-font-size and make sure $base-font-size is a px value.\n$base-font-size: 100% !default;\n\n// $base-line-height is 24px while $base-font-size is 16px\n$base-line-height: 1.5 !default;\n\n//\n// Global Foundation Mixins\n//\n\n// @mixins\n//\n// We use this to control border radius.\n// $radius - Default: $global-radius || 4px\n@mixin radius($radius:$global-radius) {\n  @if $radius {\n    border-radius: $radius;\n  }\n}\n\n// @mixins\n//\n// We use this to create equal side border radius on elements.\n// $side - Options: left, right, top, bottom\n@mixin side-radius($side, $radius:$global-radius) {\n  @if ($side == left or $side == right) {\n    -webkit-border-bottom-#{$side}-radius: $radius;\n    -webkit-border-top-#{$side}-radius: $radius;\n    border-bottom-#{$side}-radius: $radius;\n    border-top-#{$side}-radius: $radius;\n  } @else {\n    -webkit-#{$side}-left-radius: $radius;\n    -webkit-#{$side}-right-radius: $radius;\n    border-#{$side}-left-radius: $radius;\n    border-#{$side}-right-radius: $radius;\n  }\n}\n\n// @mixins\n//\n// We can control whether or not we have inset shadows edges.\n// $active - Default: true, Options: false\n@mixin inset-shadow($active:true) {\n  box-shadow: $shiny-edge-size $shiny-edge-color inset;\n\n  @if $active { &:active {\n    box-shadow: $shiny-edge-size $shiny-edge-active-color inset; } }\n}\n\n// @mixins\n//\n// We use this to add transitions to elements\n// $property - Default: all, Options: http://www.w3.org/TR/css3-transitions/#animatable-properties\n// $speed - Default: 300ms\n// $ease - Default: ease-out, Options: http://css-tricks.com/almanac/properties/t/transition-timing-function/\n@mixin single-transition($property:all, $speed:300ms, $ease:ease-out) {\n  @include transition($property, $speed, $ease);\n}\n\n// @mixins\n//\n// We use this to add single or multiple transitions to elements\n// $property - Default: all, Options: http://www.w3.org/TR/css3-transitions/#animatable-properties\n// $speed - Default: 300ms\n// $ease - Default: ease-out, Options: http://css-tricks.com/almanac/properties/t/transition-timing-function/\n// $delay - Default: null (0s)\n@mixin transition($property:all, $speed:300ms, $ease:ease-out, $delay:null) {\n  $transition: none;\n\n  @if length($property) > 1 {\n\n    @each $transition_list in $property {\n\n      @for $i from 1 through length($transition_list) {\n\n        @if $i == 1 {\n          $_property: nth($transition_list, $i);\n        }\n\n        @if length($transition_list) > 1 {\n          @if $i == 2 {\n            $_speed: nth($transition_list, $i);\n          }\n        } @else {\n          $_speed: $speed;\n        }\n\n        @if length($transition_list) > 2 {\n          @if $i == 3 {\n            $_ease: nth($transition_list, $i);\n          }\n        } @else {\n          $_ease: $ease;\n        }\n\n        @if length($transition_list) > 3 {\n          @if $i == 4 {\n            $_delay: nth($transition_list, $i);\n          }\n        } @else {\n          $_delay: $delay;\n        }\n      }\n\n      @if $transition == none {\n        $transition: $_property $_speed $_ease $_delay;\n      } @else {\n        $transition: $transition, $_property $_speed $_ease $_delay;\n      }\n    }\n  }\n  @else {\n\n    @each $prop in $property {\n\n      @if $transition == none {\n        $transition: $prop $speed $ease $delay;\n      } @else {\n        $transition: $transition, $prop $speed $ease $delay;\n      }\n    }\n  }\n\n  transition: $transition;\n}\n\n// @mixins\n//\n// We use this to add box-sizing across browser prefixes\n@mixin box-sizing($type:border-box) {\n  -webkit-box-sizing: $type; // Android < 2.3, iOS < 4\n     -moz-box-sizing: $type; // Firefox < 29\n          box-sizing: $type; // Chrome, IE 8+, Opera, Safari 5.1\n}\n\n// @mixins\n//\n// We use this to create isosceles triangles\n// $triangle-size - Used to set border-size. No default, set a px or em size.\n// $triangle-color - Used to set border-color which makes up triangle. No default\n// $triangle-direction - Used to determine which direction triangle points. Options: top, bottom, left, right\n@mixin css-triangle($triangle-size, $triangle-color, $triangle-direction) {\n  border: inset $triangle-size;\n  content: \"\";\n  display: block;\n  height: 0;\n  width: 0;\n  @if ($triangle-direction == top) {\n    border-color: $triangle-color transparent transparent transparent;\n    border-top-style: solid;\n  }\n  @if ($triangle-direction == bottom) {\n    border-color: transparent transparent $triangle-color transparent;\n    border-bottom-style: solid;\n  }\n  @if ($triangle-direction == left) {\n    border-color: transparent transparent transparent $triangle-color;\n    border-left-style: solid;\n  }\n  @if ($triangle-direction == right) {\n    border-color: transparent $triangle-color transparent transparent;\n    border-right-style: solid;\n  }\n}\n\n// @mixins\n//\n// We use this to create the icon with three lines aka the hamburger icon, the menu-icon or the navicon\n// $width - Width of hamburger icon in rem\n// $left - If false, icon will be centered horizontally || explicitly set value in rem\n// $top - If false, icon will be centered vertically || explicitly set value in rem\n// $thickness - thickness of lines in hamburger icon, set value in px\n// $gap - spacing between the lines in hamburger icon, set value in px\n// $color - icon color\n// $hover-color - icon color during hover\n// $offcanvas - Set to true of @include in offcanvas\n@mixin hamburger($width, $left, $top, $thickness, $gap, $color, $hover-color, $offcanvas) {\n  span::after {\n    content: \"\";\n    display: block;\n    height: 0;\n    position: absolute;\n\n    @if $offcanvas {\n      @if $top {\n        top: $top;\n      }\n      @else {\n        top: 50%;\n        margin-top: (-$width/2);\n      }\n      @if $left {\n        left: $left;\n      }\n      @else {\n        left: ($tabbar-menu-icon-width - $width)/2;\n      }\n    }\n    @else {\n      margin-top: -($width/2);\n      top: 50%;\n      #{$opposite-direction}: $topbar-link-padding;\n    }\n\n    box-shadow:\n      0 0 0 $thickness $color,\n      0 $gap + $thickness 0 $thickness $color,\n      0 (2 * $gap + 2*$thickness) 0 $thickness $color;\n    width: $width;\n  }\n  span:hover:after {\n    box-shadow:\n      0 0 0 $thickness $hover-color,\n      0 $gap + $thickness 0 $thickness $hover-color,\n      0 (2 * $gap + 2*$thickness) 0 $thickness $hover-color;\n  }\n}\n\n// We use this to do clear floats\n@mixin clearfix {\n  &:before, &:after { content: \" \"; display: table; }\n  &:after { clear: both; }\n}\n\n// @mixins\n//\n// We use this to add a glowing effect to block elements\n// $selector - Used for selector state. Default: focus, Options: hover, active, visited\n// $fade-time - Default: 300ms\n// $glowing-effect-color - Default: fade-out($primary-color, .25)\n@mixin block-glowing-effect($selector:focus, $fade-time:300ms, $glowing-effect-color:fade-out($primary-color, .25)) {\n  transition: box-shadow $fade-time, border-color $fade-time ease-in-out;\n\n  &:#{$selector} {\n    border-color: $glowing-effect-color;\n    box-shadow: 0 0 5px $glowing-effect-color;\n  }\n}\n\n// @mixins\n//\n// We use this to translate elements in 2D\n// $horizontal: Default: 0\n// $vertical: Default: 0\n@mixin translate2d($horizontal:0, $vertical:0) {\n  transform: translate($horizontal, $vertical)\n}\n\n// @mixins\n//\n// Makes an element visually hidden, but accessible.\n// @see http://snook.ca/archives/html_and_css/hiding-content-for-accessibility\n@mixin element-invisible {\n  clip: rect(1px, 1px, 1px, 1px);\n  height: 1px;\n  overflow: hidden;\n  position: absolute !important;\n  width: 1px;\n}\n\n// @mixins\n//\n// Turns off the element-invisible effect.\n@mixin element-invisible-off {\n  position: static !important;\n  height: auto;\n  width: auto;\n  overflow: visible;\n  clip: auto;\n}\n\n$white         : #FFFFFF !default;\n$ghost         : #FAFAFA !default;\n$snow          : #F9F9F9 !default;\n$vapor         : #F6F6F6 !default;\n$white-smoke   : #F5F5F5 !default;\n$silver        : #EFEFEF !default;\n$smoke         : #EEEEEE !default;\n$gainsboro     : #DDDDDD !default;\n$iron          : #CCCCCC !default;\n$base          : #AAAAAA !default;\n$aluminum      : #999999 !default;\n$jumbo         : #888888 !default;\n$monsoon       : #777777 !default;\n$steel         : #666666 !default;\n$charcoal      : #555555 !default;\n$tuatara       : #444444 !default;\n$oil           : #333333 !default;\n$jet           : #222222 !default;\n$black         : #000000 !default;\n\n// We use these as default colors throughout\n$primary-color: #008CBA !default;   // bondi-blue\n$secondary-color: #e7e7e7 !default; // white-lilac\n$alert-color: #f04124 !default;     // cinnabar\n$success-color: #43AC6A !default;   // sea-green\n$warning-color: #f08a24 !default;   // carrot\n$info-color: #a0d3e8 !default;      // cornflower\n\n// We use these to define default font stacks\n$font-family-sans-serif: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !default;\n$font-family-serif: Georgia, Cambria, \"Times New Roman\", Times, serif !default;\n$font-family-monospace: Consolas, \"Liberation Mono\", Courier, monospace !default;\n\n// We use these to define default font weights\n$font-weight-normal: normal !default;\n$font-weight-bold: bold !default;\n\n// We use these to control various global styles\n$body-bg: #fff !default;\n$body-font-color: #222 !default;\n$body-font-family: $font-family-sans-serif !default;\n$body-font-weight: $font-weight-normal !default;\n$body-font-style: normal !default;\n\n// We use this to control font-smoothing\n$font-smoothing: antialiased !default;\n\n// We use these to control text direction settings\n$text-direction: ltr !default;\n$default-float: left !default;\n$opposite-direction: right !default;\n@if $text-direction == ltr {\n  $default-float: left;\n  $opposite-direction: right;\n} @else {\n  $default-float: right;\n  $opposite-direction: left;\n}\n\n// We use these to make sure border radius matches unless we want it different.\n$global-radius: 3px !default;\n$global-rounded: 1000px !default;\n\n// We use these to control inset shadow shiny edges and depressions.\n$shiny-edge-size: 0 1px 0 !default;\n$shiny-edge-color: rgba(#fff, .5) !default;\n$shiny-edge-active-color: rgba(#000, .2) !default;\n\n// We use this to control whether or not CSS classes come through in the gem files.\n$include-html-classes: true !default;\n$include-print-styles: true !default;\n$include-js-meta-styles: true !default; // Warning! Meta styles are a dependancy of the Javascript.\n$include-html-global-classes: $include-html-classes !default;\n\n$column-gutter: rem-calc(30) !default;\n\n// Media Query Ranges\n$small-breakpoint:  em-calc(640)  !default;\n$medium-breakpoint: em-calc(1024) !default;\n$large-breakpoint:  em-calc(1440) !default;\n$xlarge-breakpoint: em-calc(1920) !default;\n\n$small-range:   (0, $small-breakpoint) !default;\n$medium-range:  ($small-breakpoint  + em-calc(1), $medium-breakpoint) !default;\n$large-range:   ($medium-breakpoint + em-calc(1), $large-breakpoint)  !default;\n$xlarge-range:  ($large-breakpoint  + em-calc(1), $xlarge-breakpoint) !default;\n$xxlarge-range: ($xlarge-breakpoint + em-calc(1), em-calc(99999999)) !default;\n\n$screen: \"only screen\" !default;\n\n$landscape: \"#{$screen} and (orientation: landscape)\" !default;\n$portrait: \"#{$screen} and (orientation: portrait)\" !default;\n\n$small-up: $screen !default;\n$small-only: \"#{$screen} and (max-width: #{upper-bound($small-range)})\" !default;\n\n$medium-up: \"#{$screen} and (min-width:#{lower-bound($medium-range)})\" !default;\n$medium-only: \"#{$screen} and (min-width:#{lower-bound($medium-range)}) and (max-width:#{upper-bound($medium-range)})\" !default;\n\n$large-up: \"#{$screen} and (min-width:#{lower-bound($large-range)})\" !default;\n$large-only: \"#{$screen} and (min-width:#{lower-bound($large-range)}) and (max-width:#{upper-bound($large-range)})\" !default;\n\n$xlarge-up: \"#{$screen} and (min-width:#{lower-bound($xlarge-range)})\" !default;\n$xlarge-only: \"#{$screen} and (min-width:#{lower-bound($xlarge-range)}) and (max-width:#{upper-bound($xlarge-range)})\" !default;\n\n$xxlarge-up: \"#{$screen} and (min-width:#{lower-bound($xxlarge-range)})\" !default;\n$xxlarge-only: \"#{$screen} and (min-width:#{lower-bound($xxlarge-range)}) and (max-width:#{upper-bound($xxlarge-range)})\" !default;\n\n$retina: (\n  \"#{$screen} and (-webkit-min-device-pixel-ratio: 2)\",\n  \"#{$screen} and (min--moz-device-pixel-ratio: 2)\",\n  \"#{$screen} and (-o-min-device-pixel-ratio: 2/1)\",\n  \"#{$screen} and (min-device-pixel-ratio: 2)\",\n  \"#{$screen} and (min-resolution: 192dpi)\",\n  \"#{$screen} and (min-resolution: 2dppx)\"\n);\n\n// Legacy\n$small: $small-up;\n$medium: $medium-up;\n$large: $large-up;\n\n\n//We use this as cursors values for enabling the option of having custom cursors in the whole site's stylesheet\n$cursor-auto-value: auto !default;\n$cursor-crosshair-value: crosshair !default;\n$cursor-default-value: default !default;\n$cursor-disabled-value: not-allowed !default;\n$cursor-pointer-value: pointer !default;\n$cursor-help-value: help !default;\n$cursor-text-value: text !default;\n\n\n@include exports(\"global\") {\n\n  // Meta styles are a dependancy of the Javascript.\n  // Used to provide media query values for javascript components.\n  // Forward slash placed around everything to convince PhantomJS to read the value.\n\n  @if $include-js-meta-styles {\n\n    meta.foundation-version {\n      font-family: \"/5.5.3/\";\n    }\n\n    meta.foundation-mq-small {\n      font-family: \"/\" + unquote($small-up) + \"/\";\n      width: lower-bound($small-range);\n    }\n\n    meta.foundation-mq-small-only {\n      font-family: \"/\" + unquote($small-only) + \"/\";\n      width: lower-bound($small-range);\n    }\n\n    meta.foundation-mq-medium {\n      font-family: \"/\" + unquote($medium-up) + \"/\";\n      width: lower-bound($medium-range);\n    }\n\n    meta.foundation-mq-medium-only {\n      font-family: \"/\" + unquote($medium-only) + \"/\";\n      width: lower-bound($medium-range);\n    }\n\n    meta.foundation-mq-large {\n      font-family: \"/\" + unquote($large-up) + \"/\";\n      width: lower-bound($large-range);\n    }\n\n    meta.foundation-mq-large-only {\n      font-family: \"/\" + unquote($large-only) + \"/\";\n      width: lower-bound($large-range);\n    }\n\n    meta.foundation-mq-xlarge {\n      font-family: \"/\" + unquote($xlarge-up) + \"/\";\n      width: lower-bound($xlarge-range);\n    }\n\n    meta.foundation-mq-xlarge-only {\n      font-family: \"/\" + unquote($xlarge-only) + \"/\";\n      width: lower-bound($xlarge-range);\n    }\n\n    meta.foundation-mq-xxlarge {\n      font-family: \"/\" + unquote($xxlarge-up) + \"/\";\n      width: lower-bound($xxlarge-range);\n    }\n\n    meta.foundation-data-attribute-namespace {\n      font-family: #{$namespace};\n    }\n\n  }\n\n  @if $include-html-global-classes {\n\n    // Must be 100% for off canvas to work\n    html, body { height: 100%; }\n\n    // Set box-sizing globally to handle padding and border widths\n    *,\n    *:before,\n    *:after {\n      @include box-sizing(border-box);\n    }\n\n    html,\n    body { font-size: $base-font-size; }\n\n    // Default body styles\n    body {\n      background: $body-bg;\n      color: $body-font-color;\n      cursor: $cursor-auto-value;\n      font-family: $body-font-family;\n      font-style: $body-font-style;\n      font-weight: $body-font-weight;\n      line-height: $base-line-height; // Set to $base-line-height to take on browser default of 150%\n      margin: 0;\n      padding: 0;\n      position: relative;\n    }\n\n  a:hover { cursor: $cursor-pointer-value; }\n\n    // Grid Defaults to get images and embeds to work properly\n    img { max-width: 100%; height: auto; }\n\n    img { -ms-interpolation-mode: bicubic; }\n\n    #map_canvas,\n    .map_canvas,\n    .mqa-display {\n      img,\n      embed,\n      object { max-width: none !important;\n      }\n    }\n\n    // Miscellaneous useful HTML classes\n    .left { float: left !important; }\n    .right { float: right !important; }\n    .clearfix { @include clearfix; }\n\n    // Hide visually and from screen readers\n    .hide {\n      display: none;\n    }\n\n    // Hide visually and from screen readers, but maintain layout\n    .invisible { visibility: hidden; }\n\n    // Font smoothing\n    // Antialiased font smoothing works best for light text on a dark background.\n    // Apply to single elements instead of globally to body.\n    // Note this only applies to webkit-based desktop browsers and Firefox 25 (and later) on the Mac.\n    .antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }\n\n    // Get rid of gap under images by making them display: inline-block; by default\n    img {\n      display: inline-block;\n      vertical-align: middle;\n    }\n\n    //\n    // Global resets for forms\n    //\n\n    // Make sure textarea takes on height automatically\n    textarea { height: auto; min-height: 50px; }\n\n    // Make select elements 100% width by default\n    select { width: 100%; }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n// This is the default html and body font-size for the base rem value.\n$rem-base: 16px !default;\n\n// IMPORT ONCE\n// We use this to prevent styles from being loaded multiple times for components that rely on other components.\n$modules: () !default;\n\n@mixin exports($name) {\n  // Import from global scope\n  $modules: $modules !global;\n  // Check if a module is already on the list\n  $module_index: index($modules, $name);\n  @if (($module_index == null) or ($module_index == false)) {\n    $modules: append($modules, $name) !global;\n    @content;\n  }\n}\n\n//\n// @functions\n//\n\n\n// RANGES\n// We use these functions to define ranges for various things, like media queries.\n@function lower-bound($range) {\n  @if length($range) <= 0 {\n    @return 0;\n  }\n  @return nth($range, 1);\n}\n\n@function upper-bound($range) {\n  @if length($range) < 2 {\n    @return 999999999999;\n  }\n  @return nth($range, 2);\n}\n\n// STRIP UNIT\n// It strips the unit of measure and returns it\n@function strip-unit($num) {\n  @return $num / ($num * 0 + 1);\n}\n\n// TEXT INPUT TYPES\n\n@function text-inputs( $types: all, $selector: input ) {\n\n  $return: ();\n\n  $all-text-input-types:\n    text\n    password\n    date\n    datetime\n    datetime-local\n    month\n    week\n    email\n    number\n    search\n    tel\n    time\n    url\n    color\n    textarea;\n\n  @if $types == all { $types: $all-text-input-types; }\n\n  @each $type in $types {\n    @if $type == textarea {\n      @if $selector == input {\n        $return: append($return, unquote('#{$type}'), comma)\n      } @else {\n        $return: append($return, unquote('#{$type}#{$selector}'), comma)\n      }\n    } @else {\n      $return: append($return, unquote('#{$selector}[type=\"#{$type}\"]'), comma)\n    }\n  }\n\n    @return $return;\n\n}\n\n// CONVERT TO REM\n@function convert-to-rem($value, $base-value: $rem-base) {\n  $value: strip-unit($value) / strip-unit($base-value) * 1rem;\n  @if ($value == 0rem) { $value: 0; } // Turn 0rem into 0\n  @return $value;\n}\n\n@function data($attr) {\n  @if $namespace {\n    @return '[data-' + $namespace + '-' + $attr + ']';\n  }\n\n  @return '[data-' + $attr + ']';\n}\n\n// REM CALC\n\n// New Syntax, allows to optionally calculate on a different base value to counter compounding effect of rem's.\n// Call with 1, 2, 3 or 4 parameters, 'px' is not required but supported:\n//\n//   rem-calc(10 20 30px 40);\n//\n// Space delimited, if you want to delimit using comma's, wrap it in another pair of brackets\n//\n//   rem-calc((10, 20, 30, 40px));\n//\n// Optionally call with a different base (eg: 8px) to calculate rem.\n//\n//   rem-calc(16px 32px 48px, 8px);\n//\n// If you require to comma separate your list\n//\n//   rem-calc((16px, 32px, 48), 8px);\n\n@function rem-calc($values, $base-value: $rem-base) {\n  $max: length($values);\n\n  @if $max == 1 { @return convert-to-rem(nth($values, 1), $base-value); }\n\n  $remValues: ();\n  @for $i from 1 through $max {\n    $remValues: append($remValues, convert-to-rem(nth($values, $i), $base-value));\n  }\n  @return $remValues;\n}\n\n\n@function em-calc($values, $base-value: $rem-base) {\n  $remValues: rem-calc($values, $base-value: $rem-base);\n\n  $max: length($remValues);\n\n  @if $max == 1 { @return strip-unit(nth($remValues, 1)) * 1em; }\n\n  $emValues: ();\n  @for $i from 1 through $max {\n    $emValues: append($emValues, strip-unit(nth($remValues, $i)) * 1em);\n  }\n  @return $emValues;\n}\n\n\n// Deprecated: OLD EM CALC\n@function emCalc($values) {\n  @return em-calc($values);\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n\n$include-html-accordion-classes: $include-html-classes !default;\n\n$accordion-navigation-padding: rem-calc(16) !default;\n$accordion-navigation-bg-color: $silver !default;\n$accordion-navigation-hover-bg-color: scale-color($accordion-navigation-bg-color, $lightness: -5%) !default;\n$accordion-navigation-active-bg-color: scale-color($accordion-navigation-bg-color, $lightness: -3%) !default;\n$accordion-navigation-active-font-color: $jet !default;\n$accordion-navigation-font-color: $jet !default;\n$accordion-navigation-font-size: rem-calc(16) !default;\n$accordion-navigation-font-family: $body-font-family !default;\n\n$accordion-content-padding: ($column-gutter/2) !default;\n$accordion-content-active-bg-color: $white !default;\n\n\n//  Mixin: accordion-container()\n//  Decription: Responsible for the container component of accordions, generating styles relating to a margin of zero and a clearfix\n//  Explicit Dependencies: a clearfix mixin *is* defined.\n//  Implicit Dependencies: None\n\n@mixin accordion-container() {\n  @include clearfix;\n  margin-bottom: 0;\n}\n\n//  Mixin: accordion-navigation( $bg, $hover-bg, $active-bg, $padding, $active_class,  $font-color, $font-size, $font-family) {\n//    @params $bg-color: [ color or string ]: Specify the background color for the navigation element\n//    @params $hover-bg-color [ color or string ]: Specify the background color for the navigation element when hovered\n//    @params $active-bg [ color or string ]: Specify the background color for the navigation element when clicked and not released.\n//    @params $active_class [ string ]: Specify the class name used to keep track of which accordion tab should be visible\n//    @params $font-color [ color or string ]: Color of the font for accordion\n//    @params $font-size [ number ]: Specifiy the font-size of the text inside the navigation element\n//    @params $font-family [ string ]: Specify the font family for the text of the navigation of the accorion\n//    @params $active-font [ color or string ]: Specify the font color for the navigation element when active.\n\n@mixin accordion-navigation( $bg: $accordion-navigation-bg-color, $hover-bg: $accordion-navigation-hover-bg-color, $active-bg: $accordion-navigation-active-bg-color, $padding: $accordion-navigation-padding, $active_class: 'active',  $font-color: $accordion-navigation-font-color, $font-size: $accordion-navigation-font-size, $font-family: $accordion-navigation-font-family, $active-font: $accordion-navigation-active-font-color ) {\n  display: block;\n  margin-bottom: 0 !important;\n  @if type-of($active_class) != \"string\" {\n    @warn \"`#{$active_class}` isn't a valid string. A valid string is needed to correctly be interpolated as a CSS class. CSS classes cannot start with a number or consist of only numbers. CSS will not be generated for the active state of this navigation component.\"\n  }\n  @else {\n    &.#{ $active_class } > a {\n      background: $active-bg;\n      color: $active-font;\n    }\n  }\n  > a {\n    background: $bg;\n    color: $font-color;\n    @if type-of($padding) != number {\n      @warn \"`#{$padding}` was read as #{type-of($padding)}\";\n      @if $accordion-navigation-padding != null {\n        @warn \"#{$padding} was read as a #{type-of($padding)}\";\n        @warn \"`#{$padding}` isn't a valid number. $accordion-navigation-padding (#{$accordion-navigation-padding}) will be used instead.)\";\n        padding: $accordion-navigation-padding;\n      }\n      @else {\n        @warn \"`#{$padding}` isn't a valid number and $accordion-navigation-padding is missing. A value of `null` is returned to not output an invalid value for padding\";\n        padding: null;\n      }\n    }\n    @else {\n      padding: $padding;\n    }\n    display: block;\n    font-family: $font-family;\n    @if type-of($font-size) != number {\n      @warn \"`#{$font-size}` was read as a #{type-of($font-size)}\";\n      @if $accordion-navigation-font-size != null {\n        @warn \"`#{$font-size}` is not a valid number. The value of $accordion-navigation-font-size will be used instead (#{$accordion-navigation-font-size}).\";\n        font-size: $accordion-navigation-font-size;\n      }\n      @else{\n        @warn \"`#{$font-size}` is not a valid number and the default value of $accordion-navigation-font-size is not defined. A value of `null` will be returned to not generate an invalid value for font-size.\";\n        font-size: null;\n\n      }\n    }\n    @else {\n      font-size: $font-size;\n    }\n    &:hover {\n      background: $hover-bg;\n    }\n  }\n}\n\n//  Mixin: accordion-content($bg, $padding, $active-class)\n//    @params $padding [ number ]: Padding for the content of the container\n//    @params $bg [ color  ]: Background color for the content when it's visible\n//    @params $active_class [ string ]: Class name used to keep track of which accordion tab should be visible.\n\n@mixin accordion-content($bg: $accordion-content-active-bg-color, $padding: $accordion-content-padding, $active_class: 'active') {\n  display: none;\n  @if type-of($padding) != \"number\" {\n    @warn \"#{$padding} was read as a #{type-of($padding)}\";\n    @if $accordion-content-padding != null {\n      @warn \"`#{$padding}` isn't a valid number. $accordion-content-padding used instead\";\n      padding: $accordion-content-padding;\n    } @else {\n      @warn \"`#{$padding}` isn't a valid number and the default value of $accordion-content-padding is not defined. A value of `null` is returned to not output an invalid value for padding.\";\n      padding: null;\n    }\n  } @else {\n    padding: $padding;\n  }\n\n  @if type-of($active_class) != \"string\" {\n    @warn \"`#{$active_class}` isn't a valid string. A valid string is needed to correctly be interpolated as a CSS class. CSS classes cannot start with a number or consist of only numbers. CSS will not be generated for the active state of the content. \"\n  }\n  @else {\n    &.#{$active_class} {\n      background: $bg;\n      display: block;\n    }\n  }\n}\n\n@include exports(\"accordion\") {\n  @if $include-html-accordion-classes {\n    .accordion {\n      @include clearfix;\n      margin-bottom: 0;\n      margin-left: 0;\n      .accordion-navigation, dd {\n        display: block;\n        margin-bottom: 0 !important;\n        &.active > a { background: $accordion-navigation-active-bg-color; color: $accordion-navigation-active-font-color; }\n        > a {\n          background: $accordion-navigation-bg-color;\n          color: $accordion-navigation-font-color;\n          display: block;\n          font-family: $accordion-navigation-font-family;\n          font-size: $accordion-navigation-font-size;\n          padding: $accordion-navigation-padding;\n          &:hover { background: $accordion-navigation-hover-bg-color; }\n        }\n\n        > .content {\n          display: none;\n          padding: $accordion-content-padding;\n          &.active {\n            background: $accordion-content-active-bg-color;\n            display: block;\n          }\n        }\n      }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// Alert Box Variables\n//\n$include-html-alert-classes: $include-html-classes !default;\n\n// We use this to control alert padding.\n$alert-padding-top: rem-calc(14) !default;\n$alert-padding-default-float: $alert-padding-top !default;\n$alert-padding-opposite-direction: $alert-padding-top + rem-calc(10) !default;\n$alert-padding-bottom: $alert-padding-top !default;\n\n// We use these to control text style.\n$alert-font-weight: $font-weight-normal !default;\n$alert-font-size: rem-calc(13) !default;\n$alert-font-color: $white !default;\n$alert-font-color-alt: scale-color($secondary-color, $lightness: -66%) !default;\n\n// We use this for close hover effect.\n$alert-function-factor: -14% !default;\n\n// We use these to control border styles.\n$alert-border-style: solid !default;\n$alert-border-width: 1px !default;\n$alert-border-color: scale-color($primary-color, $lightness: $alert-function-factor) !default;\n$alert-bottom-margin: rem-calc(20) !default;\n\n// We use these to style the close buttons\n$alert-close-color: $oil !default;\n$alert-close-top: 50% !default;\n$alert-close-position: rem-calc(4) !default;\n$alert-close-font-size: rem-calc(22) !default;\n$alert-close-opacity: .3 !default;\n$alert-close-opacity-hover: .5 !default;\n$alert-close-padding: 0 6px 4px !default;\n$alert-close-background: inherit !default;\n\n// We use this to control border radius\n$alert-radius: $global-radius !default;\n\n$alert-transition-speed: 300ms !default;\n$alert-transition-ease: ease-out !default;\n\n//\n// Alert Mixins\n//\n\n// We use this mixin to create a default alert base.\n@mixin alert-base {\n  border-style: $alert-border-style;\n  border-width: $alert-border-width;\n  display: block;\n  font-size: $alert-font-size;\n  font-weight: $alert-font-weight;\n  margin-bottom: $alert-bottom-margin;\n  padding: $alert-padding-top $alert-padding-opposite-direction $alert-padding-bottom $alert-padding-default-float;\n  position: relative;\n  @include single-transition(opacity, $alert-transition-speed, $alert-transition-ease)\n}\n\n// We use this mixin to add alert styles\n//\n// $bg - The background of the alert. Default: $primary-color.\n@mixin alert-style($bg:$primary-color) {\n\n  // This finds the lightness percentage of the background color.\n  $bg-lightness: lightness($bg);\n\n  // We control which background color and border come through.\n  background-color: $bg;\n  border-color: scale-color($bg, $lightness: $alert-function-factor);\n\n  // We control the text color for you based on the background color.\n  @if $bg-lightness > 70% { color: $alert-font-color-alt; }\n  @else                   { color: $alert-font-color; }\n\n}\n\n// We use this to create the close button.\n@mixin alert-close {\n  #{$opposite-direction}: $alert-close-position;\n  background: $alert-close-background;\n  color: $alert-close-color;\n  font-size: $alert-close-font-size;\n  line-height: .9;\n  margin-top: -($alert-close-font-size / 2);\n  opacity: $alert-close-opacity;\n  padding: $alert-close-padding;\n  position: absolute;\n  top: $alert-close-top;\n  &:hover,\n  &:focus { opacity: $alert-close-opacity-hover; }\n}\n\n// We use this to quickly create alerts with a single mixin.\n//\n// $bg - Background of alert. Default: $primary-color.\n// $radius - Radius of alert box. Default: false.\n@mixin alert($bg:$primary-color, $radius:false) {\n  @include alert-base;\n  @include alert-style($bg);\n  @include radius($radius);\n}\n\n@include exports(\"alert-box\") {\n  @if $include-html-alert-classes {\n    .alert-box {\n      @include alert;\n\n      .close      { @include alert-close; }\n\n      &.radius    { @include radius($alert-radius); }\n      &.round     { @include radius($global-rounded); }\n\n      &.success   { @include alert-style($success-color); }\n      &.alert     { @include alert-style($alert-color); }\n      &.secondary { @include alert-style($secondary-color); }\n      &.warning { @include alert-style($warning-color); }\n      &.info { @include alert-style($info-color); }\n      &.alert-close { opacity: 0}\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// Block Grid Variables\n//\n$include-html-block-grid-classes: $include-html-classes !default;\n$include-xl-html-block-grid-classes: false !default;\n\n// We use this to control the maximum number of block grid elements per row\n$block-grid-elements: 12 !default;\n$block-grid-default-spacing: rem-calc(20) !default;\n\n$align-block-grid-to-grid: false !default;\n@if $align-block-grid-to-grid {\n  $block-grid-default-spacing: $column-gutter;\n}\n\n// Enables media queries for block-grid classes. Set to false if writing semantic HTML.\n$block-grid-media-queries: true !default;\n\n//\n// Block Grid Mixins\n//\n\n// Create a custom block grid\n//\n// $per-row - # of items to display per row. Default: false.\n// $spacing - # of ems to use as padding on each block item. Default: rem-calc(20).\n// $include-spacing - Adds padding to our list item. Default: true.\n// $base-style - Apply a base style to block grid. Default: true.\n@mixin block-grid(\n  $per-row:false,\n  $spacing:$block-grid-default-spacing,\n  $include-spacing:true,\n  $base-style:true) {\n\n  @if $base-style {\n    display: block;\n    padding: 0;\n    @if $align-block-grid-to-grid {\n      margin: 0;\n    } @else {\n      margin: 0 (-$spacing/2);\n    }\n    @include clearfix;\n\n    > li {\n      display: block;\n      float: $default-float;\n      height: auto;\n      @if $include-spacing {\n        padding: 0 ($spacing/2) $spacing;\n      }\n    }\n  }\n\n  @if $per-row {\n    > li {\n      list-style: none;\n      @if $include-spacing {\n        padding: 0 ($spacing/2) $spacing;\n      }\n      width: 100%/$per-row;\n\n      &:nth-of-type(1n) { clear: none; }\n      &:nth-of-type(#{$per-row}n+1) { clear: both; }\n      @if $align-block-grid-to-grid {\n        @include block-grid-aligned($per-row, $spacing);\n      }\n    }\n  }\n}\n\n@mixin block-grid-aligned($per-row, $spacing) {\n  @for $i from 1 through $block-grid-elements {\n    @if $per-row >= $i {\n      $grid-column: '+' + $i;\n      @if $per-row == $i {\n        $grid-column: '';\n      }\n      &:nth-of-type(#{$per-row}n#{unquote($grid-column)}) {\n        padding-left: ($spacing - (($spacing / $per-row) * ($per-row - ($i - 1))));\n        padding-right: ($spacing - (($spacing / $per-row) * $i));\n      }\n    }\n  }\n}\n\n// Generate presentational markup for block grid.\n//\n// $size - Name of class to use, i.e. \"large\" will generate .large-block-grid-1, .large-block-grid-2, etc.\n@mixin block-grid-html-classes($size, $include-spacing) {\n  @for $i from 1 through $block-grid-elements {\n    .#{$size}-block-grid-#{($i)} {\n      @include block-grid($i, $block-grid-default-spacing, $include-spacing, false);\n    }\n  }\n}\n\n@include exports(\"block-grid\") {\n  @if $include-html-block-grid-classes {\n\n    [class*=\"block-grid-\"] { @include block-grid; }\n\n    @if $block-grid-media-queries {\n      @media #{$small-up} {\n        @include block-grid-html-classes($size:small, $include-spacing:false);\n      }\n\n      @media #{$medium-up} {\n        @include block-grid-html-classes($size:medium, $include-spacing:false);\n      }\n\n      @media #{$large-up} {\n        @include block-grid-html-classes($size:large, $include-spacing:false);\n      }\n\n      @if $include-xl-html-block-grid-classes {\n        @media #{$xlarge-up} {\n          @include block-grid-html-classes($size:xlarge, $include-spacing:false);\n        }\n\n        @media #{$xxlarge-up} {\n          @include block-grid-html-classes($size:xxlarge, $include-spacing:false);\n        }\n      }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// Breadcrumb Variables\n//\n$include-html-nav-classes: $include-html-classes !default;\n\n// We use this to set the background color for the breadcrumb container.\n$crumb-bg: scale-color($secondary-color, $lightness: 55%) !default;\n\n// We use these to set the padding around the breadcrumbs.\n$crumb-padding: rem-calc(9 14 9) !default;\n$crumb-side-padding: rem-calc(12) !default;\n\n// We use these to control border styles.\n$crumb-function-factor: -10% !default;\n$crumb-border-size: 1px !default;\n$crumb-border-style: solid !default;\n$crumb-border-color: scale-color($crumb-bg, $lightness: $crumb-function-factor) !default;\n$crumb-radius: $global-radius !default;\n\n// We use these to set various text styles for breadcrumbs.\n$crumb-font-size: rem-calc(11) !default;\n$crumb-font-color: $primary-color !default;\n$crumb-font-color-current: $oil !default;\n$crumb-font-color-unavailable: $aluminum !default;\n$crumb-font-transform: uppercase !default;\n$crumb-link-decor: underline !default;\n\n// We use these to control the slash between breadcrumbs\n$crumb-slash-color: $base !default;\n$crumb-slash: \"/\" !default;\n$crumb-slash-position: 1px !default;\n\n//\n// Breadcrumb Mixins\n//\n\n// We use this mixin to create a container around our breadcrumbs\n@mixin crumb-container {\n  border-style: $crumb-border-style;\n  border-width: $crumb-border-size;\n  display: block;\n  list-style: none;\n  margin-#{$default-float}: 0;\n  overflow: hidden;\n  padding: $crumb-padding;\n\n  // We control which background color and border come through.\n  background-color: $crumb-bg;\n  border-color: $crumb-border-color;\n}\n\n// We use this mixin to create breadcrumb styles from list items.\n@mixin crumbs {\n\n  // A normal state will make the links look and act like clickable breadcrumbs.\n  color: $crumb-font-color;\n  float: $default-float;\n  font-size: $crumb-font-size;\n  line-height: $crumb-font-size;\n  margin: 0;\n  text-transform: $crumb-font-transform;\n\n  &:hover a, &:focus a { text-decoration: $crumb-link-decor; }\n\n  a {\n    color: $crumb-font-color;\n  }\n\n  // Current is for the link of the current page\n  &.current {\n    color: $crumb-font-color-current;\n    cursor: $cursor-default-value;\n    a {\n      color: $crumb-font-color-current;\n      cursor: $cursor-default-value;\n    }\n\n    &:hover, &:hover a,\n    &:focus, &:focus a { text-decoration: none; }\n  }\n\n  // Unavailable removed color and link styles so it looks inactive.\n  &.unavailable {\n    color: $crumb-font-color-unavailable;\n    a { color: $crumb-font-color-unavailable; }\n\n    &:hover,\n    &:hover a,\n    &:focus,\n    a:focus {\n      color: $crumb-font-color-unavailable;\n      cursor: $cursor-disabled-value;\n      text-decoration: none;\n    }\n  }\n\n  &:before {\n    color: $crumb-slash-color;\n    content: \"#{$crumb-slash}\";\n    margin: 0 $crumb-side-padding;\n    position: relative;\n    top: $crumb-slash-position;\n  }\n\n  &:first-child:before {\n    content: \" \";\n    margin: 0;\n  }\n}\n\n@include exports(\"breadcrumbs\") {\n  @if $include-html-nav-classes {\n    .breadcrumbs {\n      @include crumb-container;\n      @include radius($crumb-radius);\n\n      > * {\n        @include crumbs;\n      }\n    }\n    /* Accessibility - hides the forward slash */\n    [aria-label=\"breadcrumbs\"] [aria-hidden=\"true\"]:after {\n      content: \"/\";\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n@import 'buttons';\n\n//\n// Button Group Variables\n//\n$include-html-button-classes: $include-html-classes !default;\n\n// Sets the margin for the right side by default, and the left margin if right-to-left direction is used\n$button-bar-margin-opposite: rem-calc(10) !default;\n$button-group-border-width: 1px !default;\n\n//\n// Button Group Mixins\n//\n\n// We use this to add styles for a button group container\n@mixin button-group-container($styles:true, $float:false) {\n  @if $styles {\n    list-style: none;\n    margin: 0;\n    #{$default-float}: 0;\n    @include clearfix();\n  }\n  @if $float {\n    float: #{$default-float};\n    margin-#{$opposite-direction}: $button-bar-margin-opposite;\n    & div { overflow: hidden; }\n  }\n}\n\n// We use this to control styles for button groups\n@mixin button-group-style($radius:false, $even:false, $float:false, $orientation:horizontal) {\n\n  > button, .button {\n    border-#{$default-float}: $button-group-border-width solid;\n    border-color: rgba(255, 255, 255, .5);\n  }\n\n  &:first-child {\n    button, .button {\n      border-#{$default-float}: 0;\n    }\n  }\n\n  $button-group-display: list-item;\n  $button-group-margin: 0;\n\n  // We use this to control the flow, or remove those styles completely.\n  @if $float {\n    $button-group-display: list-item;\n    $button-group-margin: 0;\n    float: $float;\n    // Make sure the first child doesn't get the negative margin.\n    &:first-child { margin-#{$default-float}: 0; }\n  }\n  @else {\n    $button-group-display: inline-block;\n    $button-group-margin: 0 -2px;\n  }\n\n  @if $orientation == vertical {\n    $button-group-display: block;\n    $button-group-margin: 0;\n    > button, .button {\n      border-color: rgba(255, 255, 255, .5);\n      border-left-width: 0;\n      border-top: $button-group-border-width solid;\n      display: block;\n      margin:0;\n    }\n    > button {\n        width: 100%;\n    }\n\n    &:first-child {\n      button, .button {\n        border-top: 0;\n      }\n    }\n  }\n\n  display: $button-group-display;\n  margin: $button-group-margin;\n\n\n  // We use these to control left and right radius on first/last buttons in the group.\n  @if $radius == true {\n    &,\n    > a,\n    > button,\n    > .button { @include radius(0); }\n    &:first-child,\n    &:first-child > a,\n    &:first-child > button,\n    &:first-child > .button {\n      @if $orientation == vertical {\n        @include side-radius(top, $button-radius);\n      }\n      @else {\n        @include side-radius($default-float, $button-radius);\n      }\n    }\n    &:last-child,\n    &:last-child > a,\n    &:last-child > button,\n    &:last-child > .button {\n      @if $orientation == vertical {\n        @include side-radius(bottom, $button-radius);\n      }\n      @else {\n        @include side-radius($opposite-direction, $button-radius);\n      }\n    }\n  }\n  @else if $radius {\n    &,\n    > a,\n    > button,\n    > .button { @include radius(0); }\n    &:first-child,\n    &:first-child > a,\n    &:first-child > button,\n    &:first-child > .button {\n      @if $orientation == vertical {\n        @include side-radius(top, $radius);\n      }\n      @else {\n        @include side-radius($default-float, $radius);\n      }\n    }\n    &:last-child,\n    &:last-child > a,\n    &:last-child > button,\n    &:last-child > .button {\n      @if $orientation == vertical {\n        @include side-radius(bottom, $radius);\n      }\n      @else {\n        @include side-radius($opposite-direction, $radius);\n      }\n    }\n  }\n\n  // We use this to make the buttons even width across their container\n  @if $even {\n    width: percentage((100/$even) / 100);\n    button, .button { width: 100%; }\n  }\n}\n\n@include exports(\"button-group\") {\n  @if $include-html-button-classes {\n    .button-group { @include button-group-container;\n\n      @for $i from 2 through 8 {\n        &.even-#{$i} li { @include button-group-style($even:$i, $float:null); }\n      }\n\n      > li { @include button-group-style(); }\n\n      &.stack {\n        > li { @include button-group-style($orientation:vertical); float: none; }\n      }\n\n      &.stack-for-small {\n        > li {\n          @include button-group-style($orientation:horizontal);\n          @media #{$small-only} {\n            @include button-group-style($orientation:vertical);\n            width: 100%;\n          }\n        }\n      }\n\n      &.radius > * { @include button-group-style($radius:$button-radius, $float:null); }\n      &.radius.stack > * { @include button-group-style($radius:$button-radius, $float:null, $orientation:vertical); }\n      &.radius.stack-for-small > * {\n        @media #{$medium-up} {\n          @include button-group-style($radius:$button-radius, $orientation:horizontal);\n        }\n        @media #{$small-only} {\n          @include button-group-style($radius:$button-radius, $orientation:vertical);\n        }\n      }\n\n      &.round > * { @include button-group-style($radius:$button-round, $float:null); }\n      &.round.stack > * { @include button-group-style($radius:$button-med, $float:null, $orientation:vertical); }\n      &.round.stack-for-small > * {\n        @media #{$medium-up} {\n          @include button-group-style($radius:$button-round, $orientation:horizontal);\n        }\n        @media #{$small-only} {\n          @include button-group-style($radius:$button-med, $orientation:vertical);\n        }\n      }\n    }\n\n    .button-bar {\n      @include clearfix;\n      .button-group { @include button-group-container($styles:false, $float:true); }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-button-classes: $include-html-classes !default;\n\n// We use these to build padding for buttons.\n$button-tny: rem-calc(10) !default;\n$button-sml: rem-calc(14) !default;\n$button-med: rem-calc(16) !default;\n$button-lrg: rem-calc(18) !default;\n\n// We use this to control the display property.\n$button-display: inline-block !default;\n$button-margin-bottom: rem-calc(20) !default;\n\n// We use these to control button text styles.\n$button-font-family: $body-font-family !default;\n$button-font-color: $white !default;\n$button-font-color-alt: $oil !default;\n$button-font-tny: rem-calc(11) !default;\n$button-font-sml: rem-calc(13) !default;\n$button-font-med: rem-calc(16) !default;\n$button-font-lrg: rem-calc(20) !default;\n$button-font-weight: $font-weight-normal !default;\n$button-font-align: center !default;\n\n// We use these to control various hover effects.\n$button-function-factor: -20% !default;\n\n// We use these to control button border styles.\n$button-border-width: 0 !default;\n$button-border-style: solid !default;\n$button-bg-color: $primary-color !default;\n$button-bg-hover: scale-color($button-bg-color, $lightness: $button-function-factor) !default;\n$button-border-color: $button-bg-hover !default;\n$secondary-button-bg-color: $secondary-color !default;\n$secondary-button-bg-hover: scale-color($secondary-color, $lightness: $button-function-factor) !default;\n$secondary-button-border-color: $secondary-button-bg-hover !default;\n$success-button-bg-color: $success-color !default;\n$success-button-bg-hover: scale-color($success-color, $lightness: $button-function-factor) !default;\n$success-button-border-color: $success-button-bg-hover !default;\n$alert-button-bg-color: $alert-color !default;\n$alert-button-bg-hover: scale-color($alert-color, $lightness: $button-function-factor) !default;\n$alert-button-border-color: $alert-button-bg-hover !default;\n$warning-button-bg-color: $warning-color !default;\n$warning-button-bg-hover: scale-color($warning-color, $lightness: $button-function-factor) !default;\n$warning-button-border-color: $warning-button-bg-hover !default;\n$info-button-bg-color: $info-color !default;\n$info-button-bg-hover: scale-color($info-color, $lightness: $button-function-factor) !default;\n$info-button-border-color: $info-button-bg-hover !default;\n\n// We use this to set the default radius used throughout the core.\n$button-radius: $global-radius !default;\n$button-round: $global-rounded !default;\n\n// We use this to set default opacity and cursor for disabled buttons.\n$button-disabled-opacity: .7 !default;\n$button-disabled-cursor: $cursor-default-value !default;\n\n\n//\n// @MIXIN\n//\n// We use this mixin to create a default button base.\n//\n// $style - Sets base styles. Can be set to false. Default: true.\n// $display - Used to control display property. Default: $button-display || inline-block\n\n@mixin button-base($style:true, $display:$button-display) {\n  @if $style {\n    -webkit-appearance: none;\n    -moz-appearance: none;\n    border-radius:0;\n    border-style: $button-border-style;\n    border-width: $button-border-width;\n    cursor: $cursor-pointer-value;\n    font-family: $button-font-family;\n    font-weight: $button-font-weight;\n    line-height: normal;\n    margin: 0 0 $button-margin-bottom;\n    position: relative;\n    text-align: $button-font-align;\n    text-decoration: none;\n  }\n  @if $display { display: $display; }\n}\n\n// @MIXIN\n//\n// We use this mixin to add button size styles\n//\n// $padding - Used to build padding for buttons Default: $button-med ||= rem-calc(12)\n// $full-width - We can set $full-width:true to remove side padding extend width - Default: false\n\n@mixin button-size($padding:$button-med, $full-width:false) {\n\n  // We control which padding styles come through,\n  // these can be turned off by setting $padding:false\n  @if $padding {\n    padding: $padding ($padding * 2) ($padding + rem-calc(1)) ($padding * 2);\n    // We control the font-size based on mixin input.\n    @if      $padding == $button-med { font-size: $button-font-med; }\n    @else if $padding == $button-tny { font-size: $button-font-tny; }\n    @else if $padding == $button-sml { font-size: $button-font-sml; }\n    @else if $padding == $button-lrg { font-size: $button-font-lrg; }\n  }\n\n  // We can set $full-width:true to remove side padding extend width.\n  @if $full-width {\n    // We still need to check if $padding is set.\n    @if $padding {\n      padding-bottom: $padding + rem-calc(1);\n      padding-top: $padding;\n    } @else if $padding == false {\n      padding-bottom:0;\n      padding-top:0;\n    }\n    padding-left: $button-med;\n    padding-right: $button-med;\n    width: 100%;\n  }\n}\n\n// @MIXIN\n//\n// we use this mixin to create the button hover and border colors\n\n// @MIXIN\n//\n// We use this mixin to add button color styles\n//\n// $bg - Background color. We can set $bg:false for a transparent background. Default: $primary-color.\n// $radius - If true, set to button radius which is $button-radius || explicitly set radius amount in px (ex. $radius:10px). Default: false\n// $disabled - We can set $disabled:true to create a disabled transparent button. Default: false\n// $bg-hover - Button Hover Background Color. Default: $button-bg-hover\n// $border-color - Button Border Color. Default: $button-border-color\n@mixin button-style($bg:$button-bg-color, $radius:false, $disabled:false, $bg-hover:null, $border-color:null) {\n\n  // We control which background styles are used,\n  // these can be removed by setting $bg:false\n  @if $bg {\n\n    @if $bg-hover == null {\n      $bg-hover: if($bg == $button-bg-color, $button-bg-hover, scale-color($bg, $lightness: $button-function-factor));\n    }\n\n    @if $border-color == null {\n      $border-color: if($bg == $button-bg-color, $button-border-color, scale-color($bg, $lightness: $button-function-factor));\n    }\n\n    // This find the lightness percentage of the background color.\n    $bg-lightness: lightness($bg);\n    $bg-hover-lightness: lightness($bg-hover);\n\n    background-color: $bg;\n    border-color: $border-color;\n    &:hover,\n    &:focus { background-color: $bg-hover; }\n\n    // We control the text color for you based on the background color.\n    color: if($bg-lightness > 70%, $button-font-color-alt, $button-font-color);\n\n    &:hover,\n    &:focus {\n      color: if($bg-hover-lightness > 70%, $button-font-color-alt, $button-font-color);\n    }\n  }\n\n  // We can set $disabled:true to create a disabled transparent button.\n  @if $disabled {\n    box-shadow: none;\n    cursor: $button-disabled-cursor;\n    opacity: $button-disabled-opacity;\n    &:hover,\n    &:focus { background-color: $bg; }\n  }\n\n  // We can control how much button radius is used.\n  @if $radius == true { @include radius($button-radius); }\n  @else if $radius { @include radius($radius); }\n\n}\n\n// @MIXIN\n//\n// We use this to quickly create buttons with a single mixin. As @jaredhardy puts it, \"the kitchen sink mixin\"\n//\n// $padding - Used to build padding for buttons Default: $button-med ||= rem-calc(12)\n// $bg - Primary color set in settings file. Default: $button-bg.\n// $radius - If true, set to button radius which is $global-radius || explicitly set radius amount in px (ex. $radius:10px). Default:false.\n// $full-width - We can set $full-width:true to remove side padding extend width. Default:false.\n// $disabled - We can set $disabled:true to create a disabled transparent button. Default:false.\n// $is-prefix - Not used? Default:false.\n// $bg-hover - Button Hover Color - Default null - see button-style mixin\n// $border-color - Button Border Color - Default null - see button-style mixin\n// $transition - We can control whether or not to include the background-color transition property - Default:true.\n@mixin button($padding:$button-med, $bg:$button-bg-color, $radius:false, $full-width:false, $disabled:false, $is-prefix:false, $bg-hover:null, $border-color:null, $transition: true) {\n  @include button-base;\n  @include button-size($padding, $full-width);\n  @include button-style($bg, $radius, $disabled, $bg-hover, $border-color);\n\n  @if $transition {\n    @include single-transition(background-color);\n  }\n}\n\n\n@include exports(\"button\") {\n  @if $include-html-button-classes {\n\n    // Default styles applied outside of media query\n    button, .button {\n      @include button-base;\n      @include button-size;\n      @include button-style;\n\n      @include single-transition(background-color);\n\n      &.secondary { @include button-style($bg:$secondary-button-bg-color, $bg-hover:$secondary-button-bg-hover, $border-color:$secondary-button-border-color); }\n      &.success   { @include button-style($bg:$success-button-bg-color, $bg-hover:$success-button-bg-hover, $border-color:$success-button-border-color); }\n      &.alert     { @include button-style($bg:$alert-button-bg-color, $bg-hover:$alert-button-bg-hover, $border-color:$alert-button-border-color); }\n      &.warning   { @include button-style($bg:$warning-button-bg-color, $bg-hover:$warning-button-bg-hover, $border-color:$warning-button-border-color); }\n      &.info      { @include button-style($bg:$info-button-bg-color, $bg-hover:$info-button-bg-hover, $border-color:$info-button-border-color); }\n\n      &.large  { @include button-size($padding:$button-lrg); }\n      &.small  { @include button-size($padding:$button-sml); }\n      &.tiny   { @include button-size($padding:$button-tny); }\n      &.expand { @include button-size($full-width:true); }\n\n      &.left-align  { text-align: left; text-indent: rem-calc(12); }\n      &.right-align { text-align: right; padding-right: rem-calc(12); }\n\n      &.radius { @include button-style($bg:false, $radius:true); }\n      &.round  { @include button-style($bg:false, $radius:$button-round); }\n\n      &.disabled, &[disabled] { @include button-style($bg:$button-bg-color, $disabled:true, $bg-hover:$button-bg-hover, $border-color:$button-border-color);\n        &.secondary { @include button-style($bg:$secondary-button-bg-color, $disabled:true, $bg-hover:$secondary-button-bg-hover, $border-color:$secondary-button-border-color); }\n        &.success { @include button-style($bg:$success-button-bg-color, $disabled:true, $bg-hover:$success-button-bg-hover, $border-color:$success-button-border-color); }\n        &.alert { @include button-style($bg:$alert-button-bg-color, $disabled:true, $bg-hover:$alert-button-bg-hover, $border-color:$alert-button-border-color); }\n        &.warning { @include button-style($bg:$warning-button-bg-color, $disabled:true, $bg-hover:$warning-button-bg-hover, $border-color:$warning-button-border-color); }\n        &.info { @include button-style($bg:$info-button-bg-color, $disabled:true, $bg-hover:$info-button-bg-hover, $border-color:$info-button-border-color); }\n      }\n    }\n\n    //firefox 2px fix\n    button::-moz-focus-inner {border:0; padding:0;}\n\n    @media #{$medium-up} {\n      button, .button {\n        @include button-base($style:false, $display:inline-block);\n        @include button-size($padding:false, $full-width:false);\n      }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-clearing-classes: $include-html-classes !default;\n\n// We use these to set the background colors for parts of Clearing.\n$clearing-bg: $oil !default;\n$clearing-caption-bg: $clearing-bg !default;\n$clearing-carousel-bg: rgba(51,51,51,0.8) !default;\n$clearing-img-bg: $clearing-bg !default;\n\n// We use these to style the close button\n$clearing-close-color: $iron !default;\n$clearing-close-size: 30px !default;\n\n// We use these to style the arrows\n$clearing-arrow-size: 12px !default;\n$clearing-arrow-color: $clearing-close-color !default;\n\n// We use these to style captions\n$clearing-caption-font-color: $iron !default;\n$clearing-caption-font-size: .875em !default;\n$clearing-caption-padding: 10px 30px 20px !default;\n\n// We use these to make the image and carousel height and style\n$clearing-active-img-height: 85% !default;\n$clearing-carousel-height: 120px !default;\n$clearing-carousel-thumb-width: 120px !default;\n$clearing-carousel-thumb-active-border: 1px solid rgb(255,255,255) !default;\n\n@include exports(\"clearing\") {\n  @if $include-html-clearing-classes {\n    // We decided to not create a mixin for Clearing because it relies\n    // on predefined classes and structure to work properly.\n    // The variables above should give enough control.\n\n    /* Clearing Styles */\n    .clearing-thumbs, #{data('clearing')} {\n      @include clearfix;\n      list-style: none;\n      margin-#{$default-float}: 0;\n      margin-bottom: 0;\n\n      li {\n        float: $default-float;\n        margin-#{$opposite-direction}: 10px;\n      }\n\n      &[class*=\"block-grid-\"] li {\n        margin-#{$opposite-direction}: 0;\n      }\n    }\n\n    .clearing-blackout {\n      background: $clearing-bg;\n      height: 100%;\n      position: fixed;\n      top: 0;\n      width: 100%;\n      z-index: 998;\n      #{$default-float}: 0;\n\n      .clearing-close { display: block; }\n    }\n\n    .clearing-container {\n      height: 100%;\n      margin: 0;\n      overflow: hidden;\n      position: relative;\n      z-index: 998;\n    }\n\n    .clearing-touch-label {\n      color: $base;\n      font-size: .6em;\n      left: 50%;\n      position: absolute;\n      top: 50%;\n    }\n\n    .visible-img {\n      height: 95%;\n      position: relative;\n\n      img {\n        position: absolute;\n        #{$default-float}: 50%;\n        top: 50%;\n        @if $default-float == left {\n          -webkit-transform: translateY(-50%) translateX(-50%);\n          -moz-transform: translateY(-50%) translateX(-50%);\n          -ms-transform: translateY(-50%) translateX(-50%);\n          -o-transform: translateY(-50%) translateX(-50%);\n          transform: translateY(-50%) translateX(-50%);\n        }\n        @else {\n          -webkit-transform: translateY(-50%) translateX(50%);\n          -moz-transform: translateY(-50%) translateX(50%);\n          -ms-transform: translateY(-50%) translateX(50%);\n          -o-transform: translateY(-50%) translateX(50%);\n          transform: translateY(-50%) translateX(50%);\n        };\n        max-height: 100%;\n        max-width: 100%;\n      }\n    }\n\n    .clearing-caption {\n      background: $clearing-caption-bg;\n      bottom: 0;\n      color: $clearing-caption-font-color;\n      font-size: $clearing-caption-font-size;\n      line-height: 1.3;\n      margin-bottom: 0;\n      padding: $clearing-caption-padding;\n      position: absolute;\n      text-align: center;\n      width: 100%;\n      #{$default-float}: 0;\n    }\n\n    .clearing-close {\n      color: $clearing-close-color;\n      display: none;\n      font-size: $clearing-close-size;\n      line-height: 1;\n      padding-#{$default-float}: 20px;\n      padding-top: 10px;\n      z-index: 999;\n\n      &:hover,\n      &:focus { color: $iron; }\n    }\n\n    .clearing-assembled .clearing-container { height: 100%;\n      .carousel > ul { display: none; }\n    }\n\n    // If you want to show a lightbox, but only have a single image come through as the thumbnail\n    .clearing-feature li {\n      display: none;\n      &.clearing-featured-img {\n        display: block;\n      }\n    }\n\n    // Large screen overrides\n    @media #{$medium-up} {\n      .clearing-main-prev,\n      .clearing-main-next {\n        height: 100%;\n        position: absolute;\n        top: 0;\n        width: 40px;\n        > span {\n          border: solid $clearing-arrow-size;\n          display: block;\n          height: 0;\n          position: absolute;\n          top: 50%;\n          width: 0;\n          &:hover { opacity: .8; }\n        }\n      }\n      .clearing-main-prev {\n        #{$default-float}: 0;\n        > span {\n          #{$default-float}: 5px;\n          border-color: transparent;\n          border-#{$opposite-direction}-color: $clearing-arrow-color;\n        }\n      }\n      .clearing-main-next {\n        #{$opposite-direction}: 0;\n        > span {\n          border-color: transparent;\n          border-#{$default-float}-color: $clearing-arrow-color;\n        }\n      }\n\n      .clearing-main-prev.disabled,\n      .clearing-main-next.disabled { opacity: .3; }\n\n      .clearing-assembled .clearing-container {\n\n        .carousel {\n          background: $clearing-carousel-bg;\n          height: $clearing-carousel-height;\n          margin-top: 10px;\n          text-align: center;\n\n          > ul {\n            display: inline-block;\n            z-index: 999;\n            height: 100%;\n            position: relative;\n            float: none;\n\n            li {\n              clear: none;\n              cursor: $cursor-pointer-value;\n              display: block;\n              float: $default-float;\n              margin-#{$opposite-direction}: 0;\n              min-height: inherit;\n              opacity: .4;\n              overflow: hidden;\n              padding: 0;\n              position: relative;\n              width: $clearing-carousel-thumb-width;\n\n              &.fix-height {\n                img {\n                  height: 100%;\n                  max-width: none;\n                }\n              }\n\n              a.th {\n                border: none;\n                box-shadow: none;\n                display: block;\n              }\n\n              img {\n                cursor: $cursor-pointer-value !important;\n                width: 100% !important;\n              }\n\n              &.visible { opacity: 1; }\n              &:hover { opacity: .8; }\n            }\n          }\n        }\n\n        .visible-img {\n          background: $clearing-img-bg;\n          height: $clearing-active-img-height;\n          overflow: hidden;\n        }\n      }\n\n      .clearing-close {\n        padding-#{$default-float}: 0;\n        padding-top: 0;\n        position: absolute;\n        top: 10px;\n        #{$opposite-direction}: 20px;\n      }\n    }\n\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-dropdown-classes: $include-html-classes !default;\n\n// We use these to controls height and width styles.\n$f-dropdown-max-width: 200px !default;\n$f-dropdown-height: auto !default;\n$f-dropdown-max-height: none !default;\n\n// Used for bottom position\n$f-dropdown-margin-top: 2px !default;\n\n// Used for right position\n$f-dropdown-margin-left: $f-dropdown-margin-top !default;\n\n// Used for left position\n$f-dropdown-margin-right: $f-dropdown-margin-top !default;\n\n// Used for top position\n$f-dropdown-margin-bottom: $f-dropdown-margin-top !default;\n\n// We use this to control the background color\n$f-dropdown-bg: $white !default;\n\n// We use this to set the border styles for dropdowns.\n$f-dropdown-border-style: solid !default;\n$f-dropdown-border-width: 1px !default;\n$f-dropdown-border-color: scale-color($white, $lightness: -20%) !default;\n\n// We use these to style the triangle pip.\n$f-dropdown-triangle-size: 6px !default;\n$f-dropdown-triangle-color: $white !default;\n$f-dropdown-triangle-side-offset: 10px !default;\n\n// We use these to control styles for the list elements.\n$f-dropdown-list-style: none !default;\n$f-dropdown-font-color: $charcoal !default;\n$f-dropdown-font-size: rem-calc(14) !default;\n$f-dropdown-list-padding: rem-calc(5, 10) !default;\n$f-dropdown-line-height: rem-calc(18) !default;\n$f-dropdown-list-hover-bg: $smoke !default;\n$dropdown-mobile-default-float: 0 !default;\n\n// We use this to control the styles for when the dropdown has custom content.\n$f-dropdown-content-padding: rem-calc(20) !default;\n\n// Default radius for dropdown.\n$f-dropdown-radius: $global-radius !default;\n\n//\n// @mixins\n//\n//\n// NOTE: Make default max-width change between list and content types. Can add more width with classes, maybe .small, .medium, .large, etc.;\n// We use this to style the dropdown container element.\n// $content-list - Sets list-style. Default: list. Options: [list, content]\n// $triangle - Sets if dropdown has triangle. Default:true.\n// $max-width - Default: $f-dropdown-max-width || 200px.\n@mixin dropdown-container($content:list, $triangle:true, $max-width:$f-dropdown-max-width) {\n  display: none;\n  left: -9999px;\n  list-style: $f-dropdown-list-style;\n  margin-#{$default-float}: 0;\n  position: absolute;\n\n  &.open {\n    display: block;\n  }\n\n  > *:first-child { margin-top: 0; }\n  > *:last-child { margin-bottom: 0; }\n\n  @if $content == list {\n    background: $f-dropdown-bg;\n    border: $f-dropdown-border-style $f-dropdown-border-width $f-dropdown-border-color;\n    font-size: $f-dropdown-font-size;\n    height: $f-dropdown-height;\n    max-height: $f-dropdown-max-height;\n    width: 100%;\n    z-index: 89;\n  }\n  @else if $content == content {\n    background: $f-dropdown-bg;\n    border: $f-dropdown-border-style $f-dropdown-border-width $f-dropdown-border-color;\n    font-size: $f-dropdown-font-size;\n    height: $f-dropdown-height;\n    max-height: $f-dropdown-max-height;\n    padding: $f-dropdown-content-padding;\n    width: 100%;\n    z-index: 89;\n  }\n\n  @if $triangle == bottom {\n    margin-top: $f-dropdown-margin-top;\n\n    @if $f-dropdown-triangle-size != 0px {\n\n      &:before {\n        @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, bottom);\n        position: absolute;\n        top: -($f-dropdown-triangle-size * 2);\n        #{$default-float}: $f-dropdown-triangle-side-offset;\n        z-index: 89;\n      }\n      &:after {\n        @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, bottom);\n        position: absolute;\n        top: -(($f-dropdown-triangle-size + 1) * 2);\n        #{$default-float}: $f-dropdown-triangle-side-offset - 1;\n        z-index: 88;\n      }\n\n      &.right:before {\n        #{$default-float}: auto;\n        #{$opposite-direction}: $f-dropdown-triangle-side-offset;\n      }\n      &.right:after {\n        #{$default-float}: auto;\n        #{$opposite-direction}: $f-dropdown-triangle-side-offset - 1;\n      }\n    }\n  }\n\n  @if $triangle == $default-float {\n    margin-top: 0;\n    margin-#{$default-float}: $f-dropdown-margin-right;\n\n    &:before {\n      @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, #{$opposite-direction});\n      position: absolute;\n      top: $f-dropdown-triangle-side-offset;\n      #{$default-float}: -($f-dropdown-triangle-size * 2);\n      z-index: 89;\n    }\n    &:after {\n      @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, #{$opposite-direction});\n      position: absolute;\n      top: $f-dropdown-triangle-side-offset - 1;\n      #{$default-float}: -($f-dropdown-triangle-size * 2) - 2;\n      z-index: 88;\n    }\n\n  }\n\n  @if $triangle == $opposite-direction {\n    margin-top: 0;\n    margin-#{$default-float}: -$f-dropdown-margin-right;\n\n    &:before {\n      @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, #{$default-float});\n      position: absolute;\n      top: $f-dropdown-triangle-side-offset;\n      #{$opposite-direction}: -($f-dropdown-triangle-size * 2);\n      #{$default-float}: auto;\n      z-index: 89;\n    }\n    &:after {\n      @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, #{$default-float});\n      position: absolute;\n      top: $f-dropdown-triangle-side-offset - 1;\n      #{$opposite-direction}: -($f-dropdown-triangle-size * 2) - 2;\n      #{$default-float}: auto;\n      z-index: 88;\n    }\n\n  }\n\n  @if $triangle == top {\n    margin-left: 0;\n    margin-top: -$f-dropdown-margin-bottom;\n\n    &:before {\n      @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, top);\n      bottom: -($f-dropdown-triangle-size * 2);\n      position: absolute;\n      top: auto;\n      #{$default-float}: $f-dropdown-triangle-side-offset;\n      #{$opposite-direction}: auto;\n      z-index: 89;\n    }\n    &:after {\n      @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, top);\n      bottom: -($f-dropdown-triangle-size * 2) - 2;\n      position: absolute;\n      top: auto;\n      #{$default-float}: $f-dropdown-triangle-side-offset - 1;\n      #{$opposite-direction}: auto;\n      z-index: 88;\n    }\n\n  }\n\n  @if $max-width { max-width: $max-width; }\n  @else { max-width: $f-dropdown-max-width; }\n\n}\n\n// @MIXIN\n//\n// We use this to style the list elements or content inside the dropdown.\n\n@mixin dropdown-style {\n  cursor: $cursor-pointer-value;\n  font-size: $f-dropdown-font-size;\n  line-height: $f-dropdown-line-height;\n  margin: 0;\n\n  &:hover,\n  &:focus { background: $f-dropdown-list-hover-bg; }\n\n  a {\n    display: block;\n    padding: $f-dropdown-list-padding;\n    color: $f-dropdown-font-color;\n  }\n}\n\n@include exports(\"dropdown\") {\n  @if $include-html-dropdown-classes {\n\n    /* Foundation Dropdowns */\n    .f-dropdown {\n      @include dropdown-container(list, bottom);\n\n      &.drop-#{$opposite-direction} {\n        @include dropdown-container(list, #{$default-float});\n      }\n\n      &.drop-#{$default-float} {\n        @include dropdown-container(list, #{$opposite-direction});\n      }\n\n      &.drop-top {\n        @include dropdown-container(list, top);\n      }\n      // max-width: none;\n\n      li { @include dropdown-style; }\n\n      // You can also put custom content in these dropdowns\n      &.content { @include dropdown-container(content, $triangle:false); }\n\n      // Radius of Dropdown\n      &.radius { @include radius($f-dropdown-radius); }\n\n      // Sizes\n      &.tiny    { max-width: 200px; }\n      &.small   { max-width: 300px; }\n      &.medium  { max-width: 500px; }\n      &.large   { max-width: 800px; }\n      &.mega    {\n        width:100%!important;\n        max-width:100%!important;\n\n        &.open{\n          left:0!important;\n        }\n      }\n    }\n\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-button-classes: $include-html-classes !default;\n\n// We use these to set the color of the pip in dropdown buttons\n$dropdown-button-pip-color: $white !default;\n$dropdown-button-pip-color-alt: $oil !default;\n\n// We use these to set the size of the pip in dropdown buttons\n$button-pip-tny: rem-calc(6) !default;\n$button-pip-sml: rem-calc(7) !default;\n$button-pip-med: rem-calc(9) !default;\n$button-pip-lrg: rem-calc(11) !default;\n\n// We use these to style tiny dropdown buttons\n$dropdown-button-padding-tny: $button-pip-tny * 7 !default;\n$dropdown-button-pip-size-tny: $button-pip-tny !default;\n$dropdown-button-pip-opposite-tny: $button-pip-tny * 3 !default;\n$dropdown-button-pip-top-tny: (-$button-pip-tny / 2) + rem-calc(1) !default;\n\n// We use these to style small dropdown buttons\n$dropdown-button-padding-sml: $button-pip-sml * 7 !default;\n$dropdown-button-pip-size-sml: $button-pip-sml !default;\n$dropdown-button-pip-opposite-sml: $button-pip-sml * 3 !default;\n$dropdown-button-pip-top-sml: (-$button-pip-sml / 2) + rem-calc(1) !default;\n\n// We use these to style medium dropdown buttons\n$dropdown-button-padding-med: $button-pip-med * 6 + rem-calc(3) !default;\n$dropdown-button-pip-size-med: $button-pip-med - rem-calc(3) !default;\n$dropdown-button-pip-opposite-med: $button-pip-med * 2.5 !default;\n$dropdown-button-pip-top-med: (-$button-pip-med / 2) + rem-calc(2) !default;\n\n// We use these to style large dropdown buttons\n$dropdown-button-padding-lrg: $button-pip-lrg * 5 + rem-calc(3) !default;\n$dropdown-button-pip-size-lrg: $button-pip-lrg - rem-calc(6) !default;\n$dropdown-button-pip-opposite-lrg: $button-pip-lrg * 2.5 !default;\n$dropdown-button-pip-top-lrg: (-$button-pip-lrg / 2) + rem-calc(3) !default;\n\n// @mixins\n//\n// Dropdown Button Mixin\n//\n// We use this mixin to build off of the button mixin and add dropdown button styles\n//\n// $padding - Determines the size of button you're working with. Default: medium. Options [tiny, small, medium, large]\n// $pip-color - Color of the little triangle that points to the dropdown. Default: $white.\n// $base-style - Add in base-styles. This can be set to false. Default:true\n\n@mixin dropdown-button($padding:medium, $pip-color:$dropdown-button-pip-color, $base-style:true) {\n\n  // We add in base styles, but they can be negated by setting to 'false'.\n  @if $base-style {\n    position: relative;\n\n    // This creates the base styles for the triangle pip\n    &::after {\n      border-color: $dropdown-button-pip-color transparent transparent transparent;\n      border-style: solid;\n      content: \"\";\n      display: block;\n      height: 0;\n      position: absolute;\n      top: 50%;\n      width: 0;\n    }\n  }\n\n  // If we're dealing with tiny buttons, use these styles\n  @if $padding == tiny {\n    padding-#{$opposite-direction}: $dropdown-button-padding-tny;\n    &:after {\n      border-width: $dropdown-button-pip-size-tny;\n      #{$opposite-direction}: $dropdown-button-pip-opposite-tny;\n      margin-top: $dropdown-button-pip-top-tny;\n    }\n  }\n\n  // If we're dealing with small buttons, use these styles\n  @if $padding == small {\n    padding-#{$opposite-direction}: $dropdown-button-padding-sml;\n    &::after {\n      border-width: $dropdown-button-pip-size-sml;\n      #{$opposite-direction}: $dropdown-button-pip-opposite-sml;\n      margin-top: $dropdown-button-pip-top-sml;\n    }\n  }\n\n  // If we're dealing with default (medium) buttons, use these styles\n  @if $padding == medium {\n    padding-#{$opposite-direction}: $dropdown-button-padding-med;\n    &::after {\n      border-width: $dropdown-button-pip-size-med;\n      #{$opposite-direction}: $dropdown-button-pip-opposite-med;\n      margin-top: $dropdown-button-pip-top-med;\n    }\n  }\n\n  // If we're dealing with large buttons, use these styles\n  @if $padding == large {\n    padding-#{$opposite-direction}: $dropdown-button-padding-lrg;\n    &::after {\n      border-width: $dropdown-button-pip-size-lrg;\n      #{$opposite-direction}: $dropdown-button-pip-opposite-lrg;\n      margin-top: $dropdown-button-pip-top-lrg;\n    }\n  }\n\n  // We can control the pip color. We didn't use logic in this case, just set it and forget it.\n  @if $pip-color {\n    &::after { border-color: $pip-color transparent transparent transparent; }\n  }\n}\n\n@include exports(\"dropdown-button\") {\n  @if $include-html-button-classes {\n    .dropdown.button, button.dropdown { @include dropdown-button;\n      &.tiny { @include dropdown-button(tiny, $base-style:false); }\n      &.small { @include dropdown-button(small, $base-style:false); }\n      &.large { @include dropdown-button(large, $base-style:false); }\n      &.secondary:after { border-color: $dropdown-button-pip-color-alt transparent transparent transparent; }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-media-classes: $include-html-classes !default;\n\n// We use these to control video container padding and margins\n$flex-video-padding-top: rem-calc(25) !default;\n$flex-video-padding-bottom: 67.5% !default;\n$flex-video-margin-bottom: rem-calc(16) !default;\n\n// We use this to control widescreen bottom padding\n$flex-video-widescreen-padding-bottom: 56.34% !default;\n\n//\n// @mixins\n//\n\n@mixin flex-video-container {\n  height: 0;\n  margin-bottom: $flex-video-margin-bottom;\n  overflow: hidden;\n  padding-bottom: $flex-video-padding-bottom;\n  padding-top: $flex-video-padding-top;\n  position: relative;\n\n  &.widescreen { padding-bottom: $flex-video-widescreen-padding-bottom; }\n  &.vimeo { padding-top: 0; }\n\n  iframe,\n  object,\n  embed,\n  video {\n    height: 100%;\n    position: absolute;\n    top: 0;\n    width: 100%;\n    #{$default-float}: 0;\n  }\n}\n\n@include exports(\"flex-video\") {\n  @if $include-html-media-classes {\n    .flex-video { @include flex-video-container; }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n@import 'buttons';\n\n//\n// @variables\n//\n$include-html-form-classes: $include-html-classes !default;\n\n// We use this to set the base for lots of form spacing and positioning styles\n$form-spacing: rem-calc(16) !default;\n\n// We use these to style the labels in different ways\n$form-label-pointer: pointer !default;\n$form-label-font-size: rem-calc(14) !default;\n$form-label-font-weight: $font-weight-normal !default;\n$form-label-line-height: 1.5 !default;\n$form-label-font-color: scale-color($black, $lightness: 30%) !default;\n$form-label-small-transform: capitalize !default;\n$form-label-bottom-margin: 0 !default;\n$input-font-family: inherit !default;\n$input-font-color: rgba(0,0,0,0.75) !default;\n$input-placeholder-font-color: $steel !default;\n$input-font-size: rem-calc(14) !default;\n$input-bg-color: $white !default;\n$input-focus-bg-color: scale-color($white, $lightness: -2%) !default;\n$input-border-color: scale-color($white, $lightness: -20%) !default;\n$input-focus-border-color: scale-color($white, $lightness: -40%) !default;\n$input-border-style: solid !default;\n$input-border-width: 1px !default;\n$input-border-radius: $global-radius !default;\n$input-disabled-bg: $gainsboro !default;\n$input-disabled-cursor: $cursor-default-value !default;\n$input-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1) !default;\n$input-include-glowing-effect: false !default;\n\n// We use these to style the fieldset border and spacing.\n$fieldset-border-style: solid !default;\n$fieldset-border-width: 1px !default;\n$fieldset-border-color: $gainsboro !default;\n$fieldset-padding: rem-calc(20) !default;\n$fieldset-margin: rem-calc(18 0) !default;\n\n// We use these to style the legends when you use them\n$legend-font-weight: $font-weight-bold !default;\n$legend-padding: rem-calc(0 3) !default;\n\n// We use these to style the prefix and postfix input elements\n$input-prefix-bg: scale-color($white, $lightness: -5%) !default;\n$input-prefix-border-color: scale-color($white, $lightness: -20%) !default;\n$input-prefix-border-size: 1px !default;\n$input-prefix-border-type: solid !default;\n$input-prefix-overflow: visible !default;\n$input-prefix-font-color: $oil !default;\n$input-prefix-font-color-alt: $white !default;\n\n// We use this setting to turn on/off HTML5 number spinners (the up/down arrows)\n$input-number-spinners: true !default;\n\n// We use these to style the error states for inputs and labels\n$input-error-message-padding: rem-calc(6 9 9) !default;\n$input-error-message-top: -1px !default;\n$input-error-message-font-size: rem-calc(12) !default;\n$input-error-message-font-weight: $font-weight-normal !default;\n$input-error-message-font-style: italic !default;\n$input-error-message-font-color: $white !default;\n$input-error-message-bg-color: $alert-color !default;\n$input-error-message-font-color-alt: $oil !default;\n\n// We use this to style the glowing effect of inputs when focused\n$glowing-effect-fade-time: .45s !default;\n$glowing-effect-color: $input-focus-border-color !default;\n\n// We use this to style the transition when inputs are focused and when the glowing effect is disabled.\n$input-transition-fade-time: 0.15s !default;\n$input-transition-fade-timing-function: linear !default;\n\n// Select variables\n$select-bg-color: $ghost !default;\n$select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;\n\n//\n// @MIXINS\n//\n\n// We use this mixin to give us form styles for rows inside of forms\n@mixin form-row-base {\n  .row { margin: 0 ((-$form-spacing) / 2);\n\n    .column,\n    .columns { padding: 0 ($form-spacing / 2); }\n\n    // Use this to collapse the margins of a form row\n    &.collapse { margin: 0;\n\n      .column,\n      .columns { padding: 0; }\n      input {\n        @include side-radius($opposite-direction, 0);\n      }\n\n    }\n  }\n  input.column,\n  input.columns,\n  textarea.column,\n  textarea.columns { padding-#{$default-float}: ($form-spacing / 2); }\n}\n\n// @MIXIN\n//\n// We use this mixin to give all basic form elements their style\n@mixin form-element {\n  background-color: $input-bg-color;\n  border: {\n    style: $input-border-style;\n    width: $input-border-width;\n    color: $input-border-color;\n  }\n  box-shadow: $input-box-shadow;\n  color: $input-font-color;\n  display: block;\n  font-family: $input-font-family;\n  font-size: $input-font-size;\n  height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1));\n  margin: 0 0 $form-spacing 0;\n  padding: $form-spacing / 2;\n  width: 100%;\n  @include box-sizing(border-box);\n  @if $input-include-glowing-effect {\n    @include block-glowing-effect(focus, $glowing-effect-fade-time, $glowing-effect-color);\n  }\n  // Basic focus styles\n  &:focus {\n    background: $input-focus-bg-color;\n    border-color: $input-focus-border-color;\n    outline: none;\n  }\n  // Disabled Styles\n  &:disabled {\n    background-color: $input-disabled-bg;\n    cursor: $input-disabled-cursor;\n  }\n\n  // Disabled background input background color\n  &[disabled],\n  &[readonly],\n  fieldset[disabled] & {\n    background-color: $input-disabled-bg;\n    cursor: $input-disabled-cursor;\n  }\n}\n\n// @MIXIN\n//\n// We use this mixin to create form labels\n//\n// $alignment - Alignment options. Default: false. Options: [right, inline, false]\n// $base-style - Control whether or not the base styles come through. Default: true.\n@mixin form-label($alignment:false, $base-style:true) {\n\n  // Control whether or not the base styles come through.\n  @if $base-style {\n    color: $form-label-font-color;\n    cursor: $form-label-pointer;\n    display: block;\n    font-size: $form-label-font-size;\n    font-weight: $form-label-font-weight;\n    line-height: $form-label-line-height;\n    margin-bottom: $form-label-bottom-margin;\n  }\n\n  // Alignment options\n  @if $alignment == right {\n    float: none !important;\n    text-align: right;\n  }\n  @else if $alignment == inline {\n    margin: 0 0 $form-spacing 0;\n    padding: $form-spacing / 2 + rem-calc($input-border-width) 0;\n  }\n}\n\n// We use this mixin to create postfix/prefix form Labels\n@mixin prefix-postfix-base {\n  border-style: $input-prefix-border-type;\n  border-width: $input-prefix-border-size;\n  display: block;\n  font-size: $form-label-font-size;\n  height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1));\n  line-height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1));\n  overflow: $input-prefix-overflow;\n  padding-bottom: 0;\n  padding-top: 0;\n  position: relative;\n  text-align: center;\n  width: 100%;\n  z-index: 2;\n}\n\n// @MIXIN\n//\n// We use this mixin to create prefix label styles\n// $bg - Default:$input-prefix-bg || scale-color($white, $lightness: -5%) !default;\n// $is-button - Toggle position settings if prefix is a button. Default:false\n//\n@mixin prefix($bg:$input-prefix-bg, $border:$input-prefix-border-color, $is-button:false) {\n\n  @if $bg {\n    $bg-lightness: lightness($bg);\n    background: $bg;\n    border-#{$opposite-direction}: none;\n\n    // Control the font color based on background brightness\n    @if $bg-lightness > 70% or $bg == yellow { color: $input-prefix-font-color; }\n    @else { color: $input-prefix-font-color-alt; }\n  }\n\n  @if $border {\n    border-color: $border;\n  }\n\n  @if $is-button {\n    border: none;\n    padding-#{$default-float}: 0;\n    padding-#{$opposite-direction}: 0;\n    padding-bottom: 0;\n    padding-top: 0;\n    text-align: center;\n  }\n\n}\n\n// @MIXIN\n//\n// We use this mixin to create postfix label styles\n// $bg - Default:$input-prefix-bg || scale-color($white, $lightness: -5%) !default;\n// $is-button - Toggle position settings if prefix is a button. Default: false\n@mixin postfix($bg:$input-prefix-bg, $border-left-hidden:true, $border:$input-prefix-border-color, $is-button:false) {\n\n  @if $bg {\n    $bg-lightness: lightness($bg);\n    background: $bg;\n    @if $border-left-hidden {\n      border-#{$default-float}: none;\n    }\n\n    // Control the font color based on background brightness\n    @if $bg-lightness > 70%  or $bg == yellow { color: $input-prefix-font-color; }\n    @else { color: $input-prefix-font-color-alt; }\n  }\n\n  @if $border {\n    border-color: $border;\n  }\n\n  @if $is-button {\n    border: none;\n    padding-#{$default-float}: 0;\n    padding-#{$opposite-direction}: 0;\n    padding-bottom: 0;\n    padding-top: 0;\n    text-align: center;\n  }\n\n}\n\n// We use this mixin to style fieldsets\n@mixin fieldset {\n  border: $fieldset-border-width $fieldset-border-style $fieldset-border-color;\n  margin: $fieldset-margin;\n  padding: $fieldset-padding;\n\n  // and legend styles\n  legend {\n    font-weight: $legend-font-weight;\n    margin: 0;\n    margin-#{$default-float}: rem-calc(-3);\n    padding: $legend-padding;\n  }\n}\n\n// @MIXIN\n//\n// We use this mixin to control border and background color of error inputs\n// $color - Default: $alert-color (found in settings file)\n@mixin form-error-color($color:$alert-color) {\n  background-color: rgba($color, .1);\n  border-color: $color;\n\n  // Go back to normal on focus\n  &:focus {\n    background: $input-focus-bg-color;\n    border-color: $input-focus-border-color;\n  }\n}\n\n// @MIXIN\n//\n// We use this simple mixin to style labels for error inputs\n// $color - Default:$alert-color. Found in settings file\n@mixin form-label-error-color($color:$alert-color) { color: $color; }\n\n// @MIXIN\n//\n// We use this mixin to create error message styles\n// $bg - Default: $alert-color (Found in settings file)\n@mixin form-error-message($bg:$input-error-message-bg-color) {\n  display: block;\n  font-size: $input-error-message-font-size;\n  font-style: $input-error-message-font-style;\n  font-weight: $input-error-message-font-weight;\n  margin-bottom: $form-spacing;\n  margin-top: $input-error-message-top;\n  padding: $input-error-message-padding;\n\n  // We can control the text color based on the brightness of the background.\n  $bg-lightness: lightness($bg);\n  background: $bg;\n  @if $bg-lightness < 70% or $bg == yellow { color: $input-error-message-font-color; }\n  @else { color: $input-error-message-font-color-alt; }\n}\n\n// We use this mixin to style select elements\n@mixin form-select  {\n  -webkit-appearance: none !important;\n  -moz-appearance: none !important;\n  background-color: $select-bg-color;\n  border-radius: 0;\n\n  // Hide the dropdown arrow shown in newer IE versions\n  &::-ms-expand {\n    display: none;\n  }\n\n  // The custom arrow has some fake horizontal padding so we can align it\n  // from the right side of the element without relying on CSS3\n  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+');\n\n  // We can safely use leftmost and rightmost now\n  background-position: if($text-direction == 'rtl', 0%, 100%) center;\n\n  background-repeat: no-repeat;\n  border: {\n    style: $input-border-style;\n    width: $input-border-width;\n    color: $input-border-color;\n  }\n  color: $input-font-color;\n  font-family: $input-font-family;\n  font-size: $input-font-size;\n  line-height: normal;\n  padding: ($form-spacing / 2);\n  @include radius(0);\n  &.radius { @include radius($global-radius); }\n  &:focus {\n    background-color: $select-hover-bg-color;\n    border-color: $input-focus-border-color;\n  }\n  // Disabled Styles\n  &:disabled {\n    background-color: $input-disabled-bg;\n    cursor: $input-disabled-cursor;\n  }\n}\n\n// We use this mixin to turn on/off HTML5 number spinners\n@mixin html5number($browser, $on: true) {\n  @if $on == false {\n      @if $browser == webkit {\n        -webkit-appearance: none;\n        margin: 0;\n      } @else if $browser == moz {\n        -moz-appearance: textfield;\n      }\n  }\n}\n\n@include exports(\"form\") {\n  @if $include-html-form-classes {\n    /* Standard Forms */\n    form { margin: 0 0 $form-spacing; }\n\n    /* Using forms within rows, we need to set some defaults */\n    form .row { @include form-row-base; }\n\n    /* Label Styles */\n    label { @include form-label;\n      &.right { @include form-label(right, false); }\n      &.inline { @include form-label(inline, false); }\n      /* Styles for required inputs */\n      small {\n        text-transform: $form-label-small-transform;\n        color: scale-color($form-label-font-color, $lightness: 15%);\n      }\n    }\n\n    /* Attach elements to the beginning or end of an input */\n    .prefix,\n    .postfix { @include prefix-postfix-base; }\n\n    /* Adjust padding, alignment and radius if pre/post element is a button */\n    .postfix.button { @include button-size(false, false); @include postfix(false, false, false, true); }\n    .prefix.button { @include button-size(false, false); @include prefix(false, false, true); }\n\n    .prefix.button.radius { @include radius(0); @include side-radius($default-float, $button-radius); }\n    .postfix.button.radius { @include radius(0); @include side-radius($opposite-direction, $button-radius); }\n    .prefix.button.round { @include radius(0); @include side-radius($default-float, $button-round); }\n    .postfix.button.round { @include radius(0); @include side-radius($opposite-direction, $button-round); }\n\n    /* Separate prefix and postfix styles when on span or label so buttons keep their own */\n    span.prefix, label.prefix { @include prefix(); }\n    span.postfix, label.postfix { @include postfix(); }\n\n    /* We use this to get basic styling on all basic form elements */\n    input:not([type]), #{text-inputs(all, 'input')} {\n      -webkit-appearance: none;\n      -moz-appearance: none;\n      border-radius: 0;\n      @include form-element;\n      @if $input-include-glowing-effect == false {\n        -webkit-transition: border-color $input-transition-fade-time $input-transition-fade-timing-function, background $input-transition-fade-time $input-transition-fade-timing-function;\n        -moz-transition: border-color $input-transition-fade-time $input-transition-fade-timing-function, background $input-transition-fade-time $input-transition-fade-timing-function;\n        -ms-transition: border-color $input-transition-fade-time $input-transition-fade-timing-function, background $input-transition-fade-time $input-transition-fade-timing-function;\n        -o-transition: border-color $input-transition-fade-time $input-transition-fade-timing-function, background $input-transition-fade-time $input-transition-fade-timing-function;\n        transition: border-color $input-transition-fade-time $input-transition-fade-timing-function, background $input-transition-fade-time $input-transition-fade-timing-function;\n      }\n      &.radius {\n        @include radius($input-border-radius);\n      }\n    }\n\n    form {\n      .row {\n        .prefix-radius.row.collapse {\n          input,\n          textarea,\n          select,\n          button { @include radius(0); @include side-radius($opposite-direction, $button-radius); }\n          .prefix { @include radius(0); @include side-radius($default-float, $button-radius); }\n        }\n        .postfix-radius.row.collapse {\n          input,\n          textarea,\n          select,\n          button { @include radius(0); @include side-radius($default-float, $button-radius); }\n          .postfix { @include radius(0); @include side-radius($opposite-direction, $button-radius); }\n        }\n        .prefix-round.row.collapse {\n          input,\n          textarea,\n          select,\n          button { @include radius(0); @include side-radius($opposite-direction, $button-round); }\n          .prefix { @include radius(0); @include side-radius($default-float, $button-round); }\n        }\n        .postfix-round.row.collapse {\n          input,\n          textarea,\n          select,\n          button { @include radius(0); @include side-radius($default-float, $button-round); }\n          .postfix { @include radius(0); @include side-radius($opposite-direction, $button-round); }\n        }\n      }\n    }\n\n    input[type=\"submit\"] {\n      -webkit-appearance: none;\n      -moz-appearance: none;\n      border-radius: 0;\n    }\n\n    /* Respect enforced amount of rows for textarea */\n    textarea[rows] {\n      height: auto;\n    }\n\n    /* Not allow resize out of parent */\n    textarea {\n      max-width: 100%;\n    }\n\n    // style placeholder text cross browser\n    ::-webkit-input-placeholder {\n      color: $input-placeholder-font-color;\n    }\n\n    :-moz-placeholder { /* Firefox 18- */\n       color: $input-placeholder-font-color;\n    }\n\n    ::-moz-placeholder {  /* Firefox 19+ */\n       color: $input-placeholder-font-color;\n    }\n\n    :-ms-input-placeholder {\n       color: $input-placeholder-font-color;\n    }\n\n\n    /* Add height value for select elements to match text input height */\n    select {\n      @include form-select;\n      height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1));\n      &[multiple] {\n        height: auto;\n      }\n    }\n\n    /* Adjust margin for form elements below */\n    input[type=\"file\"],\n    input[type=\"checkbox\"],\n    input[type=\"radio\"],\n    select {\n      margin: 0 0 $form-spacing 0;\n    }\n\n    input[type=\"checkbox\"] + label,\n    input[type=\"radio\"] + label {\n      display: inline-block;\n      margin-#{$default-float}: $form-spacing * .5;\n      margin-#{$opposite-direction}: $form-spacing;\n      margin-bottom: 0;\n      vertical-align: baseline;\n    }\n\n    /* Normalize file input width */\n    input[type=\"file\"] {\n      width:100%;\n    }\n\n    /* HTML5 Number spinners settings */\n    input[type=number] {\n      @include html5number(moz, $input-number-spinners)\n    }\n    input[type=\"number\"]::-webkit-inner-spin-button,\n    input[type=\"number\"]::-webkit-outer-spin-button {\n      @include html5number(webkit, $input-number-spinners);\n    }\n\n    /* We add basic fieldset styling */\n    fieldset {\n      @include fieldset;\n    }\n\n    /* Error Handling */\n\n    #{data('abide')} {\n      .error small.error, .error span.error, span.error, small.error {\n        @include form-error-message;\n      }\n      span.error, small.error { display: none; }\n    }\n\n    span.error, small.error {\n      @include form-error-message;\n    }\n\n    .error {\n      input,\n      textarea,\n      select {\n        margin-bottom: 0;\n      }\n\n      input[type=\"checkbox\"],\n      input[type=\"radio\"] {\n        margin-bottom: $form-spacing\n      }\n\n      label,\n      label.error {\n        @include form-label-error-color;\n      }\n\n      small.error {\n        @include form-error-message;\n      }\n\n      > label {\n        > small {\n          background: transparent;\n          color: scale-color($form-label-font-color, $lightness: 15%);\n          display: inline;\n          font-size: 60%;\n          font-style: normal;\n          margin: 0;\n          padding: 0;\n          text-transform: $form-label-small-transform;\n        }\n      }\n\n      span.error-message {\n        display: block;\n      }\n    }\n\n    input.error,\n    textarea.error,\n    select.error {\n      margin-bottom: 0;\n    }\n    label.error { @include form-label-error-color; }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n\n// @name\n// @dependencies _global.scss\n\n$include-html-icon-bar-classes: $include-html-classes !default;\n\n// @variables\n\n// We use these to style the icon-bar and items\n$icon-bar-bg: $oil !default;\n$icon-bar-font-color: $white !default;\n$icon-bar-font-color-hover: $icon-bar-font-color !default;\n$icon-bar-font-size: 1rem !default;\n$icon-bar-hover-color: $primary-color !default;\n$icon-bar-icon-color: $white !default;\n$icon-bar-icon-color-hover: $icon-bar-icon-color !default;\n$icon-bar-icon-size: 1.875rem !default;\n$icon-bar-image-width: 1.875rem !default;\n$icon-bar-image-height: 1.875rem !default;\n$icon-bar-active-color: $primary-color !default;\n$icon-bar-item-padding: 1.25rem !default;\n\n// We use this to set default opacity and cursor for disabled icons.\n$icon-bar-disabled-opacity: .7 !default;\n$icon-bar-disabled-cursor: $cursor-disabled-value !default;\n\n\n//\n// @mixins\n//\n\n// We use this mixin to create the base styles for our Icon bar element.\n//\n@mixin icon-bar-base() {\n  display: inline-block;\n  font-size: 0;\n  width: 100%;\n\n  > * {\n    display: block;\n    float: left;\n    font-size: $icon-bar-font-size;\n    margin: 0 auto;\n    padding: $icon-bar-item-padding;\n    text-align: center;\n    width: 25%;\n\n    i, img {\n      display: block;\n      margin: 0 auto;\n\n      & + label {\n        margin-top: .0625rem;\n      }\n    }\n\n    i {\n      font-size: $icon-bar-icon-size;\n      vertical-align: middle;\n    }\n\n    img {\n      height: $icon-bar-image-height;\n      width: $icon-bar-image-width;\n    }\n  }\n\n  &.label-right > * {\n\n    i, img {\n      display: inline-block;\n      margin: 0 .0625rem 0 0;\n\n      & + label {\n        margin-top: 0;\n      }\n    }\n\n    label { display: inline-block; }\n  }\n\n  &.vertical.label-right > * {\n    text-align: left;\n  }\n\n  &.vertical, &.small-vertical{\n    height: 100%;\n    width: auto;\n\n    .item {\n      float: none;\n      margin: auto;\n      width: auto;\n    }\n  }\n\n  &.medium-vertical {\n    @media #{$medium-up} {\n      height: 100%;\n      width: auto;\n\n      .item {\n        float: none;\n        margin: auto;\n        width: auto;\n      }\n    }\n  }\n  &.large-vertical {\n    @media #{$large-up} {\n      height: 100%;\n      width: auto;\n\n      .item {\n        float: none;\n        margin: auto;\n        width: auto;\n      }\n    }\n  }\n}\n\n// We use this mixin to create the size styles for icon bars.\n@mixin icon-bar-size(\n  $padding: $icon-bar-item-padding,\n  $font-size: $icon-bar-font-size,\n  $icon-size: $icon-bar-icon-size,\n  $image-width: $icon-bar-image-width,\n  $image-height: $icon-bar-image-height) {\n\n  > * {\n    font-size: $font-size;\n    padding: $padding;\n\n    i, img {\n\n      & + label {\n        margin-top: .0625rem;\n        font-size: $font-size;\n      }\n    }\n\n    i {\n      font-size: $icon-size;\n    }\n\n    img {\n      height: $image-height;\n      width: $image-width;\n    }\n  }\n\n}\n\n@mixin icon-bar-style(\n  $bar-bg:$icon-bar-bg,\n  $bar-font-color:$icon-bar-font-color,\n  $bar-font-color-hover:$icon-bar-font-color-hover,\n  $bar-hover-color:$icon-bar-hover-color,\n  $bar-icon-color:$icon-bar-icon-color,\n  $bar-icon-color-hover:$icon-bar-icon-color-hover,\n  $bar-active-color:$icon-bar-active-color,\n  $base-style:true,\n  $disabled:false) {\n\n  @if $base-style {\n\n    background: $bar-bg;\n\n    > * {\n      label { color: $bar-font-color; }\n\n      i { color: $bar-icon-color; }\n    }\n\n    > a:hover {\n\n      background: $bar-hover-color;\n\n      label { color: $bar-font-color-hover; }\n\n      i { color: $bar-icon-color-hover; }\n    }\n\n        > a.active {\n\n      background: $bar-active-color;\n\n      label { color: $bar-font-color-hover; }\n\n      i { color: $bar-icon-color-hover; }\n    }\n  }\n  @if $disabled {\n    .item.disabled {\n      cursor: $icon-bar-disabled-cursor;\n      opacity: $icon-bar-disabled-opacity;\n      pointer-events: none;\n      >* {\n        opacity: $icon-bar-disabled-opacity;\n        cursor: $icon-bar-disabled-cursor;\n      }\n    }\n  }\n\n}\n\n// We use this to quickly create icon bars with a single mixin\n// $height - The overall calculated height of the icon bar (horizontal)\n// $bar-bg - the background color of the bar\n// $bar-font-color - the font color\n// $bar-hover-color - okay these are pretty obvious variables\n// $bar-icon-color - maybe we could skip explaining them all? Okay this one does change icon color if you use an icon font\n// $bar-active-color - the color of an active / hover state\n// $base-style - Apply base styles? Default: true.\n// $disabled - Allow disabled icons? Default: false.\n\n@mixin icon-bar(\n  $bar-bg:$icon-bar-bg,\n  $bar-font-color:$icon-bar-font-color,\n  $bar-font-color-hover:$icon-bar-font-color-hover,\n  $bar-hover-color:$icon-bar-hover-color,\n  $bar-icon-color:$icon-bar-icon-color,\n  $bar-icon-color-hover:$icon-bar-icon-color-hover,\n  $bar-active-color:$icon-bar-active-color,\n  $padding: $icon-bar-item-padding,\n  $font-size: $icon-bar-font-size,\n  $icon-size: $icon-bar-icon-size,\n  $image-width: $icon-bar-image-width,\n  $image-height: $icon-bar-image-height,\n  $base-style:true,\n  $disabled:true) {\n    @include icon-bar-base();\n    @include icon-bar-size($padding, $font-size, $icon-size, $image-width, $image-height);\n    @include icon-bar-style($bar-bg, $bar-font-color, $bar-font-color-hover, $bar-hover-color, $bar-icon-color, $bar-icon-color-hover, $bar-active-color, $base-style, $disabled);\n\n  // Counts\n\n  &.two-up {\n    .item { width: 50%; }\n    &.vertical .item, &.small-vertical .item { width: auto; }\n    &.medium-vertical .item {\n      @media #{$medium-up} {\n        width: auto;\n      }\n    }\n    &.large-vertical .item {\n      @media #{$large-up} {\n        width: auto;\n      }\n    }\n  }\n  &.three-up {\n    .item { width: 33.3333%; }\n    &.vertical .item, &.small-vertical .item { width: auto; }\n    &.medium-vertical .item {\n      @media #{$medium-up} {\n        width: auto;\n      }\n    }\n    &.large-vertical .item {\n      @media #{$large-up} {\n        width: auto;\n      }\n    }\n  }\n  &.four-up {\n    .item { width: 25%; }\n    &.vertical .item, &.small-vertical .item { width: auto; }\n    &.medium-vertical .item {\n      @media #{$medium-up} {\n        width: auto;\n      }\n    }\n    &.large-vertical .item {\n      @media #{$large-up} {\n        width: auto;\n      }\n    }\n  }\n  &.five-up {\n    .item { width: 20%; }\n    &.vertical .item, &.small-vertical .item { width: auto; }\n    &.medium-vertical .item {\n      @media #{$medium-up} {\n        width: auto;\n      }\n    }\n    &.large-vertical .item {\n      @media #{$large-up} {\n        width: auto;\n      }\n    }\n  }\n  &.six-up {\n    .item { width: 16.66667%; }\n    &.vertical .item, &.small-vertical .item { width: auto; }\n    &.medium-vertical .item {\n      @media #{$medium-up} {\n        width: auto;\n      }\n    }\n    &.large-vertical .item {\n      @media #{$large-up} {\n        width: auto;\n      }\n    }\n  }\n  &.seven-up {\n    .item { width: 14.28571%; }\n    &.vertical .item, &.small-vertical .item { width: auto; }\n    &.medium-vertical .item {\n      @media #{$medium-up} {\n            width: auto;\n      }\n    }\n    &.large-vertical .item {\n      @media #{$large-up} {\n         width: auto;\n      }\n    }\n  }\n  &.eight-up {\n    .item { width: 12.5%; }\n    &.vertical .item, &.small-vertical .item { width: auto; }\n    &.medium-vertical .item {\n      @media #{$medium-up} {\n            width: auto;\n      }\n    }\n    &.large-vertical .item {\n      @media #{$large-up} {\n         width: auto;\n      }\n    }\n  }\n}\n\n@include exports(\"icon-bar\") {\n  @if $include-html-icon-bar-classes {\n    .icon-bar {\n      @include icon-bar;\n    }\n  }\n}\n\n@if $include-html-icon-bar-classes {\n\n  // toolbar styles\n\n  .icon-bar {\n\n    // Counts\n\n    &.two-up {\n      .item { width: 50%; }\n      &.vertical .item, &.small-vertical .item { width: auto; }\n      &.medium-vertical .item {\n        @media #{$medium-up} {\n          width: auto;\n        }\n      }\n      &.large-vertical .item {\n        @media #{$large-up} {\n          width: auto;\n        }\n      }\n    }\n    &.three-up {\n      .item { width: 33.3333%; }\n      &.vertical .item, &.small-vertical .item { width: auto; }\n      &.medium-vertical .item {\n        @media #{$medium-up} {\n          width: auto;\n        }\n      }\n      &.large-vertical .item {\n        @media #{$large-up} {\n          width: auto;\n        }\n      }\n    }\n    &.four-up {\n      .item { width: 25%; }\n      &.vertical .item, &.small-vertical .item { width: auto; }\n      &.medium-vertical .item {\n        @media #{$medium-up} {\n          width: auto;\n        }\n      }\n      &.large-vertical .item {\n        @media #{$large-up} {\n          width: auto;\n        }\n      }\n    }\n    &.five-up {\n      .item { width: 20%; }\n      &.vertical .item, &.small-vertical .item { width: auto; }\n      &.medium-vertical .item {\n        @media #{$medium-up} {\n          width: auto;\n        }\n      }\n      &.large-vertical .item {\n        @media #{$large-up} {\n          width: auto;\n        }\n      }\n    }\n    &.six-up {\n      .item { width: 16.66667%; }\n      &.vertical .item, &.small-vertical .item { width: auto; }\n      &.medium-vertical .item {\n        @media #{$medium-up} {\n          width: auto;\n        }\n      }\n      &.large-vertical .item {\n        @media #{$large-up} {\n          width: auto;\n        }\n      }\n    }\n    &.seven-up {\n      .item { width: 14.28571%; }\n      &.vertical .item, &.small-vertical .item { width: auto; }\n      &.medium-vertical .item {\n        @media #{$medium-up} {\n              width: auto;\n        }\n      }\n      &.large-vertical .item {\n        @media #{$large-up} {\n           width: auto;\n        }\n      }\n    }\n    &.eight-up {\n      .item { width: 12.5%; }\n      &.vertical .item, &.small-vertical .item { width: auto; }\n      &.medium-vertical .item {\n        @media #{$medium-up} {\n              width: auto;\n        }\n      }\n      &.large-vertical .item {\n        @media #{$large-up} {\n           width: auto;\n        }\n      }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-inline-list-classes: $include-html-classes !default;\n\n// We use this to control the margins and padding of the inline list.\n$inline-list-top-margin: 0 !default;\n$inline-list-opposite-margin: 0 !default;\n$inline-list-bottom-margin: rem-calc(17) !default;\n$inline-list-default-float-margin: rem-calc(-22) !default;\n$inline-list-default-float-list-margin: rem-calc(22) !default;\n\n$inline-list-padding: 0 !default;\n\n// We use this to control the overflow of the inline list.\n$inline-list-overflow: hidden !default;\n\n// We use this to control the list items\n$inline-list-display: block !default;\n\n// We use this to control any elements within list items\n$inline-list-children-display: block !default;\n\n//\n// @mixins\n//\n// We use this mixin to create inline lists\n@mixin inline-list {\n  list-style: none;\n  margin-top: $inline-list-top-margin;\n  margin-bottom: $inline-list-bottom-margin;\n  margin-#{$default-float}: $inline-list-default-float-margin;\n  margin-#{$opposite-direction}: $inline-list-opposite-margin;\n  overflow: $inline-list-overflow;\n  padding: $inline-list-padding;\n\n  > li {\n    display: $inline-list-display;\n    float: $default-float;\n    list-style: none;\n    margin-#{$default-float}: $inline-list-default-float-list-margin;\n    > * { display: $inline-list-children-display; }\n  }\n}\n\n@include exports(\"inline-list\") {\n  @if $include-html-inline-list-classes {\n    .inline-list {\n      @include inline-list();\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-joyride-classes: $include-html-classes !default;\n\n// Controlling default Joyride styles\n$joyride-tip-bg: $oil !default;\n$joyride-tip-default-width: 300px !default;\n$joyride-tip-padding: rem-calc(18 20 24) !default;\n$joyride-tip-border: solid 1px $charcoal !default;\n$joyride-tip-radius: 4px !default;\n$joyride-tip-position-offset: 22px !default;\n\n// Here, we're setting the tip font styles\n$joyride-tip-font-color: $white !default;\n$joyride-tip-font-size: rem-calc(14) !default;\n$joyride-tip-header-weight: $font-weight-bold !default;\n\n// This changes the nub size\n$joyride-tip-nub-size: 10px !default;\n\n// This adjusts the styles for the timer when its enabled\n$joyride-tip-timer-width: 50px !default;\n$joyride-tip-timer-height: 3px !default;\n$joyride-tip-timer-color: $steel !default;\n\n// This changes up the styles for the close button\n$joyride-tip-close-color: $monsoon !default;\n$joyride-tip-close-size: 24px !default;\n$joyride-tip-close-weight: $font-weight-normal !default;\n\n// When Joyride is filling the screen, we use this style for the bg\n$joyride-screenfill: rgba(0,0,0,0.5) !default;\n\n\n// We decided not to make a mixin for this because it relies on\n// predefined classes to work properly.\n@include exports(\"joyride\") {\n  @if $include-html-joyride-classes {\n\n    /* Foundation Joyride */\n    .joyride-list { display: none; }\n\n    /* Default styles for the container */\n    .joyride-tip-guide {\n      background: $joyride-tip-bg;\n      color: $joyride-tip-font-color;\n      display: none;\n      font-family: inherit;\n      font-weight: $font-weight-normal;\n      position: absolute;\n      top: 0;\n      width: 95%;\n      z-index: 103;\n      #{$default-float}: 2.5%;\n    }\n\n    .lt-ie9 .joyride-tip-guide {\n      margin-#{$default-float}: -400px;\n      max-width: 800px;\n      #{$default-float}: 50%;\n    }\n\n    .joyride-content-wrapper {\n      padding: $joyride-tip-padding;\n      width: 100%;\n\n      .button { margin-bottom: 0 !important; }\n\n      .joyride-prev-tip { margin-right: 10px; }\n    }\n\n    /* Add a little css triangle pip, older browser just miss out on the fanciness of it */\n    .joyride-tip-guide {\n      .joyride-nub {\n        border: $joyride-tip-nub-size solid $joyride-tip-bg;\n        display: block;\n        height: 0;\n        position: absolute;\n        width: 0;\n        #{$default-float}: $joyride-tip-position-offset;\n\n        &.top {\n          border-color: $joyride-tip-bg;\n          border-top-color: transparent !important;\n          border-top-style: solid;\n          border-#{$default-float}-color: transparent !important;\n          border-#{$opposite-direction}-color: transparent !important;\n          top: -($joyride-tip-nub-size*2);\n        }\n        &.bottom {\n          border-color: $joyride-tip-bg !important;\n          border-bottom-color: transparent !important;\n          border-bottom-style: solid;\n          border-#{$default-float}-color: transparent !important;\n          border-#{$opposite-direction}-color: transparent !important;\n          bottom: -($joyride-tip-nub-size*2);\n        }\n\n        &.right { right: -($joyride-tip-nub-size*2); }\n        &.left { left: -($joyride-tip-nub-size*2); }\n      }\n    }\n\n    /* Typography */\n    .joyride-tip-guide h1,\n    .joyride-tip-guide h2,\n    .joyride-tip-guide h3,\n    .joyride-tip-guide h4,\n    .joyride-tip-guide h5,\n    .joyride-tip-guide h6 {\n      color: $joyride-tip-font-color;\n      font-weight: $joyride-tip-header-weight;\n      line-height: 1.25;\n      margin: 0;\n    }\n    .joyride-tip-guide p {\n      font-size: $joyride-tip-font-size;\n      line-height: 1.3;\n      margin: rem-calc(0 0 18 0);\n    }\n\n    .joyride-timer-indicator-wrap {\n      border: $joyride-tip-border;\n      bottom: rem-calc(16);\n      height: $joyride-tip-timer-height;\n      position: absolute;\n      width: $joyride-tip-timer-width;\n      #{$opposite-direction}: rem-calc(17);\n    }\n    .joyride-timer-indicator {\n      background: $joyride-tip-timer-color;\n      display: block;\n      height: inherit;\n      width: 0;\n    }\n\n    .joyride-close-tip {\n      color: $joyride-tip-close-color !important;\n      font-size: $joyride-tip-close-size;\n      font-weight: $joyride-tip-close-weight;\n      line-height: .5 !important;\n      position: absolute;\n      text-decoration: none;\n      top: 10px;\n      #{$opposite-direction}: 12px;\n\n      &:hover,\n      &:focus { color: $smoke !important; }\n    }\n\n    .joyride-modal-bg {\n      background: $joyride-screenfill;\n      cursor: $cursor-pointer-value;\n      display: none;\n      height: 100%;\n      position: fixed;\n      top: 0;\n      width: 100%;\n      z-index: 100;\n      #{$default-float}: 0;\n    }\n\n    .joyride-expose-wrapper {\n      background-color: $white;\n      border-radius: 3px;\n      box-shadow: 0 0 15px $white;\n      position: absolute;\n      z-index: 102;\n    }\n\n    .joyride-expose-cover {\n      background: transparent;\n      border-radius: 3px;\n      left: 0;\n      position: absolute;\n      top: 0;\n      z-index: 9999;\n    }\n\n\n    /* Styles for screens that are at least 768px; */\n    @media #{$small} {\n      .joyride-tip-guide { width: $joyride-tip-default-width; #{$default-float}: inherit;\n        .joyride-nub {\n          &.bottom {\n            border-color: $joyride-tip-bg !important;\n            border-bottom-color: transparent !important;\n            border-#{$default-float}-color: transparent !important;\n            border-#{$opposite-direction}-color: transparent !important;\n            bottom: -($joyride-tip-nub-size*2);\n          }\n          &.right {\n            border-color: $joyride-tip-bg !important;\n            border-right-color: transparent !important; border-bottom-color: transparent !important;\n            border-top-color: transparent !important;\n            left: auto;\n            right: -($joyride-tip-nub-size*2);\n            top: $joyride-tip-position-offset;\n          }\n          &.left {\n            border-color: $joyride-tip-bg !important;\n            border-bottom-color: transparent !important;\n            border-left-color: transparent !important;\n            border-top-color: transparent !important;\n            left: -($joyride-tip-nub-size*2);\n            right: auto;\n            top: $joyride-tip-position-offset;\n          }\n        }\n      }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-keystroke-classes: $include-html-classes !default;\n\n// We use these to control text styles.\n$keystroke-font: \"Consolas\", \"Menlo\", \"Courier\", monospace !default;\n$keystroke-font-size: inherit !default;\n$keystroke-font-color: $jet !default;\n$keystroke-font-color-alt: $white !default;\n$keystroke-function-factor: -7% !default;\n\n// We use this to control keystroke padding.\n$keystroke-padding: rem-calc(2 4 0) !default;\n\n// We use these to control background and border styles.\n$keystroke-bg: scale-color($white, $lightness: $keystroke-function-factor) !default;\n$keystroke-border-style: solid !default;\n$keystroke-border-width: 1px !default;\n$keystroke-border-color: scale-color($keystroke-bg, $lightness: $keystroke-function-factor) !default;\n$keystroke-radius: $global-radius !default;\n\n//\n// @mixins\n//\n// We use this mixin to create keystroke styles.\n// $bg - Default: $keystroke-bg || scale-color($white, $lightness: $keystroke-function-factor) !default;\n@mixin keystroke($bg:$keystroke-bg) {\n  // This find the lightness percentage of the background color.\n  $bg-lightness: lightness($bg);\n  background-color: $bg;\n  border-color: scale-color($bg, $lightness: $keystroke-function-factor);\n\n  // We adjust the font color based on the brightness of the background.\n  @if $bg-lightness > 70% { color: $keystroke-font-color; }\n  @else { color: $keystroke-font-color-alt; }\n\n  border-style: $keystroke-border-style;\n  border-width: $keystroke-border-width;\n  font-family: $keystroke-font;\n  font-size: $keystroke-font-size;\n  margin: 0;\n  padding: $keystroke-padding;\n}\n\n@include exports(\"keystroke\") {\n  @if $include-html-keystroke-classes  {\n    .keystroke,\n    kbd {\n      @include keystroke;\n      @include radius($keystroke-radius);\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-label-classes: $include-html-classes !default;\n\n// We use these to style the labels\n$label-padding: rem-calc(4 8 4) !default;\n$label-radius: $global-radius !default;\n\n// We use these to style the label text\n$label-font-sizing: rem-calc(11) !default;\n$label-font-weight: $font-weight-normal !default;\n$label-font-color: $oil !default;\n$label-font-color-alt: $white !default;\n$label-font-family: $body-font-family !default;\n\n//\n// @mixins\n//\n// We use this mixin to create a default label base.\n@mixin label-base {\n  display: inline-block;\n  font-family: $label-font-family;\n  font-weight: $label-font-weight;\n  line-height: 1;\n  margin-bottom: auto;\n  position: relative;\n  text-align: center;\n  text-decoration: none;\n  white-space: nowrap;\n}\n\n// @mixins\n//\n// We use this mixin to add label size styles.\n// $padding - Used to determine label padding. Default: $label-padding || rem-calc(4 8 4) !default\n// $text-size - Used to determine label text-size. Default: $text-size found in settings\n@mixin label-size($padding:$label-padding, $text-size:$label-font-sizing) {\n  @if $padding { padding: $padding; }\n  @if $text-size { font-size: $text-size; }\n}\n\n// @mixins\n//\n// We use this mixin to add label styles.\n// $bg - Default: $primary-color (found in settings file)\n// $radius - Default: false, Options: true, sets radius to $global-radius (found in settings file)\n@mixin label-style($bg:$primary-color, $radius:false) {\n\n  // We control which background color comes through\n  @if $bg {\n\n    // This find the lightness percentage of the background color.\n    $bg-lightness: lightness($bg);\n\n    background-color: $bg;\n\n    // We control the text color for you based on the background color.\n    @if $bg-lightness < 70% { color: $label-font-color-alt; }\n    @else { color: $label-font-color; }\n  }\n\n  // We use this to control the radius on labels.\n  @if $radius == true { @include radius($label-radius); }\n  @else if $radius { @include radius($radius); }\n\n}\n\n// @mixins\n//\n// We use this to add close buttons to alerts\n// $padding - Default: $label-padding,\n// $text-size - Default: $label-font-sizing,\n// $bg - Default: $primary-color(found in settings file)\n// $radius - Default: false, Options: true which sets radius to $global-radius (found in settings file)\n@mixin label($padding:$label-padding, $text-size:$label-font-sizing, $bg:$primary-color, $radius:false) {\n\n  @include label-base;\n  @include label-size($padding, $text-size);\n  @include label-style($bg, $radius);\n}\n\n@include exports(\"label\") {\n  @if $include-html-label-classes {\n    .label {\n      @include label-base;\n      @include label-size;\n      @include label-style;\n\n      &.radius { @include label-style(false, true); }\n      &.round { @include label-style(false, $radius:1000px); }\n\n      &.alert     { @include label-style($alert-color); }\n      &.warning   { @include label-style($warning-color); }\n      &.success   { @include label-style($success-color); }\n      &.secondary { @include label-style($secondary-color); }\n      &.info      { @include label-style($info-color); }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-magellan-classes: $include-html-classes !default;\n\n$magellan-bg: $white !default;\n$magellan-padding: 10px !default;\n\n@include exports(\"magellan\") {\n  @if $include-html-magellan-classes {\n\n    #{data('magellan-expedition')}, #{data('magellan-expedition-clone')} {\n      background: $magellan-bg;\n      min-width: 100%;\n      padding: $magellan-padding;\n      z-index: 50;\n\n      .sub-nav {\n        margin-bottom: 0;\n        dd { margin-bottom: 0; }\n        a {\n          line-height: 1.8em;\n        }\n      }\n    }\n\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n// @variables\n//\n$include-html-orbit-classes: $include-html-classes !default;\n\n// We use these to control the caption styles\n$orbit-container-bg: none !default;\n$orbit-caption-bg: rgba(51,51,51, .8) !default;\n$orbit-caption-font-color: $white !default;\n$orbit-caption-font-size: rem-calc(14) !default;\n$orbit-caption-position: \"bottom\" !default; // Supported values: \"bottom\", \"under\"\n$orbit-caption-padding: rem-calc(10 14) !default;\n$orbit-caption-height: auto !default;\n\n// We use these to control the left/right nav styles\n$orbit-nav-bg: transparent !default;\n$orbit-nav-bg-hover: rgba(0,0,0,0.3) !default;\n$orbit-nav-arrow-color: $white !default;\n$orbit-nav-arrow-color-hover: $white !default;\n\n// We use these to control the timer styles\n$orbit-timer-bg: rgba(255,255,255,0.3) !default;\n$orbit-timer-show-progress-bar: true !default;\n\n// We use these to control the bullet nav styles\n$orbit-bullet-nav-color: $iron !default;\n$orbit-bullet-nav-color-active: $aluminum !default;\n$orbit-bullet-radius: rem-calc(9) !default;\n\n// We use these to controls the style of slide numbers\n$orbit-slide-number-bg: rgba(0,0,0,0) !default;\n$orbit-slide-number-font-color: $white !default;\n$orbit-slide-number-padding: rem-calc(5) !default;\n\n// Graceful Loading Wrapper and preloader\n$wrapper-class: \"slideshow-wrapper\" !default;\n$preloader-class: \"preloader\" !default;\n\n// Hide controls on small\n$orbit-nav-hide-for-small: true !default;\n$orbit-bullet-hide-for-small: true !default;\n$orbit-timer-hide-for-small: true !default;\n\n\n@include exports(\"orbit\") {\n  @if $include-html-orbit-classes {\n\n    @-webkit-keyframes rotate {\n      from {\n        -webkit-transform: rotate(0deg);\n        transform: rotate(0deg);\n      }\n      to {\n          -webkit-transform: rotate(360deg);\n          transform: rotate(360deg);\n      }\n    }\n\n\n    @keyframes rotate {\n      from {\n          -webkit-transform: rotate(0deg);\n          -moz-transform: rotate(0deg);\n          -ms-transform: rotate(0deg);\n          transform: rotate(0deg);\n      }\n      to {\n          -webkit-transform: rotate(360deg);\n          -moz-transform: rotate(360deg);\n          -ms-transform: rotate(360deg);\n          transform: rotate(360deg);\n      }\n    }\n\n    /* Orbit Graceful Loading */\n    .#{$wrapper-class} {\n      position: relative;\n\n      ul {\n        // Prevent bullets showing before .orbit-container is loaded\n        list-style-type: none;\n        margin: 0;\n\n        // Hide all list items\n        li,\n        li .orbit-caption { display: none; }\n\n        // ...except for the first one\n        li:first-child { display: block; }\n      }\n\n      .orbit-container { background-color: transparent;\n\n        // Show images when .orbit-container is loaded\n        li { display: block;\n\n          .orbit-caption { display: block; }\n        }\n        .orbit-bullets li {\n          display: inline-block;\n        }\n      }\n\n      // Orbit preloader\n      .#{$preloader-class} {\n        @include radius(1000px);\n        animation-duration: 1.5s;\n        animation-iteration-count: infinite;\n        animation-name: rotate;\n        animation-timing-function: linear;\n        border-color: $charcoal $white;\n        border: solid 3px;\n        display: block;\n        height: 40px;\n        left: 50%;\n        margin-left: -20px;\n        margin-top: -20px;\n        position: absolute;\n        top: 50%;\n        width: 40px;\n      }\n    }\n\n\n    .orbit-container {\n      background: $orbit-container-bg;\n      overflow: hidden;\n      position: relative;\n      width: 100%;\n\n      .orbit-slides-container {\n        list-style: none;\n        margin: 0;\n        padding: 0;\n        position: relative;\n\n        // Prevents images (and captions) from disappearing after first rotation on Chrome for Android\n        -webkit-transform: translateZ(0);\n        -moz-transform: translateZ(0);\n        -ms-transform: translateZ(0);\n        -o-transform: translateZ(0);\n        transform: translateZ(0);\n\n        img { display: block; max-width: 100%; }\n\n        > * {\n          position: absolute;\n          top: 0;\n          width: 100%;\n          @if $text-direction == rtl {\n            margin-right: 100%;\n          }\n          @else {\n            margin-left: 100%;\n          }\n\n          &:first-child {\n            @if $text-direction == rtl {\n              margin-right: 0;\n            }\n            @else {\n              margin-left: 0;\n            }\n          }\n\n          .orbit-caption {\n            @if $orbit-caption-position == \"bottom\" {\n              bottom: 0;\n              position: absolute;\n            } @else if $orbit-caption-position == \"under\" {\n              position: relative;\n            }\n\n            background-color: $orbit-caption-bg;\n            color: $orbit-caption-font-color;\n            font-size: $orbit-caption-font-size;\n            padding: $orbit-caption-padding;\n            width: 100%;\n          }\n        }\n      }\n\n      .orbit-slide-number {\n        #{$default-float}: 10px;\n        background: $orbit-slide-number-bg;\n        color: $orbit-slide-number-font-color;\n        font-size: 12px;\n        position: absolute;\n        span { font-weight: 700; padding: $orbit-slide-number-padding;}\n        top: 10px;\n        z-index: 10;\n      }\n\n      .orbit-timer {\n        \n        position: absolute;\n        top: 12px;\n        #{$opposite-direction}: 10px;\n        height: 6px;\n        width: 100px;\n        z-index: 10;\n        \n\n        .orbit-progress {\n          @if $orbit-timer-show-progress-bar {\n            height: 3px;\n            background-color: $orbit-timer-bg;\n            display: block;\n            width: 0;\n            position: relative;\n            right: 20px;\n            top: 5px;\n            \n          }\n        }\n\n        // Play button\n        & > span {\n          border: solid 4px $white;\n          border-bottom: none;\n          border-top: none;\n          display: none;\n          height: 14px;\n          position: absolute;\n          top: 0;\n          width: 11px;\n          #{$opposite-direction}: 0;\n        }\n\n        // Pause button\n        &.paused {\n          & > span {\n            top: 0;\n            width: 11px;\n            height: 14px;\n            border: inset 8px;\n            border-left-style: solid;\n            border-color: transparent;\n            border-left-color: $white;\n            #{$opposite-direction}: -4px;\n\n            &.dark {\n              border-left-color: $oil;\n            }\n          }\n        }\n      }\n\n\n\n      &:hover .orbit-timer > span { display: block; }\n\n      // Let's get those controls to be right in the center on each side\n      .orbit-prev,\n      .orbit-next {\n        background-color: $orbit-nav-bg;\n        color: white;\n        height: 60px;\n        line-height: 50px;\n        margin-top: -25px;\n        position: absolute;\n        text-indent: -9999px !important;\n        top: 45%;\n        width: 36px;\n        z-index: 10;\n\n        &:hover {\n          background-color: $orbit-nav-bg-hover;\n        }\n\n        & > span {\n          border: inset 10px;\n          display: block;\n          height: 0;\n          margin-top: -10px;\n          position: absolute;\n          top: 50%;\n          width: 0;\n        }\n      }\n      .orbit-prev { #{$default-float}: 0;\n        & > span {\n          border-#{$opposite-direction}-style: solid;\n          border-color: transparent;\n          border-#{$opposite-direction}-color: $orbit-nav-arrow-color;\n        }\n        &:hover > span {\n          border-#{$opposite-direction}-color: $orbit-nav-arrow-color-hover;\n        }\n      }\n      .orbit-next { #{$opposite-direction}: 0;\n        & > span {\n          border-color: transparent;\n          border-#{$default-float}-style: solid;\n          border-#{$default-float}-color: $orbit-nav-arrow-color;\n          #{$default-float}: 50%;\n          margin-#{$default-float}: -4px;\n        }\n        &:hover > span {\n          border-#{$default-float}-color: $orbit-nav-arrow-color-hover;\n        }\n      }\n    }\n\n    .orbit-bullets-container { text-align: center; }\n    .orbit-bullets {\n      display: block;\n      float: none;\n      margin: 0 auto 30px auto;\n      overflow: hidden;\n      position: relative;\n      text-align: center;\n      top: 10px;\n\n      li {\n        background: $orbit-bullet-nav-color;\n        cursor: pointer;\n        display: inline-block;\n        // float: $default-float;\n        float: none;\n        height: $orbit-bullet-radius;\n        margin-#{$opposite-direction}: 6px;\n        width: $orbit-bullet-radius;\n\n        @include radius(1000px);\n\n        &.active {\n          background: $orbit-bullet-nav-color-active;\n        }\n\n        &:last-child { margin-#{$opposite-direction}: 0; }\n      }\n    }\n\n    .touch {\n      .orbit-container {\n        .orbit-prev,\n        .orbit-next { display: none; }\n      }\n\n      .orbit-bullets { display: none; }\n    }\n\n\n    @media #{$medium-up} {\n\n      .touch {\n        .orbit-container {\n          .orbit-prev,\n          .orbit-next { display: inherit; }\n        }\n\n        .orbit-bullets { display: block; }\n      }\n\n    }\n\n    @media #{$small-only} {\n      .orbit-stack-on-small {\n        .orbit-slides-container {height: auto !important;}\n        .orbit-slides-container > * {\n          margin:0  !important;\n          opacity: 1 !important;\n          position: relative;\n        }\n\n        .orbit-slide-number {\n          display: none;\n        }\n      }\n\n      @if $orbit-timer-hide-for-small {\n         .orbit-timer{display: none;}\n      }\n      @if $orbit-nav-hide-for-small {\n         .orbit-next,.orbit-prev{display: none;}\n      }\n      @if $orbit-bullet-hide-for-small {\n         .orbit-bullets{display: none;}\n      }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-pagination-classes: $include-html-classes !default;\n\n// We use these to control the pagination container\n$pagination-height: rem-calc(24) !default;\n$pagination-margin: rem-calc(-5) !default;\n\n// We use these to set the list-item properties\n$pagination-li-float: $default-float !default;\n$pagination-li-height: rem-calc(24) !default;\n$pagination-li-font-color: $jet !default;\n$pagination-li-font-size: rem-calc(14) !default;\n$pagination-li-margin: rem-calc(5) !default;\n\n// We use these for the pagination anchor links\n$pagination-link-pad: rem-calc(1 10 1) !default;\n$pagination-link-font-color: $aluminum !default;\n$pagination-link-active-bg: scale-color($white, $lightness: -10%) !default;\n\n// We use these for disabled anchor links\n$pagination-link-unavailable-cursor: default !default;\n$pagination-link-unavailable-font-color: $aluminum !default;\n$pagination-link-unavailable-bg-active: transparent !default;\n\n// We use these for currently selected anchor links\n$pagination-link-current-background: $primary-color !default;\n$pagination-link-current-font-color: $white !default;\n$pagination-link-current-font-weight: $font-weight-bold !default;\n$pagination-link-current-cursor: default !default;\n$pagination-link-current-active-bg: $primary-color !default;\n\n// @mixins\n//\n// Style the pagination container. Currently only used when centering elements.\n// $center - Default: false, Options: true\n@mixin pagination-container($center:false) {\n  @if $center { text-align: center; }\n}\n\n// @mixins\n// Style unavailable list items\n@mixin pagination-unavailable-item {\n  a, button {\n    cursor: $pagination-link-unavailable-cursor;\n    color: $pagination-link-unavailable-font-color;\n    pointer-events: none;\n  }\n  &:hover a,\n  & a:focus,\n\n  &:hover button,\n  & button:focus\n  { background: $pagination-link-unavailable-bg-active; }\n}\n// @mixins\n// Style the current list item. Do not assume that the current item has\n// an anchor <a> element.\n// $has-anchor - Default: true, Options: false\n@mixin pagination-current-item($has-anchor: true) {\n  @if $has-anchor {\n    a, button {\n      background: $pagination-link-current-background;\n      color: $pagination-link-current-font-color;\n      cursor: $pagination-link-current-cursor;\n      font-weight: $pagination-link-current-font-weight;\n\n      &:hover,\n      &:focus { background: $pagination-link-current-active-bg; }\n    }\n  } @else {\n    background: $pagination-link-current-background;\n    color: $pagination-link-current-font-color;\n    cursor: $pagination-link-current-cursor;\n    font-weight: $pagination-link-current-font-weight;\n    height: auto;\n    padding: $pagination-link-pad;\n    @include radius;\n\n    &:hover,\n    &:focus { background: $pagination-link-current-active-bg; }\n  }\n}\n\n// @mixins\n//\n// We use this mixin to set the properties for the creating Foundation pagination\n// $center - Left or center align the li elements. Default: false\n// $base-style - Sets base styles for pagination. Default: true, Options: false\n// $use-default-classes - Makes unavailable & current classes available for use. Default: true\n@mixin pagination($center:false, $base-style:true, $use-default-classes:true) {\n\n  @if $base-style {\n    display: block;\n    margin-#{$default-float}: $pagination-margin;\n    min-height: $pagination-height;\n\n    li {\n      color: $pagination-li-font-color;\n      font-size: $pagination-li-font-size;\n      height: $pagination-li-height;\n      margin-#{$default-float}: $pagination-li-margin;\n\n      a, button {\n        @include radius;\n        @include single-transition(background-color);\n        background: none;\n        color: $pagination-link-font-color;\n        display: block;\n        font-size: 1em;\n        font-weight: normal;\n        line-height: inherit;\n        padding: $pagination-link-pad;\n      }\n\n      &:hover a,\n      a:focus,\n      &:hover button,\n      button:focus\n      { background: $pagination-link-active-bg; }\n\n      @if $use-default-classes {\n        &.unavailable { @include pagination-unavailable-item(); }\n        &.current { @include pagination-current-item(); }\n      }\n    }\n  }\n\n  // Left or center align the li elements\n  li {\n    @if $center {\n      display: inline-block;\n      float: none;\n    } @else {\n      display: block;\n      float: $pagination-li-float;\n    }\n  }\n}\n\n@include exports(\"pagination\") {\n  @if $include-pagination-classes {\n    ul.pagination {\n      @include pagination;\n    }\n\n    /* Pagination centred wrapper */\n    .pagination-centered {\n      @include pagination-container(true);\n\n      ul.pagination {\n        @include pagination(true, false);\n      }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-panel-classes: $include-html-classes !default;\n\n// We use these to control the background and border styles\n$panel-bg: scale-color($white, $lightness: -5%) !default;\n$panel-border-style: solid !default;\n$panel-border-size: 1px !default;\n$callout-panel-bg: scale-color($primary-color, $lightness: 94%) !default;\n\n// We use this % to control how much we darken things on hover\n$panel-border-color: scale-color($panel-bg, $lightness: -11%) !default;\n\n// We use these to set default inner padding and bottom margin\n$panel-margin-bottom: rem-calc(20) !default;\n$panel-padding: rem-calc(20) !default;\n\n// We use these to set default font colors\n$panel-font-color: $oil !default;\n$panel-font-color-alt: $white !default;\n\n$panel-header-adjust: true !default;\n$callout-panel-link-color: $primary-color !default;\n$callout-panel-link-color-hover: scale-color($callout-panel-link-color, $lightness: -14%) !default;\n//\n// @mixins\n//\n// We use this mixin to create panels.\n// $bg - Sets the panel background color. Default: $panel-pg || scale-color($white, $lightness: -5%) !default\n// $padding - Sets the panel padding amount. Default: $panel-padding || rem-calc(20)\n// $adjust - Sets the font color based on the darkness of the bg & resets header line-heights for panels. Default: $panel-header-adjust || true\n@mixin panel($bg:$panel-bg, $padding:$panel-padding, $adjust:$panel-header-adjust, $border:true) {\n\n  @if $bg {\n    $bg-lightness: lightness($bg);\n\n    @if $border {\n      border-style: $panel-border-style;\n      border-width: $panel-border-size;\n      border-color: $panel-border-color;\n    } @else {\n      border-style: none;\n      border-width: 0;\n    }\n\n    margin-bottom: $panel-margin-bottom;\n    padding: $padding;\n\n    background: $bg;\n    @if $bg-lightness >= 50% { color: $panel-font-color; }\n    @else { color: $panel-font-color-alt; }\n\n    // Respect the padding, fool.\n    > :first-child { margin-top: 0; }\n    > :last-child { margin-bottom: 0; }\n\n    @if $adjust {\n      // We set the font color based on the darkness of the bg.\n      @if $bg-lightness >= 50% {\n        h1, h2, h3, h4, h5, h6, p, li, dl { color: $panel-font-color; }\n      }\n      @else {\n        h1, h2, h3, h4, h5, h6, p, li, dl { color: $panel-font-color-alt; }\n      }\n\n      // reset header line-heights for panels\n      h1, h2, h3, h4, h5, h6 {\n        line-height: 1; margin-bottom: rem-calc(20) / 2;\n        &.subheader { line-height: 1.4; }\n      }\n    }\n  }\n}\n\n@include exports(\"panel\") {\n  @if $include-html-panel-classes {\n\n    /* Panels */\n    .panel { @include panel;\n\n      &.callout {\n        @include panel($callout-panel-bg);\n        a:not(.button) {\n          color: $callout-panel-link-color;\n\n          &:hover,\n          &:focus {\n            color: $callout-panel-link-color-hover;\n          }\n        }\n      }\n\n      &.radius {\n        @include radius;\n      }\n\n    }\n\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-pricing-classes: $include-html-classes !default;\n\n// We use this to control the border color\n$price-table-border: solid 1px $gainsboro !default;\n\n// We use this to control the bottom margin of the pricing table\n$price-table-margin-bottom: rem-calc(20) !default;\n\n// We use these to control the title styles\n$price-title-bg: $oil !default;\n$price-title-padding: rem-calc(15 20) !default;\n$price-title-align: center !default;\n$price-title-color: $smoke !default;\n$price-title-weight: $font-weight-normal !default;\n$price-title-size: rem-calc(16) !default;\n$price-title-font-family: $body-font-family !default;\n\n// We use these to control the price styles\n$price-money-bg: $vapor !default;\n$price-money-padding: rem-calc(15 20) !default;\n$price-money-align: center !default;\n$price-money-color: $oil !default;\n$price-money-weight: $font-weight-normal !default;\n$price-money-size: rem-calc(32) !default;\n$price-money-font-family: $body-font-family !default;\n\n\n// We use these to control the description styles\n$price-bg: $white !default;\n$price-desc-color: $monsoon !default;\n$price-desc-padding: rem-calc(15) !default;\n$price-desc-align: center !default;\n$price-desc-font-size: rem-calc(12) !default;\n$price-desc-weight: $font-weight-normal !default;\n$price-desc-line-height: 1.4 !default;\n$price-desc-bottom-border: dotted 1px $gainsboro !default;\n\n// We use these to control the list item styles\n$price-item-color: $oil !default;\n$price-item-padding: rem-calc(15) !default;\n$price-item-align: center !default;\n$price-item-font-size: rem-calc(14) !default;\n$price-item-weight: $font-weight-normal !default;\n$price-item-bottom-border: dotted 1px $gainsboro !default;\n\n// We use these to control the CTA area styles\n$price-cta-bg: $white !default;\n$price-cta-align: center !default;\n$price-cta-padding: rem-calc(20 20 0) !default;\n\n// @mixins\n//\n// We use this to create the container element for the pricing tables\n@mixin pricing-table-container {\n  border: $price-table-border;\n  margin-#{$default-float}: 0;\n  margin-bottom: $price-table-margin-bottom;\n\n  & * {\n    list-style: none;\n    line-height: 1;\n  }\n}\n// @mixins\n//\n// We use this mixin to create the pricing table title styles\n@mixin pricing-table-title {\n  background-color: $price-title-bg;\n  color: $price-title-color;\n  font-family: $price-title-font-family;\n  font-size: $price-title-size;\n  font-weight: $price-title-weight;\n  padding: $price-title-padding;\n  text-align: $price-title-align;\n}\n\n// @mixins\n//\n// We use this mixin to control the pricing table price styles\n@mixin pricing-table-price {\n  background-color: $price-money-bg;\n  color: $price-money-color;\n  font-family: $price-money-font-family;\n  font-size: $price-money-size;\n  font-weight: $price-money-weight;\n  padding: $price-money-padding;\n  text-align: $price-money-align;\n}\n\n// @mixins\n//\n// We use this mixin to create the description styles for the pricing table\n@mixin pricing-table-description {\n  background-color: $price-bg;\n  border-bottom: $price-desc-bottom-border;\n  color: $price-desc-color;\n  font-size: $price-desc-font-size;\n  font-weight: $price-desc-weight;\n  line-height: $price-desc-line-height;\n  padding: $price-desc-padding;\n  text-align: $price-desc-align;\n}\n\n// @mixins\n//\n// We use this mixin to style the bullet items in the pricing table\n@mixin pricing-table-bullet {\n  background-color: $price-bg;\n  border-bottom: $price-item-bottom-border;\n  color: $price-item-color;\n  font-size: $price-item-font-size;\n  font-weight: $price-item-weight;\n  padding: $price-item-padding;\n  text-align: $price-item-align;\n}\n\n// @mixins\n//\n// We use this mixin to style the CTA area of the pricing tables\n@mixin pricing-table-cta {\n  background-color: $price-cta-bg;\n  padding: $price-cta-padding;\n  text-align: $price-cta-align;\n}\n\n@include exports(\"pricing-table\") {\n  @if $include-html-pricing-classes {\n\n    /* Pricing Tables */\n    .pricing-table {\n      @include pricing-table-container;\n\n      .title { @include pricing-table-title; }\n      .price { @include pricing-table-price; }\n      .description { @include pricing-table-description; }\n      .bullet-item { @include pricing-table-bullet; }\n      .cta-button { @include pricing-table-cta; }\n    }\n\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n$include-html-media-classes: $include-html-classes !default;\n\n// We use this to set the progress bar height\n$progress-bar-height: rem-calc(25) !default;\n$progress-bar-color: $vapor !default;\n\n// We use these to control the border styles\n$progress-bar-border-color: scale-color($white, $lightness: 20%) !default;\n$progress-bar-border-size: 1px !default;\n$progress-bar-border-style: solid !default;\n$progress-bar-border-radius: $global-radius !default;\n\n// We use these to control the margin & padding\n$progress-bar-pad: rem-calc(2) !default;\n$progress-bar-margin-bottom: rem-calc(10) !default;\n\n// We use these to set the meter colors\n$progress-meter-color: $primary-color !default;\n$progress-meter-secondary-color: $secondary-color !default;\n$progress-meter-success-color: $success-color !default;\n$progress-meter-alert-color: $alert-color !default;\n\n// @mixins\n//\n// We use this to set up the progress bar container\n@mixin progress-container {\n  background-color: $progress-bar-color;\n  border: $progress-bar-border-size $progress-bar-border-style $progress-bar-border-color;\n  height: $progress-bar-height;\n  margin-bottom: $progress-bar-margin-bottom;\n  padding: $progress-bar-pad;\n}\n\n// @mixins\n//\n// $bg - Default: $progress-meter-color || $primary-color\n@mixin progress-meter($bg:$progress-meter-color) {\n  background: $bg;\n  display: block;\n  height: 100%;\n  float: left;\n  width: 0%;\n}\n\n\n@include exports(\"progress-bar\") {\n  @if $include-html-media-classes {\n\n    /* Progress Bar */\n    .progress {\n      @include progress-container;\n\n      // Meter\n      .meter {\n        @include progress-meter;\n\n        &.secondary { @include progress-meter($bg:$progress-meter-secondary-color); }\n        &.success { @include progress-meter($bg:$progress-meter-success-color); }\n        &.alert { @include progress-meter($bg:$progress-meter-alert-color); }\n      }\n      &.secondary .meter { @include progress-meter($bg:$progress-meter-secondary-color); }\n      &.success .meter { @include progress-meter($bg:$progress-meter-success-color); }\n      &.alert .meter { @include progress-meter($bg:$progress-meter-alert-color); }\n\n      &.radius { @include radius($progress-bar-border-radius);\n        .meter { @include radius($progress-bar-border-radius - 1); }\n      }\n\n      &.round { @include radius(1000px);\n        .meter { @include radius(999px); }\n      }\n\n    }\n\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @name _range-slider.scss\n// @dependencies _global.scss\n//\n\n//\n// @variables\n//\n\n$include-html-range-slider-classes: $include-html-classes !default;\n\n// These variables define the slider bar styles\n$range-slider-bar-width: 100% !default;\n$range-slider-bar-height: rem-calc(16) !default;\n\n$range-slider-bar-border-width: 1px !default;\n$range-slider-bar-border-style: solid !default;\n$range-slider-bar-border-color: $gainsboro !default;\n$range-slider-radius: $global-radius !default;\n$range-slider-round: $global-rounded !default;\n$range-slider-bar-bg-color: $ghost !default;\n$range-slider-active-segment-bg-color: scale-color($secondary-color, $lightness: -1%) !default;\n\n// Vertical bar styles\n$range-slider-vertical-bar-width: rem-calc(16) !default;\n$range-slider-vertical-bar-height: rem-calc(200) !default;\n\n// These variables define the slider handle styles\n$range-slider-handle-width: rem-calc(32) !default;\n$range-slider-handle-height: rem-calc(22) !default;\n$range-slider-handle-position-top: rem-calc(-5) !default;\n$range-slider-handle-bg-color: $primary-color !default;\n$range-slider-handle-border-width: 1px !default;\n$range-slider-handle-border-style: solid !default;\n$range-slider-handle-border-color: none !default;\n$range-slider-handle-radius: $global-radius !default;\n$range-slider-handle-round: $global-rounded !default;\n$range-slider-handle-bg-hover-color: scale-color($primary-color, $lightness: -12%) !default;\n$range-slider-handle-cursor: pointer !default;\n\n$range-slider-disabled-opacity: .7 !default;\n$range-slider-disabled-cursor: $cursor-disabled-value !default;\n\n//\n// @mixins\n//\n\n@mixin range-slider-bar-base($vertical: false) {\n  border: $range-slider-bar-border-width $range-slider-bar-border-style $range-slider-bar-border-color;\n  margin: rem-calc(20 0);\n  position: relative;\n  -ms-touch-action: none;\n  touch-action: none;\n  @if $vertical == true {\n    display: inline-block;\n    height: $range-slider-vertical-bar-height;\n    width: $range-slider-vertical-bar-width;\n  } @else {\n    display: block;\n    height: $range-slider-bar-height;\n    width: $range-slider-bar-width;\n  }\n}\n@mixin range-slider-bar-style(\n  $bg: true,\n  $radius: false,\n  $round: false,\n  $disabled: false) {\n  @if $bg == true { background: $range-slider-bar-bg-color; }\n  @if $radius == true { @include radius($range-slider-radius); }\n  @if $round == true { @include radius($range-slider-round); }\n  @if $disabled == true {\n    cursor: $range-slider-disabled-cursor;\n    opacity: $range-slider-disabled-opacity;\n  }\n}\n\n@mixin range-slider-bar(\n  $bg: $range-slider-bar-bg-color,\n  $radius:false) {\n  @include range-slider-bar-base;\n  @include range-slider-bar-style;\n}\n\n@mixin range-slider-handle-base() {\n  border: $range-slider-handle-border-width $range-slider-handle-border-style $range-slider-handle-border-color;\n  cursor: $range-slider-handle-cursor;\n  display: inline-block;\n  height: $range-slider-handle-height;\n  position: absolute;\n  top: $range-slider-handle-position-top;\n  width: $range-slider-handle-width;\n  z-index: 1;\n\n  // This removes the 300ms touch delay on Windows 8\n  -ms-touch-action: manipulation;\n  touch-action: manipulation;\n}\n\n@mixin range-slider-handle-style(\n  $bg: true,\n  $radius: false,\n  $round: false,\n  $disabled: false) {\n  @if $bg == true { background: $range-slider-handle-bg-color; }\n  @if $radius == true { @include radius($range-slider-radius); }\n  @if $round == true { @include radius($range-slider-round); }\n  @if $disabled == true {\n    cursor: $cursor-default-value;\n    opacity: $range-slider-disabled-opacity;\n  }\n  &:hover {\n    background: $range-slider-handle-bg-hover-color;\n  }\n}\n\n@mixin range-slider-handle() {\n  @include range-slider-handle-base;\n  @include range-slider-handle-style;\n}\n\n// CSS Generation\n@include exports(\"range-slider-bar\") {\n  @if $include-html-range-slider-classes {\n    .range-slider {\n      @include range-slider-bar-base;\n      @include range-slider-bar-style($bg:true, $radius:false);\n      &.vertical-range {\n        @include range-slider-bar-base($vertical: true);\n        .range-slider-handle {\n          bottom: -($range-slider-vertical-bar-height - $range-slider-handle-width);\n          margin-#{$default-float}: -($range-slider-handle-width / 4);\n          margin-top: 0;\n          position: absolute;\n        }\n        .range-slider-active-segment {\n          border-bottom-left-radius: inherit;\n          border-bottom-right-radius: inherit;\n          border-top-left-radius: initial;\n          bottom: 0;\n          height: auto;\n          width: $range-slider-bar-height - rem-calc((strip-unit($range-slider-bar-border-width) * 2));\n        }\n      }\n      &.radius {\n        @include range-slider-bar-style($radius:true);\n        .range-slider-handle { @include range-slider-handle-style($radius: true); }\n      }\n      &.round {\n        @include range-slider-bar-style($round:true);\n        .range-slider-handle { @include range-slider-handle-style($round: true); }\n      }\n      &.disabled, &[disabled] {\n        @include range-slider-bar-style($disabled:true);\n        .range-slider-handle { @include range-slider-handle-style($disabled: true); }\n      }\n    }\n    .range-slider-active-segment {\n      background: $range-slider-active-segment-bg-color;\n      border-bottom-left-radius: inherit;\n      border-top-left-radius: inherit;\n      display: inline-block;\n      height: $range-slider-bar-height - rem-calc((strip-unit($range-slider-bar-border-width) * 2));\n      position: absolute;\n    }\n    .range-slider-handle {\n      @include range-slider-handle-base;\n      @include range-slider-handle-style($bg:true, $radius: false);\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n@import 'grid';\n\n//\n// @name _reveal.scss\n// @dependencies _global.scss\n//\n\n$include-html-reveal-classes: $include-html-classes !default;\n\n// We use these to control the style of the reveal overlay.\n$reveal-overlay-bg: rgba($black, .45) !default;\n$reveal-overlay-bg-old: $black !default;\n\n// We use these to control the style of the modal itself.\n$reveal-modal-bg: $white !default;\n$reveal-position-top: rem-calc(100) !default;\n$reveal-default-width: 80% !default;\n$reveal-max-width: $row-width !default;\n$reveal-modal-padding: rem-calc(30) !default;\n$reveal-box-shadow: 0 0 10px rgba($black,.4) !default;\n\n// We use these to style the reveal close button\n$reveal-close-font-size: rem-calc(40) !default;\n$reveal-close-top: rem-calc(10) !default;\n$reveal-close-side: rem-calc(22) !default;\n$reveal-close-color: $base !default;\n$reveal-close-weight: $font-weight-bold !default;\n\n// We use this to set the default radius used throughout the core.\n$reveal-radius: $global-radius !default;\n$reveal-round: $global-rounded !default;\n\n// We use these to control the modal border\n$reveal-border-style: solid !default;\n$reveal-border-width: 1px !default;\n$reveal-border-color: $steel !default;\n\n$reveal-modal-class: \"reveal-modal\" !default;\n$close-reveal-modal-class: \"close-reveal-modal\" !default;\n\n// Set base z-index\n$z-index-base: 1005;\n\n//\n// @mixins\n//\n\n// We use this to create the reveal background overlay styles\n@mixin reveal-bg( $include-z-index-value: true ) {\n  // position: absolute; // allows modal background to extend beyond window position\n  background: $reveal-overlay-bg-old; // Autoprefixer should be used to avoid such variables needed when Foundation for Sites can do so in the near future.\n  background: $reveal-overlay-bg;\n  bottom: 0;\n  display: none;\n  left: 0;\n  position: fixed;\n  right: 0;\n  top: 0;\n  z-index: if( $include-z-index-value, $z-index-base - 1, auto );\n  #{$default-float}: 0;\n}\n\n// We use this mixin to create the structure of a reveal modal\n//\n// $base-style - Provides reveal base styles, can be set to false to override. Default: true, Options: false\n// $width - Sets reveal width Default: $reveal-default-width || 80%\n//\n@mixin reveal-modal-base( $base-style: true, $width:$reveal-default-width, $max-width:$reveal-max-width, $border-radius: $reveal-radius) {\n  @if $base-style {\n    border-radius: $border-radius;\n    display: none;\n    position: absolute;\n    top:0;\n    visibility: hidden;\n    width: 100%;\n    z-index: $z-index-base;\n    #{$default-float}: 0;\n\n    @media #{$small-only} {\n      min-height:100vh;\n    }\n\n    // Make sure rows don't have a min-width on them\n    .column, .columns { min-width: 0; }\n\n    // Get rid of margin from first and last element inside modal\n    > :first-child { margin-top: 0; }\n\n    > :last-child { margin-bottom: 0; }\n  }\n\n  @if $width {\n    @media #{$medium-up} {\n      left: 0;\n      margin: 0 auto;\n      max-width: $max-width;\n      right: 0;\n      width: $width;\n    }\n  }\n}\n\n// We use this to style the reveal modal defaults\n//\n// $bg - Sets background color of reveal modal. Default: $reveal-modal-bg || $white\n// $padding - Padding to apply to reveal modal. Default: $reveal-modal-padding.\n// $border - Choose whether reveal uses a border. Default: true, Options: false\n// $border-style - Set reveal border style. Default: $reveal-border-style || solid\n// $border-width - Width of border (i.e. 1px). Default: $reveal-border-width.\n// $border-color - Color of border. Default: $reveal-border-color.\n// $box-shadow - Choose whether or not to include the default box-shadow. Default: true, Options: false\n// $radius - If true, set to modal radius which is $global-radius || explicitly set radius amount in px (ex. $radius:10px). Default: false\n// $top-offset - Default: $reveal-position-top || 50px\n@mixin reveal-modal-style(\n  $bg:false,\n  $padding:false,\n  $border:false,\n  $border-style:$reveal-border-style,\n  $border-width:$reveal-border-width,\n  $border-color:$reveal-border-color,\n  $box-shadow:false,\n  $radius:false,\n  $top-offset:false) {\n\n  @if $bg { background-color: $bg; }\n  @if $padding != false { padding: $padding; }\n\n  @if $border { border: $border-style $border-width $border-color; }\n\n  // We can choose whether or not to include the default box-shadow.\n  @if $box-shadow {\n    box-shadow: $reveal-box-shadow;\n  }\n  @else{\n       box-shadow: none;\n  }\n\n  // We can control how much radius is used on the modal\n  @if $radius == true { @include radius($reveal-radius); }\n  @else if $radius { @include radius($radius); }\n\n  @if $top-offset {\n    @media #{$medium-up} {\n      top: $top-offset;\n    }\n  }\n}\n\n// We use this to create a close button for the reveal modal\n//\n// $color - Default: $reveal-close-color || $base\n@mixin reveal-close($color:$reveal-close-color) {\n  color: $color;\n  cursor: $cursor-pointer-value;\n  font-size: $reveal-close-font-size;\n  font-weight: $reveal-close-weight;\n  line-height: 1;\n  position: absolute;\n  top: $reveal-close-top;\n  #{$opposite-direction}: $reveal-close-side;\n}\n\n@include exports(\"reveal\") {\n  @if $include-html-reveal-classes {\n\n    // Reveal Modals\n    .reveal-modal-bg { @include reveal-bg; }\n\n    .#{$reveal-modal-class} {\n      @include reveal-modal-base;\n      @include reveal-modal-style(\n        $bg:$reveal-modal-bg,\n        $padding:$reveal-modal-padding,\n        $border:true,\n        $box-shadow:true,\n        $radius:false,\n        $top-offset:$reveal-position-top\n      );\n\n      &.radius { @include reveal-modal-style($radius:true); }\n      &.round  { @include reveal-modal-style($radius:$reveal-round); }\n      &.collapse { @include reveal-modal-style($padding:0); }\n      &.tiny  { @include reveal-modal-base(false, 30%); }\n      &.small { @include reveal-modal-base(false, 40%); }\n      &.medium  { @include reveal-modal-base(false, 60%); }\n      &.large { @include reveal-modal-base(false, 70%); }\n      &.xlarge { @include reveal-modal-base(false, 95%); }\n      &.full {\n        @include reveal-modal-base(false, 100%);\n        height: 100vh;\n        height:100%;\n        left:0;\n        margin-left: 0 !important;\n        max-width: none !important;\n        min-height:100vh;\n        top:0;\n      }\n\n      // Modals pushed to back\n      &.toback {\n        z-index: $z-index-base - 2;\n      }\n\n      .#{$close-reveal-modal-class} { @include reveal-close; }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @variables\n//\n\n$include-html-nav-classes: $include-html-classes !default;\n\n// We use this to control padding.\n$side-nav-padding: rem-calc(14 0) !default;\n\n// We use these to control list styles.\n$side-nav-list-type: none !default;\n$side-nav-list-position: outside !default;\n$side-nav-list-margin: rem-calc(0 0 7 0) !default;\n\n// We use these to control link styles.\n$side-nav-link-color: $primary-color !default;\n$side-nav-link-color-active: scale-color($side-nav-link-color, $lightness: 30%) !default;\n$side-nav-link-color-hover: scale-color($side-nav-link-color, $lightness: 30%) !default;\n$side-nav-link-bg-hover: hsla(0, 0, 0, .025) !default;\n$side-nav-link-margin: 0 !default;\n$side-nav-link-padding: rem-calc(7 14) !default;\n$side-nav-font-size: rem-calc(14) !default;\n$side-nav-font-weight: $font-weight-normal !default;\n$side-nav-font-weight-active: $side-nav-font-weight !default;\n$side-nav-font-family: $body-font-family !default;\n$side-nav-font-family-active: $side-nav-font-family !default;\n\n// We use these to control heading styles.\n$side-nav-heading-color: $side-nav-link-color !default;\n$side-nav-heading-font-size: $side-nav-font-size !default;\n$side-nav-heading-font-weight: bold !default;\n$side-nav-heading-text-transform: uppercase !default;\n\n// We use these to control border styles\n$side-nav-divider-size: 1px !default;\n$side-nav-divider-style: solid !default;\n$side-nav-divider-color: scale-color($white, $lightness: -10%) !default;\n\n\n//\n// @mixins\n//\n\n\n// We use this to style the side-nav\n//\n// $divider-color - Border color of divider. Default: $side-nav-divider-color.\n// $font-size - Font size of nav items. Default: $side-nav-font-size.\n// $link-color - Color of navigation links. Default: $side-nav-link-color.\n// $link-color-hover - Color of navigation links when hovered. Default: $side-nav-link-color-hover.\n@mixin side-nav(\n  $divider-color:$side-nav-divider-color,\n  $font-size:$side-nav-font-size,\n  $link-color:$side-nav-link-color,\n  $link-color-active:$side-nav-link-color-active,\n  $link-color-hover:$side-nav-link-color-hover,\n  $link-bg-hover:$side-nav-link-bg-hover) {\n  display: block;\n  font-family: $side-nav-font-family;\n  list-style-position: $side-nav-list-position;\n  list-style-type: $side-nav-list-type;\n  margin: 0;\n  padding: $side-nav-padding;\n\n  li {\n    font-size: $font-size;\n    font-weight: $side-nav-font-weight;\n    margin: $side-nav-list-margin;\n\n    a:not(.button) {\n      color: $link-color;\n      display: block;\n      margin: $side-nav-link-margin;\n      padding: $side-nav-link-padding;\n      &:hover,\n      &:focus {\n        background: $link-bg-hover;\n        color: $link-color-hover;\n      }\n      &:active {\n        color: $link-color-active;\n      }\n    }\n\n    &.active > a:first-child:not(.button) {\n      color: $side-nav-link-color-active;\n      font-family: $side-nav-font-family-active;\n      font-weight: $side-nav-font-weight-active;\n    }\n\n    &.divider {\n      border-top: $side-nav-divider-size $side-nav-divider-style;\n      height: 0;\n      list-style: none;\n      padding: 0;\n      border-top-color: $divider-color;\n    }\n\n    &.heading {\n      color: $side-nav-heading-color;\n      font: {\n        size: $side-nav-heading-font-size;\n        weight: $side-nav-heading-font-weight;\n      }\n      text-transform: $side-nav-heading-text-transform;\n    }\n  }\n}\n\n@include exports(\"side-nav\") {\n  @if $include-html-nav-classes {\n    .side-nav {@include side-nav;}\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n@import 'buttons';\n@import 'dropdown-buttons';\n\n//\n// @name _split-buttons.scss\n// @dependencies _buttons.scss, _global.scss\n//\n\n//\n// @variables\n//\n\n$include-html-button-classes: $include-html-classes !default;\n\n// We use these to control different shared styles for Split Buttons\n$split-button-function-factor: 10% !default;\n$split-button-pip-color: $white !default;\n$split-button-pip-color-alt: $oil !default;\n$split-button-active-bg-tint: rgba(0,0,0,0.1) !default;\n$split-button-span-border-color: rgba(255,255,255,0.5) !default;\n\n// We use these to control tiny split buttons\n$split-button-padding-tny: $button-pip-tny * 10 !default;\n$split-button-span-width-tny: $button-pip-tny * 6 !default;\n$split-button-pip-size-tny: $button-pip-tny !default;\n$split-button-pip-top-tny: $button-pip-tny * 2 !default;\n$split-button-pip-default-float-tny: rem-calc(-6) !default;\n\n// We use these to control small split buttons\n$split-button-padding-sml: $button-pip-sml * 10 !default;\n$split-button-span-width-sml: $button-pip-sml * 6 !default;\n$split-button-pip-size-sml: $button-pip-sml !default;\n$split-button-pip-top-sml: $button-pip-sml * 1.5 !default;\n$split-button-pip-default-float-sml: rem-calc(-6) !default;\n\n// We use these to control medium split buttons\n$split-button-padding-med: $button-pip-med * 9 !default;\n$split-button-span-width-med: $button-pip-med * 5.5 !default;\n$split-button-pip-size-med: $button-pip-med - rem-calc(3) !default;\n$split-button-pip-top-med: $button-pip-med * 1.5 !default;\n$split-button-pip-default-float-med: rem-calc(-6) !default;\n\n// We use these to control large split buttons\n$split-button-padding-lrg: $button-pip-lrg * 8 !default;\n$split-button-span-width-lrg: $button-pip-lrg * 5 !default;\n$split-button-pip-size-lrg: $button-pip-lrg - rem-calc(6) !default;\n$split-button-pip-top-lrg: $button-pip-lrg + rem-calc(5) !default;\n$split-button-pip-default-float-lrg: rem-calc(-6) !default;\n\n\n//\n// @mixins\n//\n\n// We use this mixin to create split buttons that build upon the button mixins\n//\n// $padding - Type of padding to apply. Default: medium. Options: tiny, small, medium, large.\n// $pip-color - Color of the triangle. Default: $split-button-pip-color.\n// $span-border - Border color of button divider. Default: $split-button-span-border-color.\n// $base-style - Apply base style to split button. Default: true.\n@mixin split-button(\n  $padding:medium,\n  $pip-color:$split-button-pip-color, \n  $span-border:$split-button-span-border-color, \n  $base-style:true) {\n\n  // With this, we can control whether or not the base styles come through.\n  @if $base-style {\n    position: relative;\n\n    // Styling for the split arrow clickable area\n    span {\n      display: block;\n      height: 100%;\n      position: absolute;\n      #{$opposite-direction}: 0;\n      top: 0;\n      border-#{$default-float}: solid 1px;\n\n      // Building the triangle pip indicator\n      &:after {\n        position: absolute;\n        content: \"\";\n        width: 0;\n        height: 0;\n        display: block;\n        border-style: inset;\n        top: 50%;\n        #{$default-float}: 50%;\n      }\n\n      &:active { background-color: $split-button-active-bg-tint; }\n    }\n  }\n\n  // Control the border color for the span area of the split button\n  @if $span-border {\n    span {\n      border-#{$default-float}-color: $span-border;\n    }\n  }\n\n  // Style of the button and clickable area for tiny sizes\n  @if $padding == tiny {\n    padding-#{$opposite-direction}: $split-button-padding-tny;\n\n    span { width: $split-button-span-width-tny;\n      &:after {\n        border-top-style: solid;\n        border-width: $split-button-pip-size-tny;\n        margin-#{$default-float}: $split-button-pip-default-float-tny;\n        top: 48%;\n      }\n    }\n  }\n\n  // Style of the button and clickable area for small sizes\n  @else if $padding == small {\n    padding-#{$opposite-direction}: $split-button-padding-sml;\n\n    span { width: $split-button-span-width-sml;\n      &:after {\n        border-top-style: solid;\n        border-width: $split-button-pip-size-sml;\n        margin-#{$default-float}: $split-button-pip-default-float-sml;\n        top: 48%;\n      }\n    }\n  }\n\n  // Style of the button and clickable area for default (medium) sizes\n  @else if $padding == medium {\n    padding-#{$opposite-direction}: $split-button-padding-med;\n\n    span { width: $split-button-span-width-med;\n      &:after {\n        border-top-style: solid;\n        border-width: $split-button-pip-size-med;\n        margin-#{$default-float}: $split-button-pip-default-float-med;\n        top: 48%;\n      }\n    }\n  }\n\n  // Style of the button and clickable area for large sizes\n  @else if $padding == large {\n    padding-#{$opposite-direction}: $split-button-padding-lrg;\n\n    span { width: $split-button-span-width-lrg;\n      &:after {\n        border-top-style: solid;\n        border-width: $split-button-pip-size-lrg;\n        margin-#{$default-float}: $split-button-pip-default-float-lrg;\n        top: 48%;\n      }\n    }\n  }\n\n  // Control the color of the triangle pip\n  @if $pip-color {\n    span:after { border-color: $pip-color transparent transparent transparent; }\n  }\n}\n\n@include exports(\"split-button\") {\n  @if $include-html-button-classes {\n\n    .split.button { @include split-button;\n\n      &.secondary { @include split-button(false, $split-button-pip-color, $split-button-span-border-color, false); }\n      &.alert { @include split-button(false, false, $split-button-span-border-color, false); }\n      &.success { @include split-button(false, false, $split-button-span-border-color, false); }\n\n      &.tiny { @include split-button(tiny, false, false, false); }\n      &.small { @include split-button(small, false, false, false); }\n      &.large { @include split-button(large, false, false, false); }\n      &.expand { padding-left: 2rem; }\n\n      &.secondary { @include split-button(false, $split-button-pip-color-alt, false, false); }\n\n      &.radius span { @include side-radius($opposite-direction, $global-radius); }\n      &.round span { @include side-radius($opposite-direction, 1000px); }\n      &.no-pip{\n        span:before{ border-style:none; }\n        span:after{ border-style:none; }\n        span>i{\n          display: block;\n          left: 50%;\n          margin-left: -0.28889em;\n          margin-top: -0.48889em;\n          position: absolute;\n          top: 50%;\n        }\n      }\n    }\n\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @name _sub-nav.scss\n// @dependencies _global.scss\n//\n\n//\n// @variables\n//\n\n$include-html-nav-classes: $include-html-classes !default;\n\n// We use these to control margin and padding\n$sub-nav-list-margin: rem-calc(-4 0 18) !default;\n$sub-nav-list-padding-top: rem-calc(4) !default;\n\n// We use this to control the definition\n$sub-nav-font-family: $body-font-family !default;\n$sub-nav-font-size: rem-calc(14) !default;\n$sub-nav-font-color: $aluminum !default;\n$sub-nav-font-weight: $font-weight-normal !default;\n$sub-nav-text-decoration: none !default;\n$sub-nav-padding: rem-calc(3 16) !default;\n$sub-nav-border-radius: 3px !default;\n$sub-nav-font-color-hover: scale-color($sub-nav-font-color, $lightness: -25%) !default;\n\n\n// We use these to control the active item styles\n\n$sub-nav-active-font-weight: $font-weight-normal !default;\n$sub-nav-active-bg: $primary-color !default;\n$sub-nav-active-bg-hover: scale-color($sub-nav-active-bg, $lightness: -14%) !default;\n$sub-nav-active-color: $white !default;\n$sub-nav-active-padding: $sub-nav-padding !default;\n$sub-nav-active-cursor: default !default;\n\n$sub-nav-item-divider: \"\" !default;\n$sub-nav-item-divider-margin: rem-calc(12) !default;\n\n//\n// @mixins\n//\n\n\n// Create a sub-nav item\n//\n// $font-color - Font color. Default: $sub-nav-font-color.\n// $font-size - Font size. Default: $sub-nav-font-size.\n// $active-bg - Background of active nav item. Default: $sub-nav-active-bg.\n// $active-bg-hover - Background of active nav item, when hovered. Default: $sub-nav-active-bg-hover.\n@mixin sub-nav(\n  $font-color: $sub-nav-font-color,\n  $font-size: $sub-nav-font-size,\n  $active-bg: $sub-nav-active-bg,\n  $active-bg-hover: $sub-nav-active-bg-hover) {\n  display: block;\n  margin: $sub-nav-list-margin;\n  overflow: hidden;\n  padding-top: $sub-nav-list-padding-top;\n  width: auto;\n\n  dt {\n    text-transform: uppercase;\n  }\n\n  dt,\n  dd,\n  li {\n    color: $font-color;\n    float: $default-float;\n    font-family: $sub-nav-font-family;\n    font-size: $font-size;\n    font-weight: $sub-nav-font-weight;\n    margin-#{$default-float}: rem-calc(16);\n    margin-bottom: 0;\n\n    a {\n      color: $sub-nav-font-color;\n      padding: $sub-nav-padding;\n      text-decoration: $sub-nav-text-decoration;\n\n      &:hover {\n        color: $sub-nav-font-color-hover;\n      }\n    }\n\n    &.active a {\n      @include radius($sub-nav-border-radius);\n      background: $active-bg;\n      color: $sub-nav-active-color;\n      cursor: $sub-nav-active-cursor;\n      font-weight: $sub-nav-active-font-weight;\n      padding: $sub-nav-active-padding;\n\n      &:hover {\n        background: $active-bg-hover;\n      }\n    }\n\n    @if $sub-nav-item-divider != \"\" {\n      margin-#{$default-float}: 0;\n\n      &:before {\n        content: \"#{$sub-nav-item-divider}\";\n        margin: 0 $sub-nav-item-divider-margin;\n      }\n\n      &:first-child:before {\n        content: \"\";\n        margin: 0;\n      }\n    }\n  }\n}\n\n@include exports(\"sub-nav\") {\n  @if $include-html-nav-classes {\n    .sub-nav { @include sub-nav; }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @name\n// @dependencies _global.scss\n//\n\n//\n// @variables\n//\n\n$include-html-form-classes: $include-html-classes !default;\n\n// Controlling background color for the switch container\n$switch-bg: $gainsboro !default;\n\n// We use these to control the switch heights for our default classes\n$switch-height-tny: 1.5rem !default;\n$switch-height-sml: 1.75rem !default;\n$switch-height-med: 2rem !default;\n$switch-height-lrg: 2.5rem !default;\n$switch-bottom-margin: 1.5rem !default;\n\n// We use these to style the switch-paddle\n$switch-paddle-bg: $white !default;\n$switch-paddle-transition-speed: .15s !default;\n$switch-paddle-transition-ease: ease-out !default;\n$switch-active-color: $primary-color !default;\n\n\n//\n// @mixins\n//\n\n// We use this mixin to create the base styles for our switch element.\n//\n// $transition-speed - Time in ms for switch to toggle. Default: $switch-paddle-transition-speed.\n// $transition-ease - Easing function to use for animation (i.e. ease-out). Default: $switch-paddle-transition-ease.\n@mixin switch-base(\n  $transition-speed:$switch-paddle-transition-speed,\n  $transition-ease:$switch-paddle-transition-ease) {\n\n  border: none;\n  margin-bottom: $switch-bottom-margin;\n  outline: 0;\n  padding: 0;\n  position: relative;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n\n  // Default label styles for type and transition\n  label {\n    background: $switch-bg;\n    color: transparent;\n    cursor: pointer;\n    display: block;\n    margin-bottom: ($switch-height-med / 2);\n    position: relative;\n    text-indent: 100%;\n    width: $switch-height-med * 2; height: $switch-height-med;\n\n    // Transition for the switch label to follow paddle\n    @include single-transition(left, $transition-speed, $transition-ease);\n  }\n\n  // So that we don't need to recreate the form with any JS, we use the\n  // existing checkbox or radio button, but we cleverly position and hide it.\n  input {\n    left: 10px;\n    opacity: 0;\n    padding:0;\n    position: absolute;\n    top: 9px;\n\n    & + label { margin-left: 0; margin-right: 0; }\n  }\n\n  // The paddle for the switch is created from an after psuedoclass\n  // content element. This is sized and positioned, and reacts to\n  // the state of the input.\n\n  label:after {\n    background: $switch-paddle-bg;\n    content: \"\";\n    display: block;\n    height: $switch-height-med - .5rem;\n    left: .25rem;\n    position: absolute;\n    top: .25rem;\n    width: $switch-height-med - .5rem;\n\n    -webkit-transition: left $transition-speed $transition-ease;\n    -moz-transition: left $transition-speed $transition-ease;\n    -o-transition: translate3d(0,0,0);\n    transition: left $transition-speed $transition-ease;\n\n    -webkit-transform: translate3d(0,0,0);\n    -moz-transform: translate3d(0,0,0);\n    -ms-transform: translate3d(0,0,0);\n    -o-transform: translate3d(0,0,0);\n    transform: translate3d(0,0,0);\n  }\n\n  input:checked + label {\n    background: $switch-active-color;\n  }\n\n  input:checked + label:after {\n    left: $switch-height-med + .25rem;\n  }\n}\n\n// We use this mixin to create the size styles for switches.\n//\n// $height - Height (in px) of the switch. Default: $switch-height-med.\n// $font-size - Font size of text in switch. Default: $switch-font-size-med.\n// $line-height - Line height of switch. Default: 2.3rem.\n@mixin switch-size($height: $switch-height-med) {\n\n  label {\n    height: $height;\n    width: $height * 2;\n  }\n\n  label:after {\n    height: $height - .5rem;\n    width: $height - .5rem;\n  }\n\n  input:checked + label:after {\n    left: $height + .25rem;\n  }\n\n}\n\n// We use this mixin to add color and other fanciness to the switches.\n//\n// $paddle-bg - Background of switch paddle. Default: $switch-paddle-bg.\n// $active-color - Background color of positive side of switch. Default: $switch-positive-color.\n// $negative-color - Background color of negative side of switch. Default: $switch-negative-color.\n// $radius - Radius to apply to switch. Default: false.\n// $base-style - Apply base styles? Default: true.\n@mixin switch-style(\n  $paddle-bg:$switch-paddle-bg,\n  $active-color:$switch-active-color,\n  $radius:false,\n  $base-style:true) {\n\n  @if $base-style {\n\n    label {\n      color: transparent;\n      background: $switch-bg;\n    }\n\n    label:after {\n      background: $paddle-bg;\n    }\n\n    input:checked + label {\n      background: $active-color;\n    }\n  }\n\n  // Setting up the radius for switches\n  @if $radius == true {\n    label {\n      border-radius: 2rem;\n    }\n    label:after {\n      border-radius: 2rem;\n    }\n  }\n  @else if $radius {\n    label {\n      border-radius: $radius;\n    }\n    label:after {\n      border-radius: $radius;\n    }\n  }\n\n}\n\n// We use this to quickly create switches with a single mixin\n//\n// $transition-speed - Time in ms for switch to toggle. Default: $switch-paddle-transition-speed.\n// $transition-ease - Easing function to use for animation (i.e. ease-out). Default: $switch-paddle-transition-ease.\n// $height - Height (in px) of the switch. Default: $switch-height-med.\n// $paddle-bg - Background of switch paddle. Default: $switch-paddle-bg.\n// $active-color - Background color of an active switch. Default: $switch-active-color.\n// $radius - Radius to apply to switch. Default: false.\n// $base-style - Apply base styles? Default: true.\n@mixin switch(\n  $transition-speed: $switch-paddle-transition-speed,\n  $transition-ease: $switch-paddle-transition-ease,\n  $height: $switch-height-med,\n  $paddle-bg: $switch-paddle-bg,\n  $active-color: $switch-active-color,\n  $radius:false,\n  $base-style:true) {\n    @include switch-base($transition-speed, $transition-ease);\n    @include switch-size($height);\n    @include switch-style($paddle-bg, $active-color, $radius, $base-style);\n}\n\n@include exports(\"switch\") {\n  @if $include-html-form-classes {\n      .switch {\n        @include switch;\n\n        // Large radio switches\n        &.large { @include switch-size($switch-height-lrg); }\n\n        // Small radio switches\n        &.small { @include switch-size($switch-height-sml); }\n\n        // Tiny radio switches\n        &.tiny { @include switch-size($switch-height-tny); }\n\n        // Add a radius to the switch\n        &.radius {\n          label { @include radius(4px); }\n          label:after { @include radius(3px); }\n        }\n\n        // Make the switch completely round, like a pill\n        &.round { @include radius(1000px);\n          label { @include radius(2rem); }\n          label:after { @include radius(2rem); }\n        }\n\n      }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @name _tables.scss\n// @dependencies _global.scss\n//\n\n//\n// @variables\n//\n\n$include-html-table-classes: $include-html-classes !default;\n\n// These control the background color for the table and even rows\n$table-bg: $white !default;\n$table-even-row-bg: $snow !default;\n\n// These control the table cell border style\n$table-border-style: solid !default;\n$table-border-size: 1px !default;\n$table-border-color: $gainsboro !default;\n\n// These control the table head styles\n$table-head-bg: $white-smoke !default;\n$table-head-font-size: rem-calc(14) !default;\n$table-head-font-color: $jet !default;\n$table-head-font-weight: $font-weight-bold !default;\n$table-head-padding: rem-calc(8 10 10) !default;\n\n// These control the table foot styles\n$table-foot-bg: $table-head-bg !default;\n$table-foot-font-size: $table-head-font-size !default;\n$table-foot-font-color: $table-head-font-color !default;\n$table-foot-font-weight: $table-head-font-weight !default;\n$table-foot-padding: $table-head-padding !default;\n\n// These control the caption\n$table-caption-bg: transparent !default;\n$table-caption-font-color: $table-head-font-color !default;\n$table-caption-font-size: rem-calc(16) !default;\n$table-caption-font-weight: bold !default;\n\n// These control the row padding and font styles\n$table-row-padding: rem-calc(9 10) !default;\n$table-row-font-size: rem-calc(14) !default;\n$table-row-font-color: $jet !default;\n$table-line-height: rem-calc(18) !default;\n\n// These are for controlling the layout, display and margin of tables\n$table-layout: auto !default;\n$table-display: table-cell !default;\n$table-margin-bottom: rem-calc(20) !default;\n\n\n//\n// @mixins\n//\n\n@mixin table {\n  background: $table-bg;\n  border: $table-border-style $table-border-size $table-border-color;\n  margin-bottom: $table-margin-bottom;\n  table-layout: $table-layout;\n\n  caption {\n    background: $table-caption-bg;\n    color: $table-caption-font-color;\n    font: {\n      size: $table-caption-font-size;\n      weight: $table-caption-font-weight;\n    }\n  }\n\n  thead {\n    background: $table-head-bg;\n\n    tr {\n      th,\n      td {\n        color: $table-head-font-color;\n        font-size: $table-head-font-size;\n        font-weight: $table-head-font-weight;\n        padding: $table-head-padding;\n      }\n    }\n  }\n\n  tfoot {\n    background: $table-foot-bg;\n\n    tr {\n      th,\n      td {\n        color: $table-foot-font-color;\n        font-size: $table-foot-font-size;\n        font-weight: $table-foot-font-weight;\n        padding: $table-foot-padding;\n      }\n    }\n  }\n\n  tr {\n    th,\n    td {\n      color: $table-row-font-color;\n      font-size: $table-row-font-size;\n      padding: $table-row-padding;\n      text-align: $default-float;\n    }\n\n    &.even,\n    &.alt,\n    &:nth-of-type(even) { background: $table-even-row-bg; }\n  }\n\n  thead tr th,\n  tfoot tr th,\n  tfoot tr td,\n  tbody tr th,\n  tbody tr td,\n  tr td { display: $table-display; line-height: $table-line-height; }\n}\n\n\n@include exports(\"table\") {\n  @if $include-html-table-classes {\n    table {\n      @include table;\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n@import 'grid';\n\n//\n// @variables\n//\n\n$include-html-tabs-classes: $include-html-classes !default;\n\n$tabs-navigation-padding: rem-calc(16) !default;\n$tabs-navigation-bg-color: $silver !default;\n$tabs-navigation-active-bg-color: $white !default;\n$tabs-navigation-hover-bg-color: scale-color($tabs-navigation-bg-color, $lightness: -6%) !default;\n$tabs-navigation-font-color: $jet !default;\n$tabs-navigation-active-font-color: $tabs-navigation-font-color !default;\n$tabs-navigation-font-size: rem-calc(16) !default;\n$tabs-navigation-font-family: $body-font-family !default;\n\n$tabs-content-margin-bottom: rem-calc(24) !default;\n$tabs-content-padding: ($column-gutter/2) !default;\n\n$tabs-vertical-navigation-margin-bottom: 1.25rem !default;\n\n@include exports(\"tab\") {\n  @if $include-html-tabs-classes {\n    .tabs {\n      @include clearfix;\n      margin-bottom: 0 !important;\n      margin-left: 0;\n\n      dd,\n      .tab-title {\n        float: $default-float;\n        list-style: none;\n        margin-bottom: 0 !important;\n        position: relative;\n\n        > a {\n          display: block;\n          background-color: $tabs-navigation-bg-color;\n          color: $tabs-navigation-font-color;\n          font-family: $tabs-navigation-font-family;\n          font-size: $tabs-navigation-font-size;\n          padding: $tabs-navigation-padding $tabs-navigation-padding * 2;\n\n          &:hover {\n            background-color: $tabs-navigation-hover-bg-color;\n          }\n        }\n\n        &.active > a {\n          background-color: $tabs-navigation-active-bg-color;\n          color: $tabs-navigation-active-font-color;\n        }\n      }\n\n      &.radius {\n        dd:first-child,\n        .tab:first-child {\n          a { @include side-radius($default-float, $global-radius); }\n        }\n\n        dd:last-child,\n        .tab:last-child {\n          a { @include side-radius($opposite-direction, $global-radius); }\n        }\n      }\n\n      &.vertical {\n        dd,\n        .tab-title {\n          position: inherit;\n          float: none;\n          display: block;\n          top: auto;\n        }\n      }\n    }\n\n    .tabs-content {\n      @include clearfix;\n      margin-bottom: $tabs-content-margin-bottom;\n      width: 100%;\n\n      > .content {\n        display: none;\n        float: $default-float;\n        padding: $tabs-content-padding 0;\n        width: 100%;\n\n        &.active {\n          display: block;\n          float: none;\n        }\n        &.contained {\n          padding: $tabs-content-padding;\n        }\n      }\n\n      &.vertical {\n        display: block;\n\n        > .content {\n          padding: 0 $tabs-content-padding;\n        }\n      }\n    }\n\n    @media #{$medium-up} {\n      .tabs {\n        &.vertical {\n          float: $default-float;\n          margin: 0;\n          margin-bottom: $tabs-vertical-navigation-margin-bottom !important;\n          max-width: 20%;\n          width: 20%;\n        }\n      }\n\n      .tabs-content {\n        &.vertical {\n          float: $default-float;\n          margin-#{$default-float}: -1px;\n          max-width: 80%;\n          padding-#{$default-float}: 1rem;\n          width: 80%;\n        }\n      }\n    }\n\n    .no-js {\n      .tabs-content > .content {\n        display: block;\n        float: none;\n      }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// @name _thumbs.scss\n// @dependencies _globals.scss\n//\n\n//\n// @variables\n//\n\n$include-html-media-classes: $include-html-classes !default;\n\n// We use these to control border styles\n$thumb-border-style: solid !default;\n$thumb-border-width: 4px !default;\n$thumb-border-color: $white !default;\n$thumb-box-shadow: 0 0 0 1px rgba($black,.2) !default;\n$thumb-box-shadow-hover: 0 0 6px 1px rgba($primary-color,0.5) !default;\n\n// Radius and transition speed for thumbs\n$thumb-radius: $global-radius !default;\n$thumb-transition-speed: 200ms !default;\n\n//\n// @mixins\n//\n\n// We use this to create image thumbnail styles.\n//\n// $border-width - Width of border around thumbnail. Default: $thumb-border-width.\n// $box-shadow - Box shadow to apply to thumbnail. Default: $thumb-box-shadow.\n// $box-shadow-hover - Box shadow to apply on hover. Default: $thumb-box-shadow-hover.\n@mixin thumb(\n  $border-width:$thumb-border-width,\n  $box-shadow:$thumb-box-shadow,\n  $box-shadow-hover:$thumb-box-shadow-hover) {\n  border: $thumb-border-style $border-width $thumb-border-color;\n  box-shadow: $box-shadow;\n  display: inline-block;\n  line-height: 0;\n  max-width: 100%;\n\n  &:hover,\n  &:focus {\n    box-shadow: $box-shadow-hover;\n  }\n}\n\n\n@include exports(\"thumb\") {\n  @if $include-html-media-classes {\n\n    /* Image Thumbnails */\n    .th {\n      @include thumb;\n      @include single-transition(all, $thumb-transition-speed, ease-out);\n\n      &.radius { @include radius($thumb-radius); }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// Tooltip Variables\n//\n$include-html-tooltip-classes: $include-html-classes !default;\n\n$has-tip-border-bottom: dotted 1px $iron !default;\n$has-tip-font-weight: $font-weight-bold !default;\n$has-tip-font-color: $oil !default;\n$has-tip-border-bottom-hover: dotted 1px scale-color($primary-color, $lightness: -55%) !default;\n$has-tip-font-color-hover: $primary-color !default;\n$has-tip-cursor-type: help !default;\n\n$tooltip-padding: rem-calc(12) !default;\n$tooltip-bg: $oil !default;\n$tooltip-font-size: rem-calc(14) !default;\n$tooltip-font-weight: $font-weight-normal !default;\n$tooltip-font-color: $white !default;\n$tooltip-line-height: 1.3 !default;\n$tooltip-close-font-size: rem-calc(10) !default;\n$tooltip-close-font-weight: $font-weight-normal !default;\n$tooltip-close-font-color: $monsoon !default;\n$tooltip-font-size-sml: rem-calc(14) !default;\n$tooltip-radius: $global-radius !default;\n$tooltip-rounded: $global-rounded !default;\n$tooltip-pip-size: 5px !default;\n$tooltip-max-width: 300px !default;\n\n@include exports(\"tooltip\") {\n  @if $include-html-tooltip-classes {\n\n    /* Tooltips */\n    .has-tip {\n      border-bottom: $has-tip-border-bottom;\n      color: $has-tip-font-color;\n      cursor: $has-tip-cursor-type;\n      font-weight: $has-tip-font-weight;\n\n      &:hover,\n      &:focus {\n        border-bottom: $has-tip-border-bottom-hover;\n        color: $has-tip-font-color-hover;\n      }\n\n      &.tip-left,\n      &.tip-right { float: none !important; }\n    }\n\n    .tooltip {\n      background: $tooltip-bg;\n      color: $tooltip-font-color;\n      display: none;\n      font-size: $tooltip-font-size;\n      font-weight: $tooltip-font-weight;\n      line-height: $tooltip-line-height;\n      max-width: $tooltip-max-width;\n      padding: $tooltip-padding;\n      position: absolute;\n      width: 100%;\n      z-index: 1006;\n      #{$default-float}: 50%;\n\n      > .nub {\n        border: solid $tooltip-pip-size;\n        border-color: transparent transparent $tooltip-bg transparent;\n        display: block;\n        height: 0;\n        pointer-events: none;\n        position: absolute;\n        top: -($tooltip-pip-size * 2);\n        width: 0;\n        #{$default-float}: $tooltip-pip-size;\n\n        &.rtl {\n          left: auto;\n          #{$opposite-direction}: $tooltip-pip-size;\n        }\n      }\n\n      &.radius {\n        @include radius($tooltip-radius);\n      }\n      &.round {\n        @include radius($tooltip-rounded);\n        > .nub {\n          left: 2rem;\n        }\n      }\n\n      &.opened {\n        border-bottom: $has-tip-border-bottom-hover !important;\n        color: $has-tip-font-color-hover !important;\n      }\n    }\n\n    .tap-to-close {\n      color: $tooltip-close-font-color;\n      display: block;\n      font-size: $tooltip-close-font-size;\n      font-weight: $tooltip-close-font-weight;\n    }\n\n    @media #{$small} {\n      .tooltip {\n        > .nub {\n          border-color: transparent transparent $tooltip-bg transparent;\n          top: -($tooltip-pip-size * 2);\n        }\n        &.tip-top>.nub {\n          border-color: $tooltip-bg transparent transparent transparent;\n          bottom: -($tooltip-pip-size * 2);\n          top: auto;\n        }\n\n        &.tip-left,\n        &.tip-right { float: none !important; }\n\n        &.tip-left>.nub {\n          border-color: transparent transparent transparent $tooltip-bg;\n          left: auto;\n          margin-top: -$tooltip-pip-size;\n          right: -($tooltip-pip-size * 2);\n          top: 50%;\n        }\n        &.tip-right>.nub {\n          border-color: transparent $tooltip-bg transparent transparent;\n          left: -($tooltip-pip-size * 2);\n          margin-top: -$tooltip-pip-size;\n          right: auto;\n          top: 50%;\n        }\n\n      }\n    }\n\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n@import 'grid';\n@import 'buttons';\n@import 'forms';\n\n//\n// Top Bar Variables\n//\n$include-html-top-bar-classes: $include-html-classes !default;\n\n// Background color for the top bar\n$topbar-bg-color: $oil !default;\n$topbar-bg: $topbar-bg-color !default;\n\n// Height and margin\n$topbar-height: rem-calc(45) !default;\n$topbar-margin-bottom: 0 !default;\n\n// Controlling the styles for the title in the top bar\n$topbar-title-weight: $font-weight-normal !default;\n$topbar-title-font-size: rem-calc(17) !default;\n\n// Set the link colors and styles for top-level nav\n$topbar-link-color: $white !default;\n$topbar-link-color-hover: $white !default;\n$topbar-link-color-active: $white !default;\n$topbar-link-color-active-hover: $white !default;\n$topbar-link-weight: $font-weight-normal !default;\n$topbar-link-font-size: rem-calc(13) !default;\n$topbar-link-hover-lightness: -10% !default; // Darken by 10%\n$topbar-link-bg: $topbar-bg !default;\n$topbar-link-bg-hover: $jet !default;\n$topbar-link-bg-color-hover: $charcoal !default;\n$topbar-link-bg-active: $primary-color !default;\n$topbar-link-bg-active-hover: scale-color($primary-color, $lightness: -14%) !default;\n$topbar-link-font-family: $body-font-family !default;\n$topbar-link-text-transform: none !default;\n$topbar-link-padding: ($topbar-height / 3) !default;\n$topbar-back-link-size: rem-calc(18) !default;\n$topbar-link-dropdown-padding: rem-calc(20) !default;\n$topbar-button-font-size: .75rem !default;\n$topbar-button-top: 7px !default;\n\n// Style the top bar dropdown elements\n$topbar-dropdown-bg: $oil !default;\n$topbar-dropdown-link-color: $white !default;\n$topbar-dropdown-link-color-hover: $topbar-link-color-hover !default;\n$topbar-dropdown-link-bg: $oil !default;\n$topbar-dropdown-link-bg-hover: $jet !default;\n$topbar-dropdown-link-weight: $font-weight-normal !default;\n$topbar-dropdown-toggle-size: 5px !default;\n$topbar-dropdown-toggle-color: $white !default;\n$topbar-dropdown-toggle-alpha: .4 !default;\n\n$topbar-dropdown-label-color: $monsoon !default;\n$topbar-dropdown-label-text-transform: uppercase !default;\n$topbar-dropdown-label-font-weight: $font-weight-bold !default;\n$topbar-dropdown-label-font-size: rem-calc(10) !default;\n$topbar-dropdown-label-bg: $oil !default;\n\n// Top menu icon styles\n$topbar-menu-link-transform: uppercase !default;\n$topbar-menu-link-font-size: rem-calc(13) !default;\n$topbar-menu-link-weight: $font-weight-bold !default;\n$topbar-menu-link-color: $white !default;\n$topbar-menu-icon-color: $white !default;\n$topbar-menu-link-color-toggled: $jumbo !default;\n$topbar-menu-icon-color-toggled: $jumbo !default;\n$topbar-menu-icon-position: $opposite-direction !default; // Change to $default-float for a left menu icon\n\n// Transitions and breakpoint styles\n$topbar-transition-speed: 300ms !default;\n// Using rem-calc for the below breakpoint causes issues with top bar\n$topbar-breakpoint: #{lower-bound($medium-range)} !default; // Change to 9999px for always mobile layout\n$topbar-media-query: \"#{$screen} and (min-width:#{lower-bound($topbar-breakpoint)})\" !default;\n\n// Top-bar input styles\n$topbar-input-height: rem-calc(28) !default;\n\n// Divider Styles\n$topbar-divider-border-bottom: solid 1px scale-color($topbar-bg-color, $lightness: 13%) !default;\n$topbar-divider-border-top: solid 1px scale-color($topbar-bg-color, $lightness: -50%) !default;\n\n// Sticky Class\n$topbar-sticky-class: \".sticky\" !default;\n$topbar-arrows: true !default; //Set false to remove the triangle icon from the menu item\n$topbar-dropdown-arrows: true !default; //Set false to remove the \\00bb >> text from dropdown subnavigation li\n\n// Accessibility mixins for hiding and showing the menu dropdown items\n@mixin topbar-hide-dropdown {\n  // Makes an element visually hidden by default, but visible when focused.\n  @include element-invisible();\n  display: block;\n}\n\n@mixin topbar-show-dropdown {\n  @include element-invisible-off();\n  display: block;\n  position: absolute !important; // Reset the position from static to absolute\n}\n\n@include exports(\"top-bar\") {\n\n  @if $include-html-top-bar-classes {\n\n    // Used to provide media query values for javascript components.\n    // This class is generated despite the value of $include-html-top-bar-classes\n    // to ensure width calculations work correctly.\n    meta.foundation-mq-topbar {\n      font-family: \"/\" + unquote($topbar-media-query) + \"/\";\n      width: $topbar-breakpoint;\n    }\n\n    /* Wrapped around .top-bar to contain to grid width */\n    .contain-to-grid {\n      width: 100%;\n      background: $topbar-bg;\n\n      .top-bar {\n        margin-bottom: $topbar-margin-bottom;\n      }\n    }\n\n    // Wrapped around .top-bar to make it stick to the top\n    .fixed {\n      position: fixed;\n      top: 0;\n      width: 100%;\n      z-index: 99;\n      #{$default-float}: 0;\n\n      &.expanded:not(.top-bar) {\n        height: auto;\n        max-height: 100%;\n        overflow-y: auto;\n        width: 100%;\n\n        .title-area {\n          position: fixed;\n          width: 100%;\n          z-index: 99;\n        }\n\n        // Ensure you can scroll the menu on small screens\n        .top-bar-section {\n          margin-top: $topbar-height;\n          z-index: 98;\n        }\n      }\n    }\n\n    .top-bar {\n      background: $topbar-bg;\n      height: $topbar-height;\n      line-height: $topbar-height;\n      margin-bottom: $topbar-margin-bottom;\n      overflow: hidden;\n      position: relative;\n\n      // Topbar Global list Styles\n      ul {\n        list-style: none;\n        margin-bottom: 0;\n      }\n\n      .row {\n        max-width: none;\n      }\n\n      form,\n      input, \n      select {\n        margin-bottom: 0;\n      }\n\n      input, \n      select {\n        font-size: $topbar-button-font-size;\n        height: $topbar-input-height;\n        padding-bottom: .35rem;\n        padding-top: .35rem;\n      }\n\n      .button, button {\n        font-size: $topbar-button-font-size;\n        margin-bottom: 0;\n        padding-bottom: .35rem + rem-calc(1);\n        padding-top: .35rem + rem-calc(1);\n        // position: relative;\n        // top: -1px;\n\n        // Corrects a slight misalignment when put next to an input field\n        @media #{$small-only} {\n          position: relative;\n          top: -1px;\n        }\n      }\n\n      // Title Area\n      .title-area {\n        margin: 0;\n        position: relative;\n      }\n\n      .name {\n        font-size: $rem-base;\n        height: $topbar-height;\n        margin: 0;\n\n        h1, h2, h3, h4, p, span {\n          font-size: $topbar-title-font-size;\n          line-height: $topbar-height;\n          margin: 0;\n\n          a {\n            color: $topbar-link-color;\n            display: block;\n            font-weight: $topbar-title-weight;\n            padding: 0 $topbar-link-padding;\n            width: 75%;\n          }\n        }\n      }\n\n      // Menu toggle button on small devices\n      .toggle-topbar {\n        position: absolute;\n        #{$topbar-menu-icon-position}: 0;\n        top: 0;\n\n        a {\n          color: $topbar-link-color;\n          display: block;\n          font-size: $topbar-menu-link-font-size;\n          font-weight: $topbar-menu-link-weight;\n          height: $topbar-height;\n          line-height: $topbar-height;\n          padding: 0 $topbar-link-padding;\n          position: relative;\n          text-transform: $topbar-menu-link-transform;\n        }\n\n        // Adding the class \"menu-icon\" will add the 3-line icon people love and adore.\n        &.menu-icon {\n          margin-top: -16px;\n          top: 50%;\n\n          a {\n            @include hamburger(16px, false, 0, 1px, 6px, $topbar-menu-icon-color, \"\", false);\n\n            @if $text-direction == rtl {\n              text-indent: -58px;\n            }\n            color: $topbar-menu-link-color;\n            height: 34px;\n            line-height: 33px;\n            padding: 0 $topbar-link-padding+rem-calc(25) 0 $topbar-link-padding;\n            position: relative;\n          }\n        }\n      }\n\n      // Change things up when the top-bar is expanded\n      &.expanded {\n        background: transparent;\n        height: auto;\n\n        .title-area {\n          background: $topbar-bg;\n        }\n\n        .toggle-topbar {\n          a {\n            color: $topbar-menu-link-color-toggled;\n\n            span::after {\n              // Shh, don't tell, but box-shadows create the menu icon :)\n              // Change the color of the bars when the menu is expanded, using given thickness from hamburger() above\n              box-shadow: 0 0 0 1px $topbar-menu-icon-color-toggled,\n                          0 7px 0 1px $topbar-menu-icon-color-toggled,\n                          0 14px 0 1px $topbar-menu-icon-color-toggled;\n            }\n          }\n        }\n\n        // Fixes an issue with Desktop and Mobile Safari where deeply-nested menus don't appear\n        @media screen and (-webkit-min-device-pixel-ratio:0) {\n          .top-bar-section {\n            .has-dropdown.moved > .dropdown,\n            .dropdown {\n              clip: initial;\n            }\n\n            // This was needed as parent ul's had padding, and the clip: was allowing content to peak through\n            .has-dropdown:not(.moved) > ul {\n              padding: 0;\n            }\n          }\n        }\n      }\n    }\n\n    // Right and Left Navigation that stacked by default\n    .top-bar-section {\n      #{$default-float}: 0;\n      position: relative;\n      width: auto;\n      @include single-transition($default-float, $topbar-transition-speed);\n\n      ul {\n        display: block;\n        font-size: $rem-base;\n        height: auto;\n        margin: 0;\n        padding: 0;\n        width: 100%;\n      }\n\n      .divider,\n      [role=\"separator\"] {\n        border-top: $topbar-divider-border-top;\n        clear: both;\n        height: 1px;\n        width: 100%;\n      }\n\n      ul li {\n      background: $topbar-dropdown-bg;\n\n        > a {\n          color: $topbar-link-color;\n          display: block;\n          font-family: $topbar-link-font-family;\n          font-size: $topbar-link-font-size;\n          font-weight: $topbar-link-weight;\n          padding-#{$default-float}: $topbar-link-padding;\n          padding: 12px 0 12px $topbar-link-padding;\n          text-transform: $topbar-link-text-transform;\n          width: 100%;\n\n          &.button {\n            font-size: $topbar-link-font-size;\n            padding-#{$default-float}: $topbar-link-padding;\n            padding-#{$opposite-direction}: $topbar-link-padding;\n            @include button-style($bg:$primary-color);\n          }\n\n          &.button.secondary { @include button-style($bg:$secondary-color); }\n          &.button.success { @include button-style($bg:$success-color); }\n          &.button.alert { @include button-style($bg:$alert-color); }\n          &.button.warning { @include button-style($bg:$warning-color); }\n          &.button.info { @include button-style($bg:$info-color); }\n        }\n\n        > button {\n          font-size: $topbar-link-font-size;\n          padding-#{$default-float}: $topbar-link-padding;\n          padding-#{$opposite-direction}: $topbar-link-padding;\n          @include button-style($bg:$primary-color);\n\n          &.secondary { @include button-style($bg:$secondary-color); }\n          &.success { @include button-style($bg:$success-color); }\n          &.alert { @include button-style($bg:$alert-color); }\n          &.warning { @include button-style($bg:$warning-color); }\n          &.info { @include button-style($bg:$info-color); }\n        }\n\n        // Apply the hover link color when it has that class\n        &:hover:not(.has-form) > a {\n          background-color: $topbar-link-bg-color-hover;\n          color: $topbar-link-color-hover;\n\n          @if ($topbar-link-bg-hover) {\n            background: $topbar-link-bg-hover;\n          }\n        }\n\n        // Apply the active link color when it has that class\n        &.active > a {\n          background: $topbar-link-bg-active;\n          color: $topbar-link-color-active;\n\n          &:hover {\n            background: $topbar-link-bg-active-hover;\n            color: $topbar-link-color-active-hover;\n          }\n        }\n      }\n\n      // Add some extra padding for list items contains buttons\n      .has-form {\n        padding: $topbar-link-padding;\n      }\n\n      // Styling for list items that have a dropdown within them.\n      .has-dropdown {\n        position: relative;\n\n        > a {\n          &:after {\n            @if ($topbar-arrows) {\n              @include css-triangle($topbar-dropdown-toggle-size, rgba($topbar-dropdown-toggle-color, $topbar-dropdown-toggle-alpha), $default-float);\n            }\n\n            margin-#{$opposite-direction}: $topbar-link-padding;\n            margin-top: -($topbar-dropdown-toggle-size / 2) - 2;\n            position: absolute;\n            top: 50%;\n            #{$opposite-direction}: 0;\n          }\n        }\n\n        &.moved {\n          position: static;\n\n          > .dropdown {\n            @include topbar-show-dropdown();\n            width: 100%;\n          }\n\n          > a:after {\n            display: none;\n          }\n        }\n      }\n\n      // Styling elements inside of dropdowns\n      .dropdown {\n        @include topbar-hide-dropdown();\n        padding: 0;\n        position: absolute;\n        top: 0;\n        z-index: 99;\n        #{$default-float}: 100%;\n\n        li {\n          height: auto;\n          width: 100%;\n\n          a {\n            font-weight: $topbar-dropdown-link-weight;\n            padding: 8px $topbar-link-padding;\n            &.parent-link {\n              font-weight: $topbar-link-weight;\n            }\n          }\n\n          &.title h5,\n          &.parent-link {\n            // Back Button\n            margin-bottom: 0;\n            margin-top: 0;\n            font-size: $topbar-back-link-size;\n            a {\n              color: $topbar-link-color;\n              // line-height: ($topbar-height / 2);\n              display: block;\n              &:hover { background:none; }\n            }\n          }\n\n          &.has-form {\n            padding: 8px $topbar-link-padding;\n          }\n\n          .button,\n          button {\n            top: auto;\n          }\n        }\n\n        label {\n          color: $topbar-dropdown-label-color;\n          font-size: $topbar-dropdown-label-font-size;\n          font-weight: $topbar-dropdown-label-font-weight;\n          margin-bottom: 0;\n          padding: 8px $topbar-link-padding 2px;\n          text-transform: $topbar-dropdown-label-text-transform;\n        }\n      }\n    }\n\n    .js-generated { display: block; }\n\n\n    // Top Bar styles intended for screen sizes above the breakpoint.\n    @media #{$topbar-media-query} {\n      .top-bar {\n        @include clearfix;\n        background: $topbar-bg;\n        overflow: visible;\n\n        .toggle-topbar { display: none; }\n\n        .title-area { float: $default-float; }\n        .name h1 a,\n        .name h2 a,\n        .name h3 a,\n        .name h4 a,\n        .name h5 a,\n        .name h6 a { width: auto; }\n\n        input,\n        select,\n        .button,\n        button {\n          font-size: rem-calc(14);\n          height: $topbar-input-height;\n          position: relative;\n          top: (($topbar-height - $topbar-input-height) / 2);\n        }\n\n        .has-form > .button,\n        .has-form > button {\n          font-size: rem-calc(14);\n          height: $topbar-input-height;\n          position: relative; \n          top: (($topbar-height - $topbar-input-height) / 2);\n        }\n\n        &.expanded {\n          background: $topbar-bg;\n        }\n      }\n\n      .contain-to-grid .top-bar {\n        margin: 0 auto;\n        margin-bottom: $topbar-margin-bottom;\n        max-width: $row-width;\n      }\n\n      .top-bar-section {\n        @include single-transition(none,0,0);\n        #{$default-float}: 0 !important;\n\n        ul {\n          display: inline;\n          height: auto !important;\n          width: auto;\n\n          li {\n            float: $default-float;\n            .js-generated { display: none; }\n          }\n        }\n\n        li {\n          &.hover {\n            > a:not(.button) {\n              background-color: $topbar-link-bg-color-hover;\n              @if ($topbar-link-bg-hover) {\n                background: $topbar-link-bg-hover;\n              }\n              color: $topbar-link-color-hover;\n            }\n          }\n\n          &:not(.has-form) {\n            a:not(.button) {\n              background: $topbar-link-bg;\n              line-height: $topbar-height;\n              padding: 0 $topbar-link-padding;\n              &:hover {\n                background-color: $topbar-link-bg-color-hover;\n                @if ($topbar-link-bg-hover) {\n                  background: $topbar-link-bg-hover;\n                }\n              }\n            }\n          }\n\n          &.active:not(.has-form) {\n            a:not(.button) {\n              background: $topbar-link-bg-active;\n              color: $topbar-link-color-active;\n              line-height: $topbar-height;\n              padding: 0 $topbar-link-padding;\n              &:hover {\n                background: $topbar-link-bg-active-hover;\n                color: $topbar-link-color-active-hover;\n              }\n            }\n          }\n        }\n\n        .has-dropdown {\n          @if $topbar-arrows {\n            > a {\n              padding-#{$opposite-direction}: $topbar-link-padding + $topbar-link-dropdown-padding !important;\n              &:after {\n                @include css-triangle($topbar-dropdown-toggle-size, rgba($topbar-dropdown-toggle-color, $topbar-dropdown-toggle-alpha), top);\n                margin-top: -($topbar-dropdown-toggle-size / 2);\n                top: ($topbar-height / 2);\n              }\n            }\n          }\n\n          &.moved { position: relative;\n            > .dropdown {\n              @include topbar-hide-dropdown();\n            }\n          }\n\n          &.hover, &.not-click:hover {\n            > .dropdown {\n              @include topbar-show-dropdown();\n            }\n          }\n\n          > a:focus + .dropdown {\n            @include topbar-show-dropdown();\n          }\n\n          .dropdown li.has-dropdown {\n            > a {\n              @if ($topbar-dropdown-arrows) {\n                &:after {\n                  border: none;\n                  content: \"\\00bb\";\n                  top: rem-calc(3);\n\n                  #{$opposite-direction}: 5px;\n                }\n              }\n            }\n          }\n        }\n\n        .dropdown {\n          #{$default-float}: 0;\n          background: transparent;\n          min-width: 100%;\n          top: auto;\n\n          li {\n            a {\n              background: $topbar-dropdown-link-bg;\n              color: $topbar-dropdown-link-color;\n              line-height: $topbar-height;\n              padding: 12px $topbar-link-padding;\n              white-space: nowrap;\n            }\n\n            &:not(.has-form):not(.active) {\n              > a:not(.button) {\n                background: $topbar-dropdown-link-bg;\n                color: $topbar-dropdown-link-color;\n              }\n\n              &:hover > a:not(.button) {\n                background-color: $topbar-link-bg-color-hover;\n                color: $topbar-dropdown-link-color-hover;\n                @if ($topbar-dropdown-link-bg-hover) {\n                  background: $topbar-dropdown-link-bg-hover;\n                }\n              }\n            }\n\n            label {\n              background: $topbar-dropdown-label-bg;\n              white-space: nowrap;\n            }\n\n            // Second Level Dropdowns\n            .dropdown {\n              #{$default-float}: 100%;\n              top: 0;\n            }\n          }\n        }\n\n        > ul > .divider,\n        > ul > [role=\"separator\"] {\n          border-#{$opposite-direction}: $topbar-divider-border-bottom;\n          border-bottom: none;\n          border-top: none;\n          clear: none;\n          height: $topbar-height;\n          width: 0;\n        }\n\n        .has-form {\n          background: $topbar-link-bg;\n          height: $topbar-height;\n          padding: 0 $topbar-link-padding;\n        }\n\n        // Position overrides for ul.right and ul.left\n        .#{$opposite-direction} {\n          li .dropdown {\n            #{$default-float}: auto;\n            #{$opposite-direction}: 0;\n\n            li .dropdown { #{$opposite-direction}: 100%; }\n          }\n        }\n        .#{$default-float} {\n          li .dropdown {\n            #{$opposite-direction}: auto;\n            #{$default-float}: 0;\n\n            li .dropdown { #{$default-float}: 100%; }\n          }\n        }\n      }\n\n      // Degrade gracefully when Javascript is disabled. Displays dropdown and changes\n      // background & text color on hover.\n      .no-js .top-bar-section {\n        ul li {\n          // Apply the hover link color when it has that class\n          &:hover > a {\n            background-color: $topbar-link-bg-color-hover;\n            @if ($topbar-link-bg-hover) {\n              background: $topbar-link-bg-hover;\n            }\n            color: $topbar-link-color-hover;\n          }\n\n          // Apply the active link color when it has that class\n          &:active > a {\n            background: $topbar-link-bg-active;\n            color: $topbar-link-color-active;\n          }\n        }\n\n        .has-dropdown {\n          &:hover {\n            > .dropdown {\n              @include topbar-show-dropdown();\n            }\n          }\n\n          > a:focus + .dropdown {\n            @include topbar-show-dropdown();\n          }\n        }\n      }\n    }\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n$include-html-type-classes: $include-html-classes !default;\n\n// We use these to control header font styles\n$header-font-family: $body-font-family !default;\n$header-font-weight: $font-weight-normal !default;\n$header-font-style: normal !default;\n$header-font-color: $jet !default;\n$header-line-height: 1.4 !default;\n$header-top-margin: .2rem !default;\n$header-bottom-margin: .5rem !default;\n$header-text-rendering: optimizeLegibility !default;\n\n// We use these to control header font sizes\n$h1-font-size: rem-calc(44) !default;\n$h2-font-size: rem-calc(37) !default;\n$h3-font-size: rem-calc(27) !default;\n$h4-font-size: rem-calc(23) !default;\n$h5-font-size: rem-calc(18) !default;\n$h6-font-size: 1rem !default;\n\n// We use these to control header size reduction on small screens\n$h1-font-reduction: rem-calc(10) !default;\n$h2-font-reduction: rem-calc(10) !default;\n$h3-font-reduction: rem-calc(5) !default;\n$h4-font-reduction: rem-calc(5) !default;\n$h5-font-reduction: 0 !default;\n$h6-font-reduction: 0 !default;\n\n// These control how subheaders are styled.\n$subheader-line-height: 1.4 !default;\n$subheader-font-color: scale-color($header-font-color, $lightness: 35%) !default;\n$subheader-font-weight: $font-weight-normal !default;\n$subheader-top-margin: .2rem !default;\n$subheader-bottom-margin: .5rem !default;\n\n// A general <small> styling\n$small-font-size: 60% !default;\n$small-font-color: scale-color($header-font-color, $lightness: 35%) !default;\n\n// We use these to style paragraphs\n$paragraph-font-family: inherit !default;\n$paragraph-font-weight: $font-weight-normal !default;\n$paragraph-font-size: 1rem !default;\n$paragraph-line-height: 1.6 !default;\n$paragraph-margin-bottom: rem-calc(20) !default;\n$paragraph-aside-font-size: rem-calc(14) !default;\n$paragraph-aside-line-height: 1.35 !default;\n$paragraph-aside-font-style: italic !default;\n$paragraph-text-rendering: optimizeLegibility !default;\n\n// We use these to style <code> tags\n$code-color: $oil !default;\n$code-font-family: $font-family-monospace !default;\n$code-font-weight: $font-weight-normal !default;\n$code-background-color: scale-color($secondary-color, $lightness: 70%) !default;\n$code-border-size: 1px !default;\n$code-border-style: solid !default;\n$code-border-color: scale-color($code-background-color, $lightness: -10%) !default;\n$code-padding: rem-calc(2) rem-calc(5) rem-calc(1) !default;\n\n// We use these to style anchors\n$anchor-text-decoration: none !default;\n$anchor-text-decoration-hover: none !default;\n$anchor-font-color: $primary-color !default;\n$anchor-font-color-hover: scale-color($anchor-font-color, $lightness: -14%) !default;\n\n// We use these to style the <hr> element\n$hr-border-width: 1px !default;\n$hr-border-style: solid !default;\n$hr-border-color: $gainsboro !default;\n$hr-margin: rem-calc(20) !default;\n\n// We use these to style lists\n$list-font-family: $paragraph-font-family !default;\n$list-font-size: $paragraph-font-size !default;\n$list-line-height: $paragraph-line-height !default;\n$list-margin-bottom: $paragraph-margin-bottom !default;\n$list-style-position: outside !default;\n$list-side-margin: 1.1rem !default;\n$list-ordered-side-margin: 1.4rem !default;\n$list-side-margin-no-bullet: 0 !default;\n$list-nested-margin: rem-calc(20) !default;\n$definition-list-header-weight: $font-weight-bold !default;\n$definition-list-header-margin-bottom: .3rem !default;\n$definition-list-margin-bottom: rem-calc(12) !default;\n\n// We use these to style blockquotes\n$blockquote-font-color: scale-color($header-font-color, $lightness: 35%) !default;\n$blockquote-padding: rem-calc(9 20 0 19) !default;\n$blockquote-border: 1px solid $gainsboro !default;\n$blockquote-cite-font-size: rem-calc(13) !default;\n$blockquote-cite-font-color: scale-color($header-font-color, $lightness: 23%) !default;\n$blockquote-cite-link-color: $blockquote-cite-font-color !default;\n\n// Acronym styles\n$acronym-underline: 1px dotted $gainsboro !default;\n\n// We use these to control padding and margin\n$microformat-padding: rem-calc(10 12) !default;\n$microformat-margin: rem-calc(0 0 20 0) !default;\n\n// We use these to control the border styles\n$microformat-border-width: 1px !default;\n$microformat-border-style: solid !default;\n$microformat-border-color: $gainsboro !default;\n\n// We use these to control full name font styles\n$microformat-fullname-font-weight: $font-weight-bold !default;\n$microformat-fullname-font-size: rem-calc(15) !default;\n\n// We use this to control the summary font styles\n$microformat-summary-font-weight: $font-weight-bold !default;\n\n// We use this to control abbr padding\n$microformat-abbr-padding: rem-calc(0 1) !default;\n\n// We use this to control abbr font styles\n$microformat-abbr-font-weight: $font-weight-bold !default;\n$microformat-abbr-font-decoration: none !default;\n\n// Controls the page margin when printing the website\n$print-margin: 0.34in !default;\n\n// Text alignment class names\n$align-class-names:\n  small-only,\n  small,\n  medium-only,\n  medium,\n  large-only,\n  large,\n  xlarge-only,\n  xlarge,\n  xxlarge-only,\n  xxlarge;\n\n// Text alignment breakpoints\n$align-class-breakpoints:\n  $small-only,\n  $small-up,\n  $medium-only,\n  $medium-up,\n  $large-only,\n  $large-up,\n  $xlarge-only,\n  $xlarge-up,\n  $xxlarge-only,\n  $xxlarge-up;\n\n// Generates text align and justify classes\n@mixin align-classes{\n  .text-left    { text-align: left !important; }\n  .text-right   { text-align: right !important; }\n  .text-center  { text-align: center !important; }\n  .text-justify { text-align: justify !important; }\n\n  @for $i from 1 through length($align-class-names) {\n    @media #{(nth($align-class-breakpoints, $i))} {\n      .#{(nth($align-class-names, $i))}-text-left { text-align: left !important; }\n      .#{(nth($align-class-names, $i))}-text-right   { text-align: right !important; }\n      .#{(nth($align-class-names, $i))}-text-center  { text-align: center !important; }\n      .#{(nth($align-class-names, $i))}-text-justify { text-align: justify !important; }\n    }\n  }\n}\n\n//\n// Typography Placeholders\n//\n\n// These will throw a deprecation warning if used within a media query.\n@mixin lead {\n  font-size: $paragraph-font-size + rem-calc(3.5);\n  line-height: 1.6;\n}\n\n@mixin subheader {\n  line-height: $subheader-line-height;\n  color: $subheader-font-color;\n  font-weight: $subheader-font-weight;\n  margin-top: $subheader-top-margin;\n  margin-bottom: $subheader-bottom-margin;\n}\n@include exports(\"type\") {\n  @if $include-html-type-classes {\n    // Responsive Text alignment\n    @include align-classes;\n\n    /* Typography resets */\n    div,\n    dl,\n    dt,\n    dd,\n    ul,\n    ol,\n    li,\n    h1,\n    h2,\n    h3,\n    h4,\n    h5,\n    h6,\n    pre,\n    form,\n    p,\n    blockquote,\n    th,\n    td {\n      margin:0;\n      padding:0;\n    }\n\n    /* Default Link Styles */\n    a {\n      color: $anchor-font-color;\n      line-height: inherit;\n      text-decoration: $anchor-text-decoration;\n\n      &:hover,\n      &:focus {\n        color: $anchor-font-color-hover;\n        @if $anchor-text-decoration-hover != $anchor-text-decoration {\n        \ttext-decoration: $anchor-text-decoration-hover;\n        }\n      }\n\n      img { border:none; }\n    }\n\n    /* Default paragraph styles */\n    p {\n      font-family: $paragraph-font-family;\n      font-size: $paragraph-font-size;\n      font-weight: $paragraph-font-weight;\n      line-height: $paragraph-line-height;\n      margin-bottom: $paragraph-margin-bottom;\n      text-rendering: $paragraph-text-rendering;\n\n      &.lead { @include lead; }\n\n      & aside {\n        font-size: $paragraph-aside-font-size;\n        font-style: $paragraph-aside-font-style;\n        line-height: $paragraph-aside-line-height;\n      }\n    }\n\n    /* Default header styles */\n    h1, h2, h3, h4, h5, h6 {\n      color: $header-font-color;\n      font-family: $header-font-family;\n      font-style: $header-font-style;\n      font-weight: $header-font-weight;\n      line-height: $header-line-height;\n      margin-bottom: $header-bottom-margin;\n      margin-top: $header-top-margin;\n      text-rendering: $header-text-rendering;\n\n      small {\n        color: $small-font-color;\n        font-size: $small-font-size;\n        line-height: 0;\n      }\n    }\n\n    h1 { font-size: $h1-font-size - $h1-font-reduction; }\n    h2 { font-size: $h2-font-size - $h2-font-reduction; }\n    h3 { font-size: $h3-font-size - $h3-font-reduction; }\n    h4 { font-size: $h4-font-size - $h4-font-reduction; }\n    h5 { font-size: $h5-font-size - $h5-font-reduction; }\n    h6 { font-size: $h6-font-size - $h6-font-reduction; }\n\n    .subheader { @include subheader; }\n\n    hr {\n      border: $hr-border-style $hr-border-color;\n      border-width: $hr-border-width 0 0;\n      clear: both;\n      height: 0;\n      margin: $hr-margin 0 ($hr-margin - rem-calc($hr-border-width));\n    }\n\n    /* Helpful Typography Defaults */\n    em,\n    i {\n      font-style: italic;\n      line-height: inherit;\n    }\n\n    strong,\n    b {\n      font-weight: $font-weight-bold;\n      line-height: inherit;\n    }\n\n    small {\n      font-size: $small-font-size;\n      line-height: inherit;\n    }\n\n    code {\n      background-color: $code-background-color;\n      border-color: $code-border-color;\n      border-style: $code-border-style;\n      border-width: $code-border-size;\n      color: $code-color;\n      font-family: $code-font-family;\n      font-weight: $code-font-weight;\n      padding: $code-padding;\n    }\n\n    /* Lists */\n    ul,\n    ol,\n    dl {\n      font-family: $list-font-family;\n      font-size: $list-font-size;\n      line-height: $list-line-height;\n      list-style-position: $list-style-position;\n      margin-bottom: $list-margin-bottom;\n    }\n\n    ul {\n      margin-#{$default-float}: $list-side-margin;\n    }\n\n    /* Unordered Lists */\n    ul {\n      li {\n        ul,\n        ol {\n          margin-#{$default-float}: $list-nested-margin;\n          margin-bottom: 0;\n        }\n      }\n      &.square,\n      &.circle,\n      &.disc {\n        li ul { list-style: inherit; }\n      }\n\n      &.square { list-style-type: square; margin-#{$default-float}: $list-side-margin;}\n      &.circle { list-style-type: circle; margin-#{$default-float}: $list-side-margin;}\n      &.disc { list-style-type: disc; margin-#{$default-float}: $list-side-margin;}\n    }\n\n    /* Ordered Lists */\n    ol {\n      margin-#{$default-float}: $list-ordered-side-margin;\n      li {\n        ul,\n        ol {\n          margin-#{$default-float}: $list-nested-margin;\n          margin-bottom: 0;\n        }\n      }\n    }\n\n    // Lists without bullets\n    .no-bullet {\n      list-style-type: none;\n      margin-#{$default-float}: $list-side-margin-no-bullet;\n      \n      li {\n        ul,\n        ol {\n          margin-#{$default-float}: $list-nested-margin;\n          margin-bottom: 0;\n          list-style: none;\n        }\n      }\n    }\n\n    /* Definition Lists */\n    dl {\n      dt {\n        margin-bottom: $definition-list-header-margin-bottom;\n        font-weight: $definition-list-header-weight;\n      }\n      dd { margin-bottom: $definition-list-margin-bottom; }\n    }\n\n    /* Abbreviations */\n    abbr,\n    acronym {\n      text-transform: uppercase;\n      font-size: 90%;\n      color: $body-font-color;\n      cursor: $cursor-help-value;\n    }\n    abbr {\n      text-transform: none;\n      &[title] {\n        border-bottom: $acronym-underline;\n      }\n    }\n\n    /* Blockquotes */\n    blockquote {\n      margin: 0 0 $paragraph-margin-bottom;\n      padding: $blockquote-padding;\n      border-#{$default-float}: $blockquote-border;\n\n      cite {\n        display: block;\n        font-size: $blockquote-cite-font-size;\n        color: $blockquote-cite-font-color;\n        &:before {\n          content: \"\\2014 \\0020\";\n        }\n\n        a,\n        a:visited {\n          color: $blockquote-cite-link-color;\n        }\n      }\n    }\n    blockquote,\n    blockquote p {\n      line-height: $paragraph-line-height;\n      color: $blockquote-font-color;\n    }\n\n    /* Microformats */\n    .vcard {\n      display: inline-block;\n      margin: $microformat-margin;\n      border: $microformat-border-width $microformat-border-style $microformat-border-color;\n      padding: $microformat-padding;\n\n      li {\n        margin: 0;\n        display: block;\n      }\n      .fn {\n        font-weight: $microformat-fullname-font-weight;\n        font-size: $microformat-fullname-font-size;\n      }\n    }\n\n    .vevent {\n      .summary { font-weight: $microformat-summary-font-weight; }\n\n      abbr {\n        cursor: $cursor-default-value;\n        text-decoration: $microformat-abbr-font-decoration;\n        font-weight: $microformat-abbr-font-weight;\n        border: none;\n        padding: $microformat-abbr-padding;\n      }\n    }\n\n\n    @media #{$medium-up} {\n      h1, h2, h3, h4, h5, h6 { line-height: $header-line-height; }\n      h1 { font-size: $h1-font-size; }\n      h2 { font-size: $h2-font-size; }\n      h3 { font-size: $h3-font-size; }\n      h4 { font-size: $h4-font-size; }\n      h5 { font-size: $h5-font-size; }\n      h6 { font-size: $h6-font-size; }\n    }\n\n    // Only include these styles if you want them.\n    @if $include-print-styles {\n      /*\n       * Print styles.\n       *\n       * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/\n       * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)\n      */\n      @media print {\n        * {\n          background: transparent !important;\n          color: $black !important; /* Black prints faster: h5bp.com/s */\n          box-shadow: none !important;\n          text-shadow: none !important;\n        }\n\n        a,\n        a:visited { text-decoration: underline;}\n        a[href]:after { content: \" (\" attr(href) \")\"; }\n\n        abbr[title]:after { content: \" (\" attr(title) \")\"; }\n\n        // Don't show links for images, or javascript/internal links\n        .ir a:after,\n        a[href^=\"javascript:\"]:after,\n        a[href^=\"#\"]:after { content: \"\"; }\n\n        pre,\n        blockquote {\n          border: 1px solid $aluminum;\n          page-break-inside: avoid;\n        }\n\n        thead { display: table-header-group; /* h5bp.com/t */ }\n\n        tr,\n        img { page-break-inside: avoid; }\n\n        img { max-width: 100% !important; }\n\n        @page { margin: $print-margin; }\n\n        p,\n        h2,\n        h3 {\n          orphans: 3;\n          widows: 3;\n        }\n\n        h2,\n        h3 { page-break-after: avoid; }\n      }\n    }\n\n  }\n}\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n@import 'type';\n\n// Off Canvas Tab Bar Variables\n$include-html-off-canvas-classes: $include-html-classes !default;\n\n$tabbar-bg: $oil !default;\n$tabbar-height: rem-calc(45) !default;\n$tabbar-icon-width: $tabbar-height !default;\n$tabbar-line-height: $tabbar-height !default;\n$tabbar-color: $white !default;\n$tabbar-middle-padding: 0 rem-calc(10) !default;\n\n// Off Canvas Divider Styles\n$tabbar-left-section-border: solid 1px scale-color($tabbar-bg, $lightness: -50%) !default;\n$tabbar-right-section-border: $tabbar-left-section-border;\n\n\n// Off Canvas Tab Bar Headers\n$tabbar-header-color: $white !default;\n$tabbar-header-weight: $font-weight-bold !default;\n$tabbar-header-line-height: $tabbar-height !default;\n$tabbar-header-margin: 0 !default;\n\n// Off Canvas Menu Variables\n$off-canvas-width: rem-calc(250) !default;\n$off-canvas-height: rem-calc(300) !default;\n$off-canvas-bg: $oil !default;\n$off-canvas-bg-hover: scale-color($tabbar-bg, $lightness: -30%) !default;\n$off-canvas-bg-active: scale-color($tabbar-bg, $lightness: -30%) !default;\n\n// Off Canvas Menu List Variables\n$off-canvas-label-padding: .3rem rem-calc(15) !default;\n$off-canvas-label-color: $aluminum !default;\n$off-canvas-label-text-transform: uppercase !default;\n$off-canvas-label-font-size: rem-calc(12) !default;\n$off-canvas-label-font-weight: $font-weight-bold !default;\n$off-canvas-label-bg: $tuatara !default;\n$off-canvas-label-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%) !default;\n$off-canvas-label-border-bottom: none !default;\n$off-canvas-label-margin:0 !default;\n$off-canvas-link-padding: rem-calc(10, 15) !default;\n$off-canvas-link-color: rgba($white, .7) !default;\n$off-canvas-link-border-bottom: 1px solid scale-color($off-canvas-bg, $lightness: -25%) !default;\n$off-canvas-back-bg: #444 !default;\n$off-canvas-back-border-top: $off-canvas-label-border-top !default;\n$off-canvas-back-border-bottom: $off-canvas-label-border-bottom !default;\n$off-canvas-back-hover-bg: scale-color($off-canvas-back-bg, $lightness: -30%) !default;\n$off-canvas-back-hover-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%) !default;\n$off-canvas-back-hover-border-bottom: none !default;\n\n// Off Canvas Menu Icon Variables\n$tabbar-menu-icon-color: $white !default;\n$tabbar-menu-icon-hover: scale-color($tabbar-menu-icon-color, $lightness: -30%) !default;\n\n$tabbar-menu-icon-text-indent: rem-calc(35) !default;\n$tabbar-menu-icon-width: $tabbar-icon-width !default;\n$tabbar-menu-icon-height: $tabbar-height !default;\n$tabbar-menu-icon-padding: 0 !default;\n\n$tabbar-hamburger-icon-width: rem-calc(16) !default;\n$tabbar-hamburger-icon-left: false !default;\n$tabbar-hamburger-icon-top: false !default;\n$tabbar-hamburger-icon-thickness: 1px !default;\n$tabbar-hamburger-icon-gap: 6px !default;\n\n// Off Canvas Back-Link Overlay\n$off-canvas-overlay-transition: background 300ms ease !default;\n$off-canvas-overlay-cursor: pointer !default;\n$off-canvas-overlay-box-shadow: -4px 0 4px rgba($black, .5), 4px 0 4px rgba($black, .5) !default;\n$off-canvas-overlay-background: rgba($white, .2) !default;\n$off-canvas-overlay-background-hover: rgba($white, .05) !default;\n\n// Transition Variables\n$menu-slide: \"transform 500ms ease\" !default;\n\n\n// MIXINS\n// Remove transition flicker on phones\n@mixin kill-flicker {\n  // -webkit-transform: translateZ(0x);\n  -webkit-backface-visibility: hidden;\n}\n\n// Basic properties for the content wraps\n@mixin wrap-base {\n  position: relative;\n  width: 100%;\n}\n\n@mixin translate3d($tx, $ty, $tz) {\n  -webkit-transform: translate3d($tx, $ty, $tz);\n     -moz-transform: translate3d($tx, $ty, $tz);\n      -ms-transform: translate($tx, $ty);\n       -o-transform: translate3d($tx, $ty, $tz);\n          transform: translate3d($tx, $ty, $tz)\n}\n\n// basic styles for off-canvas menu container\n@mixin off-canvas-menu($position) {\n  @include kill-flicker;\n  * { @include kill-flicker; }\n  background: $off-canvas-bg;\n  bottom: 0;\n  box-sizing: content-box;\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n  overflow-x: hidden;\n  overflow-y: auto;\n  position: absolute;\n  transition: transform 500ms ease 0s;\n  width: $off-canvas-width;\n  z-index: 1001;\n\n  @if $position == left {\n    @include translate3d(-100%,0,0);\n    left: 0;\n    top: 0;\n  }\n  @if $position == right {\n    @include translate3d(100%,0,0);\n    right: 0;\n    top: 0;\n  }\n  @if $position == top {\n    @include translate3d(0,-100%,0);\n    top: 0;\n    width: 100%;\n    height: $off-canvas-height;\n  }\n  @if $position == bottom {\n    @include translate3d(0,100%,0);\n    bottom: 0;\n    width: 100%;\n    height: $off-canvas-height;\n  }\n}\n\n// OFF CANVAS WRAP\n// Wrap visible content and prevent scroll bars\n@mixin off-canvas-wrap {\n  @include kill-flicker;\n  @include wrap-base;\n  overflow: hidden;\n  &.move-right,\n  &.move-left,\n  &.move-bottom,\n  &.move-top { min-height: 100%; -webkit-overflow-scrolling: touch; }\n}\n\n// INNER WRAP\n// Main content area that moves to reveal the off-canvas nav\n@mixin inner-wrap {\n  // @include kill-flicker;\n  // removed for now till chrome fixes backface issue\n  @include wrap-base;\n  @include clearfix;\n  -webkit-transition: -webkit-#{$menu-slide};\n  -moz-transition: -moz-#{$menu-slide};\n  -ms-transition: -ms-#{$menu-slide};\n  -o-transition: -o-#{$menu-slide};\n  transition: #{$menu-slide};\n}\n\n// TAB BAR\n// This is the tab bar base\n@mixin tab-bar-base {\n  @include kill-flicker;\n\n  // base styles\n  background: $tabbar-bg;\n  color: $tabbar-color;\n  height: $tabbar-height;\n  line-height: $tabbar-line-height;\n\n  // make sure it's below the .exit-off-canvas link\n  position: relative;\n  // z-index: 999;\n\n  // Typography\n  h1, h2, h3, h4, h5, h6 {\n    color: $tabbar-header-color;\n    font-weight: $tabbar-header-weight;\n    line-height: $tabbar-header-line-height;\n    margin: $tabbar-header-margin;\n  }\n  h1, h2, h3, h4 { font-size: $h5-font-size; }\n}\n\n// SMALL SECTIONS\n// These are small sections on the left and right that contain the off-canvas toggle buttons;\n@mixin tabbar-small-section($position) {\n  height: $tabbar-height;\n  position: absolute;\n  top: 0;\n  width: $tabbar-icon-width;\n  @if $position == left {\n    border-right: $tabbar-left-section-border;\n    // box-shadow: 1px 0 0 scale-color($tabbar-bg, $lightness: 13%);\n    left: 0;\n  }\n  @if $position == right {\n    border-left: $tabbar-right-section-border;\n    // box-shadow: -1px 0 0 scale-color($tabbar-bg, $lightness: -50%);\n    right:0;\n  }\n}\n\n@mixin tab-bar-section {\n  height: $tabbar-height;\n  padding: $tabbar-middle-padding;\n  position: absolute;\n  text-align: center;\n  top: 0;\n    &.left { text-align: left; }\n    &.right { text-align: right; }\n\n\n  // still need to make these non-presentational\n  &.left {\n    left: 0;\n    right: $tabbar-icon-width;\n  }\n  &.right {\n    left: $tabbar-icon-width;\n    right: 0;\n  }\n  &.middle {\n    left: $tabbar-icon-width;\n    right: $tabbar-icon-width;\n  }\n}\n\n// OFF CANVAS LIST\n// This is the list of links in the off-canvas menu\n@mixin off-canvas-list {\n  list-style-type: none;\n  margin:0;\n  padding:0;\n\n  li {\n    label {\n      background: $off-canvas-label-bg;\n      border-bottom: $off-canvas-label-border-bottom;\n      border-top: $off-canvas-label-border-top;\n      color: $off-canvas-label-color;\n      display: block;\n      font-size: $off-canvas-label-font-size;\n      font-weight: $off-canvas-label-font-weight;\n      margin: $off-canvas-label-margin;\n      padding: $off-canvas-label-padding;\n      text-transform: $off-canvas-label-text-transform;\n    }\n    a {\n      border-bottom: $off-canvas-link-border-bottom;\n      color: $off-canvas-link-color;\n      display: block;\n      padding: $off-canvas-link-padding;\n      transition: background 300ms ease;\n      &:hover {\n        background: $off-canvas-bg-hover;\n      }\n      &:active {\n        background: $off-canvas-bg-active;\n      }\n    }\n  }\n\n}\n\n// BACK LINK\n// This is an overlay that, when clicked, will toggle off the off canvas menu\n@mixin back-link {\n  @include kill-flicker;\n\n  box-shadow: $off-canvas-overlay-box-shadow;\n  cursor: $off-canvas-overlay-cursor;\n  transition: $off-canvas-overlay-transition;\n\n  // fill the screen\n  -webkit-tap-highlight-color: rgba(0,0,0,0);\n  background: $off-canvas-overlay-background;\n  bottom: 0;\n  display: block;\n  left: 0;\n  position: absolute;\n  right: 0;\n  top: 0;\n  z-index: 1002;\n\n  @media #{$medium-up} {\n    &:hover {\n      background: $off-canvas-overlay-background-hover;\n    }\n  }\n}\n\n//\n// Off-Canvas Submenu Classes\n//\n@mixin off-canvas-submenu($position) {\n  @include kill-flicker;\n  * { @include kill-flicker; }\n  -webkit-overflow-scrolling: touch;\n  background: $off-canvas-bg;\n  bottom: 0;\n  box-sizing: content-box;\n  margin: 0;\n  overflow-x: hidden;\n  overflow-y: auto;\n  position: absolute;\n  top: 0;\n  width: $off-canvas-width;\n  height: $off-canvas-height;\n  z-index: 1002;\n  @if $position == left {\n    @include translate3d(-100%,0,0);\n    left: 0;\n  }\n  @if $position == right {\n    @include translate3d(100%,0,0);\n    right: 0;\n  }\n  @if $position == top {\n    @include translate3d(0,-100%,0);\n    top: 0;\n    width: 100%;\n  }  \n  @if $position == bottom {\n    @include translate3d(0,100%,0);\n    bottom: 0;\n    width: 100%;\n  }\n  -webkit-transition: -webkit-#{$menu-slide};\n  -moz-transition: -moz-#{$menu-slide};\n  -ms-transition: -ms-#{$menu-slide};\n  -o-transition: -o-#{$menu-slide};\n  transition: #{$menu-slide};\n\n  //back button style like label\n  .back > a {\n    background: $off-canvas-back-bg;\n    border-bottom: $off-canvas-back-border-bottom;\n    border-top: $off-canvas-back-border-top;\n    color: $off-canvas-label-color;\n    font-weight: $off-canvas-label-font-weight;\n    padding: $off-canvas-label-padding;\n    text-transform: $off-canvas-label-text-transform;\n\n    &:hover {\n      background: $off-canvas-back-hover-bg;\n      border-bottom: $off-canvas-back-hover-border-bottom;\n      border-top: $off-canvas-back-hover-border-top;\n    }\n\n    margin: $off-canvas-label-margin;\n    @if $position == right {\n      @if $text-direction == rtl {\n        &:before {\n          @include icon-double-arrows($position: left);\n        }\n      } @else {\n        &:after {\n          @include icon-double-arrows($position: right);\n        }\n      }\n    }\n    @if $position == left {\n      @if $text-direction == rtl {\n        &:after {\n          @include icon-double-arrows($position: right);\n        }\n      } @else {\n        &:before {\n          @include icon-double-arrows($position: left);\n        }\n      }\n    }\n  }\n}\n//Left double angle quote or Right double angle quote chars\n@mixin icon-double-arrows ($position) {\n  @if $position == left {\n    content: \"\\AB\";\n    @if $text-direction == rtl {\n      margin-left: .5rem;\n    } @else {\n      margin-right: .5rem;\n    }\n  }\n  @if $position == right {\n    content: \"\\BB\";\n    @if $text-direction == rtl {\n      margin-right: .5rem;\n    } @else {\n      margin-left: .5rem;\n    }\n  }\n  display: inline;\n}\n\n//\n// DEFAULT CLASSES\n//\n@include exports(\"offcanvas\") {\n  @if $include-html-off-canvas-classes {\n\n    .off-canvas-wrap { @include off-canvas-wrap; }\n    .inner-wrap { @include inner-wrap; }\n\n    .tab-bar { @include tab-bar-base; }\n\n    .left-small { @include tabbar-small-section($position: left); }\n    .right-small { @include tabbar-small-section($position: right); }\n\n    .tab-bar-section { @include tab-bar-section; }\n\n    // MENU BUTTON\n    // This is a little bonus. You don't need it for off canvas to work. Mixins to be written in the future.\n    .tab-bar .menu-icon {\n      color: $tabbar-menu-icon-color;\n      display: block;\n      height: $tabbar-menu-icon-height;\n      padding: $tabbar-menu-icon-padding;\n      position: relative;\n      text-indent: $tabbar-menu-icon-text-indent;\n      transform: translate3d(0,0,0);\n      width: $tabbar-menu-icon-width;\n\n      // @include for the hamburger menu-icon\n      //\n      // Arguments as follows: ($width, $left, $top, $thickness, $gap, $color, $hover-color)\n      // $width - Width of hamburger icon in rem Default: $tabbar-hamburger-icon-width.\n      // $left - If false, icon will be centered horizontally || explicitly set value in rem Default: $tabbar-hamburger-icon-left= False\n      // $top - If false, icon will be centered vertically || explicitly set value in rem Default: = False\n      // $thickness - thickness of lines in hamburger icon, set value in px Default: $tabbar-hamburger-icon-thickness = 1px\n      // $gap - spacing between the lines in hamburger icon, set value in px Default: $tabbar-hamburger-icon-gap = 6px\n      // $color - icon color Default: $tabbar-menu-icon-color\n      // $hover-color - icon color when hovered Default: $tabbar-menu-icon-hover\n      // $offcanvas - Set to true\n      @include hamburger($tabbar-hamburger-icon-width, $tabbar-hamburger-icon-left, $tabbar-hamburger-icon-top, $tabbar-hamburger-icon-thickness, $tabbar-hamburger-icon-gap, $tabbar-menu-icon-color, $tabbar-menu-icon-hover, true)\n    }\n\n    .left-off-canvas-menu { @include off-canvas-menu($position: left); }\n    .right-off-canvas-menu { @include off-canvas-menu($position: right); }\n    .top-off-canvas-menu { @include off-canvas-menu($position: top); }\n    .bottom-off-canvas-menu { @include off-canvas-menu($position: bottom); }\n\n    ul.off-canvas-list { @include off-canvas-list; }\n\n\n    // ANIMATION CLASSES\n    // These classes are added with JS and trigger the actual animation.\n    .move-right {\n      > .inner-wrap {\n        @include translate3d($off-canvas-width,0,0);\n      }\n      .exit-off-canvas { @include back-link;}\n    }\n\n    .move-left {\n      > .inner-wrap {\n        @include translate3d(-($off-canvas-width),0,0);\n\n      }\n      .exit-off-canvas { @include back-link; }\n    }\n    .move-top {\n      > .inner-wrap {\n        @include translate3d(0,-($off-canvas-height),0);\n\n      }\n      .exit-off-canvas { @include back-link; }\n    }\n    .move-bottom {\n      > .inner-wrap {\n        @include translate3d(0,($off-canvas-height),0);\n\n      }\n      .exit-off-canvas { @include back-link; }\n    }\n    .offcanvas-overlap {\n      .left-off-canvas-menu, .right-off-canvas-menu,\n      .top-off-canvas-menu, .bottom-off-canvas-menu {\n        -ms-transform: none;\n        -webkit-transform: none;\n        -moz-transform: none;\n        -o-transform: none;\n        transform: none;\n        z-index: 1003;\n      }\n      .exit-off-canvas { @include back-link; }\n    }\n    .offcanvas-overlap-left {\n      .right-off-canvas-menu {\n        -ms-transform: none;\n        -webkit-transform: none;\n        -moz-transform: none;\n        -o-transform: none;\n        transform: none;\n        z-index: 1003;\n      }\n      .exit-off-canvas { @include back-link; }\n    }\n    .offcanvas-overlap-right {\n      .left-off-canvas-menu {\n        -ms-transform: none;\n        -webkit-transform: none;\n        -moz-transform: none;\n        -o-transform: none;\n        transform: none;\n        z-index: 1003;\n      }\n      .exit-off-canvas { @include back-link; }\n    }\n    .offcanvas-overlap-top {\n      .bottom-off-canvas-menu {\n        -ms-transform: none;\n        -webkit-transform: none;\n        -moz-transform: none;\n        -o-transform: none;\n        transform: none;\n        z-index: 1003;\n      }\n      .exit-off-canvas { @include back-link; }\n    }\n    .offcanvas-overlap-bottom {\n      .top-off-canvas-menu {\n        -ms-transform: none;\n        -webkit-transform: none;\n        -moz-transform: none;\n        -o-transform: none;\n        transform: none;\n        z-index: 1003;\n      }\n      .exit-off-canvas { @include back-link; }\n    }\n\n    // Older browsers\n    .no-csstransforms {\n      .left-off-canvas-menu { left: -($off-canvas-width); }\n      .right-off-canvas-menu { right: -($off-canvas-width); }\n      .top-off-canvas-menu { top: -($off-canvas-height); }\n      .bottom-off-canvas-menu { bottom: -($off-canvas-height); }\n\n      .move-left > .inner-wrap { right: $off-canvas-width; }\n      .move-right > .inner-wrap { left: $off-canvas-width; }\n      .move-top > .inner-wrap { right: $off-canvas-height; }\n      .move-bottom > .inner-wrap { left: $off-canvas-height; }\n\n\n    }\n\n    .left-submenu {\n      @include off-canvas-submenu($position: left);\n      &.move-right, &.offcanvas-overlap-right, &.offcanvas-overlap {\n        @include translate3d(0%,0,0);\n      }\n    }\n\n    .right-submenu {\n      @include off-canvas-submenu($position: right);\n      &.move-left, &.offcanvas-overlap-left, &.offcanvas-overlap {\n        @include translate3d(0%,0,0);\n      }\n    }\n\n    .top-submenu {\n      @include off-canvas-submenu($position: top);\n      &.move-bottom, &.offcanvas-overlap-bottom, &.offcanvas-overlap {\n        @include translate3d(0,0%,0);\n      }\n    }\n\n    .bottom-submenu {\n      @include off-canvas-submenu($position: bottom);\n      &.move-top, &.offcanvas-overlap-top, &.offcanvas-overlap {\n        @include translate3d(0,0%,0);\n      }\n    }\n\n    @if $text-direction == rtl {\n      .left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {\n        @include icon-double-arrows($position: left);\n      }\n      .right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {\n        @include icon-double-arrows($position: right);\n      }\n    } @else {\n      .left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {\n        @include icon-double-arrows($position: right);\n      }\n      .right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {\n        @include icon-double-arrows($position: left);\n      }\n    }\n\n  }\n}\n\n\n\n","// Foundation by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'global';\n\n//\n// Foundation Visibility Classes\n//\n$include-html-visibility-classes: $include-html-classes !default;\n$include-accessibility-classes: true !default;\n$include-table-visibility-classes: true !default;\n$include-legacy-visibility-classes: true !default;\n\n//\n// Media Class Names\n//\n// Visibility Breakpoints\n$visibility-breakpoint-sizes:\n  small,\n  medium,\n  large,\n  xlarge,\n  xxlarge;\n\n$visibility-breakpoint-queries:\n  unquote($small-up),\n  unquote($medium-up),\n  unquote($large-up),\n  unquote($xlarge-up),\n  unquote($xxlarge-up);\n\n@mixin visibility-loop {\n  @each $current-visibility-breakpoint in $visibility-breakpoint-sizes {\n    $visibility-inherit-list: ();\n    $visibility-none-list: ();\n\n    $visibility-visible-list: ();\n    $visibility-hidden-list: ();\n\n    $visibility-table-list: ();\n    $visibility-table-header-group-list: ();\n    $visibility-table-row-group-list: ();\n    $visibility-table-row-list: ();\n    $visibility-table-cell-list: ();\n\n    @each $visibility-comparison-breakpoint in $visibility-breakpoint-sizes {\n      @if index($visibility-breakpoint-sizes, $visibility-comparison-breakpoint) < index($visibility-breakpoint-sizes, $current-visibility-breakpoint) {\n        // Smaller than current breakpoint\n\n        $visibility-inherit-list: append($visibility-inherit-list, unquote(\n          '.hide-for-#{$visibility-comparison-breakpoint}-only, .show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-none-list: append($visibility-none-list, unquote(\n          '.show-for-#{$visibility-comparison-breakpoint}-only, .hide-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-visible-list: append($visibility-visible-list, unquote(\n          '.hidden-for-#{$visibility-comparison-breakpoint}-only, .visible-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-hidden-list: append($visibility-hidden-list, unquote(\n          '.visible-for-#{$visibility-comparison-breakpoint}-only, .hidden-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-list: append($visibility-table-list, unquote(\n          'table.hide-for-#{$visibility-comparison-breakpoint}-only, table.show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-header-group-list: append($visibility-table-header-group-list, unquote(\n          'thead.hide-for-#{$visibility-comparison-breakpoint}-only, thead.show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-row-group-list: append($visibility-table-row-group-list, unquote(\n          'tbody.hide-for-#{$visibility-comparison-breakpoint}-only, tbody.show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-row-list: append($visibility-table-row-list, unquote(\n          'tr.hide-for-#{$visibility-comparison-breakpoint}-only, tr.show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-cell-list: append($visibility-table-cell-list, unquote(\n          'th.hide-for-#{$visibility-comparison-breakpoint}-only, td.hide-for-#{$visibility-comparison-breakpoint}-only, th.show-for-#{$visibility-comparison-breakpoint}-up, td.show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n\n        // Foundation 4 compatibility:\n        // Include .show/hide-for-[size] and .show/hide-for-[size]-down classes\n        // for small, medium, and large breakpoints only\n        @if $include-legacy-visibility-classes and index((small, medium, large), $visibility-comparison-breakpoint) != false {\n          $visibility-inherit-list: append($visibility-inherit-list, unquote(\n            '.hide-for-#{$visibility-comparison-breakpoint}, .hide-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-none-list: append($visibility-none-list, unquote(\n            '.show-for-#{$visibility-comparison-breakpoint}, .show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-visible-list: append($visibility-visible-list, unquote(\n            '.hidden-for-#{$visibility-comparison-breakpoint}, .hidden-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-hidden-list: append($visibility-hidden-list, unquote(\n            '.visible-for-#{$visibility-comparison-breakpoint}, .visible-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-list: append($visibility-table-list, unquote(\n            'table.hide-for-#{$visibility-comparison-breakpoint}, table.hide-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-header-group-list: append($visibility-table-header-group-list, unquote(\n            'thead.hide-for-#{$visibility-comparison-breakpoint}, thead.hide-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-row-group-list: append($visibility-table-row-group-list, unquote(\n            'tbody.hide-for-#{$visibility-comparison-breakpoint}, tbody.hide-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-row-list: append($visibility-table-row-list, unquote(\n            'tr.hide-for-#{$visibility-comparison-breakpoint}, tr.hide-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-cell-list: append($visibility-table-cell-list, unquote(\n            'th.hide-for-#{$visibility-comparison-breakpoint}, td.hide-for-#{$visibility-comparison-breakpoint}, th.hide-for-#{$visibility-comparison-breakpoint}-down, td.hide-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n        }\n\n      } @else if index($visibility-breakpoint-sizes, $visibility-comparison-breakpoint) > index($visibility-breakpoint-sizes, $current-visibility-breakpoint) {\n        // Larger than current breakpoint\n\n        $visibility-inherit-list: append($visibility-inherit-list, unquote(\n          '.hide-for-#{$visibility-comparison-breakpoint}-only, .hide-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-none-list: append($visibility-none-list, unquote(\n          '.show-for-#{$visibility-comparison-breakpoint}-only, .show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-visible-list: append($visibility-visible-list, unquote(\n          '.hidden-for-#{$visibility-comparison-breakpoint}-only, .hidden-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-hidden-list: append($visibility-hidden-list, unquote(\n          '.visible-for-#{$visibility-comparison-breakpoint}-only, .visible-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-list: append($visibility-table-list, unquote(\n          'table.hide-for-#{$visibility-comparison-breakpoint}-only, table.hide-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-header-group-list: append($visibility-table-header-group-list, unquote(\n          'thead.hide-for-#{$visibility-comparison-breakpoint}-only, thead.hide-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-row-group-list: append($visibility-table-row-group-list, unquote(\n          'tbody.hide-for-#{$visibility-comparison-breakpoint}-only, tbody.hide-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-row-list: append($visibility-table-row-list, unquote(\n          'tr.hide-for-#{$visibility-comparison-breakpoint}-only, tr.hide-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-cell-list: append($visibility-table-cell-list, unquote(\n          'th.hide-for-#{$visibility-comparison-breakpoint}-only, td.hide-for-#{$visibility-comparison-breakpoint}-only, th.hide-for-#{$visibility-comparison-breakpoint}-up, td.hide-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n\n        // Foundation 4 compatibility:\n        // Include .show/hide-for-[size] and .show/hide-for-[size]-down classes\n        // for small, medium, and large breakpoints only\n        @if $include-legacy-visibility-classes and index((small, medium, large), $visibility-comparison-breakpoint) != false {\n          $visibility-inherit-list: append($visibility-inherit-list, unquote(\n            '.hide-for-#{$visibility-comparison-breakpoint}, .show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-none-list: append($visibility-none-list, unquote(\n            '.show-for-#{$visibility-comparison-breakpoint}, .hide-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-visible-list: append($visibility-visible-list, unquote(\n            '.hidden-for-#{$visibility-comparison-breakpoint}, .visible-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-hidden-list: append($visibility-hidden-list, unquote(\n            '.visible-for-#{$visibility-comparison-breakpoint}, .hidden-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-list: append($visibility-table-list, unquote(\n            'table.hide-for-#{$visibility-comparison-breakpoint}, table.show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-header-group-list: append($visibility-table-header-group-list, unquote(\n            'thead.hide-for-#{$visibility-comparison-breakpoint}, thead.show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-row-group-list: append($visibility-table-row-group-list, unquote(\n            'tbody.hide-for-#{$visibility-comparison-breakpoint}, tbody.show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-row-list: append($visibility-table-row-list, unquote(\n            'tr.hide-for-#{$visibility-comparison-breakpoint}, tr.show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-cell-list: append($visibility-table-cell-list, unquote(\n            'th.hide-for-#{$visibility-comparison-breakpoint}, td.hide-for-#{$visibility-comparison-breakpoint}, th.show-for-#{$visibility-comparison-breakpoint}-down, td.show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n        }\n\n      } @else {\n        // Current breakpoint\n\n        $visibility-inherit-list: append($visibility-inherit-list, unquote(\n          '.show-for-#{$visibility-comparison-breakpoint}-only, .show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-none-list: append($visibility-none-list, unquote(\n          '.hide-for-#{$visibility-comparison-breakpoint}-only, .hide-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-visible-list: append($visibility-visible-list, unquote(\n          '.visible-for-#{$visibility-comparison-breakpoint}-only, .visible-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-hidden-list: append($visibility-hidden-list, unquote(\n          '.hidden-for-#{$visibility-comparison-breakpoint}-only, .hidden-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-list: append($visibility-table-list, unquote(\n          'table.show-for-#{$visibility-comparison-breakpoint}-only, table.show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-header-group-list: append($visibility-table-header-group-list, unquote(\n          'thead.show-for-#{$visibility-comparison-breakpoint}-only, thead.show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-row-group-list: append($visibility-table-row-group-list, unquote(\n          'tbody.show-for-#{$visibility-comparison-breakpoint}-only, tbody.show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-row-list: append($visibility-table-row-list, unquote(\n          'tr.show-for-#{$visibility-comparison-breakpoint}-only, tr.show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n        $visibility-table-cell-list: append($visibility-table-cell-list, unquote(\n          'th.show-for-#{$visibility-comparison-breakpoint}-only, td.show-for-#{$visibility-comparison-breakpoint}-only, th.show-for-#{$visibility-comparison-breakpoint}-up, td.show-for-#{$visibility-comparison-breakpoint}-up'\n        ), comma);\n\n        // Foundation 4 compatibility:\n        // Include .show/hide-for-[size] and .show/hide-for-[size]-down classes\n        // for small, medium, and large breakpoints only\n        @if $include-legacy-visibility-classes and index((small, medium, large), $visibility-comparison-breakpoint) != false {\n          $visibility-inherit-list: append($visibility-inherit-list, unquote(\n            '.show-for-#{$visibility-comparison-breakpoint}, .show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-none-list: append($visibility-none-list, unquote(\n            '.hide-for-#{$visibility-comparison-breakpoint}, .hide-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-visible-list: append($visibility-visible-list, unquote(\n            '.visible-for-#{$visibility-comparison-breakpoint}, .visible-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-hidden-list: append($visibility-hidden-list, unquote(\n            '.hidden-for-#{$visibility-comparison-breakpoint}, .hidden-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-list: append($visibility-table-list, unquote(\n            'table.show-for-#{$visibility-comparison-breakpoint}, table.show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-header-group-list: append($visibility-table-header-group-list, unquote(\n            'thead.show-for-#{$visibility-comparison-breakpoint}, thead.show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-row-group-list: append($visibility-table-row-group-list, unquote(\n            'tbody.show-for-#{$visibility-comparison-breakpoint}, tbody.show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-row-list: append($visibility-table-row-list, unquote(\n            'tr.show-for-#{$visibility-comparison-breakpoint}, tr.show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n          $visibility-table-cell-list: append($visibility-table-cell-list, unquote(\n            'th.show-for-#{$visibility-comparison-breakpoint}, td.show-for-#{$visibility-comparison-breakpoint}, th.show-for-#{$visibility-comparison-breakpoint}-down, td.show-for-#{$visibility-comparison-breakpoint}-down'\n          ), comma);\n        }\n      }\n    }\n\n    /* #{$current-visibility-breakpoint} displays */\n    @media #{nth($visibility-breakpoint-queries, index($visibility-breakpoint-sizes, $current-visibility-breakpoint))} {\n      #{$visibility-inherit-list} {\n        display: inherit !important;\n      }\n      #{$visibility-none-list} {\n        display: none !important;\n      }\n      @if $include-accessibility-classes != false {\n        #{$visibility-visible-list} {\n          @include element-invisible-off;\n        }\n        #{$visibility-hidden-list} {\n          @include element-invisible;\n        }\n      }\n      @if $include-table-visibility-classes != false {\n        #{$visibility-table-list} {\n          display: table !important;\n        }\n        #{$visibility-table-header-group-list} {\n          display: table-header-group !important;\n        }\n        #{$visibility-table-row-group-list} {\n          display: table-row-group !important;\n        }\n        #{$visibility-table-row-list} {\n          display: table-row;\n        }\n        #{$visibility-table-cell-list} {\n          display: table-cell !important;\n        }\n      }\n    }\n  }\n}\n\n@include exports(\"visibility\"){\n  @if $include-html-visibility-classes != false {\n\n  @include visibility-loop;\n\n  /* Orientation targeting */\n  .show-for-landscape,\n  .hide-for-portrait { display: inherit !important; }\n  .hide-for-landscape,\n  .show-for-portrait { display: none !important; }\n\n  /* Specific visibility for tables */\n  table {\n    &.hide-for-landscape,\n    &.show-for-portrait { display: table !important; }\n  }\n  thead {\n    &.hide-for-landscape,\n    &.show-for-portrait { display: table-header-group !important; }\n  }\n  tbody {\n    &.hide-for-landscape,\n    &.show-for-portrait { display: table-row-group !important; }\n  }\n  tr {\n    &.hide-for-landscape,\n    &.show-for-portrait { display: table-row !important; }\n  }\n  td,\n  th {\n    &.hide-for-landscape,\n    &.show-for-portrait { display: table-cell !important; }\n  }\n\n  @media #{$landscape} {\n    .show-for-landscape,\n    .hide-for-portrait { display: inherit !important; }\n    .hide-for-landscape,\n    .show-for-portrait { display: none !important; }\n\n    /* Specific visibility for tables */\n    table {\n      &.show-for-landscape,\n      &.hide-for-portrait { display: table !important; }\n    }\n    thead {\n      &.show-for-landscape,\n      &.hide-for-portrait { display: table-header-group !important; }\n    }\n    tbody {\n      &.show-for-landscape,\n      &.hide-for-portrait { display: table-row-group !important; }\n    }\n    tr {\n      &.show-for-landscape,\n      &.hide-for-portrait { display: table-row !important; }\n    }\n    td,\n    th {\n      &.show-for-landscape,\n      &.hide-for-portrait { display: table-cell !important; }\n    }\n  }\n\n  @media #{$portrait} {\n    .show-for-portrait,\n    .hide-for-landscape { display: inherit !important; }\n    .hide-for-portrait,\n    .show-for-landscape { display: none !important; }\n\n    /* Specific visibility for tables */\n    table {\n      &.show-for-portrait,\n      &.hide-for-landscape { display: table !important; }\n    }\n    thead {\n      &.show-for-portrait,\n      &.hide-for-landscape { display: table-header-group !important; }\n    }\n    tbody {\n      &.show-for-portrait,\n      &.hide-for-landscape { display: table-row-group !important; }\n    }\n    tr {\n      &.show-for-portrait,\n      &.hide-for-landscape { display: table-row !important; }\n    }\n    td,\n    th {\n      &.show-for-portrait,\n      &.hide-for-landscape { display: table-cell !important; }\n    }\n  }\n\n  /* Touch-enabled device targeting */\n  .show-for-touch { display: none !important; }\n  .hide-for-touch { display: inherit !important; }\n  .touch .show-for-touch { display: inherit !important; }\n  .touch .hide-for-touch { display: none !important; }\n\n  /* Specific visibility for tables */\n  table.hide-for-touch { display: table !important; }\n  .touch table.show-for-touch { display: table !important; }\n  thead.hide-for-touch { display: table-header-group !important; }\n  .touch thead.show-for-touch { display: table-header-group !important; }\n  tbody.hide-for-touch { display: table-row-group !important; }\n  .touch tbody.show-for-touch { display: table-row-group !important; }\n  tr.hide-for-touch { display: table-row !important; }\n  .touch tr.show-for-touch { display: table-row !important; }\n  td.hide-for-touch { display: table-cell !important; }\n  .touch td.show-for-touch { display: table-cell !important; }\n  th.hide-for-touch { display: table-cell !important; }\n  .touch th.show-for-touch { display: table-cell !important; }\n\n  /* Screen reader-specific classes */\n  .show-for-sr {\n    @include element-invisible;\n  }\n  .show-on-focus {\n    @include element-invisible;\n\n    &:focus,\n    &:active {\n      @include element-invisible-off;\n    }\n  }\n\n  /* Print visibility */\n  @if $include-print-styles {\n    .print-only,\n    .show-for-print { display: none !important; }\n    @media print {\n      .print-only,\n      .show-for-print { display: block !important; }\n      .hide-on-print,\n      .hide-for-print { display: none !important; }\n\n      table.show-for-print { display: table !important; }\n      thead.show-for-print { display: table-header-group !important; }\n      tbody.show-for-print { display: table-row-group !important; }\n      tr.show-for-print { display: table-row !important; }\n      td.show-for-print { display: table-cell !important; }\n      th.show-for-print { display: table-cell !important; }\n    }\n  }\n  }\n}\n","  @import \"mixins/gradient\";\n  @import \"mixins/off-canvas-arrow\";","/* \n    Created on : Mar 5, 2015, 2:57:35 PM\n    Author     : laury\n*/\n\n@mixin gradient($from, $to) {\n    background: -webkit-linear-gradient(left, $from 5%, $to 100%);\n    background: -moz-linear-gradient(center top, $from 5%, $to 100%);\n    background: -ms-linear-gradient(left, $from 5%, $to 100%);\n}\n","@mixin off-canvas-arrow($direction: down, $color: white, $size: 20px) {\n  border-left: $size - 5 solid transparent;\n  border-right: $size - 5 solid transparent;\n   @if $direction == 'up' {\n    border-bottom: $size solid $color;\n    border-top: 0;\n    // if width is not passed, or empty do this\n   } @else {\n    border-top: $size solid $color;\n    border-bottom: 0;\n   }\n}\n@mixin off-canvas-point($direction: right, $color: red, $size: 1rem) {\n    @if $direction == 'down' {\n        content: '>';\n        transform: rotate(90deg);\n        color: $color;\n        height: $size;\n        width: $size;\n        font-size: $size;\n        font-weight: bold;\n        display: block;\n    } @if $direction == 'up' {\n        content: '>';\n        transform: rotate(-90deg);\n        color: $color;\n        height: $size;\n        width: $size;\n        font-size: $size;\n        font-weight: bold;\n        display: block;\n    } @else if $direction == 'right' {\n        content: '>';\n        transform: rotate(0deg);\n        color: $color;\n        height: $size;\n        width: $size;\n        font-size: $size;\n        font-weight: bold;\n        display: block;\n    }\n}","// Wordpress styles\n// Table of Contents\n// 01. Images\n\n\n// 01. Images\n// 02 Search and Post\n\nimg.aligncenter {\n    display: block;\n    clear: both;\n    float:none;\n    padding:0;\n    margin-left: auto;\n    margin-right: auto;\n    }\n\nimg.alignright {\n    padding: 0;\n    margin: 0 0 6px 11px;\n    display: inline;\n    }\n\nblockquote.alignleft,\nimg.alignleft,\n.wp-caption.alignleft {\n    margin: rem-calc(7) rem-calc(35) rem-calc(7) 0;\n}\n\nblockquote.alignright,\nimg.alignright,\n.wp-caption.alignright {\n    margin: rem-calc(7) 0 rem-calc(7) rem-calc(35);\n}\nimg.alignleft {\n    padding: 0;\n    display: inline;\n    }\nimg.alignleft, img.alignright, img.aligncenter, img.alignnone, div.wp-caption img {\n//    border: 1px solid $charcoal;\n}\n\n.alignright {\n    float: right;\n}\n.alignnone {\n    float: none;\n}\n.alignleft {\n    float: left;\n}\n.wp-caption {\n//    background: $charcoal;\n    width: auto;\n}\n.wp-caption-text {\n    font-family: Open Sans, sans-serif;\n    font-size: 9px;\n    color: $white;\n    font-style: italic;\n    margin: 0;\n    padding: 0 5px;\n}\n.gallery-one-title {\n    height: 45px;\n    font-size: 0.8em;\n    text-align: center;\n    font-family: sans-serif;\n    padding: 5px;\n}\n.gallery-holder {\n    margin: 10px 0 20px 0;\n}\n// @media #{$small-range} {\n//     img.alignright, img.alignleft, img.aligncenter {\n//         width: 70% !important;\n//         display: block;\n//         margin-left: auto;\n//         margin-right: auto;\n//         float: none;\n//         text-align: center;\n//     }\n//     div.wp-caption.alignright, div.wp-caption.alignleft {\n//         width: 44% !important;\n//         margin-left: auto;\n//         margin-right: auto;\n//         float: none;\n//         text-align: center;\n//     }\n//     div.wp-caption.aligncenter {\n//         width: 85% !important;\n//         margin-left: auto;\n//         margin-right: auto;\n//         float: none;\n//         text-align: center;\n//     }\n//     div.wp-caption.alignnone {\n//         width: 85% !important;\n//         float: none;\n//     }\n//     div.wp-caption.alignright, div.wp-caption.alignleft, div.wp-caption.aligncenter {\n//         width: 100%;\n//     }\n// }\n// @media #{$medium-range} {\n//     img.aligncenter, img.alignnone {\n//         width: 70% !important;\n//         display: block;\n//         margin-left: auto;\n//         margin-right: auto;\n//         float: none;\n//         text-align: center;\n//     }\n//     div.wp-caption.aligncenter {\n//         width: 74% !important;\n//         margin-left: auto;\n//         margin-right: auto;\n//         float: none;\n//         text-align: center;\n//     }\n//     div.wp-caption.aligncenter {\n//         width: 100%;\n//     }\n//     div.wp-caption.alignnone {\n//         width: 73% !important;\n//         float: none;\n//     }\n// }\n\n.wp-caption {\n    max-width: 100%;\n    margin: 10px 20px;\n    padding: 5px;\n//    background-color: #f3f3f3;\n//    border: 1px solid #ddd;\n    text-align: center;\n    img {\n        width: 100%;\n    }\n    p.wp-caption-text {\n        padding: 5px;\n        width: 100%;\n        margin: 0;\n        color: black;\n        font-size: 12px;\n    }\n    &.aligncenter {\n        margin: 10px auto;\n    }\n}\n// end Images\n// 02 Search and Post\n@media #{$small-only} {\n    #blog-posts-over {\n        padding: 0 !important;\n        margin: 0 !important;\n    }\n}\n.blog-posts-container {\n    margin: 30px 0 30px;\n    embed, iframe, object, video {\n        max-width: 100%;\n    }\n    a {\n        text-decoration: none;\n    }\n    header.entry-header {\n        h2.entry-title {\n            a {\n                color: #222;\n                margin-left: 0;\n            }\n        }\n    }\n    .wp-caption .wp-caption-text, .gallery-caption, .entry-caption {\n        overflow: hidden;\n        color: #757575;\n        font-size: 0.857143rem;\n        font-style: italic;\n        line-height: 2;\n    }\n    .date {\n        font-size: 12px;\n    }\n    footer.entry-meta {\n        color: #757575;\n        font-size: 0.928571rem;\n        line-height: 1.84615;\n        margin-top: 1.71429rem;\n        clear: both;\n        float: none;\n        margin-right: auto;\n    }\n    footer {\n        background: none;\n        clear: both;\n        padding: 15px 0 0;\n        position: relative;\n        text-align: center;\n    }\n}\n#content-wrapper {\n    h1, h2, h3, h4, h5, h6 {\n        clear: both;\n    }\n}\n.content {\n    background: #fff;\n/*    -webkit-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.75);\n    -moz-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.75);\n    box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.75);*/\n    // box-shadow: 3px 3px 8px -1px darkgrey;\n}\n#searchform_container {\n    margin-top: 20px;\n}\n#searchform {\n    max-width: 100%;\n    text-align: center;\n    div {\n        input.blogbutton {\n            @include gradient(#1999ce, #107098);\n        }\n    }\n}\n\n\n// End Search and Posts\n","// This document will contain all the styles that we want to apply to every\n//  site. Make sure this is placed before _structures (if that is still the\n//  primary css file).\n\nh1,h2,h3,h4,h5,h6 {\n    clear: both;\n}\n\n/* PLUGINS */\n/* Nextgen */\n.gallery li a img { // without this images will overlap each other at certain widths\n    display: block;\n    width: 100%;\n}\n.ngg-gallery-thumbnail, .ngg-gallery-thumbnail-box {\n    float: none !important;\n}\n.ngg-album-compact h4 .ngg-album-desc {\n    height: auto !important;\n    font-family: $font-family-serif;\n    font-weight: 400;\n}\n.ngg-album-compact .album-meta-wrapper h4 a {\n    font-style: normal;\n}\n.album-meta-wrapper {\n    display: block;\n    height: 54px;\n    margin-bottom: 20px;\n}\n.ngg-glmalbums {\n    margin: 10px 0;\n    min-height: 260px;\n    @media #{$small-only} {\n        min-height: 180px;\n    }\n}\n.ngg-album-link {\n    text-align: center;\n}\n/* Ninja Forms */\n.ninja-forms-form-wrap {\n    max-width: 600px;\n    margin: 0 auto;\n    input[type=submit] {\n        @include button();\n        display: block;\n        margin: 0 auto;\n    }\n}\n/* For fixing cellphones not showing phone numbers because of /helpful/ auto-coloring */\na[href^=tel]{\n    color:inherit;\n    text-decoration:none;\n}","body {\n    .shadow-wrapper {\n        margin: 0 auto;\n        background: $white;\n        box-shadow: 0 0 15px -6px $black;\n        -ms-box-shadow: 0 0 15px -6px $black;\n        -moz-box-shadow: 0 0 15px -6px $black;\n        -webkit-box-shadow: 0 0 15px -6px $black;\n        \n        max-width: 1024px;\n        padding-top: rem-calc(20);\n    }\n    p {\n        font-size: 16px;\n    }\n    .homepage-content{\n        background-color: transparent;\n    }\n}\n","header {\n    #top-links {\n        right: 0;\n        position: absolute;\n        top: 20px;\n        transition: all 0.5s ease-in-out;\n        .top-link {\n            border-bottom: 1px solid black;\n            color: $dark-blue;\n            font-family: times;\n            font-size: 22px;\n            float: right;\n            position: relative;\n            text-transform: uppercase;\n            text-decoration: none;\n            margin-top: 5px;\n            margin-left: 15px;\n            transition: all 0.5s ease-in-out;\n        }\n        .facebook-icon {\n            margin-right: 5px;\n        }\n        .blog-icon {\n            margin-right: 5px;\n        }\n        .phone {\n            color: $dark-blue;\n            font-family: times;\n            font-size: 20px;\n            clear: both;\n            display: block;\n        }\n    }\n    .header-top {\n        background-color: transparent;\n        position: relative;\n        max-width: 1024px;\n        height: 300px;\n        transition: all 0.5s ease-in-out;\n        @media #{$medium-up}{\n            min-height: 75px;\n        }\n    }\n    .header-logo{\n        .logo-link{\n            display: block;\n            float: right;\n            margin-top: 20px;\n            @media #{$medium-down} {\n                margin-top: 0;\n            }\n            transition: all 0.5s ease-in-out;\n            .small-header-logo {\n                width: 120px;\n                @media #{$large-up} {\n                    position: absolute;\n                    left: 0;\n                    transition: all 0.5s ease-in-out;\n                    width: 188px;\n                }\n            }\n        }\n    }\n    #header-slogan {\n        position: absolute;\n        top: 145px;\n        //padding-left: 50px;\n        transition: all 0.5s ease-in-out;\n        h1 {\n            color: $dark-blue;\n            font-family: times;\n            font-size: 38px;\n            text-transform: uppercase;\n            font-weight: normal;\n            transition: all 0.5s ease-in-out;\n        }\n    }\n    @media #{$medium-down} {\n        .header-logo {\n            margin: 10px 0;\n            text-align: center;\n            .logo-link {\n                float: none;\n            }\n        }\n    }\n    & .search {\n        input {\n            height: 20px;\n            width: 167px;\n            padding: 0 8px;\n            margin: 13px 0px 0px 18px;\n            border-radius: 3px;\n            font-size: 10px;\n            color: $black;\n            display: inline-block;\n        }\n        a {\n            &.magnifying-glass {\n                font-size: 10em; /* This controls the size. */ \n                display: inline-block; \n                width: rem-calc(10); \n                height: rem-calc(10);\n                border: rem-calc(2) solid $dark-blue; \n                position: relative; \n                border-radius: 0.35em;\n                margin: 0 0 0 -25px;\n                &:before {\n                    content: \"\"; \n                    display: inline-block; \n                    position: absolute; \n                    right: rem-calc(-7); \n                    bottom: rem-calc(-4); \n                    border-width: 0; \n                    background: $dark-blue; \n                    width: rem-calc(8); \n                    height: rem-calc(2); \n                    -webkit-transform: rotate(45deg); \n                    -moz-transform: rotate(45deg);\n                    -ms-transform: rotate(45deg);\n                    transform: rotate(45deg);\n                }\n            }\n        }\n    }\n    #sec-nav {\n        position: relative;\n        text-align: left;\n        padding: 10px 0;\n        margin: 0 0 15px 45px;\n        ul {\n            margin: 0;\n            li {\n                display: inline;\n                a {\n                    font-size: 12px;\n                    color: $dark-blue;\n                    padding: 0 5px;\n                    font-weight: bold;\n                }\n            }\n        }\n        & > ul > li {\n            position: relative;\n            &:before {\n                color: $aluminum;\n                content: \"|\";\n                position: absolute;\n                top: 2px;\n                left: -15px;\n                font-size: 14px;\n                font-weight: bold;\n                display:block;\n                padding: 0 10px;\n            }\n            &:first-child:before {\n                content: none;\n            }\n        }\n    }\n    .social {\n        margin-top: -25px;\n        padding-right: 0;\n        a {\n            float: right;\n            margin: 0 5px;\n            img {\n                margin: 0;\n            }\n        }\n    }\n}\n.interior-wrapper,\n.landing-wrapper {\n    header.main {\n        background: url(\"../assets/paneling-resized.png\");\n        box-shadow: 0px 1px 8px grey;\n        border-top: 5px solid $dark-blue;\n        transition: all 0.5s ease-in-out;\n        &.shrink {\n            transition: all 0.5s ease-in-out;\n            height: 120px;\n            #top-links {\n                top: 0;\n                transition: all 0.5s ease-in-out;\n                .top-link {\n                    font-size: 14px;\n                    margin-top: 0;\n                    transition: all 0.5s ease-in-out;\n                }\n            }\n            #header-left-section {\n                z-index: 9;\n                .logo-link {\n                    margin-top: 5px;\n                    float: left;\n                    transition: all 0.5s ease-in-out;\n                    .small-header-logo {\n                        width: 110px;\n                        position: absolute;\n                        left: 0px;\n                        transition: all 0.5s ease-in-out;\n                    }\n                }\n            }\n            #header-slogan {\n                opacity: 0;\n                top: 5px;\n                transition: all 0.5s ease-in-out;\n                h1 {\n                    font-size: 22px;\n                    transition: all 0.5s ease-in-out;\n                }\n            }\n            .header-top {\n                height: 120px;\n                transition: all 0.5s ease-in-out;\n            }\n            .top-bar {\n                bottom: 5px;\n                transition: all 0.5s ease-in-out;\n                .top-bar-section {\n                    float: right;\n                    transition: all 0.5s ease-in-out;\n                }\n            }\n        }\n    }\n}\n.interior-wrapper {\n    header.main {\n        height: 300px;\n        .header-top {\n            height: 300px;\n        }\n    }\n}\n@media #{$medium-down} {\n    .interior-wrapper {\n        header.main {\n            height: 185px;\n            .header-top {\n                height: 185px;\n            }\n        }\n    }\n}\n\n.landing-wrapper {\n    main {\n        margin-top: 200px;\n        padding-top: 100px;\n        @media #{$medium-down}{\n            margin-top: 100px;\n        }\n    }\n    header.main {\n        @media #{$medium-down}{\n            height: 140px;\n        }\n        height: 220px;\n        .header-top {\n            height: 200px;\n        }\n        .tab-bar{\n            display: none !important\n        }\n        .top-bar {\n            display: none !important;\n        }\n    }\n    .page-front {\n        //margin-top: 200px;\n    }\n}",".contain-to-grid {\n    box-shadow: 0 5px 10px -1px $aluminum;\n    .top-bar {\n        height: 73px;\n        box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.5);\n        margin-bottom: 10px;\n    }\n}\n.tab-bar {\n    .left-small{\n        border-right: 1px solid white;\n    }\n    clear: both;\n    background: $dark-blue;\n    .tab-bar-section.middle {\n//        left: 0;\n//        right: 2.8125rem;\n        text-align: right;\n    }\n}\n.top-bar{\n    background-color: transparent;\n    color: black;\n    text-align: center;\n    width: 100%;\n    height: auto;\n    position: absolute;\n    bottom: 20px;\n    transition: all 0.5s ease-in-out;\n    .top-bar-section {\n        background-color: transparent;\n        display: inline-block;\n        float: none;\n        color: black;\n        height: auto;\n        line-height: 1;\n        > ul {\n            left: 50%;\n            transform: translateX(-50%);\n            top: 53px;\n            > li+li:before {\n                //content: '|';\n            }\n            > li {\n                a{\n                    position: relative;\n                }\n                &:not(:last-child) {\n                    > a:after {\n                        color: $gold;\n                        content: \"|\";\n                        margin: 0;\n                        padding: 0 0 0 32px;\n                        position: absolute;\n                        right: auto;\n                        top: 15px;\n                        font-size: 20px;\n                        transition: all 0.5s ease;\n                        //border-right: 2px solid $gold;\n                    }\n                }\n                > a {\n                    padding: 0 10px;\n\n                }\n            }\n        }\n        ul{\n            background-color: white;\n            box-shadow: 1px 1px 1px grey;\n            li {\n                background-color: transparent;\n                a {\n                    color: $dark-blue;\n                }\n                > a {\n                    color: $dark-blue;\n                    font-size: 16px;\n                    line-height: 1.2 !important;\n                    font-weight: bold;\n                }\n                &:not(.has-form) {\n                    > a:not(.button) {\n                        transition: all 0.5s ease;\n                        padding: 11px 38px;\n                    }\n                }\n                &:not(.has-form):not(.active) {\n                    > a:not(.button) {\n                        background: transparent;\n                        color: $dark-blue;\n                    }\n                }\n                &.active:not(.has-form) {\n                    & > a:not(.button) {\n                        background: transparent;\n                        color: $gold;\n                    }\n                }\n                ul.dropdown {\n                    box-shadow: 0px 0px 4px -1px grey;\n                    min-width: auto;\n                    padding: 0;\n                    width: auto;\n                    li {\n                        border-bottom: 1px solid lightgrey;\n                        float: none;\n                        min-width: 200px;\n                        width: auto;\n                        a {\n                            border-top-left-radius: 0;\n                            border-top-right-radius: 0;\n                            padding: 5px 0;\n                            text-align: left;\n                        }\n                        &:not(.has-form):not(.active) {\n                            &:hover > a:not(.button) {\n                                background: transparent;\n                                color: $gold;\n                            }\n                            & > a:not(.button) {\n                                font-size: rem-calc(16);\n                                padding: 11px 13px;\n\n                            }\n                        }\n/*                        &.active:not(.has-form) {\n                            & > a:not(.button) {\n                                padding: 5px;\n                            }\n                        }*/\n                    }\n                    > ul > li {\n                        float: none; \n                    }\n                }\n                &.drop-left {\n                    ul.dropdown {\n                        //left: -100%;\n/*                        right: -1%;\n                        left: auto;*/\n                        li {\n                            a {\n                                text-align: left;       \n                            }\n                        }\n                    }\n                }\n            }\n            .member-dropdown{\n                top: 47px;\n                min-width: 1200px;\n                left: 0%;\n                transform: translateX(-50%);\n            }\n\n\n        }\n        .topbar-member{\n            min-height: 150px;\n            // min-width: 155px;\n            width: 16% !important;\n            margin-bottom: 10px;\n            // border: 1px dashed black;\n            padding-right: 12px !important;\n            background: transparent;\n            div.member-name{\n                line-height: 1;\n                background: transparent;\n                color: $dark-blue;\n                &:hover{\n                    color: $green;\n                }\n            }\n            a.member-link{\n                display: block;\n                white-space: normal;\n                background: transparent !important;\n\n            }\n            .member-image{\n                margin-bottom: 10px;\n                image-rendering: -webkit-optimize-contrast;\n            }\n        } \n        #interactive-map > li,#dropdown-destination > li,#dropdown-venues > li{\n            padding-bottom: 17px !important;\n        }\n       .map-dropdown{\n           top: 47px;\n           background: white;\n           border: 2px $dark-blue solid;\n           min-width: 600px;\n       }\n\n       .hover-region-text{\n           pointer-events: none;\n           &:hover{\n               cursor: pointer;\n           }\n       }\n       .hover-region{\n           &:hover{\n               fill: $dark-blue;\n               cursor: pointer;\n           }\n       }\n       #Text rect{\n           fill: transparent;\n           cursor: pointer;\n           pointer-events: none;\n       }\n\n    }\n}\n\n.top-bar-section > ul > li > a{\n    //text-transform: uppercase !important;\n}\n.top-bar-section > ul {\n    position: relative;\n    > li.has-dropdown ul li:not(.has-form).active > a:not(.button) {\n        padding-left: 13px;\n    }\n    > li.has-dropdown ul li:not(.has-form):not(.active).has-dropdown > a:not(.button) {\n        padding-left: 25px;\n    }\n    > li.has-dropdown ul li.has-dropdown::after{\n        bottom: 13px;\n        content: '';\n        height: 0;\n        width: 0;\n        border: 7px solid transparent;\n        position: absolute;\n    }\n    > li.has-dropdown.drop-left > ul > li.has-dropdown > ul {\n        left: -100%;\n    }\n    > li.has-dropdown.drop-left > ul > li.has-dropdown::after {\n        border-left-color: transparent;\n        border-right-color: $dark-blue;\n        left: 1%;\n    }\n    > li.has-dropdown.drop-left > ul > li.has-dropdown:active::after,\n    > li.has-dropdown.drop-left > ul > li.has-dropdown:hover::after {\n        border-right-color: $gold;\n    }\n    > li.has-dropdown.drop-right > ul > li.has-dropdown > ul {\n        left: 100%;\n    }\n    > li.has-dropdown.drop-right > ul > li.has-dropdown::after {\n        border-left-color: $dark-blue;\n        border-right-color: transparent;\n        left: 6%;\n    }\n    > li.has-dropdown.drop-right > ul > li.has-dropdown:active::after,\n    > li.has-dropdown.drop-right > ul > li.has-dropdown:hover::after {\n        border-left-color: $gold;\n    }\n}\nheader.main.shrink {\n    .top-bar .top-bar-section > ul > li:not(.has-form) > a:not(.button) {\n        padding: 11px 32px;\n        transition: all 0.5s ease;\n    }\n    .top-bar .top-bar-section > ul > li:not(:last-child) > a:after {\n        padding: 0 0 0 25px;\n        transition: all 0.5s ease;\n    }\n}","main {\n    margin-top: 300px;\n    padding-bottom: 400px;\n    background-image: url(\"../assets/main-bg.jpg\");\n    background-size: 100%;\n    background-position: bottom;\n    background-repeat: no-repeat;\n    @media #{$medium-down} {\n        margin-top: 185px;\n        padding-bottom: 200px;\n    }\n}\n.breadcrumbs {\n    margin-top: 10px;\n}\n#main-content{\n    \n    .member-profile-title{\n        position: absolute;\n        @media #{$medium-down}{\n            display: inline-block;\n            // width: 100vw;\n            top: -50px;\n            left: 20px;\n        }\n        @media #{$large-up}{\n            top: -72px;\n            left: 40px;\n            font-size: 2rem;\n            // max-width: 450px;\n        }\n        display: inline-block;\n        background: $green;\n        color: White;\n        left: 25%;\n        font-size: 1rem;\n        \n        padding: 10px;\n        line-height: 1;\n    }\n    padding-bottom: 50px;\n    p{\n        font-size: 16px;\n        a{\n            color: $red;\n            &:hover{\n                text-decoration: underline;\n            }\n        }\n    }\n   \n}\n.breadcrumbs>span:nth-child(2)::before { content: \"\"; display: none; }\n.breadcrumbs>span:last-child{ color: $red; }\n\n@media #{$large-up} {\n    .page-inside{\n        padding-top: 50px;\n    }\n}\n#featured-image {\n    max-height: 300px;\n    overflow: hidden;\n    box-shadow: 0px 0px 7px 1px darkgrey;\n}\n#content-bulk {\n    #con {\n        margin: 0;\n    }\n    h2 {\n        text-transform: uppercase;\n        font-size: 25px;\n    }\n    footer {\n        margin: 35px 0;\n        #address {\n            margin-top: 25px;\n            p {\n                font-size: 12px;\n                margin-top: 5px;\n            }\n            img {\n                margin: 0;\n                padding-right: 5px;\n            }\n            a {\n                font-size: 12px;\n            }\n        }\n        img {\n            box-shadow: none;\n        }\n    }\n}\n.st_sharethis {\n    float: right;\n    width: 58px;\n}\nbody .stButton .sharethis  {\n  background-image: url(\"../assets/share-icon.png\") !important;\n  width: 52px;\n  height: 22px;\n}\n#landing-blocks {\n    .landing-block {\n        position: relative;\n        @media #{$small-only}{\n            margin-bottom: 20px;\n        }\n    }\n    \n    .landing-block-content {\n        position: relative;\n        display: block;\n        float: none;\n        max-width: 300px;\n        margin: 0 auto;\n    }\n    .landing-block-title {\n        position: absolute;\n        bottom: 10px;\n        left: 0;\n        right: 0;\n        background: rgba($dark-blue, 0.9);\n        padding: 5px;\n        text-transform: uppercase;\n        font-weight: bold;\n        letter-spacing: 1px;\n        color: white;\n        font-size: 17px;\n        transition: all 0.5s ease-in-out;\n        opacity: 1.0;\n        &.hidden {\n            opacity: 0.0;\n        }\n    }\n    .landing-block-overlay {\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        right: 0;\n        background: rgba($dark-blue, 0.9);\n        max-width: 300px;\n        left: 50%;\n        width: 100%;\n        transform: translateX(-50%);\n        transition: all 0.5s ease;\n        opacity: 0.0;\n        &.hidden {\n            opacity: 1.0;\n        }\n        .landing-block-overlay-title {\n            color: white;\n            text-transform: uppercase;\n            top: 60px;\n            position: absolute;\n            font-size: 18px;\n            left: 50%;\n            transform: translateX(-50%);\n            width: 90%;\n        }\n        .landing-block-overlay-link {\n            border-bottom: 1px solid rgba($gold, 0.8);\n            text-transform: uppercase;\n            color: white;\n            font-family: times;\n            padding-bottom: 2px;\n            bottom: 60px;\n            position: absolute;\n            left: 50%;\n            transform: translateX(-50%);         \n        }\n        .wp_login_error {\n            display: none;\n        }\n        .login-remember {\n            display: none;\n        }\n        #glm_login_form {\n            left: 50%;\n            transform: translateX(-50%);\n            position: absolute;\n            width: 80%;\n            height: 80%;\n            top: 10%;\n            .login-password {\n                margin-bottom: 0;\n            }\n            #wp-submit {\n                background: transparent;\n                color: white;\n                font-family: times;\n                font-size: 16px;\n                text-transform: uppercase;\n                padding: 0 0 2px 0;\n                border-bottom: 1px solid gold;\n                width: auto;\n                min-width: 0;\n                border-radius: 0;\n                margin: 0;\n            }\n        }\n        #glm_login_form input {\n            height: 30px;\n            margin: 0 0 10px;\n        }\n        #glm_login_form label {\n            color: white;\n            float: left;\n        }\n        .login-username {\n            \n        }\n    }\n}\n#front-blog-container {\n    background: url(\"../assets/front-posts-bg.jpg\");\n    background-position: center;\n    background-repeat: no-repeat;\n    background-size: cover;\n    height: auto;\n    position: relative;\n    z-index: 2;\n}\n#front-blog-bg {\n    z-index: -1;\n    position: absolute;\n    bottom: 0;\n    height: 100%;\n    width: 100%;\n    background-color: rgba(107, 152, 207,0.75);\n}\n.home-feed-post-image{\n    \n    img{\n        width: 165px;\n        height: auto;\n        border: 2px solid white;\n        padding: 0 !important;\n        -webkit-box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);\n        -moz-box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);\n        box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);\n    }\n    @media #{$large-up}{\n        padding: 0px !important;\n    }\n    @media #{$medium-only}{\n        margin: 25px 0 0 0;\n        max-width: 300px;\n        margin: 0 auto;\n    }\n    @media #{$small-only}{\n        border: none;\n        margin-bottom: 15px;\n    }\n}\n#home-feed-posts{\n    padding-top: 20px;\n    #home-feed-posts-title {\n        color: white;\n        margin-bottom: 20px;\n        text-align: center;\n    }\n}\n.home-feed-post{\n    // margin-bottom: 35px;\n    h2.title-posts{\n        line-height: 1;\n        // max-height: 28px;\n        margin: 0 0 15px 0;\n        a{\n            display: block;\n            color: white;\n            line-height: 1;\n            font-size: 24px;\n        }\n    }\n    .home-feed-post-content {\n        padding: 0 40px 0 10px;\n    }\n    span.meta.date{\n        display: inline-block;\n        color: white;\n        font-size: 14px;\n        margin-bottom: 10px;\n    }\n    .post-excerpt{\n        color: white;\n        line-height: 1.1;\n        margin-bottom: 20px;\n        overflow: hidden;\n        font-size: 16px;\n    }\n    .read-more{\n        display: inline-block;\n        background: $orange;\n        padding: 2px 15px;\n        border-radius: 5px;\n        -webkit-box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);\n        -moz-box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);\n        box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);\n        @media #{$small-only} {\n            display: block;\n            width: 110px;\n            text-align: center;\n        }\n        &:hover{\n            background: $dark-blue;\n        }\n        a{\n            color: white;\n            \n        }\n    }\n    // padding: 0;\n}\n#home-feed-posts-button-wrapper {\n    margin-top: 20px;\n    margin-bottom: 20px;\n    text-align: center;\n    #home-feed-posts-button {\n        background: $orange;\n        border: 1px solid $dark-blue;\n        border-radius: 4px;\n        -webkit-box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);\n        -moz-box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);\n        box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.75);\n        &:hover {\n            background: $dark-blue;\n        }\n    }\n}\n\n.members-only-template{\n    #glm-member-front-header{\n        padding-left: 0;\n        padding-right: 0;\n        margin-left: 0;\n        .breadcrumbs{\n            float: left;\n            padding: 0;\n            margin: 0;\n        }\n    }\n    .members-only-buttons{\n        padding: 0;\n    }\n    .glm-button{\n        background-color: $dark-blue;\n        margin-top: 0;\n    }\n}\n.entry-header{\n    .addthis_wrapper{\n        float: right;\n        margin-top: 5px;\n    }\n}\n.st_sharethis {\n    float: right;\n    width: 58px;\n}\nbody .stButton .sharethis  {\n  background-image: url(\"../assets/share-icon.png\") !important;\n  width: 52px;\n  height: 22px;\n}\n#glm-member-login-form .button-primary,\n#glm-member-password-lost-form .lostpassword-button {\n  background-color: $dark-blue;\n  border: 0 none;\n  border-radius: 5px;\n  color: white;\n  font-size: 14px;\n  padding: 10px 15px;\n  min-width: 90px;\n  cursor: pointer;\n}\n#glm-member-password-lost-form {\n    width: 400px;\n}\n#glm-member-password-lost-link {\n    color: $dark-blue;\n    margin-top: 40px;\n}\n#glm-member-password-lost-form {\n    display: none;\n    button{\n        padding: 5px;\n    }\n}\n#ui-datepicker-div{\n    display: none;\n}","#slideshow {\n    margin-bottom: 20px;\n    box-shadow: 0px 0px 7px 1px darkgrey;\n    max-height: 600px;\n    overflow-y: hidden;\n    position: relative;\n    width: 100%;\n    z-index: 0;\n    ul {\n        list-style: none;\n        margin: 0;\n        li {\n            max-height: 600px;\n            overflow: hidden;\n            div {\n                max-height: 600px;\n            }\n        }\n        div.nivo-caption {\n            text-align: right;\n            font-size: 20px;\n            font-weight: 300;\n            padding: 9px 10px;\n            background: rgba($black, 0.85);\n            padding-right: 220px;\n            color: $white;\n            @media#{$small-only}{\n                display: none !important;\n            }\n            \n        }\n    }\n    li {\n        list-style: none;\n    }\n}","  @import \"plugins/nextgen\";\n  @import \"plugins/gravityForms\";\n  @import \"plugins/events\";\n  @import \"plugins/fullCalendar\";\n  @import \"plugins/blocks\";\n  @import \"plugins/glm-member-db\";\n  @import \"plugins/glm-member-db-events\";\n  @import \"plugins/glm-member-db-contacts\";","/* NextGen Gallery */\n.ngg-gallery-thumbnail, \n.ngg-gallery-thumbnail-box {\n    float: none !important;\n}\n.gallery li a img { // without this images will overlap each other at certain widths\n    display: block;\n    width: 100%;\n}\n.ngg-gallery-thumbnail, .ngg-gallery-thumbnail-box {\n    float: none !important;\n}\n.ngg-album-compact h4 .ngg-album-desc {\n    height: auto !important;\n    font-family: $font-family-serif;\n    font-weight: 400;\n}\n.ngg-album-compact .album-meta-wrapper h4 a {\n    font-style: normal;\n}\n.album-meta-wrapper {\n    display: block;\n    height: 54px;\n    margin-bottom: 20px;\n}\n.ngg-glmalbums {\n    margin: 10px 0;\n}\n/* Ninja Forms */\n.ninja-forms-form-wrap {\n    max-width: 600px;\n    margin: 0 auto;\n    input[type=submit] {\n        @include button();\n        display: block;\n        margin: 0 auto;\n    }\n}\n\n/* End NextGen Gallery */\n",".gform_button {\n    background: $orange;\n    border-radius: 4px;\n    &:hover {\n        background: $orange;\n    }\n}","#blog-posts-over article.ai1ec_event {\n    padding: 10px;\n}","/* These are the basic styles for calendar, there are several others that can be added from the calendar's mark up. \n   These styles are primarily for the buttons, columns headers, and the over all calendar body. More selectors will \n   be necessary when getting deeper into the calendar's mark up to style elements\n*/\n\n#eventCalendar{\n    \n    /* contains all of the buttons above the calendar, on left and right */\n    .fc-toolbar{\n        \n        /* apply button styles here to affect all of the calendar buttons */\n        .fc-button{\n      \n        }\n        /* currently selected button styles */\n        .fc-button.fc-state-active{\n\n        }\n        .fc-button.fc-state-hover{\n\n        }\n        \n        /* affect only today, prev and next buttons (buttons on the above the left side of the calendar*/\n        .fc-left{\n            .fc-button{\n       \n            }\n            .fc-today-button{\n                \n            }\n        }\n        \n        /* affect only month, week, day buttons (buttons above the right side of the calendar) */\n        .fc-right{\n            .fc-button-group{\n                .fc-button{\n\n                }\n                .fc-button.fc-state-active{\n\n                }\n                .fc-button.fc-state-hover{\n\n                }\n            }\n        }\n        \n        /* Calendar Title / Current Month or Date */\n        .fc-center{\n            h2{\n    \n            }\n        }\n    }\n    \n    /* entire calendar body */\n    .fc-view-container{\n        \n        /* dates, days or months at the top of each column (sun, mon, tue, wed, thur, fri, sat) */\n        .fc-head{\n            .fc-widget-header{\n        \n            }\n        }\n        .fc-agendaDay-view{\n            \n        }\n        .fc-month-view{\n            \n        }\n        .fc-agendaWeek-view{\n            \n        }\n        .fc-body{\n            .fc-widget-content{\n                \n            }\n        }\n    }\n}\n",".blocks-header{\n    font-size: 36px;\n    padding: 0 10px;\n    display: block;\n    text-align: center;\n    \n    line-height: 1.0;\n    @media #{$small-only} {\n        font-size: 32px;\n        text-align: center;\n    }\n    @media #{$medium-down} {\n        margin-bottom: 20px;\n    }\n    font-family: 'Times New Roman', Times, serif;\n    font-weight: lighter;\n    text-transform: uppercase;\n    color: $dark-blue;\n}\n\n.blocks{\n    margin: 0;\n    \n    padding: 0 10px;\n    .block:not(.events-block){\n        display: block;\n        // float: left;\n        padding: 10px;\n        position: relative;\n        height: 300px;\n        max-width: 320px;\n        // margin: 20px 20px 0 0;\n        margin: 15px 5px;\n        border: 5px double rgba($dark-blue, .3);\n        @media #{$medium-down}{\n            margin: 0 auto;\n        }\n        &:not(:last-child) {\n            //padding-right: 3%;\n        }\n        .block-background {\n            background: transparent;\n         \n            height: 100%;\n            position: relative;\n            width: 100%;\n        }\n        // block title and post content\n        a.title-posts,a.title-posts+p{\n            display: block;\n            position: absolute;\n            bottom: 0;\n            width: 100%;\n        }\n        a.blocks-readmore{\n            font-family: 'Times New Roman', Times, serif;\n            display: block;\n            max-width: 115px;\n            padding: 1px;\n            line-height: 1;\n            border-radius: 1px;\n            color: $dark-blue;\n            cursor: pointer;\n            position: absolute;\n            bottom: 0;\n            text-transform: uppercase;\n            border-bottom: 1px solid $gold;\n            &:hover{\n                \n            }\n        }\n        .block-title{\n            color: white;\n            width: 100%;\n            text-align: center;\n            margin: 0;\n        }\n        @media #{$medium-down}{\n            // max-width: 475px;\n            float: none;\n            margin-bottom: 15px;\n        }\n        &:hover{\n            // cursor: pointer;\n            .block-overlay{\n                display: block;\n            }\n        }\n    }\n    .block-overlay{\n        .block-overlay-center{\n            // border: 3px solid white;\n            width: 100%;\n            height: 100%;\n            margin: 0 auto;\n            max-width: 100%;\n            \n            .block-content{\n                overflow: hidden;\n                margin-bottom: 10px;\n                color: $dark-blue;\n                font-size: 16px;\n                // font-style: italic;\n                line-height: 1;\n                margin-bottom: 0;\n                text-align: left;\n                h2 {\n                    font-weight: bold;\n                    margin-bottom: 25px;\n                }\n                p {\n                    color: $dark-blue;\n                    font-size: 16px;\n                    // font-style: italic;\n                    line-height: 1;\n                    margin-bottom: 0;\n                    padding: 5px;\n                    text-align: left;\n                }\n            }\n        }\n        position: absolute;\n        top: 0;\n        width: 100%;\n        height: 100%;\n        // background: rgba(67, 80, 63, 0.85);\n        // padding: 15px;\n        \n        //display: none;\n    }\n}\n.blocks-row{\n    margin-bottom: 50px;\n    max-width: 1100px;\n}\n.block-title-center{\n    color: $dark-blue;\n    font-size: 20px;\n    font-weight: bold;\n    font-family: arial;\n    line-height: 1.2;\n    margin: 0;\n    padding: 5px 5px 10px;\n    text-align: left;\n    text-transform: uppercase;\n}",".glm-modal{\n    font-weight: normal !important;\n}\n.glm-modal-title{\n    margin-bottom: 15px;\n    font-size: 17px;\n    font-weight: bold;\n}\n.glm-modal-description{\n    \n}\nbody #glm-member-db-front-container {\n    #glm-member-detail-images-container ul li{\n        max-height: none;\n    }\n    .glm-thumb-title{\n        font-weight: normal;\n        line-height: 1 !important;\n        font-size: 16px;\n        padding-bottom: 3px;\n    }\n    .addthis_wrapper{\n        float: right;\n    }\n    .glm-member-list-image-left{\n        margin-bottom: 20px;\n    }\n    @media #{$small-only}{\n        padding-top: 20px;\n    }\n    .glm-member-list-active-info .glm-member-title a {\n      color: $l-blue;\n      font-size: 26px;\n      letter-spacing: normal;\n      text-decoration: none;\n      vertical-align: top;\n      &:hover {\n          text-decoration: underline;\n      }\n    }\n    #glm-member-list-filters-button {\n        background-color: $dark-blue;\n    }\n    #glm-member-list-map-toggle {\n        background-color: $dark-blue;\n    }\n    #glm-member-list-filters-close {\n        background-color: $dark-blue;\n    }\n    .glm-member-list-container .glm-member-title {\n      line-height: 1;\n      margin: 5px 0;\n      text-transform: none;\n    }\n    .glm-member-list-container .glm-member-list-image-wrapper {\n      float: right;\n      max-height: 180px;\n    }\n    .glm-member-list-data {\n      padding: 20px;\n    }\n    .glm-member-list-active-info {\n        font-size: 16px;\n    }\n    .glm-member-list-address-wrapper > div {\n        line-height: 1.5;\n    }\n    .glm-member-list-active-info .glm-member-list-links > a {\n        text-decoration: underline;\n        color: $dark-blue;\n        line-height: 1.5;\n    }\n    .glm-alpha-links > .glm-alpha-link {\n        background-color: $white;\n        border-color: $l-blue;\n        color: $l-blue;\n        &:hover {\n            background-color: $l-blue;\n            color: $white;\n        }\n    }\n    .glm-alpha-links > .glm-alpha-link-selected {\n        background-color: $l-blue;\n        color: white;\n    }\n    .glm-member-list-active-info {\n      padding: 0 0px 0 0;\n    }\n    .glm-member-db-list-header-title {\n        text-transform: none;\n    }\n    .glm-member-list-terms {\n        display: none;\n    }\n    .glm-member-search {\n        .glm-member-button-small,\n        input[type=\"submit\"].glm-member-button {\n            font-size: 0.9em !important;\n            padding: 5px 20px !important;\n            margin: 0 auto !important;\n            line-height: 1.8em !important;\n            height: auto !important;\n            border-radius: 5px;\n            background-color: $dark-blue;\n            transition: all 0.5s;\n            &:hover {\n                transition: all 0.5s;\n                background-color: yellow;\n            }\n        }\n    }\n    .glm-member-search::before {\n        background-color: $dark-blue;\n    }\n    .glm-member-db-takeback-mini {\n        text-decoration: none;\n        position: relative;\n        background-color: $dark-blue;\n        transition: all 0.5s;\n        &:hover {\n            transition: all 0.5s;\n            background-color: darken($dark-blue, 10%);\n        }\n    }\n    .glm-member-db-takeback-mini span {\n        font-size: 16px;\n        top: 14px;\n    }\n}\n#content-wrapper .glm-member-db-grid-view {\n    .glm-member-title a {\n        letter-spacing: 2px;\n    }\n    .glm-member-list-sub-links {\n        margin: 0;\n        ul {\n            display: table;\n            margin-left: 0;\n            width: 100%;\n            li {\n                text-transform: uppercase;\n                font-weight: bold;\n                border: 0;\n                width: 50%;\n                float: left;\n                display: block;\n                padding: 1px;\n                margin: 0;\n                a {\n                    color: $gold;\n                    border-radius: 3px;\n                    padding: 4px 8px;\n                    display: block;\n                    width: auto;\n                    font-size: 12px;\n                    text-decoration: underline;\n                }\n            }\n        }\n    }\n}\nbody #glm-member-detail-container {\n    margin-top:10px;\n    .glm-member-title {\n        // display: none;\n    }\n    #glm-member-detail-contact-info {\n        background-color: $dark-blue;\n        color: $white;\n    }\n    #glm-member-detail-website-link {\n        text-decoration: none;\n        background-color: $gold;\n        &:hover{\n            background-color: lighten($gold, 10%);\n        }\n    }\n    #glm-member-detail-data-container > .glm-member-detail-content-toggle {\n        color: $gold;\n    }\n    .map-button {\n        background-color: $gold;\n        &:hover{\n            background-color: lighten($gold, 10%);\n        }\n    }\n    #glm-member-detail-links a {\n        color: $dark-blue;\n        border-color: $dark-blue;\n    }\n}\n.glm-member-detail-contact-phone small {\n    font-size: 12px;\n}\n#members-only-sidebar-off-canvas {\n    background-color: #324B4F;\n    border-radius: 5px;\n    list-style: outside none none;\n    margin: 10px;\n    max-width: 230px;\n    h2 {\n        color: yellow;\n    }\n    h4 {\n        color: yellow;\n    }\n    ul li a {\n        color: $white;\n        &:hover {\n            color: yellow;\n        }\n    }\n    .menu-side .glm-button {\n        background: transparent;\n        text-decoration: underline;\n        color: white;\n    }\n}\n#members-only-content {\n    #glm-member-front-header {\n        margin-top: -10px;\n    }\n    #side-links {\n        border: 1px solid $dark-blue;\n        border-radius: 3px;\n        padding: 15px 20px 30px;\n        background-color: $dark-blue;\n        list-style: none;\n        @media #{$medium-only} {\n            padding: 25px 15px;\n        }\n    }\n    #side-links h4 {\n        color: yellow;\n        line-height: 1.2;\n        letter-spacing: normal;\n        font-size: 26px;\n        @media #{$medium-only} {\n            font-size: 24px;\n        }\n    }\n    #side-links ul {\n        margin: 0;\n        list-style: none;\n    }\n    #side-links li {\n        list-style: none;\n        line-height: 1.2;\n        margin-top: 15px;\n    }\n    #side-links li a {\n        color: white;\n        text-decoration: none;\n        font-size: 20px;\n    }\n    #side-links li a:hover {\n        color: yellow;\n    }\n    .glm-button.button {\n        background-color: $dark-blue;\n    }\n    #main-content {\n        padding-top: 0;\n    }\n    #lostpasswordform {\n        max-width: 350px;\n    }\n}\n\n#featured-business {\n    #glm-member-db-front-container {\n        padding: 0;\n        \n    }\n    .glm-featured-member-text {\n        padding: 20px;\n    }\n    .glm-featured-member-image-container {\n        max-height: 200px;\n        overflow: hidden;\n    }\n}\n#sidebar .glm-member-front-container {\n  padding: 0;\n}\n.glm-member-detail-custom-field{\n    padding: 4px;\n    &:nth-child(even){\n        background-color: rgba($dark-blue,0.2);\n    }\n}\n.glm-member-detail-custom-field-name{\n    font-weight: bold;\n    padding-top: 3px;\n}\n.glm-member-detail-custom-field-data{\n    p{\n        margin: 0;\n    }\n}","#events-sidebar {\n    max-width: 360px;\n    margin: 0 auto;\n    .events-sidebar-title {\n        font-style: italic;\n        font-family: 'Times New Roman', Times, serif;\n        font-size: 36px;\n        font-weight: normal;\n        text-align: center;\n        padding: 0 0;\n        color: #394d56;\n        line-height: 1;\n        margin: 5px;\n    }\n    #glm-events-frontpage-wrapper {\n        .glm-events-frontpage-day {\n            background-color: $dark-blue;\n            margin: 10px 0 4px 0;\n        }\n        .glm-events-frontpage-event-title {\n            color: $dark-blue;\n            padding: 2px 4px;\n            font-size: 12px;\n        }\n        .glm-events-frontpage-event-dates {\n            padding: 2px 4px;\n            font-size: 12px;        \n        }\n        .glm-events-frontpage-event-content {\n            padding: 2px 4px;\n            font-size: 12px;        \n        }\n        .glm-events-frontpage-event-container {\n            margin-bottom: 3px;\n        }\n    }\n}\n#glm-event-detail-takeback-mini {\n    background-color: $dark-blue;\n    &:hover {\n        background-color: darken($dark-blue, 10%);\n    }\n}\n.glm-events-frontpage-event-container{\n    height: 97px !important;\n    overflow: hidden;\n}\n#calendar-link{\n    background-color: $dark-blue;\n    padding: 6px;\n    max-width: 150px;\n    display: block;\n    margin: 15px auto;\n}\n// Setting for the colors\n$nameSearchButtonColor   : $green;\n$shortcutsButtonColor    : $green;\n$backToSearchButtonColor : $red;\n$eventGradientColor      : #f2f2f2;\n$eventMonthColor         : $dark-blue;\n\nbody{\n    #glm-event-wrapper {\n        \n        .glm-event-day-row{\n            background: transparent !important;\n        }\n        h1 {\n            font-size: 1.5rem;\n            padding: 0 15px;\n        }\n        #glm-events-search-form {\n            .button {\n                @include button(\n                    // $padding\n                    rem-calc(12),\n                    // Background color.\n                    $nameSearchButtonColor,\n                    // If true, set to button radius which is $global-radius\n                    // or explicitly set radius amount in px (ex. $radius:10px).\n                    // Default:false.\n                    3px,\n                    // We can set $full-width:true to remove side\n                    // padding extend width. Default:false\n                    false,\n                    // We can set $disabled:true to create a\n                    // disabled transparent button. Default:false\n                    false\n                );\n                }\n            \n        }\n        #glm-events-shortcuts .shortcuts-button-group { \n            @include button-group-container();\n            .shortcuts-button {\n                @include button(\n                    rem-calc(12),\n                    $shortcutsButtonColor,\n                    true,\n                    true,\n                    false\n                );\n                margin-bottom: 1px;\n            }\n            & > li {\n                @include button-group-style(\n                    $radius:true,\n                    $even:false,\n                    $float:none\n                );\n            }\n        }\n        // for the back to search button\n        button:not(.fc-button) {\n                @include button(\n                    // $padding\n                    rem-calc(12),\n                    // Background color.\n                    $backToSearchButtonColor,\n                    // If true, set to button radius which is $global-radius\n                    // or explicitly set radius amount in px (ex. $radius:10px).\n                    // Default:false.\n                    3px,\n                    // We can set $full-width:true to remove side\n                    // padding extend width. Default:false\n                    false,\n                    // We can set $disabled:true to create a\n                    // disabled transparent button. Default:false\n                    false\n                );\n            width: 220px;\n        }\n        p {\n            margin-left: 15px;\n        }\n        \n        .glm-event-day-row {\n            border: 1px solid $white;\n            @include gradient($eventGradientColor, $white);\n        }\n\n        .glm-event-day-event {\n            border: 1px solid $iron;\n            &::before{\n                display: none;\n            }\n            &:hover {\n                border: 1px solid $black;\n            }\n        }\n        .glm-event-day-event a.glm-read-more {\n            border: 1px solid $dark-blue;\n            background-color: $white;\n            color: $black;\n        }\n        .glm-event-day-event a.glm-read-more:hover {\n            color: $white;\n            background-color: $dark-blue;\n            border: 1px solid $white;\n            background-color: $dark-blue;\n        }\n        .glm-event-cal {\n            border: 1px solid $dark-blue;\n        }\n        .glm-event-cal-day-container {\n            @include gradient($white, $eventGradientColor);\n        }\n        .glm-event-cal-month {\n            background-color: $dark-blue;\n            color: #fff;\n        }\n        h1 {\n            color: $dark-blue;\n        }\n        h2 {\n            color: $dark-blue;\n        }\n    }\n    .events-feed-container{\n        padding: 0;\n    }\n    .front-page-event-image{\n        min-height: 350px;\n        width: 100%;\n    }\n    #event-feed{\n        position: relative;\n        margin-bottom: 75px;\n        .featured-event{\n            padding: 0;\n            &:hover{\n                .featured-event-details{\n                    bottom: 0 !important;\n                }\n            }\n            position: relative;\n            max-height: 400px;\n            .front-page-event-image{\n                position: relative;\n                width: 100%;\n                // min-height: 345px;\n            }\n            .featured-event-details{\n                padding: 10px 20px;\n                position: absolute;\n                width: 100%;\n                bottom: 0;\n                background-color: $l-blue;\n                transition: 350ms ease-in-out bottom;\n                @media #{$medium-down}{\n                    opacity: .7;\n                    background-color: $black;\n                }\n                h6{\n                    color: white;\n                    opacity: 1;\n                }\n                .featured-event-date{\n                    color: white;\n                }\n        \n            }\n        }\n    }\n    .slick-arrow{\n        position: absolute;\n        height: 50px !important;\n        width: 50px !important;\n        &:focus{\n            background: transparent !important;\n        }\n        &:hover{\n            background: transparent !important;\n        }\n\n    }\n    .slick-arrow.slick-prev{\n        \n        right: 150px !important;\n        @media #{$small-only}{\n            right: 50px !important;\n        }\n        top: -40px !important;\n        left: inherit;\n        background: transparent;\n        \n        &::before{\n            content: '<' !important;\n            font-size: 45px;\n            color: lightgrey;\n        }\n    }\n    .slick-arrow.slick-next{\n        right: 100px !important;\n        @media #{$small-only}{\n            right: 10px !important;\n        }\n        top: -40px !important;\n        left: inherit;\n        background: transparent;\n        &::before{\n            content: '>' !important;\n            font-size: 45px;\n            color: lightgrey;\n        }\n    }\n    .events-feed-title{\n        h3{\n            font-weight: bold;\n            text-align: center;\n            @media #{$small-only}{\n                text-align: left;\n                margin-left: 15px;\n            }\n            color: $l-blue;\n        }\n    }\n    #glm-event-agenda-view .glm-event-day-event::before{\n    display: none;\n    }\n    .glm-events-agenda-image{\n        padding: 0;\n        text-align: center;\n        @media #{$large-up}{\n            img{\n                float: right !important;\n            }\n        }\n    }\n    .event-contents{\n        font-size: 13px;\n    }\n    .glm-agenda-city{\n        font-size: 13px;   \n    }\n    #glm-event-category, #glm-event-city{\n        font-size: 14px;\n    }\n    .glm-event-day-event .front-event-links{\n        \n        @media#{$large-up}{\n            margin-top: 25px;\n            float: right;\n        }\n        @media#{$medium-only}{\n            max-width: 300px;\n            padding: 0;\n            float: none;\n            margin: 0 auto;\n            margin-top: 5px;\n        }\n        @media#{$medium-down}{\n            max-width: 300px;\n            margin: 0 auto;\n            float: none !important;\n            clear: both;\n        }\n        @media#{$small-only}{\n            text-align: center;\n            margin-bottom: 15px;\n        }\n    }\n    .front-event-link{\n        padding: 7px;\n        @media #{$large-up}{\n            display: block;\n            border: 1px solid $orange;\n        }\n        \n        color: $orange;\n        background-color: $white;\n        transition: background-color 400ms ease-in-out;\n        float: none;\n        display: block;\n        text-align: center;\n        &:hover{\n            background-color: $orange;\n            color: $white;\n        }\n        @media#{$medium-down}{\n            // float: left;\n            margin: 2px;\n\n        }\n        @media#{$medium-up}{\n            margin: 2px;\n            \n        }\n        @media #{$large-up}{\n            max-width: 120px;\n        }\n    }\n    .agenda-date{\n        background: $orange;\n        color: white;\n        font-weight: bold;\n        font-size: 16px;\n        margin: 0 auto;\n        max-width: 275px;\n        display: block;\n        padding: 10px;\n        text-align: center;\n    }\n}\n\n.fc-state-default{\n    background-color: transparent !important;\n    background-image: none;\n    color: black !important;\n    &:hover{\n        background-image: none;\n        color: black;\n    }\n}\n.front-event-info{\n    @media #{$medium-down}{\n        // text-align: center;\n    }\n}\n@media #{$large-up}{\n    .mobile-title{\n        display: none;\n    }\n}\n@media #{$medium-up}{\n    .mobile-add-event{\n        display: none;\n    }\n}\n@media #{$small-only}{\n    .large-add-event{\n        display: none;\n    }\n}\n@media #{$medium-down}{\n    .mobile-add-event{\n        #glm-event-add-event-mobile{\n\n        }\n    }\n    .large-title{\n        display: none;\n    }\n    .agenda-event-name{\n        display: block !important;\n        text-align: center;\n        line-height: 1.1\n    }\n}\n#event-tab-title{\n    padding: 20px 0;\n    font-weight: bold;\n}\n.events-sort-tab:not(.active){\n    background-color: #c0c0c0 !important;\n}\n","body {\n    #glm-contact-front-container {\n        \n        a:hover {\n            color: $dark-blue;\n        }\n        .glm-alpha-link {\n            border: 0;\n            background-color: white;\n            color: $dark-blue\n        }\n        .glm-alpha-link-selected {\n            background-color: $dark-blue;\n            color: white;\n            &:hover {\n                color: white;\n            }\n        }\n        .glm-member-title {\n            color: $dark-blue;\n        }\n        .button, .button:hover, .button:focus, button, button:hover, button:focus {\n            background-color: $dark-blue;\n        }\n    }\n}","\nbody .grid-block.home-feed-post {\n    // padding-bottom: 25px;\n   @media #{$medium-down} {\n       padding: 30px 5%;\n   }\n}\ninput[type=\"submit\"].blogbutton {\n    border-radius: 3px;\n    color: $white;\n    border: 2px solid $white;\n    font-weight: bold;\n    font-size: 13px;\n    padding: 2px 5px;\n    margin-top: -10px;\n    text-transform: uppercase;\n    &:hover {\n        cursor: pointer;\n        background: $white;\n        border: 2px solid #035C84;\n        color:  white;\n    }\n}\n#blog-posts-over article {\n    // padding-top: 10px;\n    margin-bottom: 15px;\n    display: inline-block;\n    width: 100%;\n    .entry-header {\n        background: transparent;\n    }\n    #addthis_wrapper {\n        margin-top: -25px;\n    }\n    p {\n        padding-bottom: 15px;\n    }\n    a.read-more {\n        border: 2px solid $white;\n        font-weight: bold;\n        font-size: 13px;\n        padding: 0 3px;\n        text-transform: uppercase;\n        &:hover {\n            background: $white;\n            border: 2px solid #035C84;\n            color: #035C84;\n        }\n    }\n     .entry-header {\n        margin-bottom: 10px;\n        .entry-title {\n            margin: 0;\n            display: block;\n            @media #{$large-up}{\n                margin-top: 10px;\n            }\n            a{\n                display: block;\n                line-height: 1;\n                font-size: 28px;\n                // max-height: 50px;\n            }\n            \n        }\n        .meta.date {\n            font-size: 13px;\n            font-weight: bold;\n        }\n    }\n}\n.blog-post-container{\n    border: 2px solid rgba(#394d56, .7);\n    border-radius: 5px;\n    background: white;\n    border\n    .entry-header{\n        .entry-title{\n            line-height: 1;\n            font-size: 28px;\n            padding-bottom: 10px;\n        }\n    }\n}\n.blog-posts-container{\n    border: 2px solid rgba(#394d56, .7);\n    border-radius: 5px;\n}\n#blog-posts-over .entry-meta {\n    text-align: center;\n    color: #757575;\n    font-size: 12px;\n}\n#blog-posts-over > div {\n    margin: 25px 0;\n}\n#blog-side-info {\n    a{\n        font-size: 16px;\n    }\n    \n    #searchform {\n        margin-bottom: 30px;\n        div input.blogbutton {\n            background: $dark-blue;\n        }\n    }\n    p {\n        margin-bottom: 0;\n    }\n}\n@media #{$small-only} {\n    #blog-side-info-wrapper {\n        float: none;\n        margin: 0 auto;\n        clear: both;\n    }\n    #blog-side-info {\n        padding-left: 0;\n        border-left: 0;\n        ul {\n            margin-left: 0;\n            margin-top:10px;\n        }\n        #searchform {\n            padding: 35px 0;\n            #s {\n                width: 100%;\n            }\n        }\n    }\n}\n#blog-side-info {\n    border: 2px solid rgba(#394d56, .7);\n    border-radius: 5px;\n    background: white;\n    padding: 10px;\n    // border-left: 1px solid grey;\n    margin-top: 30px;\n    // padding-left: 20px;\n    @media #{$small-only} {\n        text-align: center;\n    }\n    // padding-right: 10px;\n    ul {\n        list-style-type: none;\n        li{\n            line-height: 1;\n            padding-bottom: 10px;\n            a{\n                line-height: 1;\n                \n            }\n        }\n    }\n}\n\nmain.blog-home, main.blog-archive, main.blog-single{\n    //margin-top: 200px;\n    padding-bottom: 50px;\n}\n.blog-archive, .blog-home {\n    .featured-image-wrap{\n        display: none;\n    }\n}","#sidebar {\n    padding-top: 25px;\n    background: #f2f9fc;\n    .row.collapse {\n        margin-left: 14px;\n    }\n    li {\n        list-style: none;\n        #calendar_wrap {\n            table#wp-calendar {\n                margin: 0 auto;\n            }\n        }\n    }\n    a {\n        // font-size: 12px;\n    }\n    form {\n        margin: 0 12px 0 14px;\n        select {\n            padding: 0 rem-calc(8);\n            border-radius: 5px;\n            height: 25px;\n            margin: 0;\n            option {\n                font-size: 10px;\n            }\n        }\n    }\n    .small-block-grid-2 {\n        margin-top: 10px;\n        li {\n            padding: 0 rem-calc(10) rem-calc(10);\n            img {\n                border: 2px solid lightblue;\n            }\n        }\n        & > li:nth-of-type(2), & > li:nth-of-type(4) {\n            padding-left: 0;\n        }\n        & > li:nth-of-type(3), & > li:nth-of-type(4) {\n            padding-bottom: 20px;\n        }\n    }\n    h3 {\n        margin: 20px 0 0;\n    }\n    h1 {\n        margin: 0;\n        font-size: rem-calc(25);\n        text-transform: none;\n    }\n    input {\n        padding: 5px 0 5px 8px;\n        height: auto;\n        margin: 10px 0;\n    }\n    button {\n        border-radius: 2px;\n        padding: 0 10px;\n    }\n}\n#side-nav {\n    padding-top: 10px;\n    background: #f2f9fc;\n    h1 {\n        font-size: rem-calc(22);\n/*        margin: 5px 0 25px;*/\n    }\n    h4 {\n        font-weight: bold;\n        margin-left: 10px;\n    }\n    li {\n        list-style: none;\n    }\n    ul {\n        list-style: none;\n        margin: 0 0 20px;\n        li {\n            margin: 0 -15px;\n            padding: 5px 10px 5px 25px;\n            &:hover {\n                background: #81adc1;\n            }\n            a {\n                color: darkblue;\n                &:hover {\n                    color: $white;\n                }\n            }\n        }\n    }\n    h3 {\n        text-transform: none;\n        margin: 0;\n    }\n    input {\n        padding: 5px 0 5px 8px;\n        height: auto;\n        margin-bottom: 10px;\n    }\n    button {\n        border-radius: 2px;\n        padding: 0 10px;\n    }\n}\n#extra {\n    margin-top: 15px;\n    p {\n        line-height: 1.3;\n        &.title {\n            margin: 0;\n            &#last {\n                padding-top: 10px;\n            }\n        }\n        &#message {\n            text-transform: uppercase;\n            color: lightblue;\n            font-size: rem-calc(15);\n            margin: 40px 0;\n        }\n    }\n}\n.current_page_item > a {\n    font-weight: bold;\n}\nbody #sidebar ul.members-only{\n    margin-left: 0;\n    font-size: 16px !important;\n    @media #{$large-up}{\n        #menu-members-only-menu{\n            margin-left: 0;\n        }\n    }\n    @media #{$medium-down}{\n        margin-left: 0;\n        ul{\n            margin-left: 0;\n        }\n    }\n}",".search-top {\n        #searchform {\n            text-align: left;\n            display: inline-block;\n            position: relative;\n            #search-button {\n                width: 22px;\n                right: 0px;\n                position: absolute;\n                padding: 0;\n                border: 1px solid lightgray;\n            }\n        }\n        input {\n            height: 20px;\n            width: 167px;\n            padding: 0 8px;\n            margin: 13px 0px 0px 18px;\n            border-radius: 3px;\n            font-size: 10px;\n            color: $black;\n            display: inline-block;\n        }\n        a {\n            &.magnifying-glass {\n                font-size: 10em; /* This controls the size. */ \n                width: rem-calc(12); \n                height: rem-calc(12);\n                border: rem-calc(2) solid darkblue; \n                position: absolute;\n                top: 15px;\n                border-radius: 0.35em;\n                margin: 0 0 0 -20px;\n                &:before {\n                    content: \"\"; \n                    display: inline-block; \n                    position: absolute; \n                    right: rem-calc(-7); \n                    bottom: rem-calc(-4); \n                    border-width: 0; \n                    background: darkblue; \n                    width: rem-calc(8); \n                    height: rem-calc(2); \n                    -webkit-transform: rotate(45deg); \n                    -moz-transform: rotate(45deg);\n                    -ms-transform: rotate(45deg);\n                    transform: rotate(45deg);\n                }\n            }\n        }\n}\n.search-results{\n    #blog-posts-over{\n        .search-result-container{\n            header.entry-header{\n                margin-bottom: 0px;\n            }\n            .search_result_context{\n                margin: 0;\n                padding: 0;\n                line-height: 1.3;\n            }\n            article{\n                p{\n                    margin: 0;\n                    padding: 0;\n                }\n            }\n        }\n    }\n}","#footer-page-anchor {\n    background: url(\"../assets/paneling-resized.png\");    \n    border-top: 5px solid $dark-blue;\n}\n#footer-address {\n    margin-top: 20px;\n    text-align: center;\n    span{\n        color: $dark-blue;\n        display: inline-block;\n        font-size: 18px;\n        margin-bottom: 10px;\n        white-space: nowrap;\n    }\n    a {\n        color: $dark-blue;\n    }\n    .phone {\n        color: $dark-blue;\n    }\n}\n.email-link,\n.contact-us-link{\n    display: inline-block;\n    color: $dark-blue;\n    font-size: 18px;\n    text-align: left;\n    text-decoration: underline;\n    &:hover{\n        color: $dark-blue;\n    }\n}\n.footer-logo{\n    display: block;\n    margin: 0 auto 20px;\n    max-width: 140px;\n    @media #{$medium-only}{\n        //margin-bottom: 20px;\n    }\n}\n#footer-enews {\n    margin-top: 5px;\n    margin-bottom: 20px;\n    #enews-title {\n        font-family: $font-family-serif;\n        font-size: 22px;\n        text-align: center;\n    }\n    #enews-button {\n        background-image: url(\"../assets/signup-button.png\");\n        background-position: 0 0;\n        display: block;\n        height: 30px;\n        margin: 0 auto;\n        text-align: center;\n        width: 100px;\n        &:hover {\n            background-position: 0 32px;\n        }\n    }\n}\nfooter{\n    .action-grid{\n        // max-width: 375px;\n        margin: 0 auto;\n        @media #{$small-only}{\n            max-width: 230px;\n            margin: 0 auto;\n        }\n    }\n    .action-item{\n        display: block;\n        height: 35px;\n        margin-bottom: 10px;\n        overflow-y: hidden;\n        padding: 0 !important;\n        &:nth-child(odd){\n            max-width: 170px;\n        }\n        a{\n            display: block;\n            overflow-y: hidden;\n        }\n        position: relative;\n        img{\n            position: absolute;\n            top: 0;\n            &:hover{\n                top: -44px;\n            }\n        }\n    }\n    .large-row{\n        max-width: 1024px;\n    }\n    .enews-action-item{\n   \n    }\n}\n#copyright {\n    padding: 5px 0 15px 0;\n    margin: 0 auto;\n    float: none;\n    span {\n        font-size: rem-calc(14);\n        // font-weight: bold;\n        color: grey;\n    }\n    a {\n        color: grey;\n    }\n}\n#footer-address span.bullet,\n#copyright span.bullet {\n    margin: 0 5px;\n    @media #{$small-only} {\n        display: none !important;\n    }\n}\n#copyright span.bullet {\n    color: grey;\n}\n#footer-address span.bullet {\n    color: grey;\n}","//1. Body\n//2. Header\n//3. Fonts\n//4. Top Bar\n//5. Off-Canvas\n.off-canvas-wrap {\n    min-height: 100%;\n    .inner-wrap {\n        min-height: 100vh;\n        height: 100%;\n    }\n}\n//6. Main\nh1{\n    color: $dark-blue;\n    font-family:  $font-family-serif;\n    font-size: 32px;\n    font-weight: bold;\n}\nh2{\n    color: $dark-blue;\n    font-family:  $font-family-sans-serif;\n    font-size: 26px;\n    font-weight: normal;\n}\nh3{\n    color: $dark-blue;\n    font-family:  $font-family-sans-serif;\n    font-size: 26px;\n    font-weight: normal;\n}\nh4{\n    color: $dark-blue;\n    font-family: $font-family-sans-serif;\n    font-size: 20px;\n    font-weight: normal;\n}\nh5{\n    color: $gold;\n    font-family: $font-family-serif;\n    font-size: 20px;\n    font-weight: bold;\n}\nh6{\n    color: $dark-blue;\n    font-family: $font-family-sans-serif;\n    font-size: 20px;\n    font-weight: bold;\n}\na {\n    color: $dark-blue;\n    &:hover {\n        color: $dark-blue;\n    }\n}\n//6. Main\n//7. Slideshow\n//8. Blog \n//9. Sidebar\n//10. Links\n//11. Footer\n//12. Copyright","/* for the mobile menu */\naside.left-off-canvas-menu {\n//  background-color: rgba(0, 0, 0, 0.7);\n//  color: white;\n}\naside.left-off-canvas-menu li.page_item {\n  display: block;\n  line-height: 1.0;\n  margin-bottom: 5px;\n  overflow: hidden;\n  padding: 5px 35px 5px 0;\n  position: relative;\n}\naside.left-off-canvas-menu .off-canvas-list ul li a {\n  line-height: 20px;\n  color: white;\n  border-bottom: 1px solid #b1b3b6;\n  background-repeat: no-repeat;\n  background-position: 3px 50%;\n}\naside.left-off-canvas-menu li.page_item_has_children a.toggle {\n  position: absolute;\n  right: 10px;\n  top: 5px;\n  width: auto;\n    text-decoration: none;\n    &:before {\n        @include off-canvas-point(right, $white, 17px);\n    }\n    &:hover {\n        background: transparent;\n    }\n}\naside.left-off-canvas-menu li.page_item_has_children a.toggle.open {\n    @include off-canvas-point(down, $white);\n}\naside.left-off-canvas-menu ul.children {\n  display: none;\n}\naside.left-off-canvas-menu .off-canvas-list ul li > ul li > a {\n  padding-left: 10px;\n  margin-left: 25px;\n  line-height: 18px;\n}\naside.left-off-canvas-menu ul.open {\n  display: block;\n}\n.left-off-canvas-menu {\n    background: $dark-blue;\n    color: white;\n    list-style: none;\n    padding-top: 20px;\n    .email-link,\n    .contact-us-link{\n        color: $white;\n        font-size: 14px;\n        text-decoration: underline;\n    }\n    .bullet {\n        color: $white;\n        margin: 0 8px;\n    }\n    li {\n        a {\n            color: $white;\n            font-size: rem-calc(16);\n            line-height: 1.2;\n            border-color: white;\n            text-transform: uppercase;\n        }\n        a:hover {\n            color: white;\n        }\n        .dropdown {\n            list-style: none;\n        }\n    }\n    ul {\n        list-style: none;\n\n        //padding: 20px 0;\n        li {\n            a {\n                color: $white;\n            }\n            ul {\n                list-style: none;\n                li {\n                    a {\n                        width: 85%;\n                        display: block;\n                        white-space: pre-wrap;\n                    }\n                }\n            }\n        }\n    }\n}\n#oc-socials {\n    padding: 20px;\n    .social-icon {\n        display: inline-block;\n        height: 32px;\n        width: 32px;\n        background-image: url(\"../assets/socials.png\");\n        &.facebook {\n            background-position: 0 0;\n        }\n    }\n}\n.oc-site-title{\n    font-size: 16px;\n}\n.oc-action-items{\n    .oc-action-grid{\n        li{\n            height: 30px;\n            margin-bottom: 14px;\n            overflow: hidden;\n            a{\n                display: block;\n            }\n        }\n    }\n}\n.offcavas-social-list {\n    @include inline-list;\n    margin-left: auto;\n}\n/* End Mobile Menu */\n"],"mappings":"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","names":[]}
\ No newline at end of file
diff --git a/dist/app.js b/dist/app.js
new file mode 100644 (file)
index 0000000..f173394
--- /dev/null
@@ -0,0 +1,4 @@
+var $=jQuery.noConflict();!function(t,e,i,s){"use strict";function n(t){return("string"==typeof t||t instanceof String)&&(t=t.replace(/^['\\\/"]+|(;\s?})+|['\\\/"]+$/g,"")),t}function a(t){this.selector=t,this.query=""}(function(e){var i=t("head");i.prepend(t.map(e,function(t){return 0===i.has("."+t).length?'<meta class="'+t+'" />':void 0}))})(["foundation-mq-small","foundation-mq-small-only","foundation-mq-medium","foundation-mq-medium-only","foundation-mq-large","foundation-mq-large-only","foundation-mq-xlarge","foundation-mq-xlarge-only","foundation-mq-xxlarge","foundation-data-attribute-namespace"]),t(function(){"undefined"!=typeof FastClick&&void 0!==i.body&&FastClick.attach(i.body)});var o=function(e,s){if("string"==typeof e){if(s){var n;if(s.jquery){if(!(n=s[0]))return s}else n=s;return t(n.querySelectorAll(e))}return t(i.querySelectorAll(e))}return t(e,s)},r=function(t){var e=[];return t||e.push("data"),this.namespace.length>0&&e.push(this.namespace),e.push(this.name),e.join("-")},l=function(t){for(var e=t.split("-"),i=e.length,s=[];i--;)0!==i?s.push(e[i]):this.namespace.length>0?s.push(this.namespace,e[i]):s.push(e[i]);return s.reverse().join("-")},d=function(e,i){var s=this,n=function(){var n=o(this),a=!n.data(s.attr_name(!0)+"-init");n.data(s.attr_name(!0)+"-init",t.extend({},s.settings,i||e,s.data_options(n))),a&&s.events(this)};return o(this.scope).is("["+this.attr_name()+"]")?n.call(this.scope):o("["+this.attr_name()+"]",this.scope).each(n),"string"==typeof e?this[e].call(this,i):void 0},c=function(t,e){function i(){e(t[0])}function s(){if(this.one("load",i),/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var t=this.attr("src"),e=t.match(/\?/)?"&":"?";e+="random="+(new Date).getTime(),this.attr("src",t+e)}}return t.attr("src")?void(t[0].complete||4===t[0].readyState?i():s.call(t)):void i()};e.matchMedia||(e.matchMedia=function(){var t=e.styleMedia||e.media;if(!t){var s=i.createElement("style"),n=i.getElementsByTagName("script")[0],a=null;s.type="text/css",s.id="matchmediajs-test",n.parentNode.insertBefore(s,n),a="getComputedStyle"in e&&e.getComputedStyle(s,null)||s.currentStyle,t={matchMedium:function(t){var e="@media "+t+"{ #matchmediajs-test { width: 1px; } }";return s.styleSheet?s.styleSheet.cssText=e:s.textContent=e,"1px"===a.width}}}return function(e){return{matches:t.matchMedium(e||"all"),media:e||"all"}}}()),function(t){function i(){s&&(o(i),l&&t.fx.tick())}for(var s,n=0,a=["webkit","moz"],o=e.requestAnimationFrame,r=e.cancelAnimationFrame,l=void 0!==t.fx;n<a.length&&!o;n++)o=e[a[n]+"RequestAnimationFrame"],r=r||e[a[n]+"CancelAnimationFrame"]||e[a[n]+"CancelRequestAnimationFrame"];o?(e.requestAnimationFrame=o,e.cancelAnimationFrame=r,l&&(t.fx.timer=function(e){e()&&t.timers.push(e)&&!s&&(s=!0,i())},t.fx.stop=function(){s=!1})):(e.requestAnimationFrame=function(t){var i=(new Date).getTime(),s=Math.max(0,16-(i-n)),a=e.setTimeout(function(){t(i+s)},s);return n=i+s,a},e.cancelAnimationFrame=function(t){clearTimeout(t)})}(t),a.prototype.toString=function(){return this.query||(this.query=o(this.selector).css("font-family").replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g,""))},e.Foundation={name:"Foundation",version:"5.5.3",media_queries:{small:new a(".foundation-mq-small"),"small-only":new a(".foundation-mq-small-only"),medium:new a(".foundation-mq-medium"),"medium-only":new a(".foundation-mq-medium-only"),large:new a(".foundation-mq-large"),"large-only":new a(".foundation-mq-large-only"),xlarge:new a(".foundation-mq-xlarge"),"xlarge-only":new a(".foundation-mq-xlarge-only"),xxlarge:new a(".foundation-mq-xxlarge")},stylesheet:t("<style></style>").appendTo("head")[0].sheet,global:{namespace:s},init:function(t,i,s,n,a){var r=[t,s,n,a],l=[];if(this.rtl=/rtl/i.test(o("html").attr("dir")),this.scope=t||this.scope,this.set_namespace(),i&&"string"==typeof i&&!/reflow/i.test(i))this.libs.hasOwnProperty(i)&&l.push(this.init_lib(i,r));else for(var d in this.libs)l.push(this.init_lib(d,i));return o(e).load(function(){o(e).trigger("resize.fndtn.clearing").trigger("resize.fndtn.dropdown").trigger("resize.fndtn.equalizer").trigger("resize.fndtn.interchange").trigger("resize.fndtn.joyride").trigger("resize.fndtn.magellan").trigger("resize.fndtn.topbar").trigger("resize.fndtn.slider")}),t},init_lib:function(e,i){return this.libs.hasOwnProperty(e)?(this.patch(this.libs[e]),i&&i.hasOwnProperty(e)?(void 0!==this.libs[e].settings?t.extend(!0,this.libs[e].settings,i[e]):void 0!==this.libs[e].defaults&&t.extend(!0,this.libs[e].defaults,i[e]),this.libs[e].init.apply(this.libs[e],[this.scope,i[e]])):(i=i instanceof Array?i:new Array(i),this.libs[e].init.apply(this.libs[e],i))):function(){}},patch:function(t){t.scope=this.scope,t.namespace=this.global.namespace,t.rtl=this.rtl,t.data_options=this.utils.data_options,t.attr_name=r,t.add_namespace=l,t.bindings=d,t.S=this.utils.S},inherit:function(t,e){for(var i=e.split(" "),s=i.length;s--;)this.utils.hasOwnProperty(i[s])&&(t[i[s]]=this.utils[i[s]])},set_namespace:function(){var e=this.global.namespace===s?t(".foundation-data-attribute-namespace").css("font-family"):this.global.namespace;this.global.namespace=e===s||/false/i.test(e)?"":e},libs:{},utils:{S:o,throttle:function(t,e){var i=null;return function(){var s=this,n=arguments;null==i&&(i=setTimeout(function(){t.apply(s,n),i=null},e))}},debounce:function(t,e,i){var s,n;return function(){var a=this,o=arguments,r=function(){s=null,i||(n=t.apply(a,o))},l=i&&!s;return clearTimeout(s),s=setTimeout(r,e),l&&(n=t.apply(a,o)),n}},data_options:function(e,i){function s(e){return"string"==typeof e?t.trim(e):e}i=i||"options";var n,a,o,r={},l=function(t){var e=Foundation.global.namespace;return e.length>0?t.data(e+"-"+i):t.data(i)}(e);if("object"==typeof l)return l;for(o=(l||":").split(";"),n=o.length;n--;)a=o[n].split(":"),a=[a[0],a.slice(1).join(":")],/true/i.test(a[1])&&(a[1]=!0),/false/i.test(a[1])&&(a[1]=!1),function(t){return!isNaN(t-0)&&null!==t&&""!==t&&!1!==t&&!0!==t}(a[1])&&(-1===a[1].indexOf(".")?a[1]=parseInt(a[1],10):a[1]=parseFloat(a[1])),2===a.length&&a[0].length>0&&(r[s(a[0])]=s(a[1]));return r},register_media:function(e,i){Foundation.media_queries[e]===s&&(t("head").append('<meta class="'+i+'"/>'),Foundation.media_queries[e]=n(t("."+i).css("font-family")))},add_custom_rule:function(t,e){if(e===s&&Foundation.stylesheet)Foundation.stylesheet.insertRule(t,Foundation.stylesheet.cssRules.length);else{Foundation.media_queries[e]!==s&&Foundation.stylesheet.insertRule("@media "+Foundation.media_queries[e]+"{ "+t+" }",Foundation.stylesheet.cssRules.length)}},image_loaded:function(t,e){var i=this,n=t.length;(0===n||function(t){for(var e=t.length,i=e-1;i>=0;i--)if(t.attr("height")===s)return!1;return!0}(t))&&e(t),t.each(function(){c(i.S(this),function(){0===(n-=1)&&e(t)})})},random_str:function(){return this.fidx||(this.fidx=0),this.prefix=this.prefix||[this.name||"F",(+new Date).toString(36)].join("-"),this.prefix+(this.fidx++).toString(36)},match:function(t){return e.matchMedia(t).matches},is_small_up:function(){return this.match(Foundation.media_queries.small)},is_medium_up:function(){return this.match(Foundation.media_queries.medium)},is_large_up:function(){return this.match(Foundation.media_queries.large)},is_xlarge_up:function(){return this.match(Foundation.media_queries.xlarge)},is_xxlarge_up:function(){return this.match(Foundation.media_queries.xxlarge)},is_small_only:function(){return!(this.is_medium_up()||this.is_large_up()||this.is_xlarge_up()||this.is_xxlarge_up())},is_medium_only:function(){return this.is_medium_up()&&!this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_large_only:function(){return this.is_medium_up()&&this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xxlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&this.is_xxlarge_up()}}},t.fn.foundation=function(){var t=Array.prototype.slice.call(arguments,0);return this.each(function(){return Foundation.init.apply(Foundation,[this].concat(t)),this})}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.abide={name:"abide",version:"5.5.3",settings:{live_validate:!0,validate_on_blur:!0,focus_on_invalid:!0,error_labels:!0,error_class:"error",timeout:1e3,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/},validators:{equalTo:function(t,e,s){return i.getElementById(t.getAttribute(this.add_namespace("data-equalto"))).value===t.value}}},timer:null,init:function(t,e,i){this.bindings(e,i)},events:function(e){function i(t,e){clearTimeout(s.timer),s.timer=setTimeout(function(){s.validate([t],e)}.bind(t),a.timeout)}var s=this,n=s.S(e).attr("novalidate","novalidate"),a=n.data(this.attr_name(!0)+"-init")||{};this.invalid_attr=this.add_namespace("data-invalid"),n.off(".abide").on("submit.fndtn.abide",function(t){var e=/ajax/i.test(s.S(this).attr(s.attr_name()));return s.validate(s.S(this).find("input, textarea, select").not(":hidden, [data-abide-ignore]").get(),t,e)}).on("validate.fndtn.abide",function(t){"manual"===a.validate_on&&s.validate([t.target],t)}).on("reset",function(e){return s.reset(t(this),e)}).find("input, textarea, select").not(":hidden, [data-abide-ignore]").off(".abide").on("blur.fndtn.abide change.fndtn.abide",function(t){var e=this.getAttribute("id"),s=n.find('[data-equalto="'+e+'"]');a.validate_on_blur&&!0===a.validate_on_blur&&i(this,t),void 0!==s.get(0)&&s.val().length&&i(s.get(0),t),"change"===a.validate_on&&i(this,t)}).on("keydown.fndtn.abide",function(t){var e=this.getAttribute("id"),s=n.find('[data-equalto="'+e+'"]');a.live_validate&&!0===a.live_validate&&9!=t.which&&i(this,t),void 0!==s.get(0)&&s.val().length&&i(s.get(0),t),"tab"===a.validate_on&&9===t.which?i(this,t):"change"===a.validate_on&&i(this,t)}).on("focus",function(e){navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)&&t("html, body").animate({scrollTop:t(e.target).offset().top},100)})},reset:function(e,i){var s=this;e.removeAttr(s.invalid_attr),t("["+s.invalid_attr+"]",e).removeAttr(s.invalid_attr),t("."+s.settings.error_class,e).not("small").removeClass(s.settings.error_class),t(":input",e).not(":button, :submit, :reset, :hidden, [data-abide-ignore]").val("").removeAttr(s.invalid_attr)},validate:function(t,e,i){for(var s=this.parse_patterns(t),n=s.length,a=this.S(t[0]).closest("form"),o=/submit/.test(e.type),r=0;n>r;r++)if(!s[r]&&(o||i))return this.settings.focus_on_invalid&&t[r].focus(),a.trigger("invalid.fndtn.abide"),this.S(t[r]).closest("form").attr(this.invalid_attr,""),!1;return(o||i)&&a.trigger("valid.fndtn.abide"),a.removeAttr(this.invalid_attr),!i},parse_patterns:function(t){for(var e=t.length,i=[];e--;)i.push(this.pattern(t[e]));return this.check_validation_and_apply_styles(i)},pattern:function(t){var e=t.getAttribute("type"),i="string"==typeof t.getAttribute("required"),s=t.getAttribute("pattern")||"";return this.settings.patterns.hasOwnProperty(s)&&s.length>0?[t,this.settings.patterns[s],i]:s.length>0?[t,new RegExp(s),i]:this.settings.patterns.hasOwnProperty(e)?[t,this.settings.patterns[e],i]:(s=/.*/,[t,s,i])},check_validation_and_apply_styles:function(e){var i=e.length,s=[];if(0==i)return s;var n=this.S(e[0][0]).closest("[data-"+this.attr_name(!0)+"]");for(n.data(this.attr_name(!0)+"-init")||{};i--;){var a,o,r=e[i][0],l=e[i][2],d=r.value.trim(),c=this.S(r).parent(),h=r.getAttribute(this.add_namespace("data-abide-validator")),u="radio"===r.type,f="checkbox"===r.type,p=this.S('label[for="'+r.getAttribute("id")+'"]'),g=!l||r.value.length>0,_=[];if(r.getAttribute(this.add_namespace("data-equalto"))&&(h="equalTo"),a=c.is("label")?c.parent():c,u&&l)_.push(this.valid_radio(r,l));else if(f&&l)_.push(this.valid_checkbox(r,l));else if(h){for(var m=h.split(" "),v=!0,b=!0,x=0;x<m.length;x++)o=this.settings.validators[m[x]].apply(this,[r,l,a]),_.push(o),b=o&&v,v=o;b?(this.S(r).removeAttr(this.invalid_attr),a.removeClass("error"),p.length>0&&this.settings.error_labels&&p.removeClass(this.settings.error_class).removeAttr("role"),t(r).triggerHandler("valid")):(this.S(r).attr(this.invalid_attr,""),a.addClass("error"),p.length>0&&this.settings.error_labels&&p.addClass(this.settings.error_class).attr("role","alert"),t(r).triggerHandler("invalid"))}else if(e[i][1].test(d)&&g||!l&&r.value.length<1||t(r).attr("disabled")?_.push(!0):_.push(!1),_=[_.every(function(t){return t})],_[0])this.S(r).removeAttr(this.invalid_attr),r.setAttribute("aria-invalid","false"),r.removeAttribute("aria-describedby"),a.removeClass(this.settings.error_class),p.length>0&&this.settings.error_labels&&p.removeClass(this.settings.error_class).removeAttr("role"),t(r).triggerHandler("valid");else{this.S(r).attr(this.invalid_attr,""),r.setAttribute("aria-invalid","true");var y=a.find("small."+this.settings.error_class,"span."+this.settings.error_class),w=y.length>0?y[0].id:"";w.length>0&&r.setAttribute("aria-describedby",w),a.addClass(this.settings.error_class),p.length>0&&this.settings.error_labels&&p.addClass(this.settings.error_class).attr("role","alert"),t(r).triggerHandler("invalid")}s=s.concat(_)}return s},valid_checkbox:function(e,i){var e=this.S(e),s=e.is(":checked")||!i||e.get(0).getAttribute("disabled");return s?(e.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),t(e).triggerHandler("valid")):(e.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),t(e).triggerHandler("invalid")),s},valid_radio:function(e,i){for(var s=e.getAttribute("name"),n=this.S(e).closest("[data-"+this.attr_name(!0)+"]").find("[name='"+s+"']"),a=n.length,o=!1,r=!1,l=0;a>l;l++)n[l].getAttribute("disabled")?(r=!0,o=!0):n[l].checked?o=!0:r&&(o=!1);for(var l=0;a>l;l++)o?(this.S(n[l]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),t(n[l]).triggerHandler("valid")):(this.S(n[l]).attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),t(n[l]).triggerHandler("invalid"));return o},valid_equal:function(t,e,s){var n=i.getElementById(t.getAttribute(this.add_namespace("data-equalto"))).value,a=t.value,o=n===a;return o?(this.S(t).removeAttr(this.invalid_attr),s.removeClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.removeClass(this.settings.error_class)):(this.S(t).attr(this.invalid_attr,""),s.addClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.addClass(this.settings.error_class)),o},valid_oneof:function(t,e,i,s){var t=this.S(t),n=this.S("["+this.add_namespace("data-oneof")+"]"),a=n.filter(":checked").length>0;if(a?t.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class):t.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),!s){var o=this;n.each(function(){o.valid_oneof.call(o,this,null,null,!0)})}return a},reflow:function(t,e){var i=this,s=i.S("["+this.attr_name()+"]").attr("novalidate","novalidate");i.S(s).each(function(t,e){i.events(e)})}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.accordion={name:"accordion",version:"5.5.3",settings:{content_class:"content",active_class:"active",multi_expand:!1,toggleable:!0,callback:function(){}},init:function(t,e,i){this.bindings(e,i)},events:function(e){var i=this,s=this.S;i.create(this.S(e)),s(this.scope).off(".fndtn.accordion").on("click.fndtn.accordion","["+this.attr_name()+"] > dd > a, ["+this.attr_name()+"] > li > a",function(e){var n=s(this).closest("["+i.attr_name()+"]"),a=i.attr_name()+"="+n.attr(i.attr_name()),o=n.data(i.attr_name(!0)+"-init")||i.settings,r=s("#"+this.href.split("#")[1]),l=t("> dd, > li",n),d=l.children("."+o.content_class),c=d.filter("."+o.active_class);return e.preventDefault(),n.attr(i.attr_name())&&(d=d.add("["+a+"] dd > ."+o.content_class+", ["+a+"] li > ."+o.content_class),l=l.add("["+a+"] dd, ["+a+"] li")),o.toggleable&&r.is(c)?(r.parent("dd, li").toggleClass(o.active_class,!1),r.toggleClass(o.active_class,!1),s(this).attr("aria-expanded",function(t,e){return"true"===e?"false":"true"}),o.callback(r),r.triggerHandler("toggled",[n]),void n.triggerHandler("toggled",[r])):(o.multi_expand||(d.removeClass(o.active_class),l.removeClass(o.active_class),l.children("a").attr("aria-expanded","false")),r.addClass(o.active_class).parent().addClass(o.active_class),o.callback(r),r.triggerHandler("toggled",[n]),n.triggerHandler("toggled",[r]),void s(this).attr("aria-expanded","true"))})},create:function(e){var i=this,s=e,n=t("> .accordion-navigation",s),a=s.data(i.attr_name(!0)+"-init")||i.settings;n.children("a").attr("aria-expanded","false"),n.has("."+a.content_class+"."+a.active_class).addClass(a.active_class).children("a").attr("aria-expanded","true"),a.multi_expand&&e.attr("aria-multiselectable","true")},toggle:function(t){var t=void 0!==t?t:{},i=void 0!==t.selector?t.selector:"",s=void 0!==t.toggle_state?t.toggle_state:"",n=void 0!==t.$accordion?t.$accordion:this.S(this.scope).closest("["+this.attr_name()+"]"),a=n.find("> dd"+i+", > li"+i);if(a.length<1)return e.console&&console.error("Selection not found.",i),!1;var o=this.S,r=this.settings.active_class;a.each(function(){var t=o(this),e=t.hasClass(r);(e&&"close"===s||!e&&"open"===s||""===s)&&t.find("> a").trigger("click.fndtn.accordion")})},open:function(t){var t=void 0!==t?t:{};t.toggle_state="open",this.toggle(t)},close:function(t){var t=void 0!==t?t:{};t.toggle_state="close",this.toggle(t)},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.alert={name:"alert",version:"5.5.3",settings:{callback:function(){}},init:function(t,e,i){this.bindings(e,i)},events:function(){var e=this,i=this.S;t(this.scope).off(".alert").on("click.fndtn.alert","["+this.attr_name()+"] .close",function(t){var s=i(this).closest("["+e.attr_name()+"]"),n=s.data(e.attr_name(!0)+"-init")||e.settings;t.preventDefault(),Modernizr.csstransitions?(s.addClass("alert-close"),s.on("transitionend webkitTransitionEnd oTransitionEnd",function(t){i(this).trigger("close.fndtn.alert").remove(),n.callback()})):s.fadeOut(300,function(){i(this).trigger("close.fndtn.alert").remove(),n.callback()})})},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.clearing={name:"clearing",version:"5.5.3",settings:{templates:{viewing:'<a href="#" class="clearing-close">&times;</a><div class="visible-img" style="display: none"><div class="clearing-touch-label"></div><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" /><p class="clearing-caption"></p><a href="#" class="clearing-main-prev"><span></span></a><a href="#" class="clearing-main-next"><span></span></a></div><img class="clearing-preload-next" style="display: none" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" /><img class="clearing-preload-prev" style="display: none" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" />'},close_selectors:".clearing-close, div.clearing-blackout",open_selectors:"",skip_selector:"",touch_label:"",init:!1,locked:!1},init:function(t,e,i){var s=this;Foundation.inherit(this,"throttle image_loaded"),this.bindings(e,i),s.S(this.scope).is("["+this.attr_name()+"]")?this.assemble(s.S("li",this.scope)):s.S("["+this.attr_name()+"]",this.scope).each(function(){s.assemble(s.S("li",this))})},events:function(s){var n=this,a=n.S,o=t(".scroll-container");o.length>0&&(this.scope=o),a(this.scope).off(".clearing").on("click.fndtn.clearing","ul["+this.attr_name()+"] li "+this.settings.open_selectors,function(t,e,i){var e=e||a(this),i=i||e,s=e.next("li"),o=e.closest("["+n.attr_name()+"]").data(n.attr_name(!0)+"-init"),r=a(t.target);t.preventDefault(),o||(n.init(),o=e.closest("["+n.attr_name()+"]").data(n.attr_name(!0)+"-init")),i.hasClass("visible")&&e[0]===i[0]&&s.length>0&&n.is_open(e)&&(i=s,r=a("img",i)),n.open(r,e,i),n.update_paddles(i)}).on("click.fndtn.clearing",".clearing-main-next",function(t){n.nav(t,"next")}).on("click.fndtn.clearing",".clearing-main-prev",function(t){n.nav(t,"prev")}).on("click.fndtn.clearing",this.settings.close_selectors,function(t){Foundation.libs.clearing.close(t,this)}),t(i).on("keydown.fndtn.clearing",function(t){n.keydown(t)}),a(e).off(".clearing").on("resize.fndtn.clearing",function(){n.resize()}),this.swipe_events(s)},swipe_events:function(t){var e=this,i=e.S;i(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(t){t.touches||(t=t.originalEvent);var e={start_page_x:t.touches[0].pageX,start_page_y:t.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:void 0};i(this).data("swipe-transition",e),t.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(t){if(t.touches||(t=t.originalEvent),!(t.touches.length>1||t.scale&&1!==t.scale)){var s=i(this).data("swipe-transition");if(void 0===s&&(s={}),s.delta_x=t.touches[0].pageX-s.start_page_x,Foundation.rtl&&(s.delta_x=-s.delta_x),void 0===s.is_scrolling&&(s.is_scrolling=!!(s.is_scrolling||Math.abs(s.delta_x)<Math.abs(t.touches[0].pageY-s.start_page_y))),!s.is_scrolling&&!s.active){t.preventDefault();var n=s.delta_x<0?"next":"prev";s.active=!0,e.nav(t,n)}}}).on("touchend.fndtn.clearing",".visible-img",function(t){i(this).data("swipe-transition",{}),t.stopPropagation()})},assemble:function(e){var i=e.parent();if(!i.parent().hasClass("carousel")){i.after('<div id="foundationClearingHolder"></div>');var s=i.detach(),n="";if(null!=s[0]){n=s[0].outerHTML;var a=this.S("#foundationClearingHolder"),o=i.data(this.attr_name(!0)+"-init"),r={grid:'<div class="carousel">'+n+"</div>",viewing:o.templates.viewing},l='<div class="clearing-assembled"><div>'+r.viewing+r.grid+"</div></div>",d=this.settings.touch_label;Modernizr.touch&&(l=t(l).find(".clearing-touch-label").html(d).end()),a.after(l).remove()}}},open:function(e,s,n){function a(){setTimeout(function(){this.image_loaded(u,function(){1!==u.outerWidth()||p?o.call(this,u):a.call(this)}.bind(this))}.bind(this),100)}function o(e){var i=t(e);i.css("visibility","visible"),i.trigger("imageVisible"),l.css("overflow","hidden"),d.addClass("clearing-blackout"),c.addClass("clearing-container"),h.show(),this.fix_height(n).caption(r.S(".clearing-caption",h),r.S("img",n)).center_and_label(e,f).shift(s,n,function(){n.closest("li").siblings().removeClass("visible"),n.closest("li").addClass("visible")}),h.trigger("opened.fndtn.clearing")}var r=this,l=t(i.body),d=n.closest(".clearing-assembled"),c=r.S("div",d).first(),h=r.S(".visible-img",c),u=r.S("img",h).not(e),f=r.S(".clearing-touch-label",c),p=!1,g={};t("body").on("touchmove",function(t){t.preventDefault()}),u.error(function(){p=!0}),this.locked()||(h.trigger("open.fndtn.clearing"),g=this.load(e),g.interchange?u.attr("data-interchange",g.interchange).foundation("interchange","reflow"):u.attr("src",g.src).attr("data-interchange",""),u.css("visibility","hidden"),a.call(this))},close:function(e,s){e.preventDefault();var n,a,o=function(t){return/blackout/.test(t.selector)?t:t.closest(".clearing-blackout")}(t(s)),r=t(i.body);return s===e.target&&o&&(r.css("overflow",""),n=t("div",o).first(),a=t(".visible-img",n),a.trigger("close.fndtn.clearing"),this.settings.prev_index=0,t("ul["+this.attr_name()+"]",o).attr("style","").closest(".clearing-blackout").removeClass("clearing-blackout"),n.removeClass("clearing-container"),a.hide(),a.trigger("closed.fndtn.clearing")),t("body").off("touchmove"),!1},is_open:function(t){return t.parent().prop("style").length>0},keydown:function(e){var i=t(".clearing-blackout ul["+this.attr_name()+"]"),s=this.rtl?37:39,n=this.rtl?39:37;e.which===s&&this.go(i,"next"),e.which===n&&this.go(i,"prev"),27===e.which&&this.S("a.clearing-close").trigger("click.fndtn.clearing")},nav:function(e,i){var s=t("ul["+this.attr_name()+"]",".clearing-blackout");e.preventDefault(),this.go(s,i)},resize:function(){var e=t("img",".clearing-blackout .visible-img"),i=t(".clearing-touch-label",".clearing-blackout");e.length&&(this.center_and_label(e,i),e.trigger("resized.fndtn.clearing"))},fix_height:function(t){var e=t.parent().children(),i=this;return e.each(function(){var t=i.S(this),e=t.find("img");t.height()>e.outerHeight()&&t.addClass("fix-height")}).closest("ul").width(100*e.length+"%"),this},update_paddles:function(t){t=t.closest("li");var e=t.closest(".carousel").siblings(".visible-img");t.next().length>0?this.S(".clearing-main-next",e).removeClass("disabled"):this.S(".clearing-main-next",e).addClass("disabled"),t.prev().length>0?this.S(".clearing-main-prev",e).removeClass("disabled"):this.S(".clearing-main-prev",e).addClass("disabled")},center_and_label:function(t,e){return!this.rtl&&e.length>0?e.css({marginLeft:-e.outerWidth()/2,marginTop:-t.outerHeight()/2-e.outerHeight()-10}):e.css({marginRight:-e.outerWidth()/2,marginTop:-t.outerHeight()/2-e.outerHeight()-10,left:"auto",right:"50%"}),this},load:function(t){var e,i,s;return"A"===t[0].nodeName?(e=t.attr("href"),i=t.data("clearing-interchange")):(s=t.closest("a"),e=s.attr("href"),i=s.data("clearing-interchange")),this.preload(t),{src:e||t.attr("src"),interchange:e?i:t.data("clearing-interchange")}},preload:function(t){this.img(t.closest("li").next(),"next").img(t.closest("li").prev(),"prev")},img:function(e,i){if(e.length){var s,n,a,o=t(".clearing-preload-"+i),r=this.S("a",e);r.length?(s=r.attr("href"),n=r.data("clearing-interchange")):(a=this.S("img",e),s=a.attr("src"),n=a.data("clearing-interchange")),n?o.attr("data-interchange",n):(o.attr("src",s),o.attr("data-interchange",""))}return this},caption:function(t,e){var i=e.attr("data-caption");if(i){t.get(0).innerHTML=i,t.show()}else t.text("").hide();return this},go:function(t,e){var i=this.S(".visible",t),s=i[e]();this.settings.skip_selector&&0!=s.find(this.settings.skip_selector).length&&(s=s[e]()),s.length&&this.S("img",s).trigger("click.fndtn.clearing",[i,s]).trigger("change.fndtn.clearing")},shift:function(t,e,i){var s,n=e.parent(),a=this.settings.prev_index||e.index(),o=this.direction(n,t,e),r=this.rtl?"right":"left",l=parseInt(n.css("left"),10),d=e.outerWidth(),c={};e.index()===a||/skip/.test(o)?/skip/.test(o)&&(s=e.index()-this.settings.up_count,this.lock(),s>0?(c[r]=-s*d,n.animate(c,300,this.unlock())):(c[r]=0,n.animate(c,300,this.unlock()))):/left/.test(o)?(this.lock(),c[r]=l+d,n.animate(c,300,this.unlock())):/right/.test(o)&&(this.lock(),c[r]=l-d,n.animate(c,300,this.unlock())),i()},direction:function(t,e,i){var s,n=this.S("li",t),a=n.outerWidth()+n.outerWidth()/4,o=Math.floor(this.S(".clearing-container").outerWidth()/a)-1,r=n.index(i);return this.settings.up_count=o,s=this.adjacent(this.settings.prev_index,r)?r>o&&r>this.settings.prev_index?"right":r>o-1&&r<=this.settings.prev_index&&"left":"skip",this.settings.prev_index=r,s},adjacent:function(t,e){for(var i=e+1;i>=e-1;i--)if(i===t)return!0;return!1},lock:function(){this.settings.locked=!0},unlock:function(){this.settings.locked=!1},locked:function(){return this.settings.locked},off:function(){this.S(this.scope).off(".fndtn.clearing"),this.S(e).off(".fndtn.clearing")},reflow:function(){this.init()}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.dropdown={name:"dropdown",version:"5.5.3",settings:{active_class:"open",disabled_class:"disabled",mega_class:"mega",align:"bottom",is_hover:!1,hover_timeout:150,opened:function(){},closed:function(){}},init:function(e,i,s){Foundation.inherit(this,"throttle"),t.extend(!0,this.settings,i,s),this.bindings(i,s)},events:function(s){var n=this,a=n.S;a(this.scope).off(".dropdown").on("click.fndtn.dropdown","["+this.attr_name()+"]",function(e){(!(a(this).data(n.attr_name(!0)+"-init")||n.settings).is_hover||Modernizr.touch)&&(e.preventDefault(),a(this).parent("[data-reveal-id]").length&&e.stopPropagation(),n.toggle(t(this)))}).on("mouseenter.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(t){var e,i,s=a(this);clearTimeout(n.timeout),s.data(n.data_attr())?(e=a("#"+s.data(n.data_attr())),i=s):(e=s,i=a("["+n.attr_name()+'="'+e.attr("id")+'"]'));var o=i.data(n.attr_name(!0)+"-init")||n.settings;a(t.currentTarget).data(n.data_attr())&&o.is_hover&&n.closeall.call(n),o.is_hover&&n.open.apply(n,[e,i])}).on("mouseleave.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(t){var e,i=a(this);if(i.data(n.data_attr()))e=i.data(n.data_attr(!0)+"-init")||n.settings;else var s=a("["+n.attr_name()+'="'+a(this).attr("id")+'"]'),e=s.data(n.attr_name(!0)+"-init")||n.settings;n.timeout=setTimeout(function(){i.data(n.data_attr())?e.is_hover&&n.close.call(n,a("#"+i.data(n.data_attr()))):e.is_hover&&n.close.call(n,i)}.bind(this),e.hover_timeout)}).on("click.fndtn.dropdown",function(e){var s=a(e.target).closest("["+n.attr_name()+"-content]");return s.find("a").length>0&&"false"!==s.attr("aria-autoclose")&&n.close.call(n,a("["+n.attr_name()+"-content]")),e.target!==i&&!t.contains(i.documentElement,e.target)||a(e.target).closest("["+n.attr_name()+"]").length>0?void 0:!a(e.target).data("revealId")&&s.length>0&&(a(e.target).is("["+n.attr_name()+"-content]")||t.contains(s.first()[0],e.target))?void e.stopPropagation():void n.close.call(n,a("["+n.attr_name()+"-content]"))}).on("opened.fndtn.dropdown","["+n.attr_name()+"-content]",function(){n.settings.opened.call(this)}).on("closed.fndtn.dropdown","["+n.attr_name()+"-content]",function(){n.settings.closed.call(this)}),a(e).off(".dropdown").on("resize.fndtn.dropdown",n.throttle(function(){n.resize.call(n)},50)),this.resize()},close:function(e){var i=this;e.each(function(s){(t("["+i.attr_name()+"="+e[s].id+"]")||t("aria-controls="+e[s].id+"]")).attr("aria-expanded","false"),i.S(this).hasClass(i.settings.active_class)&&(i.S(this).css(Foundation.rtl?"right":"left","-99999px").attr("aria-hidden","true").removeClass(i.settings.active_class).prev("["+i.attr_name()+"]").removeClass(i.settings.active_class).removeData("target"),i.S(this).trigger("closed.fndtn.dropdown",[e]))}),e.removeClass("f-open-"+this.attr_name(!0))},closeall:function(){var e=this;t.each(e.S(".f-open-"+this.attr_name(!0)),function(){e.close.call(e,e.S(this))})},open:function(t,e){this.css(t.addClass(this.settings.active_class),e),t.prev("["+this.attr_name()+"]").addClass(this.settings.active_class),t.data("target",e.get(0)).trigger("opened.fndtn.dropdown",[t,e]),t.attr("aria-hidden","false"),e.attr("aria-expanded","true"),t.focus(),t.addClass("f-open-"+this.attr_name(!0))},data_attr:function(){return this.namespace.length>0?this.namespace+"-"+this.name:this.name},toggle:function(t){if(!t.hasClass(this.settings.disabled_class)){var e=this.S("#"+t.data(this.data_attr()));0!==e.length&&(this.close.call(this,this.S("["+this.attr_name()+"-content]").not(e)),e.hasClass(this.settings.active_class)?(this.close.call(this,e),
+e.data("target")!==t.get(0)&&this.open.call(this,e,t)):this.open.call(this,e,t))}},resize:function(){var e=this.S("["+this.attr_name()+"-content].open"),i=t(e.data("target"));e.length&&i.length&&this.css(e,i)},css:function(t,e){var i=Math.max((e.width()-t.width())/2,8),s=e.data(this.attr_name(!0)+"-init")||this.settings,n=t.parent().css("overflow-y")||t.parent().css("overflow");if(this.clear_idx(),this.small()){var a=this.dirs.bottom.call(t,e,s);t.attr("style","").removeClass("drop-left drop-right drop-top").css({position:"absolute",width:"95%","max-width":"none",top:a.top}),t.css(Foundation.rtl?"right":"left",i)}else if("visible"!==n){var o=e[0].offsetTop+e[0].offsetHeight;t.attr("style","").css({position:"absolute",top:o}),t.css(Foundation.rtl?"right":"left",i)}else this.style(t,e,s);return t},style:function(e,i,s){var n=t.extend({position:"absolute"},this.dirs[s.align].call(e,i,s));e.attr("style","").css(n)},dirs:{_base:function(t,s){var n=this.offsetParent(),a=n.offset(),o=t.offset();o.top-=a.top,o.left-=a.left,o.missRight=!1,o.missTop=!1,o.missLeft=!1,o.leftRightFlag=!1;var r,l=e.innerWidth;r=i.getElementsByClassName("row")[0]?i.getElementsByClassName("row")[0].clientWidth:l;var d=(l-r)/2;if(!this.hasClass("mega")&&!s.ignore_repositioning){var c=this.outerWidth(),h=t.offset().left;t.offset().top<=this.outerHeight()&&(o.missTop=!0,l-d,o.leftRightFlag=!0),h+c>h+d&&h-d>c&&(o.missRight=!0,o.missLeft=!1),0>=h-c&&(o.missLeft=!0,o.missRight=!1)}return o},top:function(t,e){var i=Foundation.libs.dropdown,s=i.dirs._base.call(this,t,e);return this.addClass("drop-top"),1==s.missTop&&(s.top=s.top+t.outerHeight()+this.outerHeight(),this.removeClass("drop-top")),1==s.missRight&&(s.left=s.left-this.outerWidth()+t.outerWidth()),(t.outerWidth()<this.outerWidth()||i.small()||this.hasClass(e.mega_menu))&&i.adjust_pip(this,t,e,s),Foundation.rtl?{left:s.left-this.outerWidth()+t.outerWidth(),top:s.top-this.outerHeight()}:{left:s.left,top:s.top-this.outerHeight()}},bottom:function(t,e){var i=Foundation.libs.dropdown,s=i.dirs._base.call(this,t,e);return 1==s.missRight&&(s.left=s.left-this.outerWidth()+t.outerWidth()),(t.outerWidth()<this.outerWidth()||i.small()||this.hasClass(e.mega_menu))&&i.adjust_pip(this,t,e,s),i.rtl?{left:s.left-this.outerWidth()+t.outerWidth(),top:s.top+t.outerHeight()}:{left:s.left,top:s.top+t.outerHeight()}},left:function(t,e){var i=Foundation.libs.dropdown.dirs._base.call(this,t,e);return this.addClass("drop-left"),1==i.missLeft&&(i.left=i.left+this.outerWidth(),i.top=i.top+t.outerHeight(),this.removeClass("drop-left")),{left:i.left-this.outerWidth(),top:i.top}},right:function(t,e){var i=Foundation.libs.dropdown.dirs._base.call(this,t,e);this.addClass("drop-right"),1==i.missRight?(i.left=i.left-this.outerWidth(),i.top=i.top+t.outerHeight(),this.removeClass("drop-right")):i.triggeredRight=!0;var s=Foundation.libs.dropdown;return(t.outerWidth()<this.outerWidth()||s.small()||this.hasClass(e.mega_menu))&&s.adjust_pip(this,t,e,i),{left:i.left+t.outerWidth(),top:i.top}}},adjust_pip:function(t,e,i,s){var n=Foundation.stylesheet,a=8;t.hasClass(i.mega_class)?a=s.left+e.outerWidth()/2-8:this.small()&&(a+=s.left-8),this.rule_idx=n.cssRules.length;var o=".f-dropdown.open:before",r=".f-dropdown.open:after",l="left: "+a+"px;",d="left: "+(a-1)+"px;";1==s.missRight&&(a=t.outerWidth()-23,o=".f-dropdown.open:before",r=".f-dropdown.open:after",l="left: "+a+"px;",d="left: "+(a-1)+"px;"),1==s.triggeredRight&&(o=".f-dropdown.open:before",r=".f-dropdown.open:after",l="left:-12px;",d="left:-14px;"),n.insertRule?(n.insertRule([o,"{",l,"}"].join(" "),this.rule_idx),n.insertRule([r,"{",d,"}"].join(" "),this.rule_idx+1)):(n.addRule(o,l,this.rule_idx),n.addRule(r,d,this.rule_idx+1))},clear_idx:function(){var t=Foundation.stylesheet;void 0!==this.rule_idx&&(t.deleteRule(this.rule_idx),t.deleteRule(this.rule_idx),delete this.rule_idx)},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},off:function(){this.S(this.scope).off(".fndtn.dropdown"),this.S("html, body").off(".fndtn.dropdown"),this.S(e).off(".fndtn.dropdown"),this.S("[data-dropdown-content]").off(".fndtn.dropdown")},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.equalizer={name:"equalizer",version:"5.5.3",settings:{use_tallest:!0,before_height_change:t.noop,after_height_change:t.noop,equalize_on_stack:!1,act_on_hidden_el:!1},init:function(t,e,i){Foundation.inherit(this,"image_loaded"),this.bindings(e,i),this.reflow()},events:function(){this.S(e).off(".equalizer").on("resize.fndtn.equalizer",function(t){this.reflow()}.bind(this))},equalize:function(e){var i,s,n=!1,a=e.data("equalizer"),o=e.data(this.attr_name(!0)+"-init")||this.settings;if(i=o.act_on_hidden_el?a?e.find("["+this.attr_name()+'-watch="'+a+'"]'):e.find("["+this.attr_name()+"-watch]"):a?e.find("["+this.attr_name()+'-watch="'+a+'"]:visible'):e.find("["+this.attr_name()+"-watch]:visible"),0!==i.length&&(o.before_height_change(),e.trigger("before-height-change.fndth.equalizer"),i.height("inherit"),!1!==o.equalize_on_stack||(s=i.first().offset().top,i.each(function(){return t(this).offset().top!==s?(n=!0,!1):void 0}),!n))){var r=i.map(function(){return t(this).outerHeight(!1)}).get();if(o.use_tallest){var l=Math.max.apply(null,r);i.css("height",l)}else{var d=Math.min.apply(null,r);i.css("height",d)}o.after_height_change(),e.trigger("after-height-change.fndtn.equalizer")}},reflow:function(){var e=this;this.S("["+this.attr_name()+"]",this.scope).each(function(){var i=t(this),s=i.data("equalizer-mq"),n=!0;s&&(s="is_"+s.replace(/-/g,"_"),Foundation.utils.hasOwnProperty(s)&&(n=!1)),e.image_loaded(e.S("img",this),function(){if(n||Foundation.utils[s]())e.equalize(i);else{i.find("["+e.attr_name()+"-watch]:visible").css("height","auto")}})})}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.interchange={name:"interchange",version:"5.5.3",cache:{},images_loaded:!1,nodes_loaded:!1,settings:{load_attr:"interchange",named_queries:{default:"only screen",small:Foundation.media_queries.small,"small-only":Foundation.media_queries["small-only"],medium:Foundation.media_queries.medium,"medium-only":Foundation.media_queries["medium-only"],large:Foundation.media_queries.large,"large-only":Foundation.media_queries["large-only"],xlarge:Foundation.media_queries.xlarge,"xlarge-only":Foundation.media_queries["xlarge-only"],xxlarge:Foundation.media_queries.xxlarge,landscape:"only screen and (orientation: landscape)",portrait:"only screen and (orientation: portrait)",retina:"only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx)"},directives:{replace:function(e,i,s){if(null!==e&&/IMG/.test(e[0].nodeName)){var n=t.each(e,function(){this.src=i});if(new RegExp(i,"i").test(n))return;return e.attr("src",i),s(e[0].src)}var a=this;if(e.data(this.data_attr+"-last-path")!=i)return/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(i)?(t(e).css("background-image","url("+i+")"),e.data("interchange-last-path",i),s(i)):t.get(i,function(t){e.html(t),e.data(a.data_attr+"-last-path",i),s()})}}},init:function(e,i,s){Foundation.inherit(this,"throttle random_str"),this.data_attr=this.set_data_attr(),t.extend(!0,this.settings,i,s),this.bindings(i,s),this.reflow()},get_media_hash:function(){var t="";for(var e in this.settings.named_queries)t+=matchMedia(this.settings.named_queries[e]).matches.toString();return t},events:function(){var i,s=this;return t(e).off(".interchange").on("resize.fndtn.interchange",s.throttle(function(){var t=s.get_media_hash();t!==i&&s.resize(),i=t},50)),this},resize:function(){var e=this.cache;if(!this.images_loaded||!this.nodes_loaded)return void setTimeout(t.proxy(this.resize,this),50);for(var i in e)if(e.hasOwnProperty(i)){var s=this.results(i,e[i]);s&&this.settings.directives[s.scenario[1]].call(this,s.el,s.scenario[0],function(t){if(arguments[0]instanceof Array)var e=arguments[0];else var e=Array.prototype.slice.call(arguments,0);return function(){t.el.trigger(t.scenario[1],e)}}(s))}},results:function(t,e){var i=e.length;if(i>0)for(var s=this.S("["+this.add_namespace("data-uuid")+'="'+t+'"]');i--;){var n,a=e[i][2];if(n=this.settings.named_queries.hasOwnProperty(a)?matchMedia(this.settings.named_queries[a]):matchMedia(a),n.matches)return{el:s,scenario:e[i]}}return!1},load:function(t,e){return(void 0===this["cached_"+t]||e)&&this["update_"+t](),this["cached_"+t]},update_images:function(){var t=this.S("img["+this.data_attr+"]"),e=t.length,i=e,s=0,n=this.data_attr;for(this.cache={},this.cached_images=[],this.images_loaded=0===e;i--;){if(s++,t[i]){(t[i].getAttribute(n)||"").length>0&&this.cached_images.push(t[i])}s===e&&(this.images_loaded=!0,this.enhance("images"))}return this},update_nodes:function(){var t=this.S("["+this.data_attr+"]").not("img"),e=t.length,i=e,s=0,n=this.data_attr;for(this.cached_nodes=[],this.nodes_loaded=0===e;i--;){s++;(t[i].getAttribute(n)||"").length>0&&this.cached_nodes.push(t[i]),s===e&&(this.nodes_loaded=!0,this.enhance("nodes"))}return this},enhance:function(i){for(var s=this["cached_"+i].length;s--;)this.object(t(this["cached_"+i][s]));return t(e).trigger("resize.fndtn.interchange")},convert_directive:function(t){var e=this.trim(t);return e.length>0?e:"replace"},parse_scenario:function(t){var e=t[0].match(/(.+),\s*(\w+)\s*$/),i=t[1].match(/(.*)\)/);if(e)var s=e[1],n=e[2];else var a=t[0].split(/,\s*$/),s=a[0],n="";return[this.trim(s),this.convert_directive(n),this.trim(i[1])]},object:function(t){var e=this.parse_data_attr(t),i=[],s=e.length;if(s>0)for(;s--;){var n=e[s].split(/,\s?\(/);if(n.length>1){var a=this.parse_scenario(n);i.push(a)}}return this.store(t,i)},store:function(t,e){var i=this.random_str(),s=t.data(this.add_namespace("uuid",!0));return this.cache[s]?this.cache[s]:(t.attr(this.add_namespace("data-uuid"),i),this.cache[i]=e)},trim:function(e){return"string"==typeof e?t.trim(e):e},set_data_attr:function(t){return t?this.namespace.length>0?this.namespace+"-"+this.settings.load_attr:this.settings.load_attr:this.namespace.length>0?"data-"+this.namespace+"-"+this.settings.load_attr:"data-"+this.settings.load_attr},parse_data_attr:function(t){for(var e=t.attr(this.attr_name()).split(/\[(.*?)\]/),i=e.length,s=[];i--;)e[i].replace(/[\W\d]+/,"").length>4&&s.push(e[i]);return s},reflow:function(){this.load("images",!0),this.load("nodes",!0)}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.joyride={name:"joyride",version:"5.5.3",defaults:{expose:!1,modal:!0,keyboard:!0,tip_location:"bottom",nub_position:"auto",scroll_speed:1500,scroll_animation:"linear",timer:0,start_timer_on_click:!0,start_offset:0,next_button:!0,prev_button:!0,tip_animation:"fade",pause_after:[],exposed:[],tip_animation_fade_speed:300,cookie_monster:!1,cookie_name:"joyride",cookie_domain:!1,cookie_expires:365,tip_container:"body",abort_on_close:!0,tip_location_patterns:{top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},post_ride_callback:function(){},post_step_callback:function(){},pre_step_callback:function(){},pre_ride_callback:function(){},post_expose_callback:function(){},template:{link:'<a href="#close" class="joyride-close-tip">&times;</a>',timer:'<div class="joyride-timer-indicator-wrap"><span class="joyride-timer-indicator"></span></div>',tip:'<div class="joyride-tip-guide"><span class="joyride-nub"></span></div>',wrapper:'<div class="joyride-content-wrapper"></div>',button:'<a href="#" class="small button joyride-next-tip"></a>',prev_button:'<a href="#" class="small button joyride-prev-tip"></a>',modal:'<div class="joyride-modal-bg"></div>',expose:'<div class="joyride-expose-wrapper"></div>',expose_cover:'<div class="joyride-expose-cover"></div>'},expose_add_class:""},init:function(e,i,s){Foundation.inherit(this,"throttle random_str"),this.settings=this.settings||t.extend({},this.defaults,s||i),this.bindings(i,s)},go_next:function(){this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())},go_prev:function(){this.settings.$li.prev().length<1||(this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(null,!0),this.startTimer()):(this.hide(),this.show(null,!0)))},events:function(){var i=this;t(this.scope).off(".joyride").on("click.fndtn.joyride",".joyride-next-tip, .joyride-modal-bg",function(t){t.preventDefault(),this.go_next()}.bind(this)).on("click.fndtn.joyride",".joyride-prev-tip",function(t){t.preventDefault(),this.go_prev()}.bind(this)).on("click.fndtn.joyride",".joyride-close-tip",function(t){t.preventDefault(),this.end(this.settings.abort_on_close)}.bind(this)).on("keyup.fndtn.joyride",function(t){if(this.settings.keyboard&&this.settings.riding)switch(t.which){case 39:t.preventDefault(),this.go_next();break;case 37:t.preventDefault(),this.go_prev();break;case 27:t.preventDefault(),this.end(this.settings.abort_on_close)}}.bind(this)),t(e).off(".joyride").on("resize.fndtn.joyride",i.throttle(function(){if(t("["+i.attr_name()+"]").length>0&&i.settings.$next_tip&&i.settings.riding){if(i.settings.exposed.length>0){t(i.settings.exposed).each(function(){var e=t(this);i.un_expose(e),i.expose(e)})}i.is_phone()?i.pos_phone():i.pos_default(!1)}},100))},start:function(){var e=this,i=t("["+this.attr_name()+"]",this.scope),s=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],n=s.length;!i.length>0||(this.settings.init||this.events(),this.settings=i.data(this.attr_name(!0)+"-init"),this.settings.$content_el=i,this.settings.$body=t(this.settings.tip_container),this.settings.body_offset=t(this.settings.tip_container).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,this.settings.riding=!0,"function"!=typeof t.cookie&&(this.settings.cookie_monster=!1),(!this.settings.cookie_monster||this.settings.cookie_monster&&!t.cookie(this.settings.cookie_name))&&(this.settings.$tip_content.each(function(i){var a=t(this);this.settings=t.extend({},e.defaults,e.data_options(a));for(var o=n;o--;)e.settings[s[o]]=parseInt(e.settings[s[o]],10);e.create({$li:a,index:i})}),!this.settings.start_timer_on_click&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")))},resume:function(){this.set_li(),this.show()},tip_template:function(e){var i,s;return e.tip_class=e.tip_class||"",i=t(this.settings.template.tip).addClass(e.tip_class),s=t.trim(t(e.li).html())+this.prev_button_text(e.prev_button_text,e.index)+this.button_text(e.button_text)+this.settings.template.link+this.timer_instance(e.index),i.append(t(this.settings.template.wrapper)),i.first().attr(this.add_namespace("data-index"),e.index),t(".joyride-content-wrapper",i).append(s),i[0]},timer_instance:function(e){return 0===e&&this.settings.start_timer_on_click&&this.settings.timer>0||0===this.settings.timer?"":t(this.settings.template.timer)[0].outerHTML},button_text:function(e){return this.settings.tip_settings.next_button?(e=t.trim(e)||"Next",e=t(this.settings.template.button).append(e)[0].outerHTML):e="",e},prev_button_text:function(e,i){return this.settings.tip_settings.prev_button?(e=t.trim(e)||"Previous",e=0==i?t(this.settings.template.prev_button).append(e).addClass("disabled")[0].outerHTML:t(this.settings.template.prev_button).append(e)[0].outerHTML):e="",e},create:function(e){this.settings.tip_settings=t.extend({},this.settings,this.data_options(e.$li));var i=e.$li.attr(this.add_namespace("data-button"))||e.$li.attr(this.add_namespace("data-text")),s=e.$li.attr(this.add_namespace("data-button-prev"))||e.$li.attr(this.add_namespace("data-prev-text")),n=e.$li.attr("class"),a=t(this.tip_template({tip_class:n,index:e.index,button_text:i,prev_button_text:s,li:e.$li}));t(this.settings.tip_container).append(a)},show:function(e,i){var n=null;if(this.settings.$li===s||-1===t.inArray(this.settings.$li.index(),this.settings.pause_after))if(this.settings.paused?this.settings.paused=!1:this.set_li(e,i),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0){if(e&&(this.settings.pre_ride_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.pre_step_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tip_settings=t.extend({},this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tip_settings.tip_location_pattern=this.settings.tip_location_patterns[this.settings.tip_settings.tip_location],!/body/i.test(this.settings.$target.selector)&&!this.settings.expose){var a=t(".joyride-modal-bg");/pop/i.test(this.settings.tipAnimation)?a.hide():a.fadeOut(this.settings.tipAnimationFadeSpeed),this.scroll_to()}this.is_phone()?this.pos_phone(!0):this.pos_default(!0),n=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tip_animation)?(n.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),setTimeout(function(){n.animate({width:n.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tip_animation)&&(n.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed).show(),setTimeout(function(){n.animate({width:n.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed)),this.settings.$current_tip=this.settings.$next_tip}else this.settings.$li&&this.settings.$target.length<1?this.show(e,i):this.end();else this.settings.paused=!0},is_phone:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||t(".joyride-modal-bg").hide(),this.settings.$current_tip.css("visibility","hidden"),setTimeout(t.proxy(function(){this.hide(),this.css("visibility","visible")},this.settings.$current_tip),0),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(t,e){t?(this.settings.$li=this.settings.$tip_content.eq(this.settings.start_offset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(this.settings.$li=e?this.settings.$li.prev():this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=t(".joyride-tip-guide").eq(this.settings.$li.index()),this.settings.$next_tip.data("closed","")},set_target:function(){var e=this.settings.$li.attr(this.add_namespace("data-class")),s=this.settings.$li.attr(this.add_namespace("data-id"));this.settings.$target=function(){return s?t(i.getElementById(s)):e?t("."+e).first():t("body")}()},scroll_to:function(){var i,s;i=t(e).height()/2,0!=(s=Math.ceil(this.settings.$target.offset().top-i+this.settings.$next_tip.outerHeight()))&&t("html, body").stop().animate({scrollTop:s},this.settings.scroll_speed,"swing")},paused:function(){return-1===t.inArray(this.settings.$li.index()+1,this.settings.pause_after)},restart:function(){this.hide(),this.settings.$li=s,this.show("init")},pos_default:function(t){var e=this.settings.$next_tip.find(".joyride-nub"),i=Math.ceil(e.outerWidth()/2),s=Math.ceil(e.outerHeight()/2),n=t||!1;if(n&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),/body/i.test(this.settings.$target.selector))this.settings.$li.length&&this.pos_modal(e);else{var a=this.settings.tip_settings.tipAdjustmentY?parseInt(this.settings.tip_settings.tipAdjustmentY):0,o=this.settings.tip_settings.tipAdjustmentX?parseInt(this.settings.tip_settings.tipAdjustmentX):0;this.bottom()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top+s+this.settings.$target.outerHeight()+a,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()+o}):this.settings.$next_tip.css({top:this.settings.$target.offset().top+s+this.settings.$target.outerHeight()+a,left:this.settings.$target.offset().left+o}),this.nub_position(e,this.settings.tip_settings.nub_position,"top")):this.top()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-s+a,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()}):this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-s+a,left:this.settings.$target.offset().left+o}),this.nub_position(e,this.settings.tip_settings.nub_position,"bottom")):this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top+a,left:this.settings.$target.outerWidth()+this.settings.$target.offset().left+i+o}),this.nub_position(e,this.settings.tip_settings.nub_position,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top+a,left:this.settings.$target.offset().left-this.settings.$next_tip.outerWidth()-i+o}),this.nub_position(e,this.settings.tip_settings.nub_position,"right")),!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts<this.settings.tip_settings.tip_location_pattern.length&&(e.removeClass("bottom").removeClass("top").removeClass("right").removeClass("left"),this.settings.tip_settings.tip_location=this.settings.tip_settings.tip_location_pattern[this.settings.attempts],this.settings.attempts++,this.pos_default())}n&&(this.settings.$next_tip.hide(),this.settings.$next_tip.css("visibility","visible"))},pos_phone:function(e){var i=this.settings.$next_tip.outerHeight(),s=(this.settings.$next_tip.offset(),this.settings.$target.outerHeight()),n=t(".joyride-nub",this.settings.$next_tip),a=Math.ceil(n.outerHeight()/2),o=e||!1;n.removeClass("bottom").removeClass("top").removeClass("right").removeClass("left"),o&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),/body/i.test(this.settings.$target.selector)?this.settings.$li.length&&this.pos_modal(n):this.top()?(this.settings.$next_tip.offset({top:this.settings.$target.offset().top-i-a}),n.addClass("bottom")):(this.settings.$next_tip.offset({top:this.settings.$target.offset().top+s+a}),n.addClass("top")),o&&(this.settings.$next_tip.hide(),this.settings.$next_tip.css("visibility","visible"))},pos_modal:function(t){this.center(),t.hide(),this.show_modal()},show_modal:function(){if(!this.settings.$next_tip.data("closed")){var e=t(".joyride-modal-bg");if(e.length<1){var e=t(this.settings.template.modal);e.appendTo("body")}/pop/i.test(this.settings.tip_animation)?e.show():e.fadeIn(this.settings.tip_animation_fade_speed)}},expose:function(){var i,s,n,a,o,r="expose-"+this.random_str(6);if(arguments.length>0&&arguments[0]instanceof t)n=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;n=this.settings.$target}return n.length<1?(e.console&&console.error("element not valid",n),!1):(i=t(this.settings.template.expose),this.settings.$body.append(i),i.css({top:n.offset().top,left:n.offset().left,width:n.outerWidth(!0),height:n.outerHeight(!0)}),s=t(this.settings.template.expose_cover),a={zIndex:n.css("z-index"),position:n.css("position")},o=null==n.attr("class")?"":n.attr("class"),n.css("z-index",parseInt(i.css("z-index"))+1),"static"==a.position&&n.css("position","relative"),n.data("expose-css",a),n.data("orig-class",o),n.attr("class",o+" "+this.settings.expose_add_class),s.css({top:n.offset().top,left:n.offset().left,width:n.outerWidth(!0),height:n.outerHeight(!0)}),this.settings.modal&&this.show_modal(),this.settings.$body.append(s),i.addClass(r),s.addClass(r),n.data("expose",r),this.settings.post_expose_callback(this.settings.$li.index(),this.settings.$next_tip,n),void this.add_exposed(n))},un_expose:function(){var i,s,n,a,o,r=!1;if(arguments.length>0&&arguments[0]instanceof t)s=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;s=this.settings.$target}return s.length<1?(e.console&&console.error("element not valid",s),!1):(i=s.data("expose"),n=t("."+i),arguments.length>1&&(r=arguments[1]),!0===r?t(".joyride-expose-wrapper,.joyride-expose-cover").remove():n.remove(),a=s.data("expose-css"),"auto"==a.zIndex?s.css("z-index",""):s.css("z-index",a.zIndex),a.position!=s.css("position")&&("static"==a.position?s.css("position",""):s.css("position",a.position)),o=s.data("orig-class"),s.attr("class",o),s.removeData("orig-classes"),s.removeData("expose"),s.removeData("expose-z-index"),void this.remove_exposed(s))},add_exposed:function(e){this.settings.exposed=this.settings.exposed||[],e instanceof t||"object"==typeof e?this.settings.exposed.push(e[0]):"string"==typeof e&&this.settings.exposed.push(e)},remove_exposed:function(e){var i,s;for(e instanceof t?i=e[0]:"string"==typeof e&&(i=e),this.settings.exposed=this.settings.exposed||[],s=this.settings.exposed.length;s--;)if(this.settings.exposed[s]==i)return void this.settings.exposed.splice(s,1)},center:function(){var i=t(e);return this.settings.$next_tip.css({top:(i.height()-this.settings.$next_tip.outerHeight())/2+i.scrollTop(),left:(i.width()-this.settings.$next_tip.outerWidth())/2+i.scrollLeft()}),!0},bottom:function(){return/bottom/i.test(this.settings.tip_settings.tip_location)},top:function(){return/top/i.test(this.settings.tip_settings.tip_location)},right:function(){return/right/i.test(this.settings.tip_settings.tip_location)},left:function(){return/left/i.test(this.settings.tip_settings.tip_location)},corners:function(i){if(0===i.length)return[!1,!1,!1,!1];var s=t(e),n=s.height()/2,a=Math.ceil(this.settings.$target.offset().top-n+this.settings.$next_tip.outerHeight()),o=s.width()+s.scrollLeft(),r=s.height()+a,l=s.height()+s.scrollTop(),d=s.scrollTop();return d>a&&(d=0>a?0:a),r>l&&(l=r),[i.offset().top<d,o<i.offset().left+i.outerWidth(),l<i.offset().top+i.outerHeight(),s.scrollLeft()>i.offset().left]},visible:function(t){for(var e=t.length;e--;)if(t[e])return!1;return!0},nub_position:function(t,e,i){"auto"===e?t.addClass(i):t.addClass(e)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(e){this.settings.cookie_monster&&t.cookie(this.settings.cookie_name,"ridden",{expires:this.settings.cookie_expires,domain:this.settings.cookie_domain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),t(this.scope).off("keyup.joyride"),this.settings.$next_tip.data("closed",!0),this.settings.riding=!1,t(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),(void 0===e||!1===e)&&(this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip),this.settings.post_ride_callback(this.settings.$li.index(),this.settings.$current_tip)),t(".joyride-tip-guide").remove()},off:function(){t(this.scope).off(".joyride"),t(e).off(".joyride"),t(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),t(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate)},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs["magellan-expedition"]={name:"magellan-expedition",version:"5.5.3",settings:{active_class:"active",threshold:0,destination_threshold:20,throttle_delay:30,fixed_top:0,offset_by_height:!0,duration:700,easing:"swing"},init:function(t,e,i){Foundation.inherit(this,"throttle"),this.bindings(e,i)},events:function(){var e=this,i=e.S,s=e.settings;e.set_expedition_position(),i(e.scope).off(".magellan").on("click.fndtn.magellan","["+e.add_namespace("data-magellan-arrival")+"] a[href*=#]",function(i){var s=this.hostname===location.hostname||!this.hostname,n=e.filterPathname(location.pathname)===e.filterPathname(this.pathname),a=this.hash.replace(/(:|\.|\/)/g,"\\$1"),o=this;if(s&&n&&a){i.preventDefault();var r=t(this).closest("["+e.attr_name()+"]"),l=r.data("magellan-expedition-init"),d=this.hash.split("#").join(""),c=t('a[name="'+d+'"]');0===c.length&&(c=t("#"+d));var h=c.offset().top-l.destination_threshold+1;l.offset_by_height&&(h-=r.outerHeight()),t("html, body").stop().animate({scrollTop:h},l.duration,l.easing,function(){history.pushState?history.pushState(null,null,o.pathname+o.search+"#"+d):location.hash=o.pathname+o.search+"#"+d})}}).on("scroll.fndtn.magellan",e.throttle(this.check_for_arrivals.bind(this),s.throttle_delay))},check_for_arrivals:function(){var t=this;t.update_arrivals(),t.update_expedition_positions()},set_expedition_position:function(){var e=this;t("["+this.attr_name()+"=fixed]",e.scope).each(function(i,s){var n,a,o=t(this),r=o.data("magellan-expedition-init"),l=o.attr("styles");o.attr("style",""),n=o.offset().top+r.threshold,a=parseInt(o.data("magellan-fixed-top")),isNaN(a)||(e.settings.fixed_top=a),o.data(e.data_attr("magellan-top-offset"),n),o.attr("style",l)})},update_expedition_positions:function(){var i=this,s=t(e).scrollTop();t("["+this.attr_name()+"=fixed]",i.scope).each(function(){var e=t(this),n=e.data("magellan-expedition-init"),a=e.attr("style"),o=e.data("magellan-top-offset");if(s+i.settings.fixed_top>=o){var r=e.prev("["+i.add_namespace("data-magellan-expedition-clone")+"]");0===r.length&&(r=e.clone(),r.removeAttr(i.attr_name()),r.attr(i.add_namespace("data-magellan-expedition-clone"),""),e.before(r)),e.css({position:"fixed",top:n.fixed_top}).addClass("fixed")}else e.prev("["+i.add_namespace("data-magellan-expedition-clone")+"]").remove(),e.attr("style",a).css("position","").css("top","").removeClass("fixed")})},update_arrivals:function(){var i=this,s=t(e).scrollTop();t("["+this.attr_name()+"]",i.scope).each(function(){var e=t(this),n=e.data(i.attr_name(!0)+"-init"),a=i.offsets(e,s),o=e.find("["+i.add_namespace("data-magellan-arrival")+"]"),r=!1;a.each(function(t,s){if(s.viewport_offset>=s.top_offset){return e.find("["+i.add_namespace("data-magellan-arrival")+"]").not(s.arrival).removeClass(n.active_class),s.arrival.addClass(n.active_class),r=!0,!0}}),r||o.removeClass(n.active_class)})},offsets:function(e,i){var s=this,n=e.data(s.attr_name(!0)+"-init"),a=i;return e.find("["+s.add_namespace("data-magellan-arrival")+"]").map(function(i,o){var r=t(this).data(s.data_attr("magellan-arrival")),l=t("["+s.add_namespace("data-magellan-destination")+"="+r+"]");if(l.length>0){var d=l.offset().top-n.destination_threshold;return n.offset_by_height&&(d-=e.outerHeight()),d=Math.floor(d),{destination:l,arrival:t(this),top_offset:d,viewport_offset:a}}}).sort(function(t,e){return t.top_offset<e.top_offset?-1:t.top_offset>e.top_offset?1:0})},data_attr:function(t){return this.namespace.length>0?this.namespace+"-"+t:t},off:function(){this.S(this.scope).off(".magellan"),this.S(e).off(".magellan")},filterPathname:function(t){return t=t||"",t.replace(/^\//,"").replace(/(?:index|default).[a-zA-Z]{3,4}$/,"").replace(/\/$/,"")},reflow:function(){var e=this;t("["+e.add_namespace("data-magellan-expedition-clone")+"]",e.scope).remove()}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.offcanvas={name:"offcanvas",version:"5.5.3",settings:{open_method:"move",close_on_click:!1},init:function(t,e,i){this.bindings(e,i)},events:function(){var e=this,i=e.S,s="",n="",a="",o="",r="";"move"===this.settings.open_method?(s="move-",n="right",a="left",o="top",
+r="bottom"):"overlap_single"===this.settings.open_method?(s="offcanvas-overlap-",n="right",a="left",o="top",r="bottom"):"overlap"===this.settings.open_method&&(s="offcanvas-overlap"),i(this.scope).off(".offcanvas").on("click.fndtn.offcanvas",".left-off-canvas-toggle",function(a){e.click_toggle_class(a,s+n),"overlap"!==e.settings.open_method&&i(".left-submenu").removeClass(s+n),t(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".left-off-canvas-menu a",function(a){var o=e.get_settings(a),r=i(this).parent();!o.close_on_click||r.hasClass("has-submenu")||r.hasClass("back")?i(this).parent().hasClass("has-submenu")?(a.preventDefault(),i(this).siblings(".left-submenu").toggleClass(s+n)):r.hasClass("back")&&(a.preventDefault(),r.parent().removeClass(s+n)):(e.hide.call(e,s+n,e.get_wrapper(a)),r.parent().removeClass(s+n)),t(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-toggle",function(n){e.click_toggle_class(n,s+a),"overlap"!==e.settings.open_method&&i(".right-submenu").removeClass(s+a),t(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-menu a",function(n){var o=e.get_settings(n),r=i(this).parent();!o.close_on_click||r.hasClass("has-submenu")||r.hasClass("back")?i(this).parent().hasClass("has-submenu")?(n.preventDefault(),i(this).siblings(".right-submenu").toggleClass(s+a)):r.hasClass("back")&&(n.preventDefault(),r.parent().removeClass(s+a)):(e.hide.call(e,s+a,e.get_wrapper(n)),r.parent().removeClass(s+a)),t(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".top-off-canvas-toggle",function(n){e.click_toggle_class(n,s+r),"overlap"!==e.settings.open_method&&i(".top-submenu").removeClass(s+r),t(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".top-off-canvas-menu a",function(n){var a=e.get_settings(n),o=i(this).parent();!a.close_on_click||o.hasClass("has-submenu")||o.hasClass("back")?i(this).parent().hasClass("has-submenu")?(n.preventDefault(),i(this).siblings(".top-submenu").toggleClass(s+r)):o.hasClass("back")&&(n.preventDefault(),o.parent().removeClass(s+r)):(e.hide.call(e,s+r,e.get_wrapper(n)),o.parent().removeClass(s+r)),t(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-toggle",function(n){e.click_toggle_class(n,s+o),"overlap"!==e.settings.open_method&&i(".bottom-submenu").removeClass(s+o),t(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-menu a",function(n){var a=e.get_settings(n),r=i(this).parent();!a.close_on_click||r.hasClass("has-submenu")||r.hasClass("back")?i(this).parent().hasClass("has-submenu")?(n.preventDefault(),i(this).siblings(".bottom-submenu").toggleClass(s+o)):r.hasClass("back")&&(n.preventDefault(),r.parent().removeClass(s+o)):(e.hide.call(e,s+o,e.get_wrapper(n)),r.parent().removeClass(s+o)),t(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(o){e.click_remove_class(o,s+a),i(".right-submenu").removeClass(s+a),n&&(e.click_remove_class(o,s+n),i(".left-submenu").removeClass(s+a)),t(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(i){e.click_remove_class(i,s+a),t(".left-off-canvas-toggle").attr("aria-expanded","false"),n&&(e.click_remove_class(i,s+n),t(".right-off-canvas-toggle").attr("aria-expanded","false"))}).on("click.fndtn.offcanvas",".exit-off-canvas",function(n){e.click_remove_class(n,s+o),i(".bottom-submenu").removeClass(s+o),r&&(e.click_remove_class(n,s+r),i(".top-submenu").removeClass(s+o)),t(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(i){e.click_remove_class(i,s+o),t(".top-off-canvas-toggle").attr("aria-expanded","false"),r&&(e.click_remove_class(i,s+r),t(".bottom-off-canvas-toggle").attr("aria-expanded","false"))})},toggle:function(t,e){e=e||this.get_wrapper(),e.is("."+t)?this.hide(t,e):this.show(t,e)},show:function(t,e){e=e||this.get_wrapper(),e.trigger("open.fndtn.offcanvas"),e.addClass(t)},hide:function(t,e){e=e||this.get_wrapper(),e.trigger("close.fndtn.offcanvas"),e.removeClass(t)},click_toggle_class:function(t,e){t.preventDefault();var i=this.get_wrapper(t);this.toggle(e,i)},click_remove_class:function(t,e){t.preventDefault();var i=this.get_wrapper(t);this.hide(e,i)},get_settings:function(t){return this.S(t.target).closest("["+this.attr_name()+"]").data(this.attr_name(!0)+"-init")||this.settings},get_wrapper:function(t){var e=this.S(t?t.target:this.scope).closest(".off-canvas-wrap");return 0===e.length&&(e=this.S(".off-canvas-wrap")),e},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";var n=function(){},a=function(s,n){if(s.hasClass(n.slides_container_class))return this;var a,d,c,h,u,f,p=this,g=s,_=0,m=!1;p.slides=function(){return g.children(n.slide_selector)},p.slides().first().addClass(n.active_slide_class),p.update_slide_number=function(e){n.slide_number&&(d.find("span:first").text(parseInt(e)+1),d.find("span:last").text(p.slides().length)),n.bullets&&(c.children().removeClass(n.bullets_active_class),t(c.children().get(e)).addClass(n.bullets_active_class))},p.update_active_link=function(e){var i=t('[data-orbit-link="'+p.slides().eq(e).attr("data-orbit-slide")+'"]');i.siblings().removeClass(n.bullets_active_class),i.addClass(n.bullets_active_class)},p.build_markup=function(){g.wrap('<div class="'+n.container_class+'"></div>'),a=g.parent(),g.addClass(n.slides_container_class),n.stack_on_small&&a.addClass(n.stack_on_small_class),n.navigation_arrows&&(a.append(t('<a href="#"><span></span></a>').addClass(n.prev_class)),a.append(t('<a href="#"><span></span></a>').addClass(n.next_class))),n.timer&&(h=t("<div>").addClass(n.timer_container_class),h.append("<span>"),h.append(t("<div>").addClass(n.timer_progress_class)),h.addClass(n.timer_paused_class),a.append(h)),n.slide_number&&(d=t("<div>").addClass(n.slide_number_class),d.append("<span></span> "+n.slide_number_text+" <span></span>"),a.append(d)),n.bullets&&(c=t("<ol>").addClass(n.bullets_container_class),a.append(c),c.wrap('<div class="orbit-bullets-container"></div>'),p.slides().each(function(e,i){var s=t("<li>").attr("data-orbit-slide",e).on("click",p.link_bullet);c.append(s)}))},p._goto=function(e,i){if(e===_)return!1;"object"==typeof f&&f.restart();var s=p.slides(),a="next";if(m=!0,_>e&&(a="prev"),e>=s.length){if(!n.circular)return!1;e=0}else if(0>e){if(!n.circular)return!1;e=s.length-1}var o=t(s.get(_)),r=t(s.get(e));o.css("zIndex",2),o.removeClass(n.active_slide_class),r.css("zIndex",4).addClass(n.active_slide_class),g.trigger("before-slide-change.fndtn.orbit"),n.before_slide_change(),p.update_active_link(e);var l=function(){var t=function(){_=e,m=!1,!0===i&&(f=p.create_timer(),f.start()),p.update_slide_number(_),g.trigger("after-slide-change.fndtn.orbit",[{slide_number:_,total_slides:s.length}]),n.after_slide_change(_,s.length)};g.outerHeight()!=r.outerHeight()&&n.variable_height?g.animate({height:r.outerHeight()},250,"linear",t):t()};if(1===s.length)return l(),!1;var d=function(){"next"===a&&u.next(o,r,l),"prev"===a&&u.prev(o,r,l)};r.outerHeight()>g.outerHeight()&&n.variable_height?g.animate({height:r.outerHeight()},250,"linear",d):d()},p.next=function(t){t.stopImmediatePropagation(),t.preventDefault(),p._goto(_+1)},p.prev=function(t){t.stopImmediatePropagation(),t.preventDefault(),p._goto(_-1)},p.link_custom=function(e){e.preventDefault();var i=t(this).attr("data-orbit-link");if("string"==typeof i&&""!=(i=t.trim(i))){var s=a.find("[data-orbit-slide="+i+"]");-1!=s.index()&&p._goto(s.index())}},p.link_bullet=function(e){var i=t(this).attr("data-orbit-slide");if("string"==typeof i&&""!=(i=t.trim(i)))if(isNaN(parseInt(i))){var s=a.find("[data-orbit-slide="+i+"]");-1!=s.index()&&p._goto(s.index()+1)}else p._goto(parseInt(i))},p.timer_callback=function(){p._goto(_+1,!0)},p.compute_dimensions=function(){var e=t(p.slides().get(_)),i=e.outerHeight();n.variable_height||p.slides().each(function(){t(this).outerHeight()>i&&(i=t(this).outerHeight())}),g.height(i)},p.create_timer=function(){return new o(a.find("."+n.timer_container_class),n,p.timer_callback)},p.stop_timer=function(){"object"==typeof f&&f.stop()},p.toggle_timer=function(){a.find("."+n.timer_container_class).hasClass(n.timer_paused_class)?(void 0===f&&(f=p.create_timer()),f.start()):"object"==typeof f&&f.stop()},p.init=function(){p.build_markup(),n.timer&&(f=p.create_timer(),Foundation.utils.image_loaded(this.slides().children("img"),f.start)),u=new l(n,g),"slide"===n.animation&&(u=new r(n,g)),a.on("click","."+n.next_class,p.next),a.on("click","."+n.prev_class,p.prev),n.next_on_click&&a.on("click","."+n.slides_container_class+" [data-orbit-slide]",p.link_bullet),a.on("click",p.toggle_timer),n.swipe&&a.on("touchstart.fndtn.orbit",function(t){t.touches||(t=t.originalEvent);var e={start_page_x:t.touches[0].pageX,start_page_y:t.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:void 0};a.data("swipe-transition",e),t.stopPropagation()}).on("touchmove.fndtn.orbit",function(t){if(t.touches||(t=t.originalEvent),!(t.touches.length>1||t.scale&&1!==t.scale)){var e=a.data("swipe-transition");if(void 0===e&&(e={}),e.delta_x=t.touches[0].pageX-e.start_page_x,void 0===e.is_scrolling&&(e.is_scrolling=!!(e.is_scrolling||Math.abs(e.delta_x)<Math.abs(t.touches[0].pageY-e.start_page_y))),!e.is_scrolling&&!e.active){t.preventDefault();var i=e.delta_x<0?_+1:_-1;e.active=!0,p._goto(i)}}}).on("touchend.fndtn.orbit",function(t){a.data("swipe-transition",{}),t.stopPropagation()}),a.on("mouseenter.fndtn.orbit",function(t){n.timer&&n.pause_on_hover&&p.stop_timer()}).on("mouseleave.fndtn.orbit",function(t){n.timer&&n.resume_on_mouseout&&f.start()}),t(i).on("click","[data-orbit-link]",p.link_custom),t(e).on("load resize",p.compute_dimensions),Foundation.utils.image_loaded(this.slides().children("img"),p.compute_dimensions),Foundation.utils.image_loaded(this.slides().children("img"),function(){a.prev("."+n.preloader_class).css("display","none"),p.update_slide_number(0),p.update_active_link(0),g.trigger("ready.fndtn.orbit")})},p.init()},o=function(t,e,i){var s,n,a=this,o=e.timer_speed,r=t.find("."+e.timer_progress_class),l=-1;this.update_progress=function(t){var e=r.clone();e.attr("style",""),e.css("width",t+"%"),r.replaceWith(e),r=e},this.restart=function(){clearTimeout(n),t.addClass(e.timer_paused_class),l=-1,a.update_progress(0)},this.start=function(){return!t.hasClass(e.timer_paused_class)||(l=-1===l?o:l,t.removeClass(e.timer_paused_class),s=(new Date).getTime(),r.animate({width:"100%"},l,"linear"),n=setTimeout(function(){a.restart(),i()},l),void t.trigger("timer-started.fndtn.orbit"))},this.stop=function(){if(t.hasClass(e.timer_paused_class))return!0;clearTimeout(n),t.addClass(e.timer_paused_class);var i=(new Date).getTime();l-=i-s;var r=100-l/o*100;a.update_progress(r),t.trigger("timer-stopped.fndtn.orbit")}},r=function(e,i){var s=e.animation_speed,n=1===t("html[dir=rtl]").length,a=n?"marginRight":"marginLeft",o={};o[a]="0%",this.next=function(t,e,i){t.animate({marginLeft:"-100%"},s),e.animate(o,s,function(){t.css(a,"100%"),i()})},this.prev=function(t,e,i){t.animate({marginLeft:"100%"},s),e.css(a,"-100%"),e.animate(o,s,function(){t.css(a,"100%"),i()})}},l=function(e,i){var s=e.animation_speed;t("html[dir=rtl]").length,this.next=function(t,e,i){e.css({margin:"0%",opacity:"0.01"}),e.animate({opacity:"1"},s,"linear",function(){t.css("margin","100%"),i()})},this.prev=function(t,e,i){e.css({margin:"0%",opacity:"0.01"}),e.animate({opacity:"1"},s,"linear",function(){t.css("margin","100%"),i()})}};Foundation.libs=Foundation.libs||{},Foundation.libs.orbit={name:"orbit",version:"5.5.3",settings:{animation:"slide",timer_speed:1e4,pause_on_hover:!0,resume_on_mouseout:!1,next_on_click:!0,animation_speed:500,stack_on_small:!1,navigation_arrows:!0,slide_number:!0,slide_number_text:"of",container_class:"orbit-container",stack_on_small_class:"orbit-stack-on-small",next_class:"orbit-next",prev_class:"orbit-prev",timer_container_class:"orbit-timer",timer_paused_class:"paused",timer_progress_class:"orbit-progress",slides_container_class:"orbit-slides-container",preloader_class:"preloader",slide_selector:"*",bullets_container_class:"orbit-bullets",bullets_active_class:"active",slide_number_class:"orbit-slide-number",caption_class:"orbit-caption",active_slide_class:"active",orbit_transition_class:"orbit-transitioning",bullets:!0,circular:!0,timer:!0,variable_height:!1,swipe:!0,before_slide_change:n,after_slide_change:n},init:function(t,e,i){this.bindings(e,i)},events:function(t){var e=new a(this.S(t),this.S(t).data("orbit-init"));this.S(t).data(this.name+"-instance",e)},reflow:function(){var t=this;if(t.S(t.scope).is("[data-orbit]")){t.S(t.scope).data(t.name+"-instance").compute_dimensions()}else t.S("[data-orbit]",t.scope).each(function(e,i){var s=t.S(i);(t.data_options(s),s.data(t.name+"-instance")).compute_dimensions()})}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";function n(t){var e=/fade/i.test(t),i=/pop/i.test(t);return{animate:e||i,pop:i,fade:e}}var a=[];Foundation.libs.reveal={name:"reveal",version:"5.5.3",locked:!1,settings:{animation:"fadeAndPop",animation_speed:250,close_on_background_click:!0,close_on_esc:!0,dismiss_modal_class:"close-reveal-modal",multiple_opened:!1,bg_class:"reveal-modal-bg",root_element:"body",open:function(){},opened:function(){},close:function(){},closed:function(){},on_ajax_error:t.noop,bg:t(".reveal-modal-bg"),css:{open:{opacity:0,visibility:"visible",display:"block"},close:{opacity:1,visibility:"hidden",display:"none"}}},init:function(e,i,s){t.extend(!0,this.settings,i,s),this.bindings(i,s)},events:function(t){var e=this,s=e.S;return s(this.scope).off(".reveal").on("click.fndtn.reveal","["+this.add_namespace("data-reveal-id")+"]:not([disabled])",function(t){if(t.preventDefault(),!e.locked){var i=s(this),n=i.data(e.data_attr("reveal-ajax")),a=i.data(e.data_attr("reveal-replace-content"));if(e.locked=!0,void 0===n)e.open.call(e,i);else{var o=!0===n?i.attr("href"):n;e.open.call(e,i,{url:o},{replaceContentSel:a})}}}),s(i).on("click.fndtn.reveal",this.close_targets(),function(t){if(t.preventDefault(),!e.locked){var i=s("["+e.attr_name()+"].open").data(e.attr_name(!0)+"-init")||e.settings,n=s(t.target)[0]===s("."+i.bg_class)[0];if(n){if(!i.close_on_background_click)return;t.stopPropagation()}e.locked=!0,e.close.call(e,n?s("["+e.attr_name()+"].open:not(.toback)"):s(this).closest("["+e.attr_name()+"]"))}}),s("["+e.attr_name()+"]",this.scope).length>0?s(this.scope).on("open.fndtn.reveal",this.settings.open).on("opened.fndtn.reveal",this.settings.opened).on("opened.fndtn.reveal",this.open_video).on("close.fndtn.reveal",this.settings.close).on("closed.fndtn.reveal",this.settings.closed).on("closed.fndtn.reveal",this.close_video):s(this.scope).on("open.fndtn.reveal","["+e.attr_name()+"]",this.settings.open).on("opened.fndtn.reveal","["+e.attr_name()+"]",this.settings.opened).on("opened.fndtn.reveal","["+e.attr_name()+"]",this.open_video).on("close.fndtn.reveal","["+e.attr_name()+"]",this.settings.close).on("closed.fndtn.reveal","["+e.attr_name()+"]",this.settings.closed).on("closed.fndtn.reveal","["+e.attr_name()+"]",this.close_video),!0},key_up_on:function(t){var e=this;return e.S("body").off("keyup.fndtn.reveal").on("keyup.fndtn.reveal",function(t){var i=e.S("["+e.attr_name()+"].open"),s=i.data(e.attr_name(!0)+"-init")||e.settings;s&&27===t.which&&s.close_on_esc&&!e.locked&&e.close.call(e,i)}),!0},key_up_off:function(t){return this.S("body").off("keyup.fndtn.reveal"),!0},open:function(i,n){var o,r=this;i?void 0!==i.selector?o=r.S("#"+i.data(r.data_attr("reveal-id"))).first():(o=r.S(this.scope),n=i):o=r.S(this.scope);var l=o.data(r.attr_name(!0)+"-init");if(l=l||this.settings,o.hasClass("open")&&i!==s&&i.attr("data-reveal-id")==o.attr("id"))return r.close(o);if(!o.hasClass("open")){var d=r.S("["+r.attr_name()+"].open");void 0===o.data("css-top")&&o.data("css-top",parseInt(o.css("top"),10)).data("offset",this.cache_offset(o)),o.attr("tabindex","0").attr("aria-hidden","false"),this.key_up_on(o),o.on("open.fndtn.reveal",function(t){t.namespace}),o.on("open.fndtn.reveal").trigger("open.fndtn.reveal"),d.length<1&&this.toggle_bg(o,!0),"string"==typeof n&&(n={url:n});var c=function(){d.length>0&&(l.multiple_opened?r.to_back(d):r.hide(d,l.css.close)),l.multiple_opened&&a.push(o),r.show(o,l.css.open)};if(void 0!==n&&n.url){var h=void 0!==n.success?n.success:null;t.extend(n,{success:function(e,i,s){if(t.isFunction(h)){var n=h(e,i,s);"string"==typeof n&&(e=n)}"undefined"!=typeof options&&void 0!==options.replaceContentSel?o.find(options.replaceContentSel).html(e):o.html(e),r.S(o).foundation("section","reflow"),r.S(o).children().foundation(),c()}}),l.on_ajax_error!==t.noop&&t.extend(n,{error:l.on_ajax_error}),t.ajax(n)}else c()}r.S(e).trigger("resize")},close:function(e){var e=e&&e.length?e:this.S(this.scope),i=this.S("["+this.attr_name()+"].open"),s=e.data(this.attr_name(!0)+"-init")||this.settings,n=this;if(i.length>0)if(e.removeAttr("tabindex","0").attr("aria-hidden","true"),this.locked=!0,this.key_up_off(e),e.trigger("close.fndtn.reveal"),(s.multiple_opened&&1===i.length||!s.multiple_opened||e.length>1)&&(n.toggle_bg(e,!1),n.to_front(e)),s.multiple_opened){var o=e.is(":not(.toback)");n.hide(e,s.css.close,s),o?a.pop():a=t.grep(a,function(t){var i=t[0]===e[0];return i&&n.to_front(e),!i}),a.length>0&&n.to_front(a[a.length-1])}else n.hide(i,s.css.close,s)},close_targets:function(){var t="."+this.settings.dismiss_modal_class;return this.settings.close_on_background_click?t+", ."+this.settings.bg_class:t},toggle_bg:function(e,i){0===this.S("."+this.settings.bg_class).length&&(this.settings.bg=t("<div />",{class:this.settings.bg_class}).appendTo("body").hide());var n=this.settings.bg.filter(":visible").length>0;i!=n&&((i==s?n:!i)?this.hide(this.settings.bg):this.show(this.settings.bg))},show:function(i,s){if(s){var a=i.data(this.attr_name(!0)+"-init")||this.settings,o=a.root_element,r=this;if(0===i.parent(o).length){var l=i.wrap('<div style="display: none;" />').parent();i.on("closed.fndtn.reveal.wrapped",function(){i.detach().appendTo(l),i.unwrap().unbind("closed.fndtn.reveal.wrapped")}),i.detach().appendTo(o)}var d=n(a.animation);if(d.animate||(this.locked=!1),d.pop){s.top=t(e).scrollTop()-i.data("offset")+"px";var c={top:t(e).scrollTop()+i.data("css-top")+"px",opacity:1};return setTimeout(function(){return i.css(s).animate(c,a.animation_speed,"linear",function(){r.locked=!1,i.trigger("opened.fndtn.reveal")}).addClass("open")},a.animation_speed/2)}if(s.top=t(e).scrollTop()+i.data("css-top")+"px",d.fade){var c={opacity:1};return setTimeout(function(){return i.css(s).animate(c,a.animation_speed,"linear",function(){r.locked=!1,i.trigger("opened.fndtn.reveal")}).addClass("open")},a.animation_speed/2)}return i.css(s).show().css({opacity:1}).addClass("open").trigger("opened.fndtn.reveal")}var a=this.settings;return n(a.animation).fade?i.fadeIn(a.animation_speed/2):(this.locked=!1,i.show())},to_back:function(t){t.addClass("toback")},to_front:function(t){t.removeClass("toback")},hide:function(i,s){if(s){var a=i.data(this.attr_name(!0)+"-init"),o=this;a=a||this.settings;var r=n(a.animation);if(r.animate||(this.locked=!1),r.pop){var l={top:-t(e).scrollTop()-i.data("offset")+"px",opacity:0};return setTimeout(function(){return i.animate(l,a.animation_speed,"linear",function(){o.locked=!1,i.css(s).trigger("closed.fndtn.reveal")}).removeClass("open")},a.animation_speed/2)}if(r.fade){var l={opacity:0};return setTimeout(function(){return i.animate(l,a.animation_speed,"linear",function(){o.locked=!1,i.css(s).trigger("closed.fndtn.reveal")}).removeClass("open")},a.animation_speed/2)}return i.hide().css(s).removeClass("open").trigger("closed.fndtn.reveal")}var a=this.settings;return n(a.animation).fade?i.fadeOut(a.animation_speed/2):i.hide()},close_video:function(e){var i=t(".flex-video",e.target),s=t("iframe",i);s.length>0&&(s.attr("data-src",s[0].src),s.attr("src",s.attr("src")),i.hide())},open_video:function(e){var i=t(".flex-video",e.target),n=i.find("iframe");if(n.length>0){if("string"==typeof n.attr("data-src"))n[0].src=n.attr("data-src");else{var a=n[0].src;n[0].src=s,n[0].src=a}i.show()}},data_attr:function(t){return this.namespace.length>0?this.namespace+"-"+t:t},cache_offset:function(t){var e=t.show().height()+parseInt(t.css("top"),10)+t.scrollY;return t.hide(),e},off:function(){t(this.scope).off(".fndtn.reveal")},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.slider={name:"slider",version:"5.5.3",settings:{start:0,end:100,step:1,precision:2,initial:null,display_selector:"",vertical:!1,trigger_input_change:!1,on_change:function(){}},cache:{},init:function(t,e,i){Foundation.inherit(this,"throttle"),this.bindings(e,i),this.reflow()},events:function(){var i=this;t(this.scope).off(".slider").on("mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider","["+i.attr_name()+"]:not(.disabled, [disabled]) .range-slider-handle",function(e){i.cache.active||(e.preventDefault(),i.set_active_slider(t(e.target)))}).on("mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider",function(s){if(i.cache.active)if(s.preventDefault(),t.data(i.cache.active[0],"settings").vertical){var n=0;s.pageY||(n=e.scrollY),i.calculate_position(i.cache.active,i.get_cursor_position(s,"y")+n)}else i.calculate_position(i.cache.active,i.get_cursor_position(s,"x"))}).on("mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider",function(s){if(!i.cache.active){var n="slider"===t(s.target).attr("role")?t(s.target):t(s.target).closest(".range-slider").find("[role='slider']");if(n.length&&!n.parent().hasClass("disabled")&&!n.parent().attr("disabled"))if(i.set_active_slider(n),t.data(i.cache.active[0],"settings").vertical){var a=0;s.pageY||(a=e.scrollY),i.calculate_position(i.cache.active,i.get_cursor_position(s,"y")+a)}else i.calculate_position(i.cache.active,i.get_cursor_position(s,"x"))}i.remove_active_slider()}).on("change.fndtn.slider",function(t){i.settings.on_change()}),i.S(e).on("resize.fndtn.slider",i.throttle(function(t){i.reflow()},300)),this.S("["+this.attr_name()+"]").each(function(){var e=t(this),s=e.children(".range-slider-handle")[0],n=i.initialize_settings(s);""!=n.display_selector&&t(n.display_selector).each(function(){t(this).attr("value")&&t(this).off("change").on("change",function(){e.foundation("slider","set_value",t(this).val())})})})},get_cursor_position:function(t,e){var i,s="page"+e.toUpperCase(),n="client"+e.toUpperCase();return void 0!==t[s]?i=t[s]:void 0!==t.originalEvent[n]?i=t.originalEvent[n]:t.originalEvent.touches&&t.originalEvent.touches[0]&&void 0!==t.originalEvent.touches[0][n]?i=t.originalEvent.touches[0][n]:t.currentPoint&&void 0!==t.currentPoint[e]&&(i=t.currentPoint[e]),i},set_active_slider:function(t){this.cache.active=t},remove_active_slider:function(){this.cache.active=null},calculate_position:function(e,i){var s=this,n=t.data(e[0],"settings"),a=(t.data(e[0],"handle_l"),t.data(e[0],"handle_o"),t.data(e[0],"bar_l")),o=t.data(e[0],"bar_o");requestAnimationFrame(function(){var t;t=Foundation.rtl&&!n.vertical?s.limit_to((o+a-i)/a,0,1):s.limit_to((i-o)/a,0,1),t=n.vertical?1-t:t;var r=s.normalized_value(t,n.start,n.end,n.step,n.precision);s.set_ui(e,r)})},set_ui:function(e,i){var s=t.data(e[0],"settings"),n=t.data(e[0],"handle_l"),a=t.data(e[0],"bar_l"),o=this.normalized_percentage(i,s.start,s.end),r=o*(a-n)-1,l=100*o,d=e.parent(),c=e.parent().children("input[type=hidden]");Foundation.rtl&&!s.vertical&&(r=-r),r=s.vertical?-r+a-n+1:r,this.set_translate(e,r,s.vertical),s.vertical?e.siblings(".range-slider-active-segment").css("height",l+"%"):e.siblings(".range-slider-active-segment").css("width",l+"%"),d.attr(this.attr_name(),i).trigger("change.fndtn.slider"),c.val(i),s.trigger_input_change&&c.trigger("change.fndtn.slider"),e[0].hasAttribute("aria-valuemin")||e.attr({"aria-valuemin":s.start,"aria-valuemax":s.end}),e.attr("aria-valuenow",i),""!=s.display_selector&&t(s.display_selector).each(function(){this.hasAttribute("value")?t(this).val(i):t(this).text(i)})},normalized_percentage:function(t,e,i){return Math.min(1,(t-e)/(i-e))},normalized_value:function(t,e,i,s,n){var a=i-e,o=t*a;return((o-o%s)/s*s+(o%s>=.5*s?s:0)+e).toFixed(n)},set_translate:function(e,i,s){s?t(e).css("-webkit-transform","translateY("+i+"px)").css("-moz-transform","translateY("+i+"px)").css("-ms-transform","translateY("+i+"px)").css("-o-transform","translateY("+i+"px)").css("transform","translateY("+i+"px)"):t(e).css("-webkit-transform","translateX("+i+"px)").css("-moz-transform","translateX("+i+"px)").css("-ms-transform","translateX("+i+"px)").css("-o-transform","translateX("+i+"px)").css("transform","translateX("+i+"px)")},limit_to:function(t,e,i){return Math.min(Math.max(t,e),i)},initialize_settings:function(e){var i,s=t.extend({},this.settings,this.data_options(t(e).parent()));return null===s.precision&&(i=(""+s.step).match(/\.([\d]*)/),s.precision=i&&i[1]?i[1].length:0),s.vertical?(t.data(e,"bar_o",t(e).parent().offset().top),t.data(e,"bar_l",t(e).parent().outerHeight()),t.data(e,"handle_o",t(e).offset().top),t.data(e,"handle_l",t(e).outerHeight())):(t.data(e,"bar_o",t(e).parent().offset().left),t.data(e,"bar_l",t(e).parent().outerWidth()),t.data(e,"handle_o",t(e).offset().left),t.data(e,"handle_l",t(e).outerWidth())),t.data(e,"bar",t(e).parent()),t.data(e,"settings",s)},set_initial_position:function(e){var i=t.data(e.children(".range-slider-handle")[0],"settings"),s="number"!=typeof i.initial||isNaN(i.initial)?Math.floor(.5*(i.end-i.start)/i.step)*i.step+i.start:i.initial,n=e.children(".range-slider-handle");this.set_ui(n,s)},set_value:function(e){var i=this;t("["+i.attr_name()+"]",this.scope).each(function(){t(this).attr(i.attr_name(),e)}),t(this.scope).attr(i.attr_name())&&t(this.scope).attr(i.attr_name(),e),i.reflow()},reflow:function(){var e=this;e.S("["+this.attr_name()+"]").each(function(){var i=t(this).children(".range-slider-handle")[0],s=t(this).attr(e.attr_name());e.initialize_settings(i),s?e.set_ui(t(i),parseFloat(s)):e.set_initial_position(t(this))})}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.tab={name:"tab",version:"5.5.3",settings:{active_class:"active",callback:function(){},deep_linking:!1,scroll_to_content:!0,is_hover:!1},default_tab_hashes:[],init:function(t,e,i){var s=this;(0,this.S)("["+this.attr_name()+"] > .active > a",this.scope).each(function(){s.default_tab_hashes.push(this.hash)}),this.bindings(e,i),this.handle_location_hash_change()},events:function(){var t=this,i=this.S,s=function(e,s){i(s).closest("["+t.attr_name()+"]").data(t.attr_name(!0)+"-init").is_hover&&!Modernizr.touch||(9!==(e.keyCode||e.which)&&(e.preventDefault(),e.stopPropagation()),t.toggle_active_tab(i(s).parent()))};i(this.scope).off(".tab").on("keydown.fndtn.tab","["+this.attr_name()+"] > * > a",function(t){var e=t.keyCode||t.which;if(13===e||32===e){s(t,this)}}).on("click.fndtn.tab","["+this.attr_name()+"] > * > a",function(t){s(t,this)}).on("mouseenter.fndtn.tab","["+this.attr_name()+"] > * > a",function(e){i(this).closest("["+t.attr_name()+"]").data(t.attr_name(!0)+"-init").is_hover&&t.toggle_active_tab(i(this).parent())}),i(e).on("hashchange.fndtn.tab",function(e){e.preventDefault(),t.handle_location_hash_change()})},handle_location_hash_change:function(){var e=this,i=this.S;i("["+this.attr_name()+"]",this.scope).each(function(){var n=i(this).data(e.attr_name(!0)+"-init");if(n.deep_linking){var a;if(""!=(a=n.scroll_to_content?e.scope.location.hash:e.scope.location.hash.replace("fndtn-",""))){var o=i(a);if(o.hasClass("content")&&o.parent().hasClass("tabs-content"))e.toggle_active_tab(t("["+e.attr_name()+"] > * > a[href="+a+"]").parent());else{var r=o.closest(".content").attr("id");r!=s&&e.toggle_active_tab(t("["+e.attr_name()+"] > * > a[href=#"+r+"]").parent(),a)}}else for(var l=0;l<e.default_tab_hashes.length;l++)e.toggle_active_tab(t("["+e.attr_name()+"] > * > a[href="+e.default_tab_hashes[l]+"]").parent())}})},toggle_active_tab:function(n,a){var o=this,r=o.S,l=n.closest("["+this.attr_name()+"]"),d=n.find("a"),c=n.children("a").first(),h="#"+c.attr("href").split("#")[1],u=r(h),f=n.siblings(),p=l.data(this.attr_name(!0)+"-init"),g=function(e){var s,n=t(this),a=t(this).parents("li").prev().children('[role="tab"]'),o=t(this).parents("li").next().children('[role="tab"]');switch(e.keyCode){case 37:s=a;break;case 39:s=o;break;default:s=!1}s.length&&(n.attr({tabindex:"-1","aria-selected":null}),s.attr({tabindex:"0","aria-selected":!0}).focus()),t('[role="tabpanel"]').attr("aria-hidden","true"),t("#"+t(i.activeElement).attr("href").substring(1)).attr("aria-hidden",null)},_=function(t){(t!==(p.scroll_to_content?o.default_tab_hashes[0]:"fndtn-"+o.default_tab_hashes[0].replace("#",""))||e.location.hash)&&(e.location.hash=t)};c.data("tab-content")&&(h="#"+c.data("tab-content").split("#")[1],u=r(h)),p.deep_linking&&(p.scroll_to_content?(_(a||h),a==s||a==h?n.parent()[0].scrollIntoView():r(h)[0].scrollIntoView()):_(a!=s?"fndtn-"+a.replace("#",""):"fndtn-"+h.replace("#",""))),n.addClass(p.active_class).triggerHandler("opened"),d.attr({"aria-selected":"true",tabindex:0}),f.removeClass(p.active_class),f.find("a").attr({"aria-selected":"false"}),u.siblings().removeClass(p.active_class).attr({"aria-hidden":"true"}),u.addClass(p.active_class).attr("aria-hidden","false").removeAttr("tabindex"),p.callback(n),u.triggerHandler("toggled",[u]),l.triggerHandler("toggled",[n]),d.off("keydown").on("keydown",g)},data_attr:function(t){return this.namespace.length>0?this.namespace+"-"+t:t},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.tooltip={name:"tooltip",version:"5.5.3",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,hover_delay:200,fade_in_duration:150,fade_out_duration:150,show_on:"all",tip_template:function(t,e){return'<span data-selector="'+t+'" id="'+t+'" class="'+Foundation.libs.tooltip.settings.tooltip_class.substring(1)+'" role="tooltip">'+e+'<span class="nub"></span></span>'}},cache:{},init:function(t,e,i){Foundation.inherit(this,"random_str"),this.bindings(e,i)},should_show:function(e,i){var s=t.extend({},this.settings,this.data_options(e));return"all"===s.show_on||(!(!this.small()||"small"!==s.show_on)||(!(!this.medium()||"medium"!==s.show_on)||!(!this.large()||"large"!==s.show_on)))},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},events:function(e){function i(t,e,i){t.timer||(i?(t.timer=null,n.showTip(e)):t.timer=setTimeout(function(){t.timer=null,n.showTip(e)}.bind(t),n.settings.hover_delay))}function s(t,e){t.timer&&(clearTimeout(t.timer),t.timer=null),n.hide(e)}var n=this,a=n.S;n.create(this.S(e)),t(this.scope).off(".tooltip").on("mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"]",function(e){var o=a(this),r=t.extend({},n.settings,n.data_options(o));if(Modernizr.touch&&/touchstart|MSPointerDown/i.test(e.type)&&a(e.target).is("a"))return!1;if(/mouse/i.test(e.type)&&n.ie_touch(e))return!1;if(o.hasClass("open"))Modernizr.touch&&/touchstart|MSPointerDown/i.test(e.type)&&e.preventDefault(),n.hide(o);else{if(r.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(e.type))return;if(!r.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(e.type)&&(e.preventDefault(),a(r.tooltip_class+".open").hide(),!0,t(".open["+n.attr_name()+"]").length>0)){
+var l=a(t(".open["+n.attr_name()+"]")[0]);n.hide(l)}/enter|over/i.test(e.type)?i(this,o):"mouseout"===e.type||"mouseleave"===e.type?s(this,o):i(this,o,!0)}}).on("mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"].open",function(e){return(!/mouse/i.test(e.type)||!n.ie_touch(e))&&void(("touch"!=t(this).data("tooltip-open-event-type")||"mouseleave"!=e.type)&&("mouse"==t(this).data("tooltip-open-event-type")&&/MSPointerDown|touchstart/i.test(e.type)?n.convert_to_touch(t(this)):s(this,t(this))))}).on("DOMNodeRemoved DOMAttrModified","["+this.attr_name()+"]:not(a)",function(t){s(this,a(this))})},ie_touch:function(t){return!1},showTip:function(t){var e=this.getTip(t);return this.should_show(t,e)?this.show(t):void 0},getTip:function(e){var i=this.selector(e),s=t.extend({},this.settings,this.data_options(e)),n=null;return i&&(n=this.S('span[data-selector="'+i+'"]'+s.tooltip_class)),"object"==typeof n&&n},selector:function(t){var e=t.attr(this.attr_name())||t.attr("data-selector");return"string"!=typeof e&&(e=this.random_str(6),t.attr("data-selector",e).attr("aria-describedby",e)),e},create:function(i){var s=this,n=t.extend({},this.settings,this.data_options(i)),a=this.settings.tip_template;"string"==typeof n.tip_template&&e.hasOwnProperty(n.tip_template)&&(a=e[n.tip_template]);var o=t(a(this.selector(i),t("<div></div>").html(i.attr("title")).html())),r=this.inheritable_classes(i);o.addClass(r).appendTo(n.append_to),Modernizr.touch&&(o.append('<span class="tap-to-close">'+n.touch_close_text+"</span>"),o.on("touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip",function(t){s.hide(i)})),i.removeAttr("title").attr("title","")},reposition:function(e,i,s){var n,a,o,r;i.css("visibility","hidden").show(),n=e.data("width"),a=i.children(".nub"),o=a.outerHeight(),a.outerWidth(),this.small()?i.css({width:"100%"}):i.css({width:n||"auto"}),r=function(t,e,i,s,n,a){return t.css({top:e||"auto",bottom:s||"auto",left:n||"auto",right:i||"auto"}).end()};var l=e.offset().top,d=e.offset().left,c=e.outerHeight();if(r(i,l+c+10,"auto","auto",d),this.small())r(i,l+c+10,"auto","auto",12.5,t(this.scope).width()),i.addClass("tip-override"),r(a,-o,"auto","auto",d);else{Foundation.rtl&&(a.addClass("rtl"),d=d+e.outerWidth()-i.outerWidth()),r(i,l+c+10,"auto","auto",d),a.attr("style")&&a.removeAttr("style"),i.removeClass("tip-override");var h=i.outerHeight();s&&s.indexOf("tip-top")>-1?(Foundation.rtl&&a.addClass("rtl"),r(i,l-h,"auto","auto",d).removeClass("tip-override")):s&&s.indexOf("tip-left")>-1?(r(i,l+c/2-h/2,"auto","auto",d-i.outerWidth()-o).removeClass("tip-override"),a.removeClass("rtl")):s&&s.indexOf("tip-right")>-1&&(r(i,l+c/2-h/2,"auto","auto",d+e.outerWidth()+o).removeClass("tip-override"),a.removeClass("rtl"))}i.css("visibility","visible").hide()},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},inheritable_classes:function(e){var i=t.extend({},this.settings,this.data_options(e)),s=["tip-top","tip-left","tip-bottom","tip-right","radius","round"].concat(i.additional_inheritable_classes),n=e.attr("class"),a=n?t.map(n.split(" "),function(e,i){return-1!==t.inArray(e,s)?e:void 0}).join(" "):"";return t.trim(a)},convert_to_touch:function(e){var i=this,s=i.getTip(e),n=t.extend({},i.settings,i.data_options(e));0===s.find(".tap-to-close").length&&(s.append('<span class="tap-to-close">'+n.touch_close_text+"</span>"),s.on("click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose",function(t){i.hide(e)})),e.data("tooltip-open-event-type","touch")},show:function(t){var e=this.getTip(t);"touch"==t.data("tooltip-open-event-type")&&this.convert_to_touch(t),this.reposition(t,e,t.attr("class")),t.addClass("open"),e.fadeIn(this.settings.fade_in_duration)},hide:function(t){var e=this.getTip(t);e.fadeOut(this.settings.fade_out_duration,function(){e.find(".tap-to-close").remove(),e.off("click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose"),t.removeClass("open")})},off:function(){var e=this;this.S(this.scope).off(".fndtn.tooltip"),this.S(this.settings.tooltip_class).each(function(i){t("["+e.attr_name()+"]").eq(i).attr("title",t(this).text())}).remove()},reflow:function(){}}}(jQuery,window,window.document),function(t,e,i,s){"use strict";Foundation.libs.topbar={name:"topbar",version:"5.5.3",settings:{index:0,start_offset:0,sticky_class:"sticky",custom_back_text:!0,back_text:"Back",mobile_show_parent_link:!0,is_hover:!0,scrolltop:!0,sticky_on:"all",dropdown_autoclose:!0},init:function(e,i,s){Foundation.inherit(this,"add_custom_rule register_media throttle");var n=this;n.register_media("topbar","foundation-mq-topbar"),this.bindings(i,s),n.S("["+this.attr_name()+"]",this.scope).each(function(){var e=t(this),i=e.data(n.attr_name(!0)+"-init");n.S("section, .top-bar-section",this),e.data("index",0);var s=e.parent();s.hasClass("fixed")||n.is_sticky(e,s,i)?(n.settings.sticky_class=i.sticky_class,n.settings.sticky_topbar=e,e.data("height",s.outerHeight()),e.data("stickyoffset",s.offset().top)):e.data("height",e.outerHeight()),i.assembled||n.assemble(e),i.is_hover?n.S(".has-dropdown",e).addClass("not-click"):n.S(".has-dropdown",e).removeClass("not-click"),n.add_custom_rule(".f-topbar-fixed { padding-top: "+e.data("height")+"px }"),s.hasClass("fixed")&&n.S("body").addClass("f-topbar-fixed")})},is_sticky:function(t,e,i){var s=e.hasClass(i.sticky_class),n=matchMedia(Foundation.media_queries.small).matches,a=matchMedia(Foundation.media_queries.medium).matches,o=matchMedia(Foundation.media_queries.large).matches;return!(!s||"all"!==i.sticky_on)||(!(!(s&&this.small()&&-1!==i.sticky_on.indexOf("small")&&n)||a||o)||(!(!(s&&this.medium()&&-1!==i.sticky_on.indexOf("medium")&&n&&a)||o)||!!(s&&this.large()&&-1!==i.sticky_on.indexOf("large")&&n&&a&&o)))},toggle:function(i){var s,n=this;s=i?n.S(i).closest("["+this.attr_name()+"]"):n.S("["+this.attr_name()+"]");var a=s.data(this.attr_name(!0)+"-init"),o=n.S("section, .top-bar-section",s);n.breakpoint()&&(n.rtl?(o.css({right:"0%"}),t(">.name",o).css({right:"100%"})):(o.css({left:"0%"}),t(">.name",o).css({left:"100%"})),n.S("li.moved",o).removeClass("moved"),s.data("index",0),s.toggleClass("expanded").css("height","")),a.scrolltop?s.hasClass("expanded")?s.parent().hasClass("fixed")&&(a.scrolltop?(s.parent().removeClass("fixed"),s.addClass("fixed"),n.S("body").removeClass("f-topbar-fixed"),e.scrollTo(0,0)):s.parent().removeClass("expanded")):s.hasClass("fixed")&&(s.parent().addClass("fixed"),s.removeClass("fixed"),n.S("body").addClass("f-topbar-fixed")):(n.is_sticky(s,s.parent(),a)&&s.parent().addClass("fixed"),s.parent().hasClass("fixed")&&(s.hasClass("expanded")?(s.addClass("fixed"),s.parent().addClass("expanded"),n.S("body").addClass("f-topbar-fixed")):(s.removeClass("fixed"),s.parent().removeClass("expanded"),n.update_sticky_positioning())))},timer:null,events:function(i){var s=this,n=this.S;n(this.scope).off(".topbar").on("click.fndtn.topbar","["+this.attr_name()+"] .toggle-topbar",function(t){t.preventDefault(),s.toggle(this)}).on("click.fndtn.topbar contextmenu.fndtn.topbar",'.top-bar .top-bar-section li a[href^="#"],['+this.attr_name()+'] .top-bar-section li a[href^="#"]',function(e){var i=t(this).closest("li"),n=i.closest("["+s.attr_name()+"]"),a=n.data(s.attr_name(!0)+"-init");if(a.dropdown_autoclose&&a.is_hover){t(this).closest(".hover").removeClass("hover")}!s.breakpoint()||i.hasClass("back")||i.hasClass("has-dropdown")||s.toggle()}).on("click.fndtn.topbar","["+this.attr_name()+"] li.has-dropdown",function(e){var i=n(this),a=n(e.target),o=i.closest("["+s.attr_name()+"]"),r=o.data(s.attr_name(!0)+"-init");return a.data("revealId")?void s.toggle():void(s.breakpoint()||(!r.is_hover||Modernizr.touch)&&(e.stopImmediatePropagation(),i.hasClass("hover")?(i.removeClass("hover").find("li").removeClass("hover"),i.parents("li.hover").removeClass("hover")):(i.addClass("hover"),t(i).siblings().removeClass("hover"),"A"===a[0].nodeName&&a.parent().hasClass("has-dropdown")&&e.preventDefault())))}).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown>a",function(t){if(s.breakpoint()){t.preventDefault();var e=n(this),i=e.closest("["+s.attr_name()+"]"),a=i.find("section, .top-bar-section"),o=(e.next(".dropdown").outerHeight(),e.closest("li"));i.data("index",i.data("index")+1),o.addClass("moved"),s.rtl?(a.css({right:-100*i.data("index")+"%"}),a.find(">.name").css({right:100*i.data("index")+"%"})):(a.css({left:-100*i.data("index")+"%"}),a.find(">.name").css({left:100*i.data("index")+"%"})),i.css("height",e.siblings("ul").outerHeight(!0)+i.data("height"))}}),n(e).off(".topbar").on("resize.fndtn.topbar",s.throttle(function(){s.resize.call(s)},50)).trigger("resize.fndtn.topbar").load(function(){n(this).trigger("resize.fndtn.topbar")}),n("body").off(".topbar").on("click.fndtn.topbar",function(t){n(t.target).closest("li").closest("li.hover").length>0||n("["+s.attr_name()+"] li.hover").removeClass("hover")}),n(this.scope).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown .back",function(t){t.preventDefault();var e=n(this),i=e.closest("["+s.attr_name()+"]"),a=i.find("section, .top-bar-section"),o=(i.data(s.attr_name(!0)+"-init"),e.closest("li.moved")),r=o.parent();i.data("index",i.data("index")-1),s.rtl?(a.css({right:-100*i.data("index")+"%"}),a.find(">.name").css({right:100*i.data("index")+"%"})):(a.css({left:-100*i.data("index")+"%"}),a.find(">.name").css({left:100*i.data("index")+"%"})),0===i.data("index")?i.css("height",""):i.css("height",r.outerHeight(!0)+i.data("height")),setTimeout(function(){o.removeClass("moved")},300)}),n(this.scope).find(".dropdown a").focus(function(){t(this).parents(".has-dropdown").addClass("hover")}).blur(function(){t(this).parents(".has-dropdown").removeClass("hover")})},resize:function(){var t=this;t.S("["+this.attr_name()+"]").each(function(){var e,s=t.S(this),n=s.data(t.attr_name(!0)+"-init"),a=s.parent("."+t.settings.sticky_class);if(!t.breakpoint()){var o=s.hasClass("expanded");s.css("height","").removeClass("expanded").find("li").removeClass("hover"),o&&t.toggle(s)}t.is_sticky(s,a,n)&&(a.hasClass("fixed")?(a.removeClass("fixed"),e=a.offset().top,t.S(i.body).hasClass("f-topbar-fixed")&&(e-=s.data("height")),s.data("stickyoffset",e),a.addClass("fixed")):(e=a.offset().top,s.data("stickyoffset",e)))})},breakpoint:function(){return!matchMedia(Foundation.media_queries.topbar).matches},small:function(){return matchMedia(Foundation.media_queries.small).matches},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},assemble:function(e){var i=this,s=e.data(this.attr_name(!0)+"-init"),n=i.S("section, .top-bar-section",e);n.detach(),i.S(".has-dropdown>a",n).each(function(){var e,n=i.S(this),a=n.siblings(".dropdown"),o=n.attr("href");a.find(".title.back").length||(e=t(1==s.mobile_show_parent_link&&o?'<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5></li><li class="parent-link hide-for-medium-up"><a class="parent-link js-generated" href="'+o+'">'+n.html()+"</a></li>":'<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5>'),1==s.custom_back_text?t("h5>a",e).html(s.back_text):t("h5>a",e).html("&laquo; "+n.html()),a.prepend(e))}),n.appendTo(e),this.sticky(),this.assembled(e)},assembled:function(e){e.data(this.attr_name(!0),t.extend({},e.data(this.attr_name(!0)),{assembled:!0}))},height:function(e){var i=0,s=this;return t("> li",e).each(function(){i+=s.S(this).outerHeight(!0)}),i},sticky:function(){var t=this;this.S(e).on("scroll",function(){t.update_sticky_positioning()})},update_sticky_positioning:function(){var t="."+this.settings.sticky_class,i=this.S(e),s=this;if(s.settings.sticky_topbar&&s.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(),this.settings)){var n=this.settings.sticky_topbar.data("stickyoffset")+this.settings.start_offset;s.S(t).hasClass("expanded")||(i.scrollTop()>n?s.S(t).hasClass("fixed")||(s.S(t).addClass("fixed"),s.S("body").addClass("f-topbar-fixed")):i.scrollTop()<=n&&s.S(t).hasClass("fixed")&&(s.S(t).removeClass("fixed"),s.S("body").removeClass("f-topbar-fixed")))}},off:function(){this.S(this.scope).off(".fndtn.topbar"),this.S(e).off(".fndtn.topbar")},reflow:function(){}}}(jQuery,window,window.document),$(document).foundation(),$(document).ready(function(){$("ul.children").each(function(){$(this).before('<a class="toggle" href="#"></a>')}),$("a.toggle").click("click",function(){$(this).toggleClass("open"),$(this).siblings("ul").toggleClass("open")}),$(".top-bar-section").find("ul.sub-menu.dropdown").each(function(){var menuImg=$(this).parent("li").prop("id"),menuNum=menuImg.match(/\d+/)[0],menuImgSrc="img_for_menu_"+menuNum;window["img_for_menu_"+menuNum]?$(this).find("li.image-placeholder").html('<img src="'+eval(menuImgSrc)+'">'):($(this).find("li.image-placeholder").parent("ul").addClass("no-image-subul"),$(this).find("li.image-placeholder").remove())}),$("#glm-member-password-lost-link").click(function(){$("#glm-member-password-lost-form").show()});var headerVideo=document.getElementById("front-page-video"),loc=window.location.href;/regions/.test(loc)&&$("#interactive-map > li").addClass("active"),/destinations/.test(loc)&&$("#dropdown-destination > li").addClass("active"),/venues/.test(loc)&&$("#dropdown-venues > li").addClass("active"),$("section.left-small").on("click",function(){window.scrollTo(0,0)})});
\ No newline at end of file
diff --git a/functions.php b/functions.php
new file mode 100644 (file)
index 0000000..4835759
--- /dev/null
@@ -0,0 +1,236 @@
+<?php
+require_once 'lib/menu-walker.php';
+require_once 'lib/navigation.php';
+
+DEFINE("HOMEPAGE_ID", 2); //L:2
+
+$ancestorId   = null;
+$includePages = array();
+$frontPageId  = get_option('page_on_front');
+add_action('widgets_init', 'glm_quicksite_widget_init');
+
+if (!function_exists('glm_quicksite_widget_init')) {
+
+    function glm_quicksite_widget_init()
+    {
+        register_sidebar(array(
+            'name'        => __('Slideshow'),
+            'id'          => 'slideshow',
+            'description' => __('Meta Slider/Slideshow Area')
+        ));
+    }
+}
+
+/**
+ * Return the client info option for the given key
+ *
+ * @param type $name Name of the client info option to return
+ *
+ * @return string Option
+ */
+if (!function_exists('glm_get_clientinfo_option')) {
+    function glm_get_clientinfo_option($name)
+    {
+        $settings = get_option('glmclientinfo_settings');
+        $states   = get_option('glmclientinfo_states');
+        if ($name == 'stateFull' && $settings['state']) {
+            return $states[$settings['state']];
+        }
+        if ($name == 'state2Full' && $settings['state2']) {
+            return $states[$settings['state2']];
+        }
+        return ($settings && $settings[$name])
+            ? $settings[$name]
+            : null;
+    }
+}
+add_post_type_support( 'page', 'excerpt' );
+add_theme_support('post-thumbnails');
+set_post_thumbnail_size(120, 100, true);
+/**
+ * glm_site_scripts
+ *
+ * Add the scripts that we'll need for any home page stuff
+ */
+function glm_site_scripts()
+{
+    wp_enqueue_script(
+        'modernizr',
+        get_template_directory_uri() . '/dev/js/modernizr/modernizr.min.js'
+    );
+    wp_enqueue_script('jquery');
+    wp_enqueue_script(
+        'glm_foundation',
+        get_template_directory_uri() . '/dist/app.js',
+        'jquery',
+        '1.0',
+        true
+    );
+    if(is_front_page()) {
+    }
+
+}
+
+
+/* Header for posts*/
+function glm_get_header2($memberID = false) {
+    global $post;
+    
+    echo '<div';
+    if ((has_post_thumbnail() && $post->post_type == 'page') || is_page('member-detail')) {
+        if(!$memberID){
+            $image_data = wp_get_attachment_image_src(get_post_thumbnail_id(), "full");
+            $image_data = $image_data[0];
+            
+        } else {
+            $image_data = apply_filters('member_images',$memberID,true,'original');
+        }
+            
+            echo ' style="background-image: url('.$image_data.');height:0;padding:0;padding-bottom:30%;background-position:center center;background-size: 100%;background-repeat:no-repeat;max-height: 420px; "';
+    } else if (!is_page('member-detail')) {
+            echo ' style="background-image: url('.get_template_directory_uri().'/assets/default-header.png);height:0;padding:0;padding-bottom:30%;background-position:center center;background-size: 100%;background-repeat:no-repeat;max-height: 420px; "';
+    } 
+    echo '>';
+    echo '</div>';
+    echo '<div class="row">';
+    echo '<div class="small-12 columns">';
+    echo '</div>';
+    echo '</div>';
+}
+
+/* Header for posts*/
+function glm_get_header($memberID = false) {
+    global $post;
+    $default_image_path = get_template_directory_uri().'/assets/default-featured.png?v=1.0';
+    //$default_member_image_path = $default_image_path;
+    $featured_classes[] = "featured-image";
+    $default_background_styles = 'height:0;max-height: 420px;padding:0;padding-bottom:30%;'
+            . 'background-position:center center;background-size: 100%;background-repeat:no-repeat;';
+    //$default_member_background_styles = $default_background_styles;
+    
+    if ((has_post_thumbnail() && $post->post_type == 'page') /*|| is_page('member-detail')*/) {
+        if( !$memberID ) {
+            $image_data = wp_get_attachment_image_src(get_post_thumbnail_id(), "header-featured");
+            $image_data = $image_data[0];
+            $featured_classes[] = $image_data ? "wp-featured" : "";
+//            $image_caption = get_the_post_thumbnail_caption();
+//        } else {
+//            $image_data = apply_filters('member_images',$memberID,true,'original');
+//            $featured_classes[] = $image_data ? "member-featured" : "";
+//            if ( !$image_data ) {
+//                $image_data = wp_get_attachment_image_src(get_post_thumbnail_id(), "full");
+//                $image_caption = get_the_post_thumbnail_caption();
+//                $image_data = $image_data[0];
+//                $featured_classes[] = $image_data ? "wp-featured" : "";
+//            }
+//            if ( !$image_data ) {
+//                $image_data = $default_member_image_path;
+//                $featured_classes[] = $image_data ? "member-default" : "";
+//            }
+        }
+        if ( !$image_data ) {
+            $image_data = $default_image_path;
+            $featured_classes[] = $image_data ? "interior-default" : "";
+        }
+        
+        echo '<div style="background-image: url('.$image_data.');'
+                . $default_background_styles . '"'
+                . 'class="' . implode(' ',$featured_classes) . '"';
+        echo '>';
+        
+//        if ($image_caption) {    
+//            echo '<div id="header-image-caption-wrap" class="caption-wrap">';
+//            echo '<div class="caption">';
+//            echo $image_caption;
+//            echo '</div>';
+//            echo '</div>';
+//        }
+    } else {
+        $featured_classes[] = "interior-default";
+        echo '<div';
+        echo ' style="background-image: url('.$default_image_path.');'
+                . $default_background_styles . '"'
+                . 'class="' . implode(' ',$featured_classes) . '"';
+        echo '>';
+    }
+    echo '</div>'; // End featured-image element
+}
+
+if (!function_exists('write_log')) {
+    function write_log ( $log )  {
+        if ( true === WP_DEBUG ) {
+            if ( is_array( $log ) || is_object( $log ) ) {
+                error_log( print_r( $log, true ) );
+            } else {
+                error_log( $log );
+            }
+        }
+    }
+}
+
+add_action('wp_enqueue_scripts', 'glm_site_scripts');
+
+
+// Start of the Contextual/Highlight Search functions
+function mytheme_init() {
+   remove_action('thematic_searchloop', 'thematic_search_loop');
+}
+
+add_action('init', 'mytheme_init', 10);
+
+function wpse_setup_theme() {
+    add_image_size('glm-block-small', 475, 230,true);
+    add_image_size('glm-block-large', 475, 290,true);
+    add_image_size('glm-map-image', 290, 190,true);
+    add_image_size('glm-blog-image', 300, 225,true);
+    add_image_size('header-featured', 1000, 300,true);
+}
+
+add_action( 'after_setup_theme', 'wpse_setup_theme' );
+function mytheme_search_loop() {
+  while ( have_posts() ) : the_post(); ?>
+
+    <div id="post-<?php the_ID() ?>" class="<?php thematic_post_class() ?>">
+      <?php thematic_postheader(); ?>
+      <div class="entry-content">
+        <?php thematic_content(); /* We will replace this next */ ?>
+
+      </div>
+      <?php thematic_postfooter(); ?>
+  </div><!-- .post -->
+
+  <?php endwhile;
+}
+
+function is_post_type($type){
+    global $wp_query;
+    if($type == get_post_type($wp_query->post->ID)) return true;
+    return false;
+}
+
+add_action('thematic_searchloop', 'mytheme_search_loop');
+// End of the Contextual/Highlight Search functions
+
+function get_excerpt_by_id($post_id, $length = 35){
+    $the_post = get_post($post_id); //Gets post ID
+    if( $the_post->post_excerpt ){
+       $the_excerpt = $the_post->post_excerpt;
+    } else {
+        $the_excerpt = $the_post->post_content;
+    }
+
+    $excerpt_length = $length; //Sets excerpt length by word count
+    $the_excerpt = strip_tags(strip_shortcodes($the_excerpt)); //Strips tags and images
+    $words = explode(' ', $the_excerpt, $excerpt_length + 1);
+
+    if(count($words) > $excerpt_length) :
+        array_pop($words);
+        array_push($words, '');
+        $the_excerpt = implode(' ', $words);
+    endif;
+
+//    $the_excerpt = '<p>' . $the_excerpt . '</p>';
+
+    return $the_excerpt;
+}
+?>
diff --git a/gulpfile.js b/gulpfile.js
new file mode 100644 (file)
index 0000000..f956e9d
--- /dev/null
@@ -0,0 +1,60 @@
+var gulp = require('gulp');
+var rename = require('gulp-rename');
+var sass = require('gulp-sass');
+var concat = require('gulp-concat');
+var copy = require('gulp-copy');
+var uglify = require('gulp-uglify');
+var jshint = require('gulp-jshint');
+var clean = require('gulp-clean');
+var maps = require('gulp-sourcemaps');
+
+var sassPaths = [
+  'bower_components/foundation/scss'
+];
+
+function swallowError (error) {
+  // If you want details of the error in the console
+  console.log(error.toString());
+  this.emit('end');
+}
+gulp.task('sass', function() {
+  return gulp.src('dev/scss/app.scss')
+    .pipe(maps.init())
+    .on('error', swallowError)
+    .pipe(sass({
+      includePaths: sassPaths ,
+      outputStyle: 'compressed'
+  })).on('error', swallowError)
+    .pipe(maps.write('.'))
+    .pipe(gulp.dest('dist'));
+});
+gulp.task('copy-bower', function () {
+   return gulp.src(['bower_components/foundation/js/foundation.min.js'])
+        .pipe(gulp.dest('dev/js'));
+});
+gulp.task('lint', function (){
+    return gulp.src('dev/js/custom/**/*.js')
+        .pipe(jshint())
+        .on('error', swallowError)
+        .pipe(jshint.reporter('default'));
+});
+
+gulp.task("concat-uglify", function (){
+    return gulp.src([ 'dev/js/dollarsign.js','dev/js/foundation.min.js','dev/js/custom/**/*.js'])
+        .pipe(concat('app.js'))
+        .pipe(uglify())
+        .pipe(gulp.dest('dist'));
+});
+gulp.task('clean', function (){
+   return gulp.src(['js/foundation.min.js', 'js/motion-ui.min.js', 'js/what-input.min.js','js/custom/dist.js' ,'js/app.js','css/app.css','css/app.css.map','js/transpiled/dist.js'], {read: false})
+        .pipe(clean());
+});
+gulp.task('watch', function () {
+  gulp.watch('dev/js/custom/**/*.js',['concat-uglify', 'lint']);
+  gulp.watch('dev/scss/**/*.{scss,sass}', ['sass']);
+  gulp.watch('gulpfile.js');
+});
+
+gulp.task('build', ["copy-bower","sass"]);
+gulp.task('runwatch', ["sass", "concat-uglify","lint"]);
+gulp.task('default', ["runwatch","watch"]);
\ No newline at end of file
diff --git a/index.php b/index.php
new file mode 100644 (file)
index 0000000..9c998ce
--- /dev/null
+++ b/index.php
@@ -0,0 +1,43 @@
+<!doctype html>
+<html class="no-js" lang="en">
+    <?php get_template_part("parts/header-meta"); ?>
+    <?php $index_template = true;?>
+    <body>
+        <div class="off-canvas-wrap" data-offcanvas>
+            <div class="inner-wrap">
+                <div id="page-wrapper" class="<?php echo is_front_page() ? 'landing-wrapper' : 'interior-wrapper';?>">
+                    <?php
+                    include "sections/header.php"; 
+                    include "sections/off-canvas.php"; 
+                    if (is_front_page()) { 
+                        include "sections/landing-page.php"; 
+                    } 
+                    if (is_home()) { 
+                        include "sections/blog-home.php";
+                    } 
+                    if (is_archive()) { 
+                        include "sections/blog-archive.php";
+                    } 
+                    if (is_single()) {
+                        include "sections/blog-single.php";
+                    }
+                    if (is_search()) { 
+                        include "sections/search.php";
+                    }
+                    if (is_page( HOMEPAGE_ID )) {
+                        include "sections/home-page.php";
+                    } else if (is_page() && !is_front_page()) { 
+                        include "sections/interior-page.php"; 
+                    }
+                    echo '<div id="footer-page-anchor">';
+                    include "sections/footer.php";  
+                    include "sections/copyright.php"; 
+                    echo '</div>'; 
+                    ?>
+                </div><!--/#page-wrapper-->
+            <a class="exit-off-canvas"></a>
+            </div><!--End of inner-wrap-->
+        </div><!--End of off-canvas-->
+        <?php wp_footer();?>
+    </body>
+</html>
diff --git a/nggallery/album-glmalbums.php b/nggallery/album-glmalbums.php
new file mode 100644 (file)
index 0000000..9ebf91f
--- /dev/null
@@ -0,0 +1,60 @@
+<?php
+/**
+Template Page for the album overview
+
+Follow variables are useable :
+
+    $album       : Contain information about the first album
+    $albums      : Contain information about all albums
+    $galleries   : Contain all galleries inside this album
+    $pagination  : Contain the pagination content
+
+ You can check the content when you insert the tag <?php var_dump($variable) ?>
+ If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?>
+**/
+?>
+<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($galleries)) : ?>
+
+<div class="ngg-albumoverview">
+
+    <!-- List of galleries -->
+    <?php foreach ($galleries as $gallery) : ?>
+
+    <div class="ngg-glmalbums ngg-album-compact small-6 medium-4 large-3">
+        <div class="ngg-album-compactbox">
+            <div class="ngg-album-link">
+                <a class="Link" href="<?php echo nextgen_esc_url($gallery->pagelink) ?>">
+                    <img class="Thumb" alt="<?php echo esc_attr($gallery->title) ?>" src="<?php echo nextgen_esc_url($gallery->previewurl) ?>"/>
+                </a>
+            </div>
+        </div>
+        <?php if (!empty($image_gen_params)) {
+            $max_width = 'style="max-width: ' . ($image_gen_params['width'] + 20) . 'px"';
+        } else {
+            $max_width = '';
+        } ?>
+        <section class="album-meta-wrapper">
+            <h4>
+                <a class="ngg-album-desc"
+                   title="<?php echo esc_attr($gallery->title); ?>"
+                   href="<?php echo nextgen_esc_url($gallery->pagelink); ?>"
+                   <?php echo $max_width; ?>>
+                   <?php echo_safe_html($gallery->title); ?>
+                </a>
+            </h4>
+            <p class="ngg-album-gallery-image-counter">
+                <?php if ($gallery->counter > 0) { ?>
+                    <strong><?php echo $gallery->counter; ?></strong>&nbsp;<?php _e('Photos', 'nggallery'); ?>
+                <?php } else { ?>
+                    &nbsp;
+                <?php } ?>
+            </p>
+        </section>
+    </div>
+    <?php endforeach; ?>
+    <!-- Pagination -->
+    <br class="ngg-clear"/>
+    <?php echo $pagination ?>
+</div>
+
+<?php endif; ?>
diff --git a/nggallery/gallery-glmphotos-8.php b/nggallery/gallery-glmphotos-8.php
new file mode 100644 (file)
index 0000000..5c5d662
--- /dev/null
@@ -0,0 +1,55 @@
+<?php 
+/**
+Template Page for the gallery overview
+
+Follow variables are useable :
+
+       $gallery     : Contain all about the gallery
+       $images      : Contain all images, path, title
+       $pagination  : Contain the pagination content
+
+ You can check the content when you insert the tag <?php var_dump($variable) ?>
+ If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?>
+**/
+?>
+<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($gallery)) : ?>
+
+       <!-- Thumbnails -->
+    <?php $i = 0; ?>
+        <ul class="gallery small-block-grid-3 medium-block-grid-6 large-block-grid-8">
+       <?php foreach ( $images as $image ) : ?>
+        <li>
+            <div id="ngg-image-<?php echo $image->pid ?>" class="ngg-gallery-thumbnail-box imgBorderMe" <?php echo $image->style ?> >
+
+                <div class="ngg-gallery-thumbnail" >
+                    <a href="<?php echo nextgen_esc_url($image->imageURL) ?>"
+                title="<?php echo esc_attr($image->description) ?>"
+                data-src="<?php echo nextgen_esc_url($image->imageURL) ?>"
+                data-thumbnail="<?php echo nextgen_esc_url($image->thumbnailURL); ?>"
+                data-image-id="<?php echo esc_attr($image->pid); ?>"
+                data-title="<?php echo esc_attr($image->alttext); ?>"
+                data-description="<?php echo esc_attr($image->description); ?>"
+                <?php echo $image->thumbcode ?> >
+                            <?php if ( !$image->hidden ) { ?>
+                        
+                        <div class="image_overlay">
+                            <img title="<?php echo esc_attr($image->alttext) ?>" alt="<?php echo esc_attr($image->alttext) ?>" src="<?php echo nextgen_esc_url($image->thumbnailURL) ?>" <?php echo $image->size ?> />
+                        </div>
+                    <span class="photoTitle" title="<?php echo esc_attr($image->alttext) ?>"><?php if (!$image->hidden) { echo esc_attr($image->alttext); }?></span>
+                            <?php } ?>
+                    </a>
+                </div>
+                
+            </div>
+        </li>
+       <?php if ( $image->hidden ) continue; ?>
+       <?php if ( $gallery->columns > 0 && ++$i % $gallery->columns == 0 ) { ?>
+       <br style="clear: both" />
+       <?php } ?>
+       <?php endforeach; ?>
+        </ul>
+       <!-- Pagination -->
+       <?php echo $pagination ?>
+</ul>
+
+<?php endif; ?>
diff --git a/nggallery/gallery-glmphotos-narrow.php b/nggallery/gallery-glmphotos-narrow.php
new file mode 100644 (file)
index 0000000..9388984
--- /dev/null
@@ -0,0 +1,55 @@
+<?php 
+/**
+Template Page for the gallery overview
+
+Follow variables are useable :
+
+       $gallery     : Contain all about the gallery
+       $images      : Contain all images, path, title
+       $pagination  : Contain the pagination content
+
+ You can check the content when you insert the tag <?php var_dump($variable) ?>
+ If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?>
+**/
+?>
+<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($gallery)) : ?>
+
+       <!-- Thumbnails -->
+    <?php $i = 0; ?>
+        <ul class="gallery small-block-grid-1 medium-block-grid-2 large-block-grid-3">
+       <?php foreach ( $images as $image ) : ?>
+        <li>
+            <div id="ngg-image-<?php echo $image->pid ?>" class="ngg-gallery-thumbnail-box imgBorderMe" <?php echo $image->style ?> >
+
+                <div class="ngg-gallery-thumbnail" >
+                    <a href="<?php echo nextgen_esc_url($image->imageURL) ?>"
+                title="<?php echo esc_attr($image->description) ?>"
+                data-src="<?php echo nextgen_esc_url($image->imageURL) ?>"
+                data-thumbnail="<?php echo nextgen_esc_url($image->thumbnailURL); ?>"
+                data-image-id="<?php echo esc_attr($image->pid); ?>"
+                data-title="<?php echo esc_attr($image->alttext); ?>"
+                data-description="<?php echo esc_attr($image->description); ?>"
+                <?php echo $image->thumbcode ?> >
+                            <?php if ( !$image->hidden ) { ?>
+                        
+                        <div class="image_overlay">
+                            <img title="<?php echo esc_attr($image->alttext) ?>" alt="<?php echo esc_attr($image->alttext) ?>" src="<?php echo nextgen_esc_url($image->thumbnailURL) ?>" <?php echo $image->size ?> />
+                        </div>
+                    <span class="photoTitle" title="<?php echo esc_attr($image->alttext) ?>"><?php if (!$image->hidden) { echo esc_attr($image->alttext); }?></span>
+                            <?php } ?>
+                    </a>
+                </div>
+                
+            </div>
+        </li>
+       <?php if ( $image->hidden ) continue; ?>
+       <?php if ( $gallery->columns > 0 && ++$i % $gallery->columns == 0 ) { ?>
+       <br style="clear: both" />
+       <?php } ?>
+       <?php endforeach; ?>
+        </ul>
+       <!-- Pagination -->
+       <?php echo $pagination ?>
+</ul>
+
+<?php endif; ?>
diff --git a/nggallery/gallery-glmphotos.php b/nggallery/gallery-glmphotos.php
new file mode 100644 (file)
index 0000000..cc6369a
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+/**
+Template Page for the gallery overview
+
+Follow variables are useable :
+
+       $gallery     : Contain all about the gallery
+       $images      : Contain all images, path, title
+       $pagination  : Contain the pagination content
+
+ You can check the content when you insert the tag <?php var_dump($variable) ?>
+ If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?>
+**/
+?>
+<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($gallery)) : ?>
+
+<div class="ngg-galleryoverview" id="<?php echo $gallery->anchor ?>">
+       <!-- Thumbnails -->
+    <?php $i = 0; ?>
+        <ul class="gallery small-block-grid-2 medium-block-grid-3 large-block-grid-4">
+       <?php foreach ( $images as $image ) : ?>
+        <li>
+            <div id="ngg-image-<?php echo $image->pid ?>" class="ngg-gallery-thumbnail-box imgBorderMe" <?php echo $image->style ?> >
+
+                <div class="ngg-gallery-thumbnail" >
+                    <a href="<?php echo nextgen_esc_url($image->imageURL) ?>"
+                title="<?php echo esc_attr($image->description) ?>"
+                data-src="<?php echo nextgen_esc_url($image->imageURL) ?>"
+                data-thumbnail="<?php echo nextgen_esc_url($image->thumbnailURL); ?>"
+                data-image-id="<?php echo esc_attr($image->pid); ?>"
+                data-title="<?php echo esc_attr($image->alttext); ?>"
+                data-description="<?php echo esc_attr($image->description); ?>"
+                <?php echo $image->thumbcode ?> >
+                            <?php if ( !$image->hidden ) { ?>
+
+                        <div class="image_overlay">
+                            <img
+                            title="<?php echo esc_attr($image->alttext) ?>"
+                            alt="<?php echo esc_attr($image->alttext) ?>"
+                            src="<?php echo nextgen_esc_url($image->thumbnailURL) ?>"
+                            <?php echo $image->size ?> />
+                        </div>
+                    <?php
+                    $imageTitle = !preg_match(';is\d{2,}-\d{10,}-\d{5,}$;', $image->alttext) ? $image->alttext: '';
+                    ?>
+                    <span class="photoTitle" title="<?php echo esc_attr($imageTitle) ?>">
+                        <?php if (!$image->hidden) { echo esc_attr($imageTitle); }?>
+                    </span>
+                            <?php } ?>
+                    </a>
+                </div>
+
+            </div>
+        </li>
+       <?php if ( $image->hidden ) continue; ?>
+       <?php if ( $gallery->columns > 0 && ++$i % $gallery->columns == 0 ) { ?>
+       <br style="clear: both" />
+       <?php } ?>
+       <?php endforeach; ?>
+        </ul>
+       <!-- Pagination -->
+       <?php echo $pagination ?>
+</ul>
+</div>
+
+<?php endif; ?>
diff --git a/nggallery/gallery-glmvideos.php b/nggallery/gallery-glmvideos.php
new file mode 100644 (file)
index 0000000..41942f2
--- /dev/null
@@ -0,0 +1,72 @@
+<?php 
+/**
+Template Page for the gallery overview
+
+Follow variables are useable :
+
+       $gallery     : Contain all about the gallery
+       $images      : Contain all images, path, title
+       $pagination  : Contain the pagination content
+
+ You can check the content when you insert the tag <?php var_dump($variable) ?>
+ If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?>
+**/
+?>
+<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($gallery)) : ?>
+
+<ul id='gallery' class='gallery small-block-grid-2 medium-block-grid-3 large-block-grid-4'>
+<?php if ($gallery->show_slideshow) { ?>
+       <!-- Slideshow link -->
+       <div class="slideshowlink">
+               <a class="slideshowlink" href="<?php echo nextgen_esc_url($gallery->slideshow_link) ?>">
+                       <?php echo $gallery->slideshow_link_text ?>
+               </a>
+       </div>
+<?php } ?>
+       <!-- Thumbnails -->
+    <?php $i = 0; ?>
+       <?php foreach ( $images as $image ) : ?>
+       <li>
+            <div id="ngg-image-<?php echo $image->pid ?>" class="ngg-gallery-thumbnail-box imgBorderMe" <?php echo $image->style ?> >
+
+                <div class="ngg-gallery-thumbnail" >
+                    <a href="<?php echo nggcf_get_field($image->pid, "video_url"); ?>"
+                    title="<?php echo esc_attr($image->description); ?>"
+                    data-src="<?php echo nextgen_esc_url($image->imageURL); ?>"
+                    data-thumbnail="<?php echo nextgen_esc_url($image->thumbnailURL); ?>"
+                    data-image-id="<?php echo esc_attr($image->pid); ?>"
+                    data-title="<?php echo esc_attr($image->alttext); ?>"
+                    data-description="<?php echo esc_attr($image->description); ?>"
+                    data-url="<?php echo nggcf_get_field($image->pid, "video_url"); ?>"
+                    <?php echo $image->thumbcode ?> >
+                        <?php if ( !$image->hidden ) { ?>
+                        
+                        <div class="image_overlay">
+                            <img title="<?php echo esc_attr($image->alttext) ?>" alt="<?php echo esc_attr($image->alttext) ?>" src="<?php echo nextgen_esc_url($image->thumbnailURL) ?>" <?php echo $image->size ?> />
+                        </div>
+                    <span class="photoTitle"><?php if (!$image->hidden) { echo esc_attr($image->alttext); }?></span>
+                    
+                            <?php } ?>
+                    </a>
+                </div>
+                
+            </div>
+        </li>
+       <?php if ( $image->hidden ) continue; ?>
+       <?php if ( $gallery->columns > 0 && ++$i % $gallery->columns == 0 ) { ?>
+       <br style="clear: both" />
+       <?php } ?>
+       <?php endforeach; ?>
+       
+       <!-- Pagination -->
+       <?php echo $pagination ?>
+</ul>
+<script>
+    jQuery(document).ready(function(){
+        jQuery(".ngg-fancybox").each(function (){
+            jQuery(this).addClass("various iframe");
+            jQuery(this).attr("href",jQuery(this).children("img").attr("title"));
+        });
+    });
+</script>
+<?php endif; ?>
diff --git a/package-lock.json b/package-lock.json
new file mode 100644 (file)
index 0000000..ec67a4b
--- /dev/null
@@ -0,0 +1,5005 @@
+{
+  "name": "glmOrigin",
+  "version": "0.0.1",
+  "lockfileVersion": 1,
+  "requires": true,
+  "dependencies": {
+    "@gulp-sourcemaps/map-sources": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
+      "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=",
+      "dev": true,
+      "requires": {
+        "normalize-path": "2.1.1",
+        "through2": "2.0.3"
+      }
+    },
+    "abbrev": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+      "dev": true
+    },
+    "acorn": {
+      "version": "4.0.13",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+      "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
+      "dev": true
+    },
+    "ajv": {
+      "version": "5.5.2",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+      "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+      "dev": true,
+      "requires": {
+        "co": "4.6.0",
+        "fast-deep-equal": "1.1.0",
+        "fast-json-stable-stringify": "2.0.0",
+        "json-schema-traverse": "0.3.1"
+      }
+    },
+    "align-text": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+      "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+      "dev": true,
+      "requires": {
+        "kind-of": "3.2.2",
+        "longest": "1.0.1",
+        "repeat-string": "1.6.1"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "amdefine": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+      "dev": true
+    },
+    "ansi-cyan": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
+      "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
+      "dev": true,
+      "requires": {
+        "ansi-wrap": "0.1.0"
+      }
+    },
+    "ansi-gray": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
+      "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
+      "dev": true,
+      "requires": {
+        "ansi-wrap": "0.1.0"
+      }
+    },
+    "ansi-red": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
+      "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
+      "dev": true,
+      "requires": {
+        "ansi-wrap": "0.1.0"
+      }
+    },
+    "ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+      "dev": true
+    },
+    "ansi-styles": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+      "dev": true
+    },
+    "ansi-wrap": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+      "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
+      "dev": true
+    },
+    "aproba": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+      "dev": true
+    },
+    "archy": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+      "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
+      "dev": true
+    },
+    "are-we-there-yet": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+      "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+      "dev": true,
+      "requires": {
+        "delegates": "1.0.0",
+        "readable-stream": "2.3.6"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        }
+      }
+    },
+    "arr-diff": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+      "dev": true
+    },
+    "arr-flatten": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+      "dev": true
+    },
+    "arr-union": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+      "dev": true
+    },
+    "array-differ": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+      "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
+      "dev": true
+    },
+    "array-each": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
+      "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
+      "dev": true
+    },
+    "array-find-index": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+      "dev": true
+    },
+    "array-slice": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
+      "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
+      "dev": true
+    },
+    "array-uniq": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+      "dev": true
+    },
+    "array-unique": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+      "dev": true
+    },
+    "asn1": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+      "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
+      "dev": true
+    },
+    "assert-plus": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+      "dev": true
+    },
+    "assign-symbols": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+      "dev": true
+    },
+    "async-foreach": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
+      "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
+      "dev": true
+    },
+    "asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+      "dev": true
+    },
+    "atob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
+      "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=",
+      "dev": true
+    },
+    "autoprefixer": {
+      "version": "6.7.7",
+      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
+      "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+      "dev": true,
+      "requires": {
+        "browserslist": "1.7.7",
+        "caniuse-db": "1.0.30000850",
+        "normalize-range": "0.1.2",
+        "num2fraction": "1.2.2",
+        "postcss": "5.2.18",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "aws-sign2": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+      "dev": true
+    },
+    "aws4": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
+      "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==",
+      "dev": true
+    },
+    "balanced-match": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+      "dev": true
+    },
+    "base": {
+      "version": "0.11.2",
+      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+      "dev": true,
+      "requires": {
+        "cache-base": "1.0.1",
+        "class-utils": "0.3.6",
+        "component-emitter": "1.2.1",
+        "define-property": "1.0.0",
+        "isobject": "3.0.1",
+        "mixin-deep": "1.3.1",
+        "pascalcase": "0.1.1"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
+          "requires": {
+            "is-descriptor": "1.0.2"
+          }
+        },
+        "is-accessor-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-data-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
+          "requires": {
+            "is-accessor-descriptor": "1.0.0",
+            "is-data-descriptor": "1.0.0",
+            "kind-of": "6.0.2"
+          }
+        }
+      }
+    },
+    "bcrypt-pbkdf": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+      "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "tweetnacl": "0.14.5"
+      }
+    },
+    "beeper": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
+      "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
+      "dev": true
+    },
+    "block-stream": {
+      "version": "0.0.9",
+      "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+      "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.3"
+      }
+    },
+    "brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dev": true,
+      "requires": {
+        "balanced-match": "1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "braces": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+      "dev": true,
+      "requires": {
+        "arr-flatten": "1.1.0",
+        "array-unique": "0.3.2",
+        "extend-shallow": "2.0.1",
+        "fill-range": "4.0.0",
+        "isobject": "3.0.1",
+        "repeat-element": "1.1.2",
+        "snapdragon": "0.8.2",
+        "snapdragon-node": "2.1.1",
+        "split-string": "3.1.0",
+        "to-regex": "3.0.2"
+      },
+      "dependencies": {
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        }
+      }
+    },
+    "browserslist": {
+      "version": "1.7.7",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+      "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+      "dev": true,
+      "requires": {
+        "caniuse-db": "1.0.30000850",
+        "electron-to-chromium": "1.3.48"
+      }
+    },
+    "builtin-modules": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+      "dev": true
+    },
+    "cache-base": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+      "dev": true,
+      "requires": {
+        "collection-visit": "1.0.0",
+        "component-emitter": "1.2.1",
+        "get-value": "2.0.6",
+        "has-value": "1.0.0",
+        "isobject": "3.0.1",
+        "set-value": "2.0.0",
+        "to-object-path": "0.3.0",
+        "union-value": "1.0.0",
+        "unset-value": "1.0.0"
+      }
+    },
+    "camelcase": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+      "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+      "dev": true
+    },
+    "camelcase-keys": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+      "dev": true,
+      "requires": {
+        "camelcase": "2.1.1",
+        "map-obj": "1.0.1"
+      }
+    },
+    "caniuse-db": {
+      "version": "1.0.30000850",
+      "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000850.tgz",
+      "integrity": "sha1-llyBZkFXbQhwm+4SJWoFUBZLldU=",
+      "dev": true
+    },
+    "caseless": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+      "dev": true
+    },
+    "center-align": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+      "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+      "dev": true,
+      "requires": {
+        "align-text": "0.1.4",
+        "lazy-cache": "1.0.4"
+      }
+    },
+    "chalk": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+      "dev": true,
+      "requires": {
+        "ansi-styles": "2.2.1",
+        "escape-string-regexp": "1.0.5",
+        "has-ansi": "2.0.0",
+        "strip-ansi": "3.0.1",
+        "supports-color": "2.0.0"
+      }
+    },
+    "class-utils": {
+      "version": "0.3.6",
+      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+      "dev": true,
+      "requires": {
+        "arr-union": "3.1.0",
+        "define-property": "0.2.5",
+        "isobject": "3.0.1",
+        "static-extend": "0.1.2"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        }
+      }
+    },
+    "cli": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
+      "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=",
+      "dev": true,
+      "requires": {
+        "exit": "0.1.2",
+        "glob": "7.1.2"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "7.1.2",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+          "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "1.0.0",
+            "inflight": "1.0.6",
+            "inherits": "2.0.3",
+            "minimatch": "3.0.4",
+            "once": "1.3.3",
+            "path-is-absolute": "1.0.1"
+          }
+        },
+        "minimatch": {
+          "version": "3.0.4",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+          "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "1.1.11"
+          }
+        }
+      }
+    },
+    "cliui": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+      "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+      "dev": true,
+      "requires": {
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1",
+        "wrap-ansi": "2.1.0"
+      }
+    },
+    "clone": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+      "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+      "dev": true
+    },
+    "clone-buffer": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
+      "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
+      "dev": true
+    },
+    "clone-stats": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+      "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
+      "dev": true
+    },
+    "cloneable-readable": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz",
+      "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.3",
+        "process-nextick-args": "2.0.0",
+        "readable-stream": "2.3.6"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        }
+      }
+    },
+    "co": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+      "dev": true
+    },
+    "code-point-at": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+      "dev": true
+    },
+    "collection-visit": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+      "dev": true,
+      "requires": {
+        "map-visit": "1.0.0",
+        "object-visit": "1.0.1"
+      }
+    },
+    "color-support": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+      "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+      "dev": true
+    },
+    "combined-stream": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+      "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
+      "dev": true,
+      "requires": {
+        "delayed-stream": "1.0.0"
+      }
+    },
+    "component-emitter": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+      "dev": true
+    },
+    "concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+      "dev": true
+    },
+    "concat-with-sourcemaps": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
+      "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
+      "dev": true,
+      "requires": {
+        "source-map": "0.6.1"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
+        }
+      }
+    },
+    "console-browserify": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+      "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+      "dev": true,
+      "requires": {
+        "date-now": "0.1.4"
+      }
+    },
+    "console-control-strings": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+      "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+      "dev": true
+    },
+    "convert-source-map": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+      "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
+      "dev": true
+    },
+    "copy-descriptor": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+      "dev": true
+    },
+    "core-util-is": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+      "dev": true
+    },
+    "cross-spawn": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+      "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+      "dev": true,
+      "requires": {
+        "lru-cache": "4.1.3",
+        "which": "1.3.1"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "4.1.3",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+          "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
+          "dev": true,
+          "requires": {
+            "pseudomap": "1.0.2",
+            "yallist": "2.1.2"
+          }
+        }
+      }
+    },
+    "css": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/css/-/css-2.2.3.tgz",
+      "integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.3",
+        "source-map": "0.1.43",
+        "source-map-resolve": "0.5.2",
+        "urix": "0.1.0"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.1.43",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+          "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+          "dev": true,
+          "requires": {
+            "amdefine": "1.0.1"
+          }
+        }
+      }
+    },
+    "currently-unhandled": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+      "dev": true,
+      "requires": {
+        "array-find-index": "1.0.2"
+      }
+    },
+    "dashdash": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0"
+      }
+    },
+    "date-now": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+      "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+      "dev": true
+    },
+    "dateformat": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
+      "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
+      "dev": true
+    },
+    "debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "requires": {
+        "ms": "2.0.0"
+      }
+    },
+    "debug-fabulous": {
+      "version": "0.0.4",
+      "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-0.0.4.tgz",
+      "integrity": "sha1-+gccXYdIRoVCSAdCHKSxawsaB2M=",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.9",
+        "lazy-debug-legacy": "0.0.1",
+        "object-assign": "4.1.0"
+      },
+      "dependencies": {
+        "object-assign": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+          "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=",
+          "dev": true
+        }
+      }
+    },
+    "decamelize": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+      "dev": true
+    },
+    "decode-uri-component": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+      "dev": true
+    },
+    "defaults": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+      "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+      "dev": true,
+      "requires": {
+        "clone": "1.0.4"
+      }
+    },
+    "define-property": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+      "dev": true,
+      "requires": {
+        "is-descriptor": "1.0.2",
+        "isobject": "3.0.1"
+      },
+      "dependencies": {
+        "is-accessor-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-data-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
+          "requires": {
+            "is-accessor-descriptor": "1.0.0",
+            "is-data-descriptor": "1.0.0",
+            "kind-of": "6.0.2"
+          }
+        }
+      }
+    },
+    "delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+      "dev": true
+    },
+    "delegates": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+      "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+      "dev": true
+    },
+    "deprecated": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
+      "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=",
+      "dev": true
+    },
+    "detect-file": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+      "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
+      "dev": true
+    },
+    "detect-newline": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
+      "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=",
+      "dev": true
+    },
+    "dom-serializer": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
+      "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
+      "dev": true,
+      "requires": {
+        "domelementtype": "1.1.3",
+        "entities": "1.1.1"
+      },
+      "dependencies": {
+        "domelementtype": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+          "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
+          "dev": true
+        },
+        "entities": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
+          "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
+          "dev": true
+        }
+      }
+    },
+    "domelementtype": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
+      "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
+      "dev": true
+    },
+    "domhandler": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
+      "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
+      "dev": true,
+      "requires": {
+        "domelementtype": "1.3.0"
+      }
+    },
+    "domutils": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+      "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+      "dev": true,
+      "requires": {
+        "dom-serializer": "0.1.0",
+        "domelementtype": "1.3.0"
+      }
+    },
+    "duplexer2": {
+      "version": "0.0.2",
+      "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
+      "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "1.1.14"
+      }
+    },
+    "ecc-jsbn": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+      "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "jsbn": "0.1.1"
+      }
+    },
+    "electron-to-chromium": {
+      "version": "1.3.48",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz",
+      "integrity": "sha1-07DYWTgUBE4JLs4hCPw6ya6kuQA=",
+      "dev": true
+    },
+    "end-of-stream": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
+      "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
+      "dev": true,
+      "requires": {
+        "once": "1.3.3"
+      }
+    },
+    "entities": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
+      "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
+      "dev": true
+    },
+    "error-ex": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+      "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+      "dev": true,
+      "requires": {
+        "is-arrayish": "0.2.1"
+      }
+    },
+    "escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true
+    },
+    "exit": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+      "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+      "dev": true
+    },
+    "expand-brackets": {
+      "version": "2.1.4",
+      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.9",
+        "define-property": "0.2.5",
+        "extend-shallow": "2.0.1",
+        "posix-character-classes": "0.1.1",
+        "regex-not": "1.0.2",
+        "snapdragon": "0.8.2",
+        "to-regex": "3.0.2"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        },
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        }
+      }
+    },
+    "expand-tilde": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+      "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+      "dev": true,
+      "requires": {
+        "homedir-polyfill": "1.0.1"
+      }
+    },
+    "extend": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+      "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
+      "dev": true
+    },
+    "extend-shallow": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+      "dev": true,
+      "requires": {
+        "assign-symbols": "1.0.0",
+        "is-extendable": "1.0.1"
+      },
+      "dependencies": {
+        "is-extendable": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+          "dev": true,
+          "requires": {
+            "is-plain-object": "2.0.4"
+          }
+        }
+      }
+    },
+    "extglob": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+      "dev": true,
+      "requires": {
+        "array-unique": "0.3.2",
+        "define-property": "1.0.0",
+        "expand-brackets": "2.1.4",
+        "extend-shallow": "2.0.1",
+        "fragment-cache": "0.2.1",
+        "regex-not": "1.0.2",
+        "snapdragon": "0.8.2",
+        "to-regex": "3.0.2"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
+          "requires": {
+            "is-descriptor": "1.0.2"
+          }
+        },
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        },
+        "is-accessor-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-data-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
+          "requires": {
+            "is-accessor-descriptor": "1.0.0",
+            "is-data-descriptor": "1.0.0",
+            "kind-of": "6.0.2"
+          }
+        }
+      }
+    },
+    "extsprintf": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+      "dev": true
+    },
+    "fancy-log": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
+      "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
+      "dev": true,
+      "requires": {
+        "ansi-gray": "0.1.1",
+        "color-support": "1.1.3",
+        "time-stamp": "1.1.0"
+      }
+    },
+    "fast-deep-equal": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+      "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
+      "dev": true
+    },
+    "fast-json-stable-stringify": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+      "dev": true
+    },
+    "fill-range": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+      "dev": true,
+      "requires": {
+        "extend-shallow": "2.0.1",
+        "is-number": "3.0.0",
+        "repeat-string": "1.6.1",
+        "to-regex-range": "2.1.1"
+      },
+      "dependencies": {
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        }
+      }
+    },
+    "find-index": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
+      "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=",
+      "dev": true
+    },
+    "find-up": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+      "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+      "dev": true,
+      "requires": {
+        "path-exists": "2.1.0",
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "findup-sync": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+      "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
+      "dev": true,
+      "requires": {
+        "detect-file": "1.0.0",
+        "is-glob": "3.1.0",
+        "micromatch": "3.1.10",
+        "resolve-dir": "1.0.1"
+      }
+    },
+    "fined": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
+      "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
+      "dev": true,
+      "requires": {
+        "expand-tilde": "2.0.2",
+        "is-plain-object": "2.0.4",
+        "object.defaults": "1.1.0",
+        "object.pick": "1.3.0",
+        "parse-filepath": "1.0.2"
+      }
+    },
+    "first-chunk-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+      "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
+      "dev": true
+    },
+    "flagged-respawn": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
+      "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=",
+      "dev": true
+    },
+    "for-in": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+      "dev": true
+    },
+    "for-own": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+      "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+      "dev": true,
+      "requires": {
+        "for-in": "1.0.2"
+      }
+    },
+    "forever-agent": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+      "dev": true
+    },
+    "form-data": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
+      "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
+      "dev": true,
+      "requires": {
+        "asynckit": "0.4.0",
+        "combined-stream": "1.0.6",
+        "mime-types": "2.1.18"
+      }
+    },
+    "fragment-cache": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+      "dev": true,
+      "requires": {
+        "map-cache": "0.2.2"
+      }
+    },
+    "fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+      "dev": true
+    },
+    "fstream": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
+      "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "inherits": "2.0.3",
+        "mkdirp": "0.5.1",
+        "rimraf": "2.6.2"
+      },
+      "dependencies": {
+        "graceful-fs": {
+          "version": "4.1.11",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+          "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+          "dev": true
+        }
+      }
+    },
+    "gauge": {
+      "version": "2.7.4",
+      "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+      "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+      "dev": true,
+      "requires": {
+        "aproba": "1.2.0",
+        "console-control-strings": "1.1.0",
+        "has-unicode": "2.0.1",
+        "object-assign": "4.1.1",
+        "signal-exit": "3.0.2",
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1",
+        "wide-align": "1.1.3"
+      },
+      "dependencies": {
+        "object-assign": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+          "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+          "dev": true
+        }
+      }
+    },
+    "gaze": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
+      "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
+      "dev": true,
+      "requires": {
+        "globule": "0.1.0"
+      }
+    },
+    "get-caller-file": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+      "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
+      "dev": true
+    },
+    "get-stdin": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+      "dev": true
+    },
+    "get-value": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+      "dev": true
+    },
+    "getpass": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0"
+      }
+    },
+    "glob": {
+      "version": "4.5.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+      "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
+      "dev": true,
+      "requires": {
+        "inflight": "1.0.6",
+        "inherits": "2.0.3",
+        "minimatch": "2.0.10",
+        "once": "1.3.3"
+      }
+    },
+    "glob-stream": {
+      "version": "3.1.18",
+      "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
+      "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
+      "dev": true,
+      "requires": {
+        "glob": "4.5.3",
+        "glob2base": "0.0.12",
+        "minimatch": "2.0.10",
+        "ordered-read-streams": "0.1.0",
+        "through2": "0.6.5",
+        "unique-stream": "1.0.0"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "1.0.34",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "0.0.1",
+            "string_decoder": "0.10.31"
+          }
+        },
+        "through2": {
+          "version": "0.6.5",
+          "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+          "dev": true,
+          "requires": {
+            "readable-stream": "1.0.34",
+            "xtend": "4.0.1"
+          }
+        }
+      }
+    },
+    "glob-watcher": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
+      "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
+      "dev": true,
+      "requires": {
+        "gaze": "0.5.2"
+      }
+    },
+    "glob2base": {
+      "version": "0.0.12",
+      "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
+      "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
+      "dev": true,
+      "requires": {
+        "find-index": "0.1.1"
+      }
+    },
+    "global-modules": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+      "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+      "dev": true,
+      "requires": {
+        "global-prefix": "1.0.2",
+        "is-windows": "1.0.2",
+        "resolve-dir": "1.0.1"
+      }
+    },
+    "global-prefix": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+      "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+      "dev": true,
+      "requires": {
+        "expand-tilde": "2.0.2",
+        "homedir-polyfill": "1.0.1",
+        "ini": "1.3.5",
+        "is-windows": "1.0.2",
+        "which": "1.3.1"
+      }
+    },
+    "globule": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
+      "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
+      "dev": true,
+      "requires": {
+        "glob": "3.1.21",
+        "lodash": "1.0.2",
+        "minimatch": "0.2.14"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "3.1.21",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+          "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "1.2.3",
+            "inherits": "1.0.2",
+            "minimatch": "0.2.14"
+          }
+        },
+        "graceful-fs": {
+          "version": "1.2.3",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
+          "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
+          "dev": true
+        },
+        "inherits": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
+          "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
+          "dev": true
+        },
+        "minimatch": {
+          "version": "0.2.14",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+          "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
+          "dev": true,
+          "requires": {
+            "lru-cache": "2.7.3",
+            "sigmund": "1.0.1"
+          }
+        }
+      }
+    },
+    "glogg": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
+      "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
+      "dev": true,
+      "requires": {
+        "sparkles": "1.0.1"
+      }
+    },
+    "graceful-fs": {
+      "version": "3.0.11",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+      "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
+      "dev": true,
+      "requires": {
+        "natives": "1.1.4"
+      }
+    },
+    "gulp": {
+      "version": "3.9.1",
+      "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
+      "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
+      "dev": true,
+      "requires": {
+        "archy": "1.0.0",
+        "chalk": "1.1.3",
+        "deprecated": "0.0.1",
+        "gulp-util": "3.0.8",
+        "interpret": "1.1.0",
+        "liftoff": "2.5.0",
+        "minimist": "1.2.0",
+        "orchestrator": "0.3.8",
+        "pretty-hrtime": "1.0.3",
+        "semver": "4.3.6",
+        "tildify": "1.2.0",
+        "v8flags": "2.1.1",
+        "vinyl-fs": "0.3.14"
+      }
+    },
+    "gulp-autoprefixer": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-3.1.1.tgz",
+      "integrity": "sha1-dSMAUc0NFxND14O36bXREg7u+bA=",
+      "dev": true,
+      "requires": {
+        "autoprefixer": "6.7.7",
+        "gulp-util": "3.0.8",
+        "postcss": "5.2.18",
+        "through2": "2.0.3",
+        "vinyl-sourcemaps-apply": "0.2.1"
+      }
+    },
+    "gulp-clean": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/gulp-clean/-/gulp-clean-0.3.2.tgz",
+      "integrity": "sha1-o0fUc6zqQBgvk1WHpFGUFnGSgQI=",
+      "dev": true,
+      "requires": {
+        "gulp-util": "2.2.20",
+        "rimraf": "2.6.2",
+        "through2": "0.4.2"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "0.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+          "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+          "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+          "dev": true
+        },
+        "chalk": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+          "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "1.1.0",
+            "escape-string-regexp": "1.0.5",
+            "has-ansi": "0.1.0",
+            "strip-ansi": "0.3.0",
+            "supports-color": "0.2.0"
+          }
+        },
+        "dateformat": {
+          "version": "1.0.12",
+          "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+          "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
+          "dev": true,
+          "requires": {
+            "get-stdin": "4.0.1",
+            "meow": "3.7.0"
+          }
+        },
+        "gulp-util": {
+          "version": "2.2.20",
+          "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz",
+          "integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=",
+          "dev": true,
+          "requires": {
+            "chalk": "0.5.1",
+            "dateformat": "1.0.12",
+            "lodash._reinterpolate": "2.4.1",
+            "lodash.template": "2.4.1",
+            "minimist": "0.2.0",
+            "multipipe": "0.1.2",
+            "through2": "0.5.1",
+            "vinyl": "0.2.3"
+          },
+          "dependencies": {
+            "through2": {
+              "version": "0.5.1",
+              "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
+              "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=",
+              "dev": true,
+              "requires": {
+                "readable-stream": "1.0.34",
+                "xtend": "3.0.0"
+              }
+            }
+          }
+        },
+        "has-ansi": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+          "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "0.2.1"
+          }
+        },
+        "lodash._reinterpolate": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
+          "integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=",
+          "dev": true
+        },
+        "lodash.escape": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
+          "integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=",
+          "dev": true,
+          "requires": {
+            "lodash._escapehtmlchar": "2.4.1",
+            "lodash._reunescapedhtml": "2.4.1",
+            "lodash.keys": "2.4.1"
+          }
+        },
+        "lodash.keys": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+          "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
+          "dev": true,
+          "requires": {
+            "lodash._isnative": "2.4.1",
+            "lodash._shimkeys": "2.4.1",
+            "lodash.isobject": "2.4.1"
+          }
+        },
+        "lodash.template": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
+          "integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=",
+          "dev": true,
+          "requires": {
+            "lodash._escapestringchar": "2.4.1",
+            "lodash._reinterpolate": "2.4.1",
+            "lodash.defaults": "2.4.1",
+            "lodash.escape": "2.4.1",
+            "lodash.keys": "2.4.1",
+            "lodash.templatesettings": "2.4.1",
+            "lodash.values": "2.4.1"
+          }
+        },
+        "lodash.templatesettings": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
+          "integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=",
+          "dev": true,
+          "requires": {
+            "lodash._reinterpolate": "2.4.1",
+            "lodash.escape": "2.4.1"
+          }
+        },
+        "minimist": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz",
+          "integrity": "sha1-Tf/lJdriuGTGbC4jxicdev3s784=",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "1.0.34",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "0.0.1",
+            "string_decoder": "0.10.31"
+          }
+        },
+        "strip-ansi": {
+          "version": "0.3.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+          "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "0.2.1"
+          }
+        },
+        "supports-color": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+          "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+          "dev": true
+        },
+        "through2": {
+          "version": "0.4.2",
+          "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
+          "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=",
+          "dev": true,
+          "requires": {
+            "readable-stream": "1.0.34",
+            "xtend": "2.1.2"
+          },
+          "dependencies": {
+            "xtend": {
+              "version": "2.1.2",
+              "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
+              "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
+              "dev": true,
+              "requires": {
+                "object-keys": "0.4.0"
+              }
+            }
+          }
+        },
+        "vinyl": {
+          "version": "0.2.3",
+          "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz",
+          "integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=",
+          "dev": true,
+          "requires": {
+            "clone-stats": "0.0.1"
+          }
+        },
+        "xtend": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
+          "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
+          "dev": true
+        }
+      }
+    },
+    "gulp-concat": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
+      "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
+      "dev": true,
+      "requires": {
+        "concat-with-sourcemaps": "1.1.0",
+        "through2": "2.0.3",
+        "vinyl": "2.1.0"
+      },
+      "dependencies": {
+        "clone": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
+          "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
+          "dev": true
+        },
+        "clone-stats": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+          "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
+          "dev": true
+        },
+        "replace-ext": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+          "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+          "dev": true
+        },
+        "vinyl": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
+          "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
+          "dev": true,
+          "requires": {
+            "clone": "2.1.1",
+            "clone-buffer": "1.0.0",
+            "clone-stats": "1.0.0",
+            "cloneable-readable": "1.1.2",
+            "remove-trailing-separator": "1.1.0",
+            "replace-ext": "1.0.0"
+          }
+        }
+      }
+    },
+    "gulp-copy": {
+      "version": "0.0.2",
+      "resolved": "https://registry.npmjs.org/gulp-copy/-/gulp-copy-0.0.2.tgz",
+      "integrity": "sha1-PcyMQmepweDKC4P6unDOir8lqIY=",
+      "dev": true,
+      "requires": {
+        "gulp-util": "2.2.20",
+        "through": "2.3.4"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "0.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+          "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+          "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+          "dev": true
+        },
+        "chalk": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+          "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "1.1.0",
+            "escape-string-regexp": "1.0.5",
+            "has-ansi": "0.1.0",
+            "strip-ansi": "0.3.0",
+            "supports-color": "0.2.0"
+          }
+        },
+        "dateformat": {
+          "version": "1.0.12",
+          "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+          "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
+          "dev": true,
+          "requires": {
+            "get-stdin": "4.0.1",
+            "meow": "3.7.0"
+          }
+        },
+        "gulp-util": {
+          "version": "2.2.20",
+          "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz",
+          "integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=",
+          "dev": true,
+          "requires": {
+            "chalk": "0.5.1",
+            "dateformat": "1.0.12",
+            "lodash._reinterpolate": "2.4.1",
+            "lodash.template": "2.4.1",
+            "minimist": "0.2.0",
+            "multipipe": "0.1.2",
+            "through2": "0.5.1",
+            "vinyl": "0.2.3"
+          }
+        },
+        "has-ansi": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+          "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "0.2.1"
+          }
+        },
+        "lodash._reinterpolate": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
+          "integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=",
+          "dev": true
+        },
+        "lodash.escape": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
+          "integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=",
+          "dev": true,
+          "requires": {
+            "lodash._escapehtmlchar": "2.4.1",
+            "lodash._reunescapedhtml": "2.4.1",
+            "lodash.keys": "2.4.1"
+          }
+        },
+        "lodash.keys": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+          "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
+          "dev": true,
+          "requires": {
+            "lodash._isnative": "2.4.1",
+            "lodash._shimkeys": "2.4.1",
+            "lodash.isobject": "2.4.1"
+          }
+        },
+        "lodash.template": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
+          "integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=",
+          "dev": true,
+          "requires": {
+            "lodash._escapestringchar": "2.4.1",
+            "lodash._reinterpolate": "2.4.1",
+            "lodash.defaults": "2.4.1",
+            "lodash.escape": "2.4.1",
+            "lodash.keys": "2.4.1",
+            "lodash.templatesettings": "2.4.1",
+            "lodash.values": "2.4.1"
+          }
+        },
+        "lodash.templatesettings": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
+          "integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=",
+          "dev": true,
+          "requires": {
+            "lodash._reinterpolate": "2.4.1",
+            "lodash.escape": "2.4.1"
+          }
+        },
+        "minimist": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz",
+          "integrity": "sha1-Tf/lJdriuGTGbC4jxicdev3s784=",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "1.0.34",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "0.0.1",
+            "string_decoder": "0.10.31"
+          }
+        },
+        "strip-ansi": {
+          "version": "0.3.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+          "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "0.2.1"
+          }
+        },
+        "supports-color": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+          "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+          "dev": true
+        },
+        "through2": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
+          "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=",
+          "dev": true,
+          "requires": {
+            "readable-stream": "1.0.34",
+            "xtend": "3.0.0"
+          }
+        },
+        "vinyl": {
+          "version": "0.2.3",
+          "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz",
+          "integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=",
+          "dev": true,
+          "requires": {
+            "clone-stats": "0.0.1"
+          }
+        },
+        "xtend": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
+          "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
+          "dev": true
+        }
+      }
+    },
+    "gulp-jshint": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/gulp-jshint/-/gulp-jshint-2.1.0.tgz",
+      "integrity": "sha512-sP3NK8Y/1e58O0PH9t6s7DAr/lKDSUbIY207oWSeufM6/VclB7jJrIBcPCsyhrFTCDUl9DauePbt6VqP2vPM5w==",
+      "dev": true,
+      "requires": {
+        "lodash": "4.17.10",
+        "minimatch": "3.0.4",
+        "plugin-error": "0.1.2",
+        "rcloader": "0.2.2",
+        "through2": "2.0.3"
+      },
+      "dependencies": {
+        "lodash": {
+          "version": "4.17.10",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+          "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
+          "dev": true
+        },
+        "minimatch": {
+          "version": "3.0.4",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+          "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "1.1.11"
+          }
+        }
+      }
+    },
+    "gulp-rename": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.3.tgz",
+      "integrity": "sha512-CmdPM0BjJ105QCX1fk+j7NGhiN/1rCl9HLGss+KllBS/tdYadpjTxqdKyh/5fNV+M3yjT1MFz5z93bXdrTyzAw==",
+      "dev": true
+    },
+    "gulp-sass": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-2.3.2.tgz",
+      "integrity": "sha1-grerkP6QLNw0wE8YDZLyw0kC3VI=",
+      "dev": true,
+      "requires": {
+        "gulp-util": "3.0.8",
+        "lodash.clonedeep": "4.5.0",
+        "node-sass": "3.13.1",
+        "through2": "2.0.3",
+        "vinyl-sourcemaps-apply": "0.2.1"
+      }
+    },
+    "gulp-sourcemaps": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.12.1.tgz",
+      "integrity": "sha1-tDfR89mAzyboEYSCNxjOFa5ll7Y=",
+      "dev": true,
+      "requires": {
+        "@gulp-sourcemaps/map-sources": "1.0.0",
+        "acorn": "4.0.13",
+        "convert-source-map": "1.5.1",
+        "css": "2.2.3",
+        "debug-fabulous": "0.0.4",
+        "detect-newline": "2.1.0",
+        "graceful-fs": "4.1.11",
+        "source-map": "0.6.1",
+        "strip-bom": "2.0.0",
+        "through2": "2.0.3",
+        "vinyl": "1.2.0"
+      },
+      "dependencies": {
+        "graceful-fs": {
+          "version": "4.1.11",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+          "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
+        },
+        "strip-bom": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+          "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+          "dev": true,
+          "requires": {
+            "is-utf8": "0.2.1"
+          }
+        },
+        "vinyl": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+          "dev": true,
+          "requires": {
+            "clone": "1.0.4",
+            "clone-stats": "0.0.1",
+            "replace-ext": "0.0.1"
+          }
+        }
+      }
+    },
+    "gulp-uglify": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-2.1.2.tgz",
+      "integrity": "sha1-bbhbHQ7mPRgFhZK2WGSdZcLsRUE=",
+      "dev": true,
+      "requires": {
+        "gulplog": "1.0.0",
+        "has-gulplog": "0.1.0",
+        "lodash": "4.17.10",
+        "make-error-cause": "1.2.2",
+        "through2": "2.0.3",
+        "uglify-js": "2.8.29",
+        "uglify-save-license": "0.4.1",
+        "vinyl-sourcemaps-apply": "0.2.1"
+      },
+      "dependencies": {
+        "lodash": {
+          "version": "4.17.10",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+          "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
+          "dev": true
+        }
+      }
+    },
+    "gulp-util": {
+      "version": "3.0.8",
+      "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+      "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
+      "dev": true,
+      "requires": {
+        "array-differ": "1.0.0",
+        "array-uniq": "1.0.3",
+        "beeper": "1.1.1",
+        "chalk": "1.1.3",
+        "dateformat": "2.2.0",
+        "fancy-log": "1.3.2",
+        "gulplog": "1.0.0",
+        "has-gulplog": "0.1.0",
+        "lodash._reescape": "3.0.0",
+        "lodash._reevaluate": "3.0.0",
+        "lodash._reinterpolate": "3.0.0",
+        "lodash.template": "3.6.2",
+        "minimist": "1.2.0",
+        "multipipe": "0.1.2",
+        "object-assign": "3.0.0",
+        "replace-ext": "0.0.1",
+        "through2": "2.0.3",
+        "vinyl": "0.5.3"
+      }
+    },
+    "gulplog": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+      "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
+      "dev": true,
+      "requires": {
+        "glogg": "1.0.1"
+      }
+    },
+    "har-schema": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+      "dev": true
+    },
+    "har-validator": {
+      "version": "5.0.3",
+      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
+      "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
+      "dev": true,
+      "requires": {
+        "ajv": "5.5.2",
+        "har-schema": "2.0.0"
+      }
+    },
+    "has-ansi": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "2.1.1"
+      }
+    },
+    "has-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+      "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+      "dev": true
+    },
+    "has-gulplog": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+      "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
+      "dev": true,
+      "requires": {
+        "sparkles": "1.0.1"
+      }
+    },
+    "has-unicode": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+      "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+      "dev": true
+    },
+    "has-value": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+      "dev": true,
+      "requires": {
+        "get-value": "2.0.6",
+        "has-values": "1.0.0",
+        "isobject": "3.0.1"
+      }
+    },
+    "has-values": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+      "dev": true,
+      "requires": {
+        "is-number": "3.0.0",
+        "kind-of": "4.0.0"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+          "dev": true,
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "homedir-polyfill": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+      "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
+      "dev": true,
+      "requires": {
+        "parse-passwd": "1.0.0"
+      }
+    },
+    "hosted-git-info": {
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
+      "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==",
+      "dev": true
+    },
+    "htmlparser2": {
+      "version": "3.8.3",
+      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
+      "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
+      "dev": true,
+      "requires": {
+        "domelementtype": "1.3.0",
+        "domhandler": "2.3.0",
+        "domutils": "1.5.1",
+        "entities": "1.0.0",
+        "readable-stream": "1.1.14"
+      }
+    },
+    "http-signature": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0",
+        "jsprim": "1.4.1",
+        "sshpk": "1.14.2"
+      }
+    },
+    "in-publish": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
+      "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
+      "dev": true
+    },
+    "indent-string": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+      "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+      "dev": true,
+      "requires": {
+        "repeating": "2.0.1"
+      }
+    },
+    "inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "dev": true,
+      "requires": {
+        "once": "1.3.3",
+        "wrappy": "1.0.2"
+      }
+    },
+    "inherits": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+      "dev": true
+    },
+    "ini": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+      "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+      "dev": true
+    },
+    "interpret": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
+      "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
+      "dev": true
+    },
+    "invert-kv": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+      "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+      "dev": true
+    },
+    "is-absolute": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+      "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+      "dev": true,
+      "requires": {
+        "is-relative": "1.0.0",
+        "is-windows": "1.0.2"
+      }
+    },
+    "is-accessor-descriptor": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+      "dev": true,
+      "requires": {
+        "kind-of": "3.2.2"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+      "dev": true
+    },
+    "is-buffer": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+      "dev": true
+    },
+    "is-builtin-module": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+      "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+      "dev": true,
+      "requires": {
+        "builtin-modules": "1.1.1"
+      }
+    },
+    "is-data-descriptor": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+      "dev": true,
+      "requires": {
+        "kind-of": "3.2.2"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "is-descriptor": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+      "dev": true,
+      "requires": {
+        "is-accessor-descriptor": "0.1.6",
+        "is-data-descriptor": "0.1.4",
+        "kind-of": "5.1.0"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+          "dev": true
+        }
+      }
+    },
+    "is-extendable": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+      "dev": true
+    },
+    "is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+      "dev": true
+    },
+    "is-finite": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+      "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+      "dev": true,
+      "requires": {
+        "number-is-nan": "1.0.1"
+      }
+    },
+    "is-fullwidth-code-point": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+      "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+      "dev": true,
+      "requires": {
+        "number-is-nan": "1.0.1"
+      }
+    },
+    "is-glob": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+      "dev": true,
+      "requires": {
+        "is-extglob": "2.1.1"
+      }
+    },
+    "is-number": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "dev": true,
+      "requires": {
+        "kind-of": "3.2.2"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "is-odd": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
+      "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
+      "dev": true,
+      "requires": {
+        "is-number": "4.0.0"
+      },
+      "dependencies": {
+        "is-number": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+          "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+          "dev": true
+        }
+      }
+    },
+    "is-plain-object": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+      "dev": true,
+      "requires": {
+        "isobject": "3.0.1"
+      }
+    },
+    "is-relative": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+      "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+      "dev": true,
+      "requires": {
+        "is-unc-path": "1.0.0"
+      }
+    },
+    "is-typedarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+      "dev": true
+    },
+    "is-unc-path": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
+      "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+      "dev": true,
+      "requires": {
+        "unc-path-regex": "0.1.2"
+      }
+    },
+    "is-utf8": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+      "dev": true
+    },
+    "is-windows": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+      "dev": true
+    },
+    "isarray": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+      "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+      "dev": true
+    },
+    "isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+      "dev": true
+    },
+    "isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true
+    },
+    "isstream": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+      "dev": true
+    },
+    "js-base64": {
+      "version": "2.4.5",
+      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz",
+      "integrity": "sha512-aUnNwqMOXw3yvErjMPSQu6qIIzUmT1e5KcU1OZxRDU1g/am6mzBvcrmLAYwzmB59BHPrh5/tKaiF4OPhqRWESQ==",
+      "dev": true
+    },
+    "jsbn": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+      "dev": true,
+      "optional": true
+    },
+    "jshint": {
+      "version": "2.9.5",
+      "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz",
+      "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=",
+      "dev": true,
+      "requires": {
+        "cli": "1.0.1",
+        "console-browserify": "1.1.0",
+        "exit": "0.1.2",
+        "htmlparser2": "3.8.3",
+        "lodash": "3.7.0",
+        "minimatch": "3.0.4",
+        "shelljs": "0.3.0",
+        "strip-json-comments": "1.0.4"
+      },
+      "dependencies": {
+        "lodash": {
+          "version": "3.7.0",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz",
+          "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=",
+          "dev": true
+        },
+        "minimatch": {
+          "version": "3.0.4",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+          "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "1.1.11"
+          }
+        }
+      }
+    },
+    "json-schema": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+      "dev": true
+    },
+    "json-schema-traverse": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+      "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+      "dev": true
+    },
+    "json-stringify-safe": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+      "dev": true
+    },
+    "jsprim": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0",
+        "extsprintf": "1.3.0",
+        "json-schema": "0.2.3",
+        "verror": "1.10.0"
+      }
+    },
+    "kind-of": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+      "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+      "dev": true
+    },
+    "lazy-cache": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+      "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+      "dev": true
+    },
+    "lazy-debug-legacy": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz",
+      "integrity": "sha1-U3cWwHduTPeePtG2IfdljCkRsbE=",
+      "dev": true
+    },
+    "lcid": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+      "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+      "dev": true,
+      "requires": {
+        "invert-kv": "1.0.0"
+      }
+    },
+    "liftoff": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
+      "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
+      "dev": true,
+      "requires": {
+        "extend": "3.0.1",
+        "findup-sync": "2.0.0",
+        "fined": "1.1.0",
+        "flagged-respawn": "1.0.0",
+        "is-plain-object": "2.0.4",
+        "object.map": "1.0.1",
+        "rechoir": "0.6.2",
+        "resolve": "1.7.1"
+      }
+    },
+    "load-json-file": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "parse-json": "2.2.0",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1",
+        "strip-bom": "2.0.0"
+      },
+      "dependencies": {
+        "graceful-fs": {
+          "version": "4.1.11",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+          "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+          "dev": true
+        },
+        "strip-bom": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+          "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+          "dev": true,
+          "requires": {
+            "is-utf8": "0.2.1"
+          }
+        }
+      }
+    },
+    "lodash": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
+      "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=",
+      "dev": true
+    },
+    "lodash._basecopy": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+      "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
+      "dev": true
+    },
+    "lodash._basetostring": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+      "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
+      "dev": true
+    },
+    "lodash._basevalues": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+      "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
+      "dev": true
+    },
+    "lodash._escapehtmlchar": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz",
+      "integrity": "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=",
+      "dev": true,
+      "requires": {
+        "lodash._htmlescapes": "2.4.1"
+      }
+    },
+    "lodash._escapestringchar": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz",
+      "integrity": "sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I=",
+      "dev": true
+    },
+    "lodash._getnative": {
+      "version": "3.9.1",
+      "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+      "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
+      "dev": true
+    },
+    "lodash._htmlescapes": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz",
+      "integrity": "sha1-MtFL8IRLbeb4tioFG09nwii2JMs=",
+      "dev": true
+    },
+    "lodash._isiterateecall": {
+      "version": "3.0.9",
+      "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+      "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
+      "dev": true
+    },
+    "lodash._isnative": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+      "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=",
+      "dev": true
+    },
+    "lodash._objecttypes": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
+      "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=",
+      "dev": true
+    },
+    "lodash._reescape": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+      "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
+      "dev": true
+    },
+    "lodash._reevaluate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+      "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
+      "dev": true
+    },
+    "lodash._reinterpolate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+      "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
+      "dev": true
+    },
+    "lodash._reunescapedhtml": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz",
+      "integrity": "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=",
+      "dev": true,
+      "requires": {
+        "lodash._htmlescapes": "2.4.1",
+        "lodash.keys": "2.4.1"
+      },
+      "dependencies": {
+        "lodash.keys": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+          "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
+          "dev": true,
+          "requires": {
+            "lodash._isnative": "2.4.1",
+            "lodash._shimkeys": "2.4.1",
+            "lodash.isobject": "2.4.1"
+          }
+        }
+      }
+    },
+    "lodash._root": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
+      "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
+      "dev": true
+    },
+    "lodash._shimkeys": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
+      "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=",
+      "dev": true,
+      "requires": {
+        "lodash._objecttypes": "2.4.1"
+      }
+    },
+    "lodash.assign": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+      "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+      "dev": true
+    },
+    "lodash.clonedeep": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+      "dev": true
+    },
+    "lodash.defaults": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz",
+      "integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=",
+      "dev": true,
+      "requires": {
+        "lodash._objecttypes": "2.4.1",
+        "lodash.keys": "2.4.1"
+      },
+      "dependencies": {
+        "lodash.keys": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+          "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
+          "dev": true,
+          "requires": {
+            "lodash._isnative": "2.4.1",
+            "lodash._shimkeys": "2.4.1",
+            "lodash.isobject": "2.4.1"
+          }
+        }
+      }
+    },
+    "lodash.escape": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+      "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
+      "dev": true,
+      "requires": {
+        "lodash._root": "3.0.1"
+      }
+    },
+    "lodash.isarguments": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+      "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
+      "dev": true
+    },
+    "lodash.isarray": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+      "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
+      "dev": true
+    },
+    "lodash.isobject": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
+      "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=",
+      "dev": true,
+      "requires": {
+        "lodash._objecttypes": "2.4.1"
+      }
+    },
+    "lodash.keys": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+      "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+      "dev": true,
+      "requires": {
+        "lodash._getnative": "3.9.1",
+        "lodash.isarguments": "3.1.0",
+        "lodash.isarray": "3.0.4"
+      }
+    },
+    "lodash.merge": {
+      "version": "4.6.1",
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz",
+      "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==",
+      "dev": true
+    },
+    "lodash.restparam": {
+      "version": "3.6.1",
+      "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+      "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
+      "dev": true
+    },
+    "lodash.template": {
+      "version": "3.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+      "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
+      "dev": true,
+      "requires": {
+        "lodash._basecopy": "3.0.1",
+        "lodash._basetostring": "3.0.1",
+        "lodash._basevalues": "3.0.0",
+        "lodash._isiterateecall": "3.0.9",
+        "lodash._reinterpolate": "3.0.0",
+        "lodash.escape": "3.2.0",
+        "lodash.keys": "3.1.2",
+        "lodash.restparam": "3.6.1",
+        "lodash.templatesettings": "3.1.1"
+      }
+    },
+    "lodash.templatesettings": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
+      "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
+      "dev": true,
+      "requires": {
+        "lodash._reinterpolate": "3.0.0",
+        "lodash.escape": "3.2.0"
+      }
+    },
+    "lodash.values": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz",
+      "integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=",
+      "dev": true,
+      "requires": {
+        "lodash.keys": "2.4.1"
+      },
+      "dependencies": {
+        "lodash.keys": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+          "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
+          "dev": true,
+          "requires": {
+            "lodash._isnative": "2.4.1",
+            "lodash._shimkeys": "2.4.1",
+            "lodash.isobject": "2.4.1"
+          }
+        }
+      }
+    },
+    "longest": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+      "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+      "dev": true
+    },
+    "loud-rejection": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+      "dev": true,
+      "requires": {
+        "currently-unhandled": "0.4.1",
+        "signal-exit": "3.0.2"
+      }
+    },
+    "lru-cache": {
+      "version": "2.7.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+      "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
+      "dev": true
+    },
+    "make-error": {
+      "version": "1.3.4",
+      "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz",
+      "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==",
+      "dev": true
+    },
+    "make-error-cause": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
+      "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
+      "dev": true,
+      "requires": {
+        "make-error": "1.3.4"
+      }
+    },
+    "make-iterator": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
+      "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
+      "dev": true,
+      "requires": {
+        "kind-of": "6.0.2"
+      }
+    },
+    "map-cache": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+      "dev": true
+    },
+    "map-obj": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+      "dev": true
+    },
+    "map-visit": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+      "dev": true,
+      "requires": {
+        "object-visit": "1.0.1"
+      }
+    },
+    "meow": {
+      "version": "3.7.0",
+      "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+      "dev": true,
+      "requires": {
+        "camelcase-keys": "2.1.0",
+        "decamelize": "1.2.0",
+        "loud-rejection": "1.6.0",
+        "map-obj": "1.0.1",
+        "minimist": "1.2.0",
+        "normalize-package-data": "2.4.0",
+        "object-assign": "4.1.1",
+        "read-pkg-up": "1.0.1",
+        "redent": "1.0.0",
+        "trim-newlines": "1.0.0"
+      },
+      "dependencies": {
+        "object-assign": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+          "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+          "dev": true
+        }
+      }
+    },
+    "micromatch": {
+      "version": "3.1.10",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+      "dev": true,
+      "requires": {
+        "arr-diff": "4.0.0",
+        "array-unique": "0.3.2",
+        "braces": "2.3.2",
+        "define-property": "2.0.2",
+        "extend-shallow": "3.0.2",
+        "extglob": "2.0.4",
+        "fragment-cache": "0.2.1",
+        "kind-of": "6.0.2",
+        "nanomatch": "1.2.9",
+        "object.pick": "1.3.0",
+        "regex-not": "1.0.2",
+        "snapdragon": "0.8.2",
+        "to-regex": "3.0.2"
+      }
+    },
+    "mime-db": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
+      "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
+      "dev": true
+    },
+    "mime-types": {
+      "version": "2.1.18",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+      "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+      "dev": true,
+      "requires": {
+        "mime-db": "1.33.0"
+      }
+    },
+    "minimatch": {
+      "version": "2.0.10",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+      "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
+      "dev": true,
+      "requires": {
+        "brace-expansion": "1.1.11"
+      }
+    },
+    "minimist": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+      "dev": true
+    },
+    "mixin-deep": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+      "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+      "dev": true,
+      "requires": {
+        "for-in": "1.0.2",
+        "is-extendable": "1.0.1"
+      },
+      "dependencies": {
+        "is-extendable": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+          "dev": true,
+          "requires": {
+            "is-plain-object": "2.0.4"
+          }
+        }
+      }
+    },
+    "mkdirp": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+      "dev": true,
+      "requires": {
+        "minimist": "0.0.8"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "0.0.8",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+          "dev": true
+        }
+      }
+    },
+    "ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
+    },
+    "multipipe": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+      "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
+      "dev": true,
+      "requires": {
+        "duplexer2": "0.0.2"
+      }
+    },
+    "nan": {
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
+      "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
+      "dev": true
+    },
+    "nanomatch": {
+      "version": "1.2.9",
+      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
+      "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
+      "dev": true,
+      "requires": {
+        "arr-diff": "4.0.0",
+        "array-unique": "0.3.2",
+        "define-property": "2.0.2",
+        "extend-shallow": "3.0.2",
+        "fragment-cache": "0.2.1",
+        "is-odd": "2.0.0",
+        "is-windows": "1.0.2",
+        "kind-of": "6.0.2",
+        "object.pick": "1.3.0",
+        "regex-not": "1.0.2",
+        "snapdragon": "0.8.2",
+        "to-regex": "3.0.2"
+      }
+    },
+    "natives": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.4.tgz",
+      "integrity": "sha512-Q29yeg9aFKwhLVdkTAejM/HvYG0Y1Am1+HUkFQGn5k2j8GS+v60TVmZh6nujpEAj/qql+wGUrlryO8bF+b1jEg==",
+      "dev": true
+    },
+    "node-gyp": {
+      "version": "3.6.2",
+      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz",
+      "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=",
+      "dev": true,
+      "requires": {
+        "fstream": "1.0.11",
+        "glob": "7.1.2",
+        "graceful-fs": "4.1.11",
+        "minimatch": "3.0.4",
+        "mkdirp": "0.5.1",
+        "nopt": "3.0.6",
+        "npmlog": "4.1.2",
+        "osenv": "0.1.5",
+        "request": "2.87.0",
+        "rimraf": "2.6.2",
+        "semver": "5.3.0",
+        "tar": "2.2.1",
+        "which": "1.3.1"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "7.1.2",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+          "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "1.0.0",
+            "inflight": "1.0.6",
+            "inherits": "2.0.3",
+            "minimatch": "3.0.4",
+            "once": "1.3.3",
+            "path-is-absolute": "1.0.1"
+          }
+        },
+        "graceful-fs": {
+          "version": "4.1.11",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+          "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+          "dev": true
+        },
+        "minimatch": {
+          "version": "3.0.4",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+          "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "1.1.11"
+          }
+        },
+        "semver": {
+          "version": "5.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+          "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+          "dev": true
+        }
+      }
+    },
+    "node-sass": {
+      "version": "3.13.1",
+      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.13.1.tgz",
+      "integrity": "sha1-ckD7v/I5YwS0IjUn7TAgWJwAT8I=",
+      "dev": true,
+      "requires": {
+        "async-foreach": "0.1.3",
+        "chalk": "1.1.3",
+        "cross-spawn": "3.0.1",
+        "gaze": "1.1.3",
+        "get-stdin": "4.0.1",
+        "glob": "7.1.2",
+        "in-publish": "2.0.0",
+        "lodash.assign": "4.2.0",
+        "lodash.clonedeep": "4.5.0",
+        "meow": "3.7.0",
+        "mkdirp": "0.5.1",
+        "nan": "2.10.0",
+        "node-gyp": "3.6.2",
+        "npmlog": "4.1.2",
+        "request": "2.87.0",
+        "sass-graph": "2.2.4"
+      },
+      "dependencies": {
+        "gaze": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
+          "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+          "dev": true,
+          "requires": {
+            "globule": "1.2.1"
+          }
+        },
+        "glob": {
+          "version": "7.1.2",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+          "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "1.0.0",
+            "inflight": "1.0.6",
+            "inherits": "2.0.3",
+            "minimatch": "3.0.4",
+            "once": "1.3.3",
+            "path-is-absolute": "1.0.1"
+          }
+        },
+        "globule": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
+          "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
+          "dev": true,
+          "requires": {
+            "glob": "7.1.2",
+            "lodash": "4.17.10",
+            "minimatch": "3.0.4"
+          }
+        },
+        "lodash": {
+          "version": "4.17.10",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+          "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
+          "dev": true
+        },
+        "minimatch": {
+          "version": "3.0.4",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+          "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "1.1.11"
+          }
+        }
+      }
+    },
+    "nopt": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+      "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+      "dev": true,
+      "requires": {
+        "abbrev": "1.1.1"
+      }
+    },
+    "normalize-package-data": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+      "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+      "dev": true,
+      "requires": {
+        "hosted-git-info": "2.6.0",
+        "is-builtin-module": "1.0.0",
+        "semver": "4.3.6",
+        "validate-npm-package-license": "3.0.3"
+      }
+    },
+    "normalize-path": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+      "dev": true,
+      "requires": {
+        "remove-trailing-separator": "1.1.0"
+      }
+    },
+    "normalize-range": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+      "dev": true
+    },
+    "npmlog": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+      "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+      "dev": true,
+      "requires": {
+        "are-we-there-yet": "1.1.5",
+        "console-control-strings": "1.1.0",
+        "gauge": "2.7.4",
+        "set-blocking": "2.0.0"
+      }
+    },
+    "num2fraction": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+      "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+      "dev": true
+    },
+    "number-is-nan": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+      "dev": true
+    },
+    "oauth-sign": {
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+      "dev": true
+    },
+    "object-assign": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+      "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+      "dev": true
+    },
+    "object-copy": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+      "dev": true,
+      "requires": {
+        "copy-descriptor": "0.1.1",
+        "define-property": "0.2.5",
+        "kind-of": "3.2.2"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        },
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "object-keys": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
+      "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
+      "dev": true
+    },
+    "object-visit": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+      "dev": true,
+      "requires": {
+        "isobject": "3.0.1"
+      }
+    },
+    "object.defaults": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
+      "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
+      "dev": true,
+      "requires": {
+        "array-each": "1.0.1",
+        "array-slice": "1.1.0",
+        "for-own": "1.0.0",
+        "isobject": "3.0.1"
+      }
+    },
+    "object.map": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
+      "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
+      "dev": true,
+      "requires": {
+        "for-own": "1.0.0",
+        "make-iterator": "1.0.1"
+      }
+    },
+    "object.pick": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+      "dev": true,
+      "requires": {
+        "isobject": "3.0.1"
+      }
+    },
+    "once": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+      "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+      "dev": true,
+      "requires": {
+        "wrappy": "1.0.2"
+      }
+    },
+    "orchestrator": {
+      "version": "0.3.8",
+      "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
+      "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
+      "dev": true,
+      "requires": {
+        "end-of-stream": "0.1.5",
+        "sequencify": "0.0.7",
+        "stream-consume": "0.1.1"
+      }
+    },
+    "ordered-read-streams": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
+      "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=",
+      "dev": true
+    },
+    "os-homedir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+      "dev": true
+    },
+    "os-locale": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+      "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+      "dev": true,
+      "requires": {
+        "lcid": "1.0.0"
+      }
+    },
+    "os-tmpdir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+      "dev": true
+    },
+    "osenv": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+      "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+      "dev": true,
+      "requires": {
+        "os-homedir": "1.0.2",
+        "os-tmpdir": "1.0.2"
+      }
+    },
+    "parse-filepath": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
+      "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
+      "dev": true,
+      "requires": {
+        "is-absolute": "1.0.0",
+        "map-cache": "0.2.2",
+        "path-root": "0.1.1"
+      }
+    },
+    "parse-json": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+      "dev": true,
+      "requires": {
+        "error-ex": "1.3.1"
+      }
+    },
+    "parse-passwd": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+      "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+      "dev": true
+    },
+    "pascalcase": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+      "dev": true
+    },
+    "path-exists": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+      "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+      "dev": true,
+      "requires": {
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+      "dev": true
+    },
+    "path-parse": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+      "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+      "dev": true
+    },
+    "path-root": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
+      "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
+      "dev": true,
+      "requires": {
+        "path-root-regex": "0.1.2"
+      }
+    },
+    "path-root-regex": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
+      "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
+      "dev": true
+    },
+    "path-type": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+      "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1"
+      },
+      "dependencies": {
+        "graceful-fs": {
+          "version": "4.1.11",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+          "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+          "dev": true
+        }
+      }
+    },
+    "performance-now": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+      "dev": true
+    },
+    "pify": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+      "dev": true
+    },
+    "pinkie": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+      "dev": true
+    },
+    "pinkie-promise": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+      "dev": true,
+      "requires": {
+        "pinkie": "2.0.4"
+      }
+    },
+    "plugin-error": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
+      "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=",
+      "dev": true,
+      "requires": {
+        "ansi-cyan": "0.1.1",
+        "ansi-red": "0.1.1",
+        "arr-diff": "1.1.0",
+        "arr-union": "2.1.0",
+        "extend-shallow": "1.1.4"
+      },
+      "dependencies": {
+        "arr-diff": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
+          "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
+          "dev": true,
+          "requires": {
+            "arr-flatten": "1.1.0",
+            "array-slice": "0.2.3"
+          }
+        },
+        "arr-union": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
+          "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=",
+          "dev": true
+        },
+        "array-slice": {
+          "version": "0.2.3",
+          "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+          "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
+          "dev": true
+        },
+        "extend-shallow": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
+          "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
+          "dev": true,
+          "requires": {
+            "kind-of": "1.1.0"
+          }
+        },
+        "kind-of": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
+          "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=",
+          "dev": true
+        }
+      }
+    },
+    "posix-character-classes": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+      "dev": true
+    },
+    "postcss": {
+      "version": "5.2.18",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+      "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3",
+        "js-base64": "2.4.5",
+        "source-map": "0.5.7",
+        "supports-color": "3.2.3"
+      },
+      "dependencies": {
+        "supports-color": {
+          "version": "3.2.3",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+          "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+          "dev": true,
+          "requires": {
+            "has-flag": "1.0.0"
+          }
+        }
+      }
+    },
+    "postcss-value-parser": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
+      "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
+      "dev": true
+    },
+    "pretty-hrtime": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+      "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
+      "dev": true
+    },
+    "process-nextick-args": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+      "dev": true
+    },
+    "pseudomap": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+      "dev": true
+    },
+    "punycode": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+      "dev": true
+    },
+    "qs": {
+      "version": "6.5.2",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+      "dev": true
+    },
+    "rcfinder": {
+      "version": "0.1.9",
+      "resolved": "https://registry.npmjs.org/rcfinder/-/rcfinder-0.1.9.tgz",
+      "integrity": "sha1-8+gPOH3fmugK4wpBADKWQuroERU=",
+      "dev": true,
+      "requires": {
+        "lodash.clonedeep": "4.5.0"
+      }
+    },
+    "rcloader": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/rcloader/-/rcloader-0.2.2.tgz",
+      "integrity": "sha1-WNIpi0YtC5v9ITPSoex0+9cFxxc=",
+      "dev": true,
+      "requires": {
+        "lodash.assign": "4.2.0",
+        "lodash.isobject": "3.0.2",
+        "lodash.merge": "4.6.1",
+        "rcfinder": "0.1.9"
+      },
+      "dependencies": {
+        "lodash.isobject": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
+          "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=",
+          "dev": true
+        }
+      }
+    },
+    "read-pkg": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+      "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+      "dev": true,
+      "requires": {
+        "load-json-file": "1.1.0",
+        "normalize-package-data": "2.4.0",
+        "path-type": "1.1.0"
+      }
+    },
+    "read-pkg-up": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+      "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+      "dev": true,
+      "requires": {
+        "find-up": "1.1.2",
+        "read-pkg": "1.1.0"
+      }
+    },
+    "readable-stream": {
+      "version": "1.1.14",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+      "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+      "dev": true,
+      "requires": {
+        "core-util-is": "1.0.2",
+        "inherits": "2.0.3",
+        "isarray": "0.0.1",
+        "string_decoder": "0.10.31"
+      }
+    },
+    "rechoir": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+      "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+      "dev": true,
+      "requires": {
+        "resolve": "1.7.1"
+      }
+    },
+    "redent": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+      "dev": true,
+      "requires": {
+        "indent-string": "2.1.0",
+        "strip-indent": "1.0.1"
+      }
+    },
+    "regex-not": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+      "dev": true,
+      "requires": {
+        "extend-shallow": "3.0.2",
+        "safe-regex": "1.1.0"
+      }
+    },
+    "remove-trailing-separator": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+      "dev": true
+    },
+    "repeat-element": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+      "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+      "dev": true
+    },
+    "repeat-string": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+      "dev": true
+    },
+    "repeating": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+      "dev": true,
+      "requires": {
+        "is-finite": "1.0.2"
+      }
+    },
+    "replace-ext": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+      "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
+      "dev": true
+    },
+    "request": {
+      "version": "2.87.0",
+      "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
+      "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
+      "dev": true,
+      "requires": {
+        "aws-sign2": "0.7.0",
+        "aws4": "1.7.0",
+        "caseless": "0.12.0",
+        "combined-stream": "1.0.6",
+        "extend": "3.0.1",
+        "forever-agent": "0.6.1",
+        "form-data": "2.3.2",
+        "har-validator": "5.0.3",
+        "http-signature": "1.2.0",
+        "is-typedarray": "1.0.0",
+        "isstream": "0.1.2",
+        "json-stringify-safe": "5.0.1",
+        "mime-types": "2.1.18",
+        "oauth-sign": "0.8.2",
+        "performance-now": "2.1.0",
+        "qs": "6.5.2",
+        "safe-buffer": "5.1.2",
+        "tough-cookie": "2.3.4",
+        "tunnel-agent": "0.6.0",
+        "uuid": "3.2.1"
+      }
+    },
+    "require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+      "dev": true
+    },
+    "require-main-filename": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+      "dev": true
+    },
+    "resolve": {
+      "version": "1.7.1",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
+      "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
+      "dev": true,
+      "requires": {
+        "path-parse": "1.0.5"
+      }
+    },
+    "resolve-dir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+      "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+      "dev": true,
+      "requires": {
+        "expand-tilde": "2.0.2",
+        "global-modules": "1.0.0"
+      }
+    },
+    "resolve-url": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+      "dev": true
+    },
+    "ret": {
+      "version": "0.1.15",
+      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+      "dev": true
+    },
+    "right-align": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+      "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+      "dev": true,
+      "requires": {
+        "align-text": "0.1.4"
+      }
+    },
+    "rimraf": {
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+      "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+      "dev": true,
+      "requires": {
+        "glob": "7.1.2"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "7.1.2",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+          "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "1.0.0",
+            "inflight": "1.0.6",
+            "inherits": "2.0.3",
+            "minimatch": "3.0.4",
+            "once": "1.3.3",
+            "path-is-absolute": "1.0.1"
+          }
+        },
+        "minimatch": {
+          "version": "3.0.4",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+          "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "1.1.11"
+          }
+        }
+      }
+    },
+    "safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "safe-regex": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+      "dev": true,
+      "requires": {
+        "ret": "0.1.15"
+      }
+    },
+    "safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+      "dev": true
+    },
+    "sass-graph": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
+      "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
+      "dev": true,
+      "requires": {
+        "glob": "7.1.2",
+        "lodash": "4.17.10",
+        "scss-tokenizer": "0.2.3",
+        "yargs": "7.1.0"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "7.1.2",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+          "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "1.0.0",
+            "inflight": "1.0.6",
+            "inherits": "2.0.3",
+            "minimatch": "3.0.4",
+            "once": "1.3.3",
+            "path-is-absolute": "1.0.1"
+          }
+        },
+        "lodash": {
+          "version": "4.17.10",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+          "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
+          "dev": true
+        },
+        "minimatch": {
+          "version": "3.0.4",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+          "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "1.1.11"
+          }
+        }
+      }
+    },
+    "scss-tokenizer": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
+      "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
+      "dev": true,
+      "requires": {
+        "js-base64": "2.4.5",
+        "source-map": "0.4.4"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.4.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+          "dev": true,
+          "requires": {
+            "amdefine": "1.0.1"
+          }
+        }
+      }
+    },
+    "semver": {
+      "version": "4.3.6",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+      "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
+      "dev": true
+    },
+    "sequencify": {
+      "version": "0.0.7",
+      "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
+      "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=",
+      "dev": true
+    },
+    "set-blocking": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+      "dev": true
+    },
+    "set-value": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+      "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+      "dev": true,
+      "requires": {
+        "extend-shallow": "2.0.1",
+        "is-extendable": "0.1.1",
+        "is-plain-object": "2.0.4",
+        "split-string": "3.1.0"
+      },
+      "dependencies": {
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        }
+      }
+    },
+    "shelljs": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
+      "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=",
+      "dev": true
+    },
+    "sigmund": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+      "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
+      "dev": true
+    },
+    "signal-exit": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+      "dev": true
+    },
+    "snapdragon": {
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+      "dev": true,
+      "requires": {
+        "base": "0.11.2",
+        "debug": "2.6.9",
+        "define-property": "0.2.5",
+        "extend-shallow": "2.0.1",
+        "map-cache": "0.2.2",
+        "source-map": "0.5.7",
+        "source-map-resolve": "0.5.2",
+        "use": "3.1.0"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        },
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        }
+      }
+    },
+    "snapdragon-node": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+      "dev": true,
+      "requires": {
+        "define-property": "1.0.0",
+        "isobject": "3.0.1",
+        "snapdragon-util": "3.0.1"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
+          "requires": {
+            "is-descriptor": "1.0.2"
+          }
+        },
+        "is-accessor-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-data-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
+          "requires": {
+            "is-accessor-descriptor": "1.0.0",
+            "is-data-descriptor": "1.0.0",
+            "kind-of": "6.0.2"
+          }
+        }
+      }
+    },
+    "snapdragon-util": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+      "dev": true,
+      "requires": {
+        "kind-of": "3.2.2"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true
+    },
+    "source-map-resolve": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+      "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+      "dev": true,
+      "requires": {
+        "atob": "2.1.1",
+        "decode-uri-component": "0.2.0",
+        "resolve-url": "0.2.1",
+        "source-map-url": "0.4.0",
+        "urix": "0.1.0"
+      }
+    },
+    "source-map-url": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+      "dev": true
+    },
+    "sparkles": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
+      "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
+      "dev": true
+    },
+    "spdx-correct": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
+      "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
+      "dev": true,
+      "requires": {
+        "spdx-expression-parse": "3.0.0",
+        "spdx-license-ids": "3.0.0"
+      }
+    },
+    "spdx-exceptions": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
+      "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
+      "dev": true
+    },
+    "spdx-expression-parse": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+      "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+      "dev": true,
+      "requires": {
+        "spdx-exceptions": "2.1.0",
+        "spdx-license-ids": "3.0.0"
+      }
+    },
+    "spdx-license-ids": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
+      "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
+      "dev": true
+    },
+    "split-string": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+      "dev": true,
+      "requires": {
+        "extend-shallow": "3.0.2"
+      }
+    },
+    "sshpk": {
+      "version": "1.14.2",
+      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
+      "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
+      "dev": true,
+      "requires": {
+        "asn1": "0.2.3",
+        "assert-plus": "1.0.0",
+        "bcrypt-pbkdf": "1.0.1",
+        "dashdash": "1.14.1",
+        "ecc-jsbn": "0.1.1",
+        "getpass": "0.1.7",
+        "jsbn": "0.1.1",
+        "safer-buffer": "2.1.2",
+        "tweetnacl": "0.14.5"
+      }
+    },
+    "static-extend": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+      "dev": true,
+      "requires": {
+        "define-property": "0.2.5",
+        "object-copy": "0.1.0"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        }
+      }
+    },
+    "stream-consume": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz",
+      "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==",
+      "dev": true
+    },
+    "string-width": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+      "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+      "dev": true,
+      "requires": {
+        "code-point-at": "1.1.0",
+        "is-fullwidth-code-point": "1.0.0",
+        "strip-ansi": "3.0.1"
+      }
+    },
+    "string_decoder": {
+      "version": "0.10.31",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+      "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+      "dev": true
+    },
+    "strip-ansi": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "2.1.1"
+      }
+    },
+    "strip-bom": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
+      "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
+      "dev": true,
+      "requires": {
+        "first-chunk-stream": "1.0.0",
+        "is-utf8": "0.2.1"
+      }
+    },
+    "strip-indent": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+      "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+      "dev": true,
+      "requires": {
+        "get-stdin": "4.0.1"
+      }
+    },
+    "strip-json-comments": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
+      "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
+      "dev": true
+    },
+    "supports-color": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+      "dev": true
+    },
+    "tar": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+      "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+      "dev": true,
+      "requires": {
+        "block-stream": "0.0.9",
+        "fstream": "1.0.11",
+        "inherits": "2.0.3"
+      }
+    },
+    "through": {
+      "version": "2.3.4",
+      "resolved": "https://registry.npmjs.org/through/-/through-2.3.4.tgz",
+      "integrity": "sha1-SV5A6Nio6uvHwnXqiMK4/BTFZFU=",
+      "dev": true
+    },
+    "through2": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+      "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "2.3.6",
+        "xtend": "4.0.1"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.0",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        }
+      }
+    },
+    "tildify": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
+      "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
+      "dev": true,
+      "requires": {
+        "os-homedir": "1.0.2"
+      }
+    },
+    "time-stamp": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+      "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
+      "dev": true
+    },
+    "to-object-path": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+      "dev": true,
+      "requires": {
+        "kind-of": "3.2.2"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "to-regex": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+      "dev": true,
+      "requires": {
+        "define-property": "2.0.2",
+        "extend-shallow": "3.0.2",
+        "regex-not": "1.0.2",
+        "safe-regex": "1.1.0"
+      }
+    },
+    "to-regex-range": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+      "dev": true,
+      "requires": {
+        "is-number": "3.0.0",
+        "repeat-string": "1.6.1"
+      }
+    },
+    "tough-cookie": {
+      "version": "2.3.4",
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
+      "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
+      "dev": true,
+      "requires": {
+        "punycode": "1.4.1"
+      }
+    },
+    "trim-newlines": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+      "dev": true
+    },
+    "tunnel-agent": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "tweetnacl": {
+      "version": "0.14.5",
+      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+      "dev": true,
+      "optional": true
+    },
+    "uglify-js": {
+      "version": "2.8.29",
+      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+      "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+      "dev": true,
+      "requires": {
+        "source-map": "0.5.7",
+        "uglify-to-browserify": "1.0.2",
+        "yargs": "3.10.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+          "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+          "dev": true
+        },
+        "cliui": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+          "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+          "dev": true,
+          "requires": {
+            "center-align": "0.1.3",
+            "right-align": "0.1.3",
+            "wordwrap": "0.0.2"
+          }
+        },
+        "yargs": {
+          "version": "3.10.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+          "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+          "dev": true,
+          "requires": {
+            "camelcase": "1.2.1",
+            "cliui": "2.1.0",
+            "decamelize": "1.2.0",
+            "window-size": "0.1.0"
+          }
+        }
+      }
+    },
+    "uglify-save-license": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/uglify-save-license/-/uglify-save-license-0.4.1.tgz",
+      "integrity": "sha1-lXJsF8xv0XHDYX479NjYKqjEzOE=",
+      "dev": true
+    },
+    "uglify-to-browserify": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+      "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+      "dev": true,
+      "optional": true
+    },
+    "unc-path-regex": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+      "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
+      "dev": true
+    },
+    "union-value": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+      "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+      "dev": true,
+      "requires": {
+        "arr-union": "3.1.0",
+        "get-value": "2.0.6",
+        "is-extendable": "0.1.1",
+        "set-value": "0.4.3"
+      },
+      "dependencies": {
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        },
+        "set-value": {
+          "version": "0.4.3",
+          "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+          "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+          "dev": true,
+          "requires": {
+            "extend-shallow": "2.0.1",
+            "is-extendable": "0.1.1",
+            "is-plain-object": "2.0.4",
+            "to-object-path": "0.3.0"
+          }
+        }
+      }
+    },
+    "unique-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
+      "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=",
+      "dev": true
+    },
+    "unset-value": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+      "dev": true,
+      "requires": {
+        "has-value": "0.3.1",
+        "isobject": "3.0.1"
+      },
+      "dependencies": {
+        "has-value": {
+          "version": "0.3.1",
+          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+          "dev": true,
+          "requires": {
+            "get-value": "2.0.6",
+            "has-values": "0.1.4",
+            "isobject": "2.1.0"
+          },
+          "dependencies": {
+            "isobject": {
+              "version": "2.1.0",
+              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+              "dev": true,
+              "requires": {
+                "isarray": "1.0.0"
+              }
+            }
+          }
+        },
+        "has-values": {
+          "version": "0.1.4",
+          "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+          "dev": true
+        },
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+          "dev": true
+        }
+      }
+    },
+    "urix": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+      "dev": true
+    },
+    "use": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz",
+      "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
+      "dev": true,
+      "requires": {
+        "kind-of": "6.0.2"
+      }
+    },
+    "user-home": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
+      "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
+      "dev": true
+    },
+    "util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+      "dev": true
+    },
+    "uuid": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
+      "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==",
+      "dev": true
+    },
+    "v8flags": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
+      "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
+      "dev": true,
+      "requires": {
+        "user-home": "1.1.1"
+      }
+    },
+    "validate-npm-package-license": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
+      "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
+      "dev": true,
+      "requires": {
+        "spdx-correct": "3.0.0",
+        "spdx-expression-parse": "3.0.0"
+      }
+    },
+    "verror": {
+      "version": "1.10.0",
+      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0",
+        "core-util-is": "1.0.2",
+        "extsprintf": "1.3.0"
+      }
+    },
+    "vinyl": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
+      "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
+      "dev": true,
+      "requires": {
+        "clone": "1.0.4",
+        "clone-stats": "0.0.1",
+        "replace-ext": "0.0.1"
+      }
+    },
+    "vinyl-fs": {
+      "version": "0.3.14",
+      "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
+      "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
+      "dev": true,
+      "requires": {
+        "defaults": "1.0.3",
+        "glob-stream": "3.1.18",
+        "glob-watcher": "0.0.6",
+        "graceful-fs": "3.0.11",
+        "mkdirp": "0.5.1",
+        "strip-bom": "1.0.0",
+        "through2": "0.6.5",
+        "vinyl": "0.4.6"
+      },
+      "dependencies": {
+        "clone": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+          "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "1.0.34",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "0.0.1",
+            "string_decoder": "0.10.31"
+          }
+        },
+        "through2": {
+          "version": "0.6.5",
+          "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+          "dev": true,
+          "requires": {
+            "readable-stream": "1.0.34",
+            "xtend": "4.0.1"
+          }
+        },
+        "vinyl": {
+          "version": "0.4.6",
+          "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+          "dev": true,
+          "requires": {
+            "clone": "0.2.0",
+            "clone-stats": "0.0.1"
+          }
+        }
+      }
+    },
+    "vinyl-sourcemaps-apply": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
+      "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
+      "dev": true,
+      "requires": {
+        "source-map": "0.5.7"
+      }
+    },
+    "which": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+      "dev": true,
+      "requires": {
+        "isexe": "2.0.0"
+      }
+    },
+    "which-module": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+      "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+      "dev": true
+    },
+    "wide-align": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+      "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+      "dev": true,
+      "requires": {
+        "string-width": "1.0.2"
+      }
+    },
+    "window-size": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+      "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+      "dev": true
+    },
+    "wordwrap": {
+      "version": "0.0.2",
+      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+      "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+      "dev": true
+    },
+    "wrap-ansi": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+      "dev": true,
+      "requires": {
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1"
+      }
+    },
+    "wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+      "dev": true
+    },
+    "xtend": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+      "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+      "dev": true
+    },
+    "y18n": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+      "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+      "dev": true
+    },
+    "yallist": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+      "dev": true
+    },
+    "yargs": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
+      "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+      "dev": true,
+      "requires": {
+        "camelcase": "3.0.0",
+        "cliui": "3.2.0",
+        "decamelize": "1.2.0",
+        "get-caller-file": "1.0.2",
+        "os-locale": "1.4.0",
+        "read-pkg-up": "1.0.1",
+        "require-directory": "2.1.1",
+        "require-main-filename": "1.0.1",
+        "set-blocking": "2.0.0",
+        "string-width": "1.0.2",
+        "which-module": "1.0.0",
+        "y18n": "3.2.1",
+        "yargs-parser": "5.0.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+          "dev": true
+        }
+      }
+    },
+    "yargs-parser": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
+      "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+      "dev": true,
+      "requires": {
+        "camelcase": "3.0.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+          "dev": true
+        }
+      }
+    }
+  }
+}
diff --git a/package.json b/package.json
new file mode 100644 (file)
index 0000000..f437647
--- /dev/null
@@ -0,0 +1,19 @@
+{
+  "name": "glmOrigin",
+  "description": "Gaslight Media",
+  "version": "0.0.1",
+  "devDependencies": {
+    "gulp": "^3.9.1",
+    "gulp-autoprefixer": "^3.1.0",
+    "gulp-clean": "^0.3.2",
+    "gulp-concat": "^2.6.0",
+    "gulp-copy": "0.0.2",
+    "gulp-jshint": "^2.0.1",
+    "gulp-rename": "^1.2.2",
+    "gulp-sass": "^2.3.2",
+    "gulp-sourcemaps": "^1.6.0",
+    "gulp-uglify": "^2.0.0",
+    "jshint": "^2.9.2",
+    "node-sass": "^3.8.0"
+  }
+}
diff --git a/parts/blog-content-area.php b/parts/blog-content-area.php
new file mode 100644 (file)
index 0000000..66c0dd3
--- /dev/null
@@ -0,0 +1,28 @@
+        <div id="blog-posts-over" class="small-12 medium-9 columns">
+            <?php if(have_posts()) : while(have_posts()): the_post();?>
+            <div class="row content blog-posts-container">
+              <!--  <div class="small-11 small-centered columns"> -->
+                <?php $thumbnail = get_the_post_thumbnail($post->ID, 'blog-feed-front'); ?>
+                <?php if ($thumbnail) { ?>
+                <div class="small-12 medium-4 columns text-center blog-feed-imgs">
+                    <?php echo $thumbnail; ?>
+                </div>
+                <div class="small-12 medium-8 columns blog-feed-contents">
+                    <?php } else { ?>
+                    <div class="small-12 columns blog-feed-content">
+                        <?php } ?>
+
+                        <?php get_template_part('parts/blog-text'); ?>
+                </div>
+            </div>
+            <?php endwhile; ?>
+            <div class="navigation">
+                <span class="newer"><?php previous_posts_link(__('« Newer','example')) ?></span>
+                <span class="older"><?php next_posts_link(__('Older »','example')) ?></span>
+            </div><!-- /.navigation -->
+            <?php else: ?>
+            <div id="post-404" class="noposts">
+                <p><?php _e('Sorry, no results were found.');?></p>
+            </div><!-- /#post-404 -->
+            <?php endif;?>
+        </div>
\ No newline at end of file
diff --git a/parts/blog-feed-front.php b/parts/blog-feed-front.php
new file mode 100644 (file)
index 0000000..1064099
--- /dev/null
@@ -0,0 +1,41 @@
+<?php $args = array( 'numberposts' => 4, 'category_name' => 'featured-partners', 'order' => 'DESC');?>
+<div id="home-feed-posts" class="row">
+    <h1 id="home-feed-posts-title">Featured Partners</h1>
+    
+    <?php $lastposts = get_posts( $args ); 
+    $count = 0; ?>
+    <ul class="small-block-grid-1 medium-block-grid-1 large-block-grid-2">
+    <?php foreach($lastposts as $post) : setup_postdata($post); ?>
+        <li class="home-feed-post grid-block">
+            <div class="row">
+                <?php if (has_post_thumbnail( $post->ID )) { ?>
+                    <?php $url = get_the_post_thumbnail_url($post->ID, 'glm-blog-image'); ?>
+                    <div class="small-12 medium-4 home-feed-post-image columns" style="bacground: url(<?php echo $url; ?>)">
+                    
+
+                        <?php echo get_the_post_thumbnail($post->ID, 'glm-blog-image', array('class' => 'blog-excerpt-img-wrap')); ?>
+                    </div>
+                    <div class="small-12 medium-8 columns home-feed-post-content">
+                <?php } else { ?>
+                    <div class="small-12 columns home-feed-post-content">
+                <?php } ?>
+                    
+                    <h2 class="title-posts" href="<?php the_permalink(); ?>"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
+                    <!-- <span class="meta date"><?php the_time('F j, Y') ?></span> -->
+                    
+                    <div class="post-excerpt excerpt<?php echo $count ?>"><?php echo the_advanced_excerpt('length=120&length_type=characters&no_custom=1&ellipsis=%26hellip;&exclude_tags=a,img,p,strong,h1,h2,h3,hr,div'); ?>
+                    </div>
+                    <div class="read-more">
+                        <a href="<?php echo the_permalink(); ?>" class="post-link">Read More</a>
+                    </div>
+                </div>
+            </div>
+        </li>
+        <?php $count++; ?>
+    <?php endforeach; ?>
+    </ul>
+    
+    <div id="home-feed-posts-button-wrapper">
+        <a id="home-feed-posts-button" class="button" href="<?php echo get_permalink( get_option( 'page_for_posts' ) ); ?>">Destination Michigan Highlights</a>
+    </div>
+</div>
\ No newline at end of file
diff --git a/parts/blog-sidebar-r.php b/parts/blog-sidebar-r.php
new file mode 100644 (file)
index 0000000..75fe9b0
--- /dev/null
@@ -0,0 +1,33 @@
+        <div id="blog-side-info-wrapper" class="small-11 small-only-text-center medium-3 columns">
+            <div id="blog-side-info">
+                <form id="searchform" action="<?php echo esc_url( home_url() ); ?>" method="get">
+                    <div><input id="s" class="text" type="text" name="s" value="" />
+                    <input class="submit blogbutton" type="submit" name="submit" value="Search" />
+                    <input type="hidden" name="searchType" value="blog" /> </div>
+                </form>
+                <p>Recent Posts</p>
+                <ul>
+                <?php
+                        $args = array( 'numberposts' => '5','post_status'=>'publish' );
+                        $recent_posts = wp_get_recent_posts( $args );
+                        foreach( $recent_posts as $recent ){
+                                echo '<li><a href="' . get_permalink($recent["ID"]) . '">' .   $recent["post_title"].'</a> </li> ';
+                        }
+                ?>
+                </ul>
+                <p>Categories</p>
+                <ul>
+                    <?php
+                    $args = array(
+                    'orderby' => 'name',
+                    'order' => 'ASC'
+                    );
+                  $categories = get_categories($args);
+                    foreach($categories as $category) {
+                      echo '<li><a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </li> ';  }
+                    ?>
+                </ul>
+                <p>Archive</p>
+                <ul><?php wp_get_archives( array( 'type' => 'monthly', 'limit' => 12 ) ); ?></ul>
+            </div>
+        </div>
\ No newline at end of file
diff --git a/parts/blog-text-single.php b/parts/blog-text-single.php
new file mode 100644 (file)
index 0000000..a86e648
--- /dev/null
@@ -0,0 +1,13 @@
+<article id="<?php the_ID()?>" <?php post_class()?>>
+    <header class="entry-header">
+        <h1 class="entry-title"><?php the_title();?></h1>
+        <?php if ( has_post_thumbnail() ):?>
+                 <?php if (get_post_type( $post ) != "ai1ec_event") { ?>
+        <div class="featured-image-wrap"><?php the_post_thumbnail("large"); ?></div>
+        <?php } ?>
+        <?php endif; ?>
+        <span class="meta date">Posted on <?php the_time('F jS, Y') ?></span>
+        <?php get_template_part('parts/share-this'); ?>
+    </header>
+    <?php the_content(); ?>
+</article>
\ No newline at end of file
diff --git a/parts/blog-text.php b/parts/blog-text.php
new file mode 100644 (file)
index 0000000..31cc5c5
--- /dev/null
@@ -0,0 +1,12 @@
+                                                <article id="<?php the_ID()?>" <?php post_class()?>>
+                                                    <header class="entry-header">
+                                                        <h1 class="entry-title"><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h1>
+                                                        <?php if ( has_post_thumbnail() ):?>
+                                                                 <?php if (get_post_type( $post ) != "ai1ec_event") { ?>
+                                                        
+                                                        <?php } ?>
+                                                        <?php endif; ?>
+                                                        <span class="meta date">Posted on <?php the_time('F jS, Y') ?></span>
+                                                    </header>
+                                                    <?php the_advanced_excerpt('length=250&length_type=characters&no_custom=1&ellipsis=%26hellip;&exclude_tags=a,img,p,div,h1,h2,h3,h4,h5,h6'); ?>
+                                                </article>
\ No newline at end of file
diff --git a/parts/dropdown-destinations.php b/parts/dropdown-destinations.php
new file mode 100644 (file)
index 0000000..641e26c
--- /dev/null
@@ -0,0 +1,10 @@
+<ul id="dropdown-destination">
+    <li class="drop-centered menu-item menu-item-object-page menu-item-has-children has-dropdown not-click">
+        <a href="<?php echo get_permalink(71); ?>">Destinations</a>
+        <ul class="dropdown member-dropdown">
+            <div id="destinations">
+            <?php echo do_shortcode("[glm-members-list view='dropdown' category='1']"); ?>
+            </div>
+        </ul>
+    </li>
+</ul>
\ No newline at end of file
diff --git a/parts/dropdown-map.php b/parts/dropdown-map.php
new file mode 100644 (file)
index 0000000..f7729ea
--- /dev/null
@@ -0,0 +1,142 @@
+
+<!-- WP region PAGE DATA FOR JS PROCESSING -->
+<?php
+    $pages = ['southeast-michigan', 'upper-peninsula', 'west-michigan','northern-michigan', 'mid-michigan','regions'];
+    foreach($pages as $page){
+        $args = array(
+            'name'        => $page,
+            'post_type'   => 'page',
+            'post_status' => 'publish',
+            'numberposts' => 1
+        );
+        $region_page = get_posts($args);
+
+        $content = get_the_excerpt($region_page[0]->ID);
+        // $content = get_excerpt_by_id($region_page[0]->ID, 55);
+        $region_image_id = get_post_thumbnail_id($region_page[0]->ID);
+        $region_image    = wp_get_attachment_image_src( $region_image_id, 'glm-map-image', true);
+        $region_url = get_permalink($region_page[0]->ID);
+        
+        if($region_image_id){
+            $region_image    = wp_get_attachment_image_src( $region_image_id, 'glm-map-image', true);
+            $region_image = $region_image[0];
+        } else {
+            $region_image = get_template_directory_uri() .'/assets/default.jpg';
+        }
+  
+        $regions[$region_page[0]->post_name] = array(
+            'title'     => $region_page[0]->post_title,
+            'id'        => $region_page[0]->ID,
+            'content'   => $content,
+            'slug'      => $region_page[0]->post_name,
+            'image'     => $region_image,
+            'url'       => $region_url
+        );
+    }
+    $js_regions = json_encode($regions);
+?>
+
+<ul id="interactive-map">
+    <li class="drop-centered menu-item menu-item-object-page menu-item-has-children has-dropdown not-click">
+        <a href="<?php echo get_permalink(76); ?>">Regions</a>
+        <ul class="dropdown map-dropdown">
+            <div class="row collapse">
+                <div class="large-5 columns" id="mapRegionData">
+             
+                    <div class="region-info-wrapper">
+                        <div class="region-img" style="background-image: url(<?php echo $regions['regions']['image']; ?>);"></div>
+                        <h2 class="region-title"> <?php echo $regions['regions']['title']; ?> </h2>
+                        <div class="region-content"><?php echo $regions['regions']['content']; ?> </div>
+                    </div>
+                    <div class="region-info-button">
+                        <a class="region-link" href="">Find out more...</a>
+                    </div>
+                 
+                </div>
+                <div class="large-7 columns" id="map">
+                    <?php get_template_part('parts/region-map'); ?>
+                </div>
+            </div>
+        </ul>
+    </li>
+</ul>
+<script>
+    jQuery(function($){
+        var regions         = <?php echo $js_regions ?>;
+        var map             = $("#region-map");
+        var region          = $('.hover-region');
+        var blue            = '#506fb2';
+        var green           = '#6C9B40';
+        var region_image    = $('.region-img');
+        var region_title    = $('.region-title');
+        var region_content  = $('.region-content');
+        var region_link     = $('.region-link');
+        var sibling_region,region_id,url;
+        $('#Text').find('path').addClass("hover-region-text");
+
+        $('#northern-michigan').hover(
+            function(){
+                $('#upper-peninsula').css("fill", blue);
+                $('#mackinaw-island').css("fill", blue);
+                $(this).css("fill", blue);
+            },
+            function(){
+                $('#upper-peninsula').css("fill", green);
+                $('#mackinaw-island').css("fill", green);
+                $(this).css("fill", green);
+            }
+        );
+        $('#upper-peninsula').hover(
+            function(){
+                $('#northern-michigan').css("fill", blue);
+                $('#mackinaw-island').css("fill", blue);
+                $(this).css("fill", blue);
+            },
+            function(){
+                $('#northern-michigan').css("fill", green);
+                $('#mackinaw-island').css("fill", green);
+                $(this).css("fill", green);
+            }
+        );
+        $('#mackinaw-island').hover(
+            function(){
+                $('#northern-michigan').css("fill", blue);
+                $('#upper-peninsula').css("fill", blue);
+                $(this).css("fill", blue);
+            },
+            function(){
+                $('#northern-michigan').css("fill", green);
+                $('#upper-peninsula').css("fill", green);
+                $(this).css("fill", green);
+            }
+        );
+        region.hover(function(){
+                region_id   = $(this).data('region');
+                var img     = regions[region_id]['image'];
+                var title   = regions[region_id]['title'];
+                var content = regions[region_id]['content'];
+                url         = regions[region_id]['url'];
+                
+                region_image.css("background-image", 'url(' + img + ')');
+                region_title.text(regions[region_id]['title']);
+                region_content.text(regions[region_id]['content']);
+                region_link.attr("href", url);
+        },function(){});
+        
+        region.on("click", function(){
+            window.location.href = url;
+        })
+        $('ul.map-dropdown').on('mouseout', function(){
+         
+            // var img     = regions['regions']['image'];
+            // var title   = regions['regions']['title'];
+            // var content = regions['regions']['content'];
+            // url         = regions['regions']['url'];
+            
+            // region_image.css("background-image", 'url(' + img + ')');
+            // region_title.text(regions['regions']['title']);
+            // region_content.text(regions['regions']['content']);
+            // region_link.attr("href", url);
+        });
+    });
+</script>
diff --git a/parts/dropdown-venues.php b/parts/dropdown-venues.php
new file mode 100644 (file)
index 0000000..3858cf2
--- /dev/null
@@ -0,0 +1,11 @@
+
+<ul id="dropdown-venues">
+    <li class="drop-centered menu-item menu-item-object-page menu-item-has-children has-dropdown not-click">
+        <a href="<?php echo get_permalink(74); ?>">Venues</a>
+        <ul class="dropdown member-dropdown">
+            <div id="venues">
+                <?php echo do_shortcode("[glm-members-list view='dropdown' category='2']"); ?>
+            </div>
+        </ul>
+    </li>
+</ul>
\ No newline at end of file
diff --git a/parts/events-feed.php b/parts/events-feed.php
new file mode 100644 (file)
index 0000000..b042954
--- /dev/null
@@ -0,0 +1,8 @@
+<div id="events-sidebar" class="">
+    <h1 class="events-sidebar-title" >Events Calendar</h1>
+    <?php echo do_shortcode("[glm-members-event-list template='eventsFrontPage.html' limit=3]"); ?>
+    <?php ?>
+
+    <a class="button" id="calendar-link" href="<?php echo get_permalink(26);?>">View All Events</a>
+
+</div>
\ No newline at end of file
diff --git a/parts/glm-blocks.php b/parts/glm-blocks.php
new file mode 100644 (file)
index 0000000..3240736
--- /dev/null
@@ -0,0 +1,44 @@
+<span class="blocks-header">What's New at the Point</span>
+<?php if(function_exists('fetch_all_glm_blocks')):?>
+<?php $blocks = fetch_all_glm_blocks();?>
+<div class="blocks row">
+    <?php $count = 1; ?>
+    <?php foreach ($blocks as $block):?>
+        <?php if( $count < 3): ?>
+            <div id="block-<?php echo $count; ?>" class="block small-12 large-6 columns">
+                <div class="block-background" style="background-image: url('<?php //echo get_the_post_thumbnail_url($block->ID, $size);?>')">
+                    <!-- link if url for image is set in admin-->
+                        <!-- block image-->
+                        <?php $size = ($count == 1 | $count == 4) ? 'glm-block-large' : 'glm-block-small'; ?>
+
+                        <!-- end link wrapper around block title-->
+                   
+                    <?php if($block->url):?>
+                        <a href="<?php echo $block->url;?>"<?php if($block->externalUrl){echo ' target="_blank"';}?>>
+                        <?php endif;?>
+                            <div class="block-overlay">
+                                <!-- block content-->
+                                <div class="block-overlay-center">
+                                    <!-- block title-->
+                                    <h1 class="block-title-center"><?php echo $block->post_title;?></h1>
+                                    <div class="block-content">
+                                        <?php $content = apply_filters('the_content', $block->post_content) . $block->post_excerpt;?>
+                                        <?php echo get_excerpt_by_id($block->ID, $length = 55);?>
+                                    </div>
+                                </div>
+                            </div>
+
+                    <?php if($block->url):?>
+                        </a>
+                        <a class="blocks-readmore" href="<?php echo $block->url;?>"<?php if($block->externalUrl){echo ' target="_blank"';}?>>Read More</a>
+                    <?php endif;?>
+                </div>
+            </div>
+
+        <?php $count++; ?>
+        <?php endif; ?>
+    <?php endforeach;?>
+
+</div>
+<!--<div class="separator"><hr></div>-->
+<?php endif;?>
diff --git a/parts/glm-members-only-login-form.php b/parts/glm-members-only-login-form.php
new file mode 100644 (file)
index 0000000..d44d0ca
--- /dev/null
@@ -0,0 +1,45 @@
+<div class="wp_login_error">
+    <p id="glm-member-login-notification">
+        <?php if( isset( $_GET['login'] ) && $_GET['login'] == 'failed' ) { ?>
+            The information you entered is incorrect. Please try again.
+        <?php }
+            else if( isset( $_GET['login'] ) && $_GET['login'] == 'empty' ) { ?>
+            Please enter both username and password.
+        <?php } else { ?>
+            <?php $glmAssociateConfig = apply_filters('glm_associate_config', null);
+                $supportEmail = $glmAssociateConfig['settings']['members_only_support_email'];
+                $supportPhone = $glmAssociateConfig['settings']['members_only_support_phone'];
+                $glmTerm = $glmAssociateConfig['terms']['term_member'];
+            ?>
+            Please log in with your <?php echo $glmTerm; ?> username and password.
+
+            <?php if ($supportEmail || $supportPhone) {
+                echo "<br>If you need assistance, ";
+                if ($supportEmail) {
+                    echo "email (".$supportEmail.")";
+                    if ($supportPhone) {
+                        echo " or ";
+                    }
+                }
+                if ($supportPhone) {
+                    echo "call (".$supportPhone.")";
+                }
+            }
+            ?>
+        <?php } ?>
+    </p>
+    </div>
+    <div id='glm-member-login-form'>
+    <?php
+    update_option('glm_members_database_frontend_login_request', 'true');
+    $args = array(
+        'echo'    => false,
+        'form_id' => 'glm_login_form'
+    );
+    $loginForm = wp_login_form($args);
+    $captcha   = apply_filters('cptch_display', '', 'glm_login_form');
+    $form      = str_replace( '<p class="login-remember">', $captcha . '<p class="login-remember">', $loginForm );
+    echo $form;
+    ?>
+</div>
+<?php get_template_part('parts/glm-members-only-lostpass-form'); ?>
diff --git a/parts/glm-members-only-lostpass-form.php b/parts/glm-members-only-lostpass-form.php
new file mode 100644 (file)
index 0000000..6bde7c6
--- /dev/null
@@ -0,0 +1,24 @@
+<a id="glm-member-password-lost-link" title="Lost Password">Lost Password?</a>
+    <div id="glm-member-password-lost-form">
+
+        <p>
+            <?php
+                _e(
+                    "Enter your email address and we'll send you a link you can use to pick a new password.",
+                    'personalize_login'
+                );
+            ?>
+        </p>
+
+        <form id="lostpasswordform" action="<?php echo wp_lostpassword_url(); ?>" method="post">
+            <p class="form-row">
+                <label for="user_login"><?php _e( 'Email', 'personalize-login' ); ?>
+                <input type="text" name="user_login" id="user_login">
+            </p>
+
+            <p class="lostpassword-submit">
+                <input type="submit" name="submit" class="lostpassword-button"
+                       value="<?php _e( 'Reset Password', 'personalize-login' ); ?>"/>
+            </p>
+        </form>
+    </div>
\ No newline at end of file
diff --git a/parts/glm-members-only-top-bar.php b/parts/glm-members-only-top-bar.php
new file mode 100644 (file)
index 0000000..6647ba4
--- /dev/null
@@ -0,0 +1,16 @@
+<div id="glm-member-front-header" class="small-12 columns">
+    <?php if(function_exists('bcn_display') && !is_front_page()) {
+         echo "<div class='breadcrumbs small-12 medium-6 columns'>"; 
+         echo '<span class="st_sharethis" st_title="'. get_the_title().'" st_url="'. get_the_permalink() .'"></span>'; 
+         bcn_display();
+         echo "</div>";
+    } ?>
+    <div class="small-12 medium-6 columns members-only-buttons">
+        <a class='button glm-button' href="<?php echo wp_logout_url( home_url() ); ?>">Logout</a>
+        <?php if (current_user_can("glm_members_member")) { ?>
+            <?php $glmAssociateTerms = apply_filters('glm_associate_terms', "");?>
+            <?php apply_filters('glm_associate_terms', $glmAssociateTerms);?>
+            <a class='button glm-button' href='<?php echo get_admin_url(); ?>'>Enter <?php echo $glmAssociateTerms['term_member_cap']; ?> Admin Area</a> 
+        <?php } ?>
+     </div>
+</div>
\ No newline at end of file
diff --git a/parts/header-meta.php b/parts/header-meta.php
new file mode 100644 (file)
index 0000000..f89dd76
--- /dev/null
@@ -0,0 +1,10 @@
+<head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title><?php wp_title(); ?></title>
+    <link rel="stylesheet" href="<?php echo get_stylesheet_directory_uri() ; ?>/css/app.css?v=1.0.0">
+    <link rel="shortcut icon" href="<?php echo get_stylesheet_directory_uri(); ?>/favicon.png?v=1">
+    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,400italic,700' rel='stylesheet' type='text/css'>
+    <link href="https://fonts.googleapis.com/css?family=El+Messiri" rel="stylesheet">
+    <?php wp_head(); ?>
+  </head>
\ No newline at end of file
diff --git a/parts/main-content.php b/parts/main-content.php
new file mode 100644 (file)
index 0000000..5a9ccd0
--- /dev/null
@@ -0,0 +1,7 @@
+            <div id="main-content" class="small-12 columns">
+                <?php if(have_posts()) : while(have_posts()): the_post();?>
+                <?php the_content();?>
+                <?php endwhile; else:?>
+                <p><?php _e('Sorry, no posts yet');?></p>
+                <?php endif;?>
+            </div>
\ No newline at end of file
diff --git a/parts/region-map.php b/parts/region-map.php
new file mode 100644 (file)
index 0000000..a9361db
--- /dev/null
@@ -0,0 +1,384 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+        viewBox="0 0 212 220" style="enable-background:new 0 0 212 220;" xml:space="preserve" width="350" height="360">
+<style type="text/css">
+       .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#6C9B40;}
+       .st1{display:none;}
+       .st2{display:inline;}
+       .st3{fill-rule:evenodd;clip-rule:evenodd;fill:#5170B3;}
+       .st4{fill:#FFFFFF;}
+       .st5{fill:none;}
+</style>
+<g id="State">
+       <g>
+               <path id="southeast-michigan" data-region="southeast-michigan" class="hover-region st0 sm-rect" d="M149.6,173.7v42.5c7.8-0.1,15.6-0.3,23-0.6c1-0.9,0.9-2.8,2-3.6c0-0.3-0.1-0.3-0.1-0.6
+                       c0.9-0.2,1.7-1.2,1.2-2.2c0.8-1.2,2.4-1.6,2.7-3.4c0.8-0.7,1.8-1.7,2-2.8c0.2-0.9-0.3-1.8-0.2-2.8c0.1-1.1,0.8-3.2,1.1-4.5
+                       c0.2-0.8,0.6-2.1,1-2.7c1.3-1.7,4.2-1.5,5.2-3.1c0.6-0.9,1.1-2.4,1.2-3.3c0.1-0.6-0.3-1.2-0.2-1.9c0.2-1.7,2.2-2.7,2.2-4.7
+                       c0-0.3-0.3-0.7-0.2-0.9c0.1-0.5,1-0.9,1.2-1c1.2-0.9,3.2-1.3,4.5-0.1c0.3,0.3,0.3,0.8,0.7,0.9c0.7,0.2,1.8-0.3,2.2-0.3
+                       c0.2-1.8,1.2-3.2,1.4-4.8H149.6z"/>
+       </g>
+       <g>
+               <path id="mid-michigan" data-region="mid-michigan" class="hover-region st0 mm-rect" d="M87.3,151.5c0.6,0.1,1.1-0.6,1.4-0.1c-1.9,1.3,0.1,4,0.7,5.6c0.6,0.2,1.5-0.5,1.7,0.1c-1.9,1-0.5,2.4,0.1,3.9
+                       c0.9,2.6,2,6.2,2.2,9c0.1,0.9,0,1.8,0,2.7h107.2c0-0.1,0-0.2,0-0.3c-0.1-0.9,0-1.3,0.1-2.1c0.1-0.7-0.2-1.5,0-2.3
+                       c0.2-1.1,1.4-2.2,1.4-3.2c0-0.8-0.6-2.4-1-3.1c-0.2-0.4-0.7-0.4-0.8-0.8c-0.1-0.4,0.1-0.8,0-1.2c-0.1-0.9-0.7-1.6-0.8-2.3
+                       c-0.3-1.6-0.6-3.3-0.8-5c-0.5-4.2-1.7-8.6-2-12.8c-0.2-3.6-0.9-7.5-2.8-10.1c-0.6-1.6-1.1-3.3-2.5-4.2c-0.1-0.1-0.5,0-0.7-0.1
+                       c-0.3-0.8-1-1.9-1.6-0.7c-0.1-1.1-1.8-0.6-2.1-1.6c-1.7-0.3-2.2,0.7-3.4,1c-0.2,2.4-3.4,1.7-4.7,3c-0.9-0.6-1.7,0.1-2.6,0.3
+                       c-0.2,1.2-0.8,1.9-1.7,2.3c-0.3,1.9-2,2.4-2.2,4.4c-1.1,0.2-0.9,1.7-2,2c0.3,1.7-1,2.4-2.3,2.4c-1.5,1.4-2.2,3.6-4.1,4.6
+                       c-0.7-1-1.7-2.3-3.6-1.7c-0.2-0.1-0.1-0.5-0.3-0.6c-0.4,0-0.5,0.2-0.9,0.1c-0.4-0.2-0.6-0.5-0.7-0.9c-0.8-0.3-1.5-0.6-1.8-1.2
+                       c-0.7-1.4-0.3-2.5,0-3.4c0.5-1.8,0.2-4,0.5-5.6h-71c0.3,1.3,0.5,2.7,0.5,4.2c0.1,0.3,0.5,0.3,0.5,0.7c-0.4,0.6-0.9,1.1-0.3,1.9
+                       c-1.1,1.5-2.6,3-3,4.7c-0.6,2.3,1.7,4.3,2.1,6.5C86.4,149.2,86.4,150.4,87.3,151.5z"/>
+       </g>
+       <g>
+               <g>
+                       <path id="northern-michigan" data-region="northern-michigan" class="hover-region st0 nm-rect" d="M85.9,125.1c0.3,0.7-0.4,0.9-0.9,1c0.4,0.8,0.7,1.6,1,2.5h71.5c0.3-0.8,0.9-1.5,2.1-1.8
+                               c0.5-0.1,0.9,0.1,1.5,0c1.7-0.2,2.5-1.2,3.3-2c0.6-0.6,1.5-0.9,1.9-1.6c0.8-1.5,0.6-3.5,1.1-5.4c0.5-1.4,1.1-2.7,2.4-3.3
+                               c0-0.4,0.2-0.6,0.4-0.3c0.8-0.7,2.5-0.8,3-1.9c0.7-1.5,0.8-5.6,0.5-6.8c1-0.7,0.6-2.3,0.6-3.8c1.3-1.3,0.7-3.8,0.5-5.3
+                               c-0.2-1.3-0.2-3.7-0.9-4.6c-0.4-0.5-1.3-0.5-1.8-0.9c-0.2-0.2-0.3-0.6-0.5-0.8c-0.3-0.2-0.7-0.2-0.9-0.4
+                               c-0.4-0.4-0.2-0.8-0.5-1.6c-0.1-0.4-0.6-0.4-0.6-0.8c-0.1-0.9,1.1-1.5,0.7-2.6c0.5-1.2,3.3-1.1,3.5-2.3c0.1-0.9-1.4-2-1.8-2.8
+                               c-0.7-1.3-1.3-2.9-0.7-3.8c-1.1-0.9-2.2-1.7-3.2-2.6c-2.6,0.1-4.6-0.3-5.6-1.8c-1,0.1-1.8,0-2.6-0.3c-1.7-2.2-4.1-3.3-8.4-2.8
+                               c-0.8-1.3-1-3.1-1.9-4.1c-0.3-0.1-0.6-0.1-0.8-0.3c-0.1-0.2,0-0.6-0.1-0.7c-1.9-0.5-3.7-1.8-5.9-1.4c-0.4,0.1-0.6,0.6-1,0.6
+                               c-0.8,0-1.7-1.2-2-1.6c-1.5-1.4-3.8-1.5-5.4-2.8c-0.2-0.4-1.3-1-1.5-0.5c-1.2,2.2-3.7,3-5.6,1c0.1,0.5,1,0.7,0.7,1.8
+                               c-0.7,0.5-1.7,0.9-1.7,2.1c-3,0.6-3.8,3.9-2.5,6.7c0.6,1.3,3.2,1.4,4.5,2c0.2,0.4,0.4,0.7,0.3,1.4c-1.2,0.2-2.2,0.6-3.5,0.7
+                               c-0.5,0-1.3-0.2-1.8-0.3c-1.6-0.1-2.3,1.3-3.8,1.6c-0.2,0.2,0,0.9-0.3,1.1c-4.3,0.3-3.7,5.6-3,8.9c0.1,0.1,0.6,0,0.7,0.1
+                               c0.4,0.4,0.1,1,0.4,1.7c0.1,0.3,0.6,0.3,0.7,0.6c0.1,0.2-0.2,0.6-0.1,0.9c0.1,0.5,0.5,0.9,0.5,1.3c0,0.8-0.4,1.7-0.3,2.6
+                               c0,0.7,0.4,1.7-0.5,1.7c-0.6-2.5,0.2-5.7-1.2-8c-0.7,1.9-0.6,4.6-1.3,6.4c-0.5,1-1.4,1.7-1.5,3.1c-0.5,0.6-1.3,0.9-1.2,2
+                               c-0.5,0.9-1.8,1-2.2,0c-1.3,0.5-1.9-0.9-2-1.9c-0.1-1.5-0.1-3.6-0.1-5.5c0.1-2.4,2-4.5,1.2-6.2c0.1-0.8,0.9-1.3,0.9-2
+                               c-0.2-0.3-0.6-0.4-1-0.4c-1.4,1.6-1.6,4.4-3.2,5.7c0.1,0.3-0.1,1.1-0.1,1.7c-1.6,0.3-1.4,2.4-3.3,2.4c-0.7-0.1-0.9-0.8-1.5-0.9
+                               c-1.6-0.1-1.3,3.8-3.6,2.1c-0.4,0.2-0.7,0.5-0.8,0.9c0,0.8,0.4,1.8,0.3,2.6c0,0.3-0.4,0.6-0.4,0.9c0,0.4,0.3,0.7,0.2,1.1
+                               c-0.2,1.1-1.1,1.2-2.2,1.4c-1.4,0.3-1.9,1.4-2.7,1.4c1,0.2,3.9,0.9,3.5,2.1c-0.1,0.4-1.2,0.6-1.7,0.1c-0.5-0.4-0.7-1.2-1.6-1.2
+                               c-0.6,1.5,0.8,2.7,0.7,4.3c-0.1,1.3-0.9,2.6-0.9,3.9c0,1.1,0.1,2.1,0,3.4c0.2,0.4,1,0.1,0.9,0.6c-0.2,0.4-1,0.1-1.4,0.3
+                               c-0.3,0.8-0.7,1.4-0.9,2.3c-0.3,0.9-1,1.4-1.3,2.1c-0.7,1.9-1.6,4.5-3.1,5.6c-0.6,0.4-1.5,0.5-1.2,1.6
+                               C85.2,125.4,85.5,124.8,85.9,125.1z"/>
+               </g>
+               <g>
+                       <g>
+                               <path id="mackinaw-island" class="hover-region st0" data-region="northern-michigan"s d="M160,49c-0.7-0.1,0.1,0.8,0.1,0.2c0.3,0.1,0.4,0.3,0.5,0.6c-0.1,0.3-0.5,0.5-0.2,0.9
+                                       c0.5,0.3,1.3,0.1,1.5,0.7c-0.1,0.5-0.2,1.1-0.6,1.4c-0.5-0.2-0.9,0.3-1.3,0.3c-0.4,0-0.7-0.8-1.2-0.9c-1.4-0.3-4.1,1.1-4.6-0.7
+                                       c0.3,0,0.3,0.3,0.7,0.3c0.5-0.7,1.5-1.6,2.6-1.7c0.9-0.1,0-1.6-0.3-2C158.5,47.6,160,47.8,160,49z"/>
+                       </g>
+                       <g>
+                               <path id="upper-peninsula" data-region="northern-michigan" class="hover-region st0 up-rect" d="M69.5,6.2c-0.8,0.2-1.3,0.7-2.1,0.9c-1-0.7-4.3-0.2-3,1.1c-2,2-4.9,3.1-6.6,5.4c-0.2,0.2-0.2-0.4-0.5-0.3
+                                       c0.2,1.4-0.8,2.2-1.5,3.3c-0.4,0.6-1,2.4-1.5,2.3c-0.5-0.1-1.1-2.6-0.1-2.6C54,16,53.5,16.1,53.3,16c-0.3-1-1.7-1.2-2.8-1.2
+                                       c0,0.5,0.7,0.4,1.1,0.5c0.8,0.5,0.3,1.6,0.5,2.6c0.7,0.4,1.1,1,1.5,1.6c-0.1,1-0.5,2-0.8,3c-0.1,0.4,0.1,0.9,0,1.4
+                                       c-0.1,0.4-0.3,0.6-0.3,0.9c0,0.3,0.5,0.5,0.5,0.8c0,0.4-0.6,0.7-0.6,1c1.1,0.7,1.8-1.9,2.6-2.6c1.3-1.1,2.7-2.3,4.1-2.7
+                                       c-0.2,1.1-1.6,0.9-1.4,2.4c-0.2,0.4-0.9,0.5-0.7,1c0.2,0.3,0.6-0.1,0.8-0.2c0.4-0.8,0.5-1.4,1-1.9c0.8-0.6,1.9,0,2.6-0.7
+                                       c1.5,0.3,2.8,0.5,4.4,0.5c0.1,0.1,0.1,0.3,0.1,0.5c0.7-0.1,0.8,0.2,1.1,0.5c0.8-0.7,0.9-0.1,1.4,0.5c0.3,0.5,1.2,0.8,0.8,1.4
+                                       c0.4,0.2,0.6,0.5,1,0.7c0.4,0,0.1-0.6,0.3-0.8c1.5,0.4,1.6,2.2,2.2,3.6c0.2,0.2,0.6,0.2,0.8,0.3c0,1.3,1.3,1.4,1.3,2.6
+                                       c0.5,0.6,1.2,1.2,1.4,2c0.1,0.4,0,0.6,0.2,0.9c0.8,1.2,2.9,0.6,4.1,1.4c0.3-0.3,0.6-0.7,1.2-0.5c0.2,0.1,0,0.6,0.3,0.7
+                                       c0.6-1.3,3.2-2.6,3.9-0.7c-0.1,0.2-0.5,0.2-0.5,0.5c0.4,0.5,0.9,0.3,1.5,0.6c0.5,0.2,0.7,1,1.5,0.9c0.6-0.1,0.7-1,1.2-1.2
+                                       c0.8-0.3,1.2,0.6,1.7,1c0.3,0,0.4,0.1,0.7,0.1c0.3,0.1,0.3,0.6,0.6,0.6c0.7,0.1,1.2-1.4,1.6-2.1c0.2-0.4,1.2-0.9,1.7-1.3
+                                       c0.3-0.2,0.5-0.6,0.7-0.7c0.6-0.3,1.5-0.1,2.1-0.3c0.4-0.2,0.5-0.6,0.9-1c1-1.1,3.1-1.5,3.9-2.7c1.9,1.5,4.8-1.3,6.9-0.2
+                                       c1.5,0.1,3.2-0.3,4.1,0.4c0.7-0.4,1.9-0.1,2.7-0.2c0.1,0.5,0.4,0.9,0.2,1.5c0.3-0.3,1.4-0.2,2-0.3c0.7-0.4,0-1.9,0.9-2.2
+                                       c0.3,0,0.6,0,0.4-0.1c0.7-1.6,2.9-1.4,4.5-1.6c-0.6,0.5-0.4,1.6-0.8,2.2c0.6,0.4,1-0.2,1.1-0.6c0.6,0,1.1,0.1,1.2,0.7
+                                       c-0.6,0.2-1.4,0.8-0.8,1.6c0.4,0.1,0.9-0.2,1.4,0.1c0.4,0.8,0.6,2-0.2,2.5c-0.2,2.4,1.9,2.9,4.1,2.8c1.4,1.6,3.4-0.2,4.6-0.8
+                                       c0.2,0.2,0,0.4,0.1,0.7c0.1,0.3,1.5,1.5,1.6,1.6c0.7,0.2,1.1-0.6,1.9-0.7c1.1-0.1,0.9,0.2,1.4-0.8c0.4-0.9,1.6-1.6,2.9-1.3
+                                       c-0.4,1,1,1.3,1.1,2.5c0,0.1-0.1,0.5-0.1,0.7c0.1,0.3,0.5,0.5,0.7,0.8c0.4,0.7,0.4,1.8,0.3,2.6c0.3,0.3,0.8,0.4,0.7,1.1
+                                       c-0.5,0.7-1.5,0.8-1.7,1.7c0.4,0.4,0.8,0.9,1,1.5c0.4-0.6,1.4-0.7,2.2-0.9c0.4,0.8,1.3,1,2,1.5c-0.4,0.6-0.9,1.1,0,1.5
+                                       c0,0.4,0.1,0.7,0.2,1c0.5,0.2,1.2,0.3,1.3,0.9c0.6-0.3,1.2-0.1,1.6,0.3c0,0.3,0.1,0.6,0.1,0.8c-0.3,0.4-1.3,0.3-1.6,0
+                                       c0-0.4,0-0.8-0.2-1c-0.3,0-0.5,0.1-0.7,0.2c0,0.4,0.3,0.4,0.3,0.7c-2.2,0.3-5.1-0.8-7.8-0.6c-0.5,0-1,0.3-1.3,0.3
+                                       c-0.4-0.1-0.6-0.5-1.1-0.3c-0.2,0.1-0.3,0.4-0.5,0.4c-0.7,0.3-1-0.4-1.3-1c-1.2,0.1-1.6-0.8-2.7-0.7c-0.9,0.1-0.5,1.5-0.9,2.3
+                                       c-0.3,0.5-1.3,1-0.4,1.8c0,0.3-0.2,0.3-0.3,0.5c0.2,0.2,0.4,0.8,0.1,1c-1.6-0.2-2.8-0.7-3.4-1.9c-0.5-0.2-1.2-0.5-1.1-1.1
+                                       c0.2-0.2,0.7-0.1,1-0.2c0,0.3,0.4,1.2,0.9,0.7c0.1-0.3-0.4-0.5-0.6-0.7c0.2-0.5-0.1-0.8-0.4-1.1c-0.2-0.1-0.4,0.1-0.5,0.2
+                                       c-0.3-0.3-1.2-0.6-1.6-0.3c-0.3,0-0.2-0.3-0.4-0.4c-2.3-0.2-5.5-2.1-8-2.5c-0.9-0.1-1.9-0.3-2.8-0.1c-1.1,0.3-1.2,2-2.4,2.5
+                                       c0,2.9-4.8,0.9-6.4,2.1c-0.3,0.2-0.5,0.8-0.8,0.9c-1,0.2-2-1-2.9-1c-2.1-0.2-4.8,0.4-5.4,2c-0.3,0.6-0.1,1-0.4,1.8
+                                       c-0.3,0.6-1.9,2.2-2.7,2.6c-0.8,0.4-1.6,0.1-1.7,1.3c-1.4,0.3-1.3,2-2.1,2.9c-0.9-0.2-1.8-1.4-0.6-1.9c0.1-0.3-0.2-0.4-0.2-0.7
+                                       c1.2,0,0.7-2.6,2.2-1.7c0.2-0.9,0.7-1.9,1.1-2.8c-0.1-1.3-1.6-1.2-2.3-0.4c0,0.4-0.2,0.6-0.3,0.9c-0.4,0.1-1.1,0-1.6,0.1
+                                       c-0.3-0.1-0.3-0.6-0.6-0.8c-0.5,0-0.8,0.1-1,0.3c0.2,1.4-1.5,3.6-2.6,4.2c-0.3,0.2-1,0.2-1.4,0.2c-0.6-0.7,0.1-2.3-0.5-3.3
+                                       c0.1-1,1.8-1.8,0.8-2.8c-0.8,0.2-1.2,0.9-1.1,1.8c-0.3,0.7-1.5,1-1.4,2c0.1,1,0.8,2-0.4,2.6c-0.2,0.1-0.5,0.1-0.7,0.2
+                                       c-1.4,0.7-1.5,3-3,3.7c-1.5,6-5.5,9.6-8.1,14.4c-1.1-0.7-2.7-1.1-2.6-2.4c0-0.6,0.5-1.3,0.7-1.9c0.3-1,1.4-2.5,1.4-3.2
+                                       c0-0.3-0.6-1-0.9-1c-0.5,0-0.9,0.9-1.6,1c-0.8,0.2-2.3,0-2.5-0.7c-0.1-0.4,0.4-0.7,0.5-1.1c0.1-0.4-0.2-0.7-0.1-1
+                                       c0.1-0.7,1.3-1,1.5-1.7c0.2-0.9-0.3-1.4-0.5-2.2c2.1-0.4-0.1-2.3,0.1-3c0.1-0.6,1.3-0.7,0.3-1.6c-0.2-0.1-0.5-0.2-0.7-0.3
+                                       c-0.4-0.3-0.5-0.8-0.9-1c-0.9-0.4-2.1-0.2-2.3-1.3c-1.3,0.3-3,0.1-2.9-1.2c0-0.6,1.1-0.8,1.1-1.4c0-0.1-0.3-1.1-0.5-1.4
+                                       c-0.3-0.6-1.7-1-2.5-1.1c-0.4-0.1-0.7-0.5-1-0.5c-0.3,0-0.7,0.1-1,0.1c-0.5-0.1-0.8-0.8-1.3-0.9C54.3,50.8,54,51,53.7,51
+                                       c-1.6-0.2-2.3-1.4-4-0.9c-0.3,0.1-0.5,0.5-0.8,0.5c-0.7,0.1-1.3-1-2.3-1.1c-0.7-0.1-1.2,0-1.8-0.1c-2.3-0.9-4-2.9-6.4-3.8
+                                       c-1.7-0.7-3.9-0.8-5.3-1.9c-0.3,0.1-0.8,0.1-1-0.1C32,43.5,32,43.3,32,43.1c-1.5,0.5-4.3-0.7-5.8-1.2c-1.9-0.6-3.6-1-5.2-1.5
+                                       c-0.1-0.1-0.2-0.3-0.2-0.5c-1.6,0.5-3.2-0.6-4.7-1c-1-2.4-1.3-5.4-4.1-5.9c-0.2-0.2-0.1-0.6-0.3-0.8C8.9,32.7,10,31,12,30.8
+                                       c1.1-0.1,2.6-1,3.1-1.4c3.9-0.2,5.5-2.7,7.5-4.8c2.2-1.4,4.6,0.1,7-0.9c1.2,0.1,3.2,0,4-0.5c1.3-0.9,2.9-1.7,3.9-2.6
+                                       c0.2-2,3-1.2,4.7-1.6c0.8-0.2,1-1.2,1.3-2.1c1-1.4,2.4-2.3,4-3.1c0.2-1,1-1.7,2.1-1.6c0.4,0.8-0.4,2.3,0.7,2.6
+                                       c0.3-0.8-0.1-2.3,0.2-3.1c2.3-0.8,2.7-3.8,4.9-4.7c1.8-0.7,3.4-1.9,5.3-2.2c1.3,0.3,2.7-0.4,4.1-0.2c0.7,0.1,1.5,0.6,2.2,0.1
+                                       c0.8,0.1,1.6,0.1,2.1,0.6C69.1,5.7,69.5,5.8,69.5,6.2z"/>
+                       </g>
+               </g>
+       </g>
+       <g>
+               <g>
+                       <path id="western-michigan" data-region="west-michigan" class="hover-region st0 wm-rect" d="M148.6,173.7h-55c0.1,0.3,0.1,0.6,0.3,0.9c0.4,0,0.8-0.1,1,0.1c0,0.7-0.8,0.5-1.1,0.8
+                               c0.5,2.1-0.5,3.7-0.6,5.2c0,1.1,0.7,2.3-0.3,3.2c0.3,1.9,0,4.4-1.1,5.3c0.6,0.8-0.1,1.3-0.2,2c-0.5,2.3-1.7,5.6-3.3,6.6
+                               c0.2,1.9-2.5,2.1-2.1,4.1c-1.1,2.2-1.8,4.7-2.8,7c-0.3,0.2-0.6,0.3-0.9,0.5c-0.7,2-2.9,2.5-4.1,4.1c18.5,0.6,38.7,0,57.4,0.7
+                               c0.4,0.6-0.1,1.7,0.4,2.2c4,0,8.3-0.1,12.5-0.2V173.7z"/>
+               </g>
+       </g>
+</g>
+<g id="Northern" class="st1">
+       <g class="st2">
+               <g>
+                       <path class="hover-region st3" d="M85.9,125.1c0.3,0.7-0.4,0.9-0.9,1c0.4,0.8,0.7,1.6,1,2.5h71.5c0.3-0.8,0.9-1.5,2.1-1.8
+                               c0.5-0.1,0.9,0.1,1.5,0c1.7-0.2,2.5-1.2,3.3-2c0.6-0.6,1.5-0.9,1.9-1.6c0.8-1.5,0.6-3.5,1.1-5.4c0.5-1.4,1.1-2.7,2.4-3.3
+                               c0-0.4,0.2-0.6,0.4-0.3c0.8-0.7,2.5-0.8,3-1.9c0.7-1.5,0.8-5.6,0.5-6.8c1-0.7,0.6-2.3,0.6-3.8c1.3-1.3,0.7-3.8,0.5-5.3
+                               c-0.2-1.3-0.2-3.7-0.9-4.6c-0.4-0.5-1.3-0.5-1.8-0.9c-0.2-0.2-0.3-0.6-0.5-0.8c-0.3-0.2-0.7-0.2-0.9-0.4
+                               c-0.4-0.4-0.2-0.8-0.5-1.6c-0.1-0.4-0.6-0.4-0.6-0.8c-0.1-0.9,1.1-1.5,0.7-2.6c0.5-1.2,3.3-1.1,3.5-2.3c0.1-0.9-1.4-2-1.8-2.8
+                               c-0.7-1.3-1.3-2.9-0.7-3.8c-1.1-0.9-2.2-1.7-3.2-2.6c-2.6,0.1-4.6-0.3-5.6-1.8c-1,0.1-1.8,0-2.6-0.3c-1.7-2.2-4.1-3.3-8.4-2.8
+                               c-0.8-1.3-1-3.1-1.9-4.1c-0.3-0.1-0.6-0.1-0.8-0.3c-0.1-0.2,0-0.6-0.1-0.7c-1.9-0.5-3.7-1.8-5.9-1.4c-0.4,0.1-0.6,0.6-1,0.6
+                               c-0.8,0-1.7-1.2-2-1.6c-1.5-1.4-3.8-1.5-5.4-2.8c-0.2-0.4-1.3-1-1.5-0.5c-1.2,2.2-3.7,3-5.6,1c0.1,0.5,1,0.7,0.7,1.8
+                               c-0.7,0.5-1.7,0.9-1.7,2.1c-3,0.6-3.8,3.9-2.5,6.7c0.6,1.3,3.2,1.4,4.5,2c0.2,0.4,0.4,0.7,0.3,1.4c-1.2,0.2-2.2,0.6-3.5,0.7
+                               c-0.5,0-1.3-0.2-1.8-0.3c-1.6-0.1-2.3,1.3-3.8,1.6c-0.2,0.2,0,0.9-0.3,1.1c-4.3,0.3-3.7,5.6-3,8.9c0.1,0.1,0.6,0,0.7,0.1
+                               c0.4,0.4,0.1,1,0.4,1.7c0.1,0.3,0.6,0.3,0.7,0.6c0.1,0.2-0.2,0.6-0.1,0.9c0.1,0.5,0.5,0.9,0.5,1.3c0,0.8-0.4,1.7-0.3,2.6
+                               c0,0.7,0.4,1.7-0.5,1.7c-0.6-2.5,0.2-5.7-1.2-8c-0.7,1.9-0.6,4.6-1.3,6.4c-0.5,1-1.4,1.7-1.5,3.1c-0.5,0.6-1.3,0.9-1.2,2
+                               c-0.5,0.9-1.8,1-2.2,0c-1.3,0.5-1.9-0.9-2-1.9c-0.1-1.5-0.1-3.6-0.1-5.5c0.1-2.4,2-4.5,1.2-6.2c0.1-0.8,0.9-1.3,0.9-2
+                               c-0.2-0.3-0.6-0.4-1-0.4c-1.4,1.6-1.6,4.4-3.2,5.7c0.1,0.3-0.1,1.1-0.1,1.7c-1.6,0.3-1.4,2.4-3.3,2.4c-0.7-0.1-0.9-0.8-1.5-0.9
+                               c-1.6-0.1-1.3,3.8-3.6,2.1c-0.4,0.2-0.7,0.5-0.8,0.9c0,0.8,0.4,1.8,0.3,2.6c0,0.3-0.4,0.6-0.4,0.9c0,0.4,0.3,0.7,0.2,1.1
+                               c-0.2,1.1-1.1,1.2-2.2,1.4c-1.4,0.3-1.9,1.4-2.7,1.4c1,0.2,3.9,0.9,3.5,2.1c-0.1,0.4-1.2,0.6-1.7,0.1c-0.5-0.4-0.7-1.2-1.6-1.2
+                               c-0.6,1.5,0.8,2.7,0.7,4.3c-0.1,1.3-0.9,2.6-0.9,3.9c0,1.1,0.1,2.1,0,3.4c0.2,0.4,1,0.1,0.9,0.6c-0.2,0.4-1,0.1-1.4,0.3
+                               c-0.3,0.8-0.7,1.4-0.9,2.3c-0.3,0.9-1,1.4-1.3,2.1c-0.7,1.9-1.6,4.5-3.1,5.6c-0.6,0.4-1.5,0.5-1.2,1.6
+                               C85.2,125.4,85.5,124.8,85.9,125.1z"/>
+               </g>
+               <g>
+                       <g>
+                               <path class="hover-region st3" d="M160,49c-0.7-0.1,0.1,0.8,0.1,0.2c0.3,0.1,0.4,0.3,0.5,0.6c-0.1,0.3-0.5,0.5-0.2,0.9
+                                       c0.5,0.3,1.3,0.1,1.5,0.7c-0.1,0.5-0.2,1.1-0.6,1.4c-0.5-0.2-0.9,0.3-1.3,0.3c-0.4,0-0.7-0.8-1.2-0.9c-1.4-0.3-4.1,1.1-4.6-0.7
+                                       c0.3,0,0.3,0.3,0.7,0.3c0.5-0.7,1.5-1.6,2.6-1.7c0.9-0.1,0-1.6-0.3-2C158.5,47.6,160,47.8,160,49z"/>
+                       </g>
+                       <g>
+                               <path class="hover-region st3" d="M69.5,6.2c-0.8,0.2-1.3,0.7-2.1,0.9c-1-0.7-4.3-0.2-3,1.1c-2,2-4.9,3.1-6.6,5.4c-0.2,0.2-0.2-0.4-0.5-0.3
+                                       c0.2,1.4-0.8,2.2-1.5,3.3c-0.4,0.6-1,2.4-1.5,2.3c-0.5-0.1-1.1-2.6-0.1-2.6C54,16,53.5,16.1,53.3,16c-0.3-1-1.7-1.2-2.8-1.2
+                                       c0,0.5,0.7,0.4,1.1,0.5c0.8,0.5,0.3,1.6,0.5,2.6c0.7,0.4,1.1,1,1.5,1.6c-0.1,1-0.5,2-0.8,3c-0.1,0.4,0.1,0.9,0,1.4
+                                       c-0.1,0.4-0.3,0.6-0.3,0.9c0,0.3,0.5,0.5,0.5,0.8c0,0.4-0.6,0.7-0.6,1c1.1,0.7,1.8-1.9,2.6-2.6c1.3-1.1,2.7-2.3,4.1-2.7
+                                       c-0.2,1.1-1.6,0.9-1.4,2.4c-0.2,0.4-0.9,0.5-0.7,1c0.2,0.3,0.6-0.1,0.8-0.2c0.4-0.8,0.5-1.4,1-1.9c0.8-0.6,1.9,0,2.6-0.7
+                                       c1.5,0.3,2.8,0.5,4.4,0.5c0.1,0.1,0.1,0.3,0.1,0.5c0.7-0.1,0.8,0.2,1.1,0.5c0.8-0.7,0.9-0.1,1.4,0.5c0.3,0.5,1.2,0.8,0.8,1.4
+                                       c0.4,0.2,0.6,0.5,1,0.7c0.4,0,0.1-0.6,0.3-0.8c1.5,0.4,1.6,2.2,2.2,3.6c0.2,0.2,0.6,0.2,0.8,0.3c0,1.3,1.3,1.4,1.3,2.6
+                                       c0.5,0.6,1.2,1.2,1.4,2c0.1,0.4,0,0.6,0.2,0.9c0.8,1.2,2.9,0.6,4.1,1.4c0.3-0.3,0.6-0.7,1.2-0.5c0.2,0.1,0,0.6,0.3,0.7
+                                       c0.6-1.3,3.2-2.6,3.9-0.7c-0.1,0.2-0.5,0.2-0.5,0.5c0.4,0.5,0.9,0.3,1.5,0.6c0.5,0.2,0.7,1,1.5,0.9c0.6-0.1,0.7-1,1.2-1.2
+                                       c0.8-0.3,1.2,0.6,1.7,1c0.3,0,0.4,0.1,0.7,0.1c0.3,0.1,0.3,0.6,0.6,0.6c0.7,0.1,1.2-1.4,1.6-2.1c0.2-0.4,1.2-0.9,1.7-1.3
+                                       c0.3-0.2,0.5-0.6,0.7-0.7c0.6-0.3,1.5-0.1,2.1-0.3c0.4-0.2,0.5-0.6,0.9-1c1-1.1,3.1-1.5,3.9-2.7c1.9,1.5,4.8-1.3,6.9-0.2
+                                       c1.5,0.1,3.2-0.3,4.1,0.4c0.7-0.4,1.9-0.1,2.7-0.2c0.1,0.5,0.4,0.9,0.2,1.5c0.3-0.3,1.4-0.2,2-0.3c0.7-0.4,0-1.9,0.9-2.2
+                                       c0.3,0,0.6,0,0.4-0.1c0.7-1.6,2.9-1.4,4.5-1.6c-0.6,0.5-0.4,1.6-0.8,2.2c0.6,0.4,1-0.2,1.1-0.6c0.6,0,1.1,0.1,1.2,0.7
+                                       c-0.6,0.2-1.4,0.8-0.8,1.6c0.4,0.1,0.9-0.2,1.4,0.1c0.4,0.8,0.6,2-0.2,2.5c-0.2,2.4,1.9,2.9,4.1,2.8c1.4,1.6,3.4-0.2,4.6-0.8
+                                       c0.2,0.2,0,0.4,0.1,0.7c0.1,0.3,1.5,1.5,1.6,1.6c0.7,0.2,1.1-0.6,1.9-0.7c1.1-0.1,0.9,0.2,1.4-0.8c0.4-0.9,1.6-1.6,2.9-1.3
+                                       c-0.4,1,1,1.3,1.1,2.5c0,0.1-0.1,0.5-0.1,0.7c0.1,0.3,0.5,0.5,0.7,0.8c0.4,0.7,0.4,1.8,0.3,2.6c0.3,0.3,0.8,0.4,0.7,1.1
+                                       c-0.5,0.7-1.5,0.8-1.7,1.7c0.4,0.4,0.8,0.9,1,1.5c0.4-0.6,1.4-0.7,2.2-0.9c0.4,0.8,1.3,1,2,1.5c-0.4,0.6-0.9,1.1,0,1.5
+                                       c0,0.4,0.1,0.7,0.2,1c0.5,0.2,1.2,0.3,1.3,0.9c0.6-0.3,1.2-0.1,1.6,0.3c0,0.3,0.1,0.6,0.1,0.8c-0.3,0.4-1.3,0.3-1.6,0
+                                       c0-0.4,0-0.8-0.2-1c-0.3,0-0.5,0.1-0.7,0.2c0,0.4,0.3,0.4,0.3,0.7c-2.2,0.3-5.1-0.8-7.8-0.6c-0.5,0-1,0.3-1.3,0.3
+                                       c-0.4-0.1-0.6-0.5-1.1-0.3c-0.2,0.1-0.3,0.4-0.5,0.4c-0.7,0.3-1-0.4-1.3-1c-1.2,0.1-1.6-0.8-2.7-0.7c-0.9,0.1-0.5,1.5-0.9,2.3
+                                       c-0.3,0.5-1.3,1-0.4,1.8c0,0.3-0.2,0.3-0.3,0.5c0.2,0.2,0.4,0.8,0.1,1c-1.6-0.2-2.8-0.7-3.4-1.9c-0.5-0.2-1.2-0.5-1.1-1.1
+                                       c0.2-0.2,0.7-0.1,1-0.2c0,0.3,0.4,1.2,0.9,0.7c0.1-0.3-0.4-0.5-0.6-0.7c0.2-0.5-0.1-0.8-0.4-1.1c-0.2-0.1-0.4,0.1-0.5,0.2
+                                       c-0.3-0.3-1.2-0.6-1.6-0.3c-0.3,0-0.2-0.3-0.4-0.4c-2.3-0.2-5.5-2.1-8-2.5c-0.9-0.1-1.9-0.3-2.8-0.1c-1.1,0.3-1.2,2-2.4,2.5
+                                       c0,2.9-4.8,0.9-6.4,2.1c-0.3,0.2-0.5,0.8-0.8,0.9c-1,0.2-2-1-2.9-1c-2.1-0.2-4.8,0.4-5.4,2c-0.3,0.6-0.1,1-0.4,1.8
+                                       c-0.3,0.6-1.9,2.2-2.7,2.6c-0.8,0.4-1.6,0.1-1.7,1.3c-1.4,0.3-1.3,2-2.1,2.9c-0.9-0.2-1.8-1.4-0.6-1.9c0.1-0.3-0.2-0.4-0.2-0.7
+                                       c1.2,0,0.7-2.6,2.2-1.7c0.2-0.9,0.7-1.9,1.1-2.8c-0.1-1.3-1.6-1.2-2.3-0.4c0,0.4-0.2,0.6-0.3,0.9c-0.4,0.1-1.1,0-1.6,0.1
+                                       c-0.3-0.1-0.3-0.6-0.6-0.8c-0.5,0-0.8,0.1-1,0.3c0.2,1.4-1.5,3.6-2.6,4.2c-0.3,0.2-1,0.2-1.4,0.2c-0.6-0.7,0.1-2.3-0.5-3.3
+                                       c0.1-1,1.8-1.8,0.8-2.8c-0.8,0.2-1.2,0.9-1.1,1.8c-0.3,0.7-1.5,1-1.4,2c0.1,1,0.8,2-0.4,2.6c-0.2,0.1-0.5,0.1-0.7,0.2
+                                       c-1.4,0.7-1.5,3-3,3.7c-1.5,6-5.5,9.6-8.1,14.4c-1.1-0.7-2.7-1.1-2.6-2.4c0-0.6,0.5-1.3,0.7-1.9c0.3-1,1.4-2.5,1.4-3.2
+                                       c0-0.3-0.6-1-0.9-1c-0.5,0-0.9,0.9-1.6,1c-0.8,0.2-2.3,0-2.5-0.7c-0.1-0.4,0.4-0.7,0.5-1.1c0.1-0.4-0.2-0.7-0.1-1
+                                       c0.1-0.7,1.3-1,1.5-1.7c0.2-0.9-0.3-1.4-0.5-2.2c2.1-0.4-0.1-2.3,0.1-3c0.1-0.6,1.3-0.7,0.3-1.6c-0.2-0.1-0.5-0.2-0.7-0.3
+                                       c-0.4-0.3-0.5-0.8-0.9-1c-0.9-0.4-2.1-0.2-2.3-1.3c-1.3,0.3-3,0.1-2.9-1.2c0-0.6,1.1-0.8,1.1-1.4c0-0.1-0.3-1.1-0.5-1.4
+                                       c-0.3-0.6-1.7-1-2.5-1.1c-0.4-0.1-0.7-0.5-1-0.5c-0.3,0-0.7,0.1-1,0.1c-0.5-0.1-0.8-0.8-1.3-0.9C54.3,50.8,54,51,53.7,51
+                                       c-1.6-0.2-2.3-1.4-4-0.9c-0.3,0.1-0.5,0.5-0.8,0.5c-0.7,0.1-1.3-1-2.3-1.1c-0.7-0.1-1.2,0-1.8-0.1c-2.3-0.9-4-2.9-6.4-3.8
+                                       c-1.7-0.7-3.9-0.8-5.3-1.9c-0.3,0.1-0.8,0.1-1-0.1C32,43.5,32,43.3,32,43.1c-1.5,0.5-4.3-0.7-5.8-1.2c-1.9-0.6-3.6-1-5.2-1.5
+                                       c-0.1-0.1-0.2-0.3-0.2-0.5c-1.6,0.5-3.2-0.6-4.7-1c-1-2.4-1.3-5.4-4.1-5.9c-0.2-0.2-0.1-0.6-0.3-0.8C8.9,32.7,10,31,12,30.8
+                                       c1.1-0.1,2.6-1,3.1-1.4c3.9-0.2,5.5-2.7,7.5-4.8c2.2-1.4,4.6,0.1,7-0.9c1.2,0.1,3.2,0,4-0.5c1.3-0.9,2.9-1.7,3.9-2.6
+                                       c0.2-2,3-1.2,4.7-1.6c0.8-0.2,1-1.2,1.3-2.1c1-1.4,2.4-2.3,4-3.1c0.2-1,1-1.7,2.1-1.6c0.4,0.8-0.4,2.3,0.7,2.6
+                                       c0.3-0.8-0.1-2.3,0.2-3.1c2.3-0.8,2.7-3.8,4.9-4.7c1.8-0.7,3.4-1.9,5.3-2.2c1.3,0.3,2.7-0.4,4.1-0.2c0.7,0.1,1.5,0.6,2.2,0.1
+                                       c0.8,0.1,1.6,0.1,2.1,0.6C69.1,5.7,69.5,5.8,69.5,6.2z"/>
+                       </g>
+               </g>
+       </g>
+</g>
+<g id="Mid" class="st1">
+       <g class="st2">
+               <path class="hover-region st3 mm-rect" d="M87.3,151.5c0.6,0.1,1.1-0.6,1.4-0.1c-1.9,1.3,0.1,4,0.7,5.6c0.6,0.2,1.5-0.5,1.7,0.1c-1.9,1-0.5,2.4,0.1,3.9
+                       c0.9,2.6,2,6.2,2.2,9c0.1,0.9,0,1.8,0,2.7h107.2c0-0.1,0-0.2,0-0.3c-0.1-0.9,0-1.3,0.1-2.1c0.1-0.7-0.2-1.5,0-2.3
+                       c0.2-1.1,1.4-2.2,1.4-3.2c0-0.8-0.6-2.4-1-3.1c-0.2-0.4-0.7-0.4-0.8-0.8c-0.1-0.4,0.1-0.8,0-1.2c-0.1-0.9-0.7-1.6-0.8-2.3
+                       c-0.3-1.6-0.6-3.3-0.8-5c-0.5-4.2-1.7-8.6-2-12.8c-0.2-3.6-0.9-7.5-2.8-10.1c-0.6-1.6-1.1-3.3-2.5-4.2c-0.1-0.1-0.5,0-0.7-0.1
+                       c-0.3-0.8-1-1.9-1.6-0.7c-0.1-1.1-1.8-0.6-2.1-1.6c-1.7-0.3-2.2,0.7-3.4,1c-0.2,2.4-3.4,1.7-4.7,3c-0.9-0.6-1.7,0.1-2.6,0.3
+                       c-0.2,1.2-0.8,1.9-1.7,2.3c-0.3,1.9-2,2.4-2.2,4.4c-1.1,0.2-0.9,1.7-2,2c0.3,1.7-1,2.4-2.3,2.4c-1.5,1.4-2.2,3.6-4.1,4.6
+                       c-0.7-1-1.7-2.3-3.6-1.7c-0.2-0.1-0.1-0.5-0.3-0.6c-0.4,0-0.5,0.2-0.9,0.1c-0.4-0.2-0.6-0.5-0.7-0.9c-0.8-0.3-1.5-0.6-1.8-1.2
+                       c-0.7-1.4-0.3-2.5,0-3.4c0.5-1.8,0.2-4,0.5-5.6h-71c0.3,1.3,0.5,2.7,0.5,4.2c0.1,0.3,0.5,0.3,0.5,0.7c-0.4,0.6-0.9,1.1-0.3,1.9
+                       c-1.1,1.5-2.6,3-3,4.7c-0.6,2.3,1.7,4.3,2.1,6.5C86.4,149.2,86.4,150.4,87.3,151.5z"/>
+       </g>
+</g>
+<g id="Western" class="st1">
+       <g class="st2">
+               <g>
+                       <path class="hover-region st3" d="M148.6,173.7h-55c0.1,0.3,0.1,0.6,0.3,0.9c0.4,0,0.8-0.1,1,0.1c0,0.7-0.8,0.5-1.1,0.8
+                               c0.5,2.1-0.5,3.7-0.6,5.2c0,1.1,0.7,2.3-0.3,3.2c0.3,1.9,0,4.4-1.1,5.3c0.6,0.8-0.1,1.3-0.2,2c-0.5,2.3-1.7,5.6-3.3,6.6
+                               c0.2,1.9-2.5,2.1-2.1,4.1c-1.1,2.2-1.8,4.7-2.8,7c-0.3,0.2-0.6,0.3-0.9,0.5c-0.7,2-2.9,2.5-4.1,4.1c18.5,0.6,38.7,0,57.4,0.7
+                               c0.4,0.6-0.1,1.7,0.4,2.2c4,0,8.3-0.1,12.5-0.2V173.7z"/>
+               </g>
+       </g>
+</g>
+<g id="Southeast" class="st1">
+       <g class="st2">
+               <path class="hover-region st3" d="M149.6,173.7v42.5c7.8-0.1,15.6-0.3,23-0.6c1-0.9,0.9-2.8,2-3.6c0-0.3-0.1-0.3-0.1-0.6
+                       c0.9-0.2,1.7-1.2,1.2-2.2c0.8-1.2,2.4-1.6,2.7-3.4c0.8-0.7,1.8-1.7,2-2.8c0.2-0.9-0.3-1.8-0.2-2.8c0.1-1.1,0.8-3.2,1.1-4.5
+                       c0.2-0.8,0.6-2.1,1-2.7c1.3-1.7,4.2-1.5,5.2-3.1c0.6-0.9,1.1-2.4,1.2-3.3c0.1-0.6-0.3-1.2-0.2-1.9c0.2-1.7,2.2-2.7,2.2-4.7
+                       c0-0.3-0.3-0.7-0.2-0.9c0.1-0.5,1-0.9,1.2-1c1.2-0.9,3.2-1.3,4.5-0.1c0.3,0.3,0.3,0.8,0.7,0.9c0.7,0.2,1.8-0.3,2.2-0.3
+                       c0.2-1.8,1.2-3.2,1.4-4.8H149.6z"/>
+       </g>
+</g>
+<g id="Text">
+       <g>
+               <path class="st4" d="M123.1,154.7c0-0.7-0.1-1.5-0.1-2h0c-0.2,0.5-0.4,1.1-0.6,1.8l-0.8,2.3h-0.5l-0.8-2.2
+                       c-0.2-0.7-0.4-1.3-0.5-1.8h0c0,0.6,0,1.4-0.1,2.1l-0.1,2H119l0.3-4.7h0.8l0.8,2.3c0.2,0.6,0.3,1.1,0.5,1.6h0
+                       c0.1-0.5,0.3-1,0.5-1.6l0.8-2.3h0.8l0.3,4.7h-0.6L123.1,154.7z"/>
+               <path class="st4" d="M125.5,152.4c0,0.2-0.1,0.4-0.4,0.4c-0.2,0-0.4-0.2-0.4-0.4s0.2-0.4,0.4-0.4
+                       C125.4,152,125.5,152.2,125.5,152.4z M124.8,156.8v-3.4h0.6v3.4H124.8z"/>
+               <path class="st4" d="M129.4,151.8v4.1c0,0.3,0,0.6,0,0.9h-0.5l0-0.6h0c-0.2,0.4-0.6,0.7-1.1,0.7c-0.8,0-1.5-0.7-1.5-1.7
+                       c0-1.1,0.7-1.8,1.5-1.8c0.5,0,0.9,0.2,1,0.5h0v-2H129.4z M128.8,154.8c0-0.1,0-0.2,0-0.3c-0.1-0.4-0.4-0.7-0.9-0.7
+                       c-0.6,0-1,0.6-1,1.3c0,0.7,0.3,1.3,1,1.3c0.4,0,0.8-0.3,0.9-0.7c0-0.1,0-0.2,0-0.3V154.8z"/>
+               <path class="st4" d="M131.8,154.6v0.4h-1.7v-0.4H131.8z"/>
+               <path class="st4" d="M136.6,154.7c0-0.7-0.1-1.5-0.1-2h0c-0.2,0.5-0.4,1.1-0.6,1.8l-0.8,2.3h-0.5l-0.8-2.2
+                       c-0.2-0.7-0.4-1.3-0.5-1.8h0c0,0.6,0,1.4-0.1,2.1l-0.1,2h-0.6l0.3-4.7h0.8l0.8,2.3c0.2,0.6,0.3,1.1,0.5,1.6h0
+                       c0.1-0.5,0.3-1,0.5-1.6l0.8-2.3h0.8l0.3,4.7h-0.6L136.6,154.7z"/>
+               <path class="st4" d="M139,152.4c0,0.2-0.1,0.4-0.4,0.4c-0.2,0-0.4-0.2-0.4-0.4s0.2-0.4,0.4-0.4C138.8,152,139,152.2,139,152.4z
+                        M138.3,156.8v-3.4h0.6v3.4H138.3z"/>
+               <path class="st4" d="M142.3,156.6c-0.2,0.1-0.5,0.2-1,0.2c-1,0-1.7-0.7-1.7-1.7c0-1,0.7-1.8,1.8-1.8c0.4,0,0.7,0.1,0.9,0.2
+                       l-0.1,0.5c-0.1-0.1-0.4-0.2-0.7-0.2c-0.8,0-1.2,0.6-1.2,1.3c0,0.8,0.5,1.3,1.2,1.3c0.3,0,0.6-0.1,0.8-0.2L142.3,156.6z"/>
+               <path class="st4" d="M143.1,151.8h0.6v2.1h0c0.1-0.2,0.3-0.3,0.4-0.4c0.2-0.1,0.4-0.2,0.6-0.2c0.5,0,1.2,0.3,1.2,1.4v2h-0.6v-1.9
+                       c0-0.5-0.2-1-0.8-1c-0.4,0-0.7,0.3-0.8,0.6c0,0.1,0,0.2,0,0.3v2h-0.6V151.8z"/>
+               <path class="st4" d="M147.6,152.4c0,0.2-0.1,0.4-0.4,0.4c-0.2,0-0.4-0.2-0.4-0.4s0.2-0.4,0.4-0.4
+                       C147.5,152,147.6,152.2,147.6,152.4z M146.9,156.8v-3.4h0.6v3.4H146.9z"/>
+               <path class="st4" d="M151.5,156.3c0,0.8-0.2,1.3-0.5,1.6c-0.3,0.3-0.8,0.4-1.2,0.4c-0.4,0-0.9-0.1-1.1-0.3l0.2-0.5
+                       c0.2,0.1,0.6,0.3,1,0.3c0.6,0,1.1-0.3,1.1-1.2v-0.4h0c-0.2,0.3-0.6,0.6-1.1,0.6c-0.8,0-1.4-0.7-1.4-1.7c0-1.1,0.7-1.8,1.5-1.8
+                       c0.6,0,0.9,0.3,1.1,0.6h0l0-0.5h0.5c0,0.2,0,0.5,0,0.9V156.3z M150.9,154.7c0-0.1,0-0.2,0-0.3c-0.1-0.4-0.4-0.7-0.9-0.7
+                       c-0.6,0-1,0.5-1,1.3c0,0.7,0.3,1.2,1,1.2c0.4,0,0.7-0.2,0.9-0.6c0-0.1,0-0.2,0-0.3V154.7z"/>
+               <path class="st4" d="M154.9,156c0,0.3,0,0.6,0,0.8h-0.6l0-0.4h0c-0.2,0.3-0.6,0.5-1,0.5c-0.7,0-1-0.5-1-1c0-0.8,0.7-1.3,2-1.3
+                       v-0.1c0-0.3-0.1-0.8-0.8-0.8c-0.3,0-0.7,0.1-0.9,0.3l-0.1-0.4c0.3-0.2,0.7-0.3,1.1-0.3c1,0,1.3,0.7,1.3,1.4V156z M154.3,155
+                       c-0.7,0-1.4,0.1-1.4,0.8c0,0.4,0.3,0.6,0.6,0.6c0.4,0,0.7-0.3,0.8-0.6c0-0.1,0-0.1,0-0.2V155z"/>
+               <path class="st4" d="M155.9,154.3c0-0.4,0-0.6,0-0.9h0.5l0,0.6h0c0.2-0.3,0.6-0.6,1.1-0.6c0.5,0,1.2,0.3,1.2,1.4v2h-0.6v-2
+                       c0-0.5-0.2-1-0.8-1c-0.4,0-0.7,0.3-0.8,0.6c0,0.1,0,0.2,0,0.3v2h-0.6V154.3z"/>
+       </g>
+       <g>
+               <path class="st4" d="M105,111.6v-4.7h0.7l1.5,2.4c0.3,0.6,0.6,1.1,0.8,1.5l0,0c-0.1-0.6-0.1-1.2-0.1-1.9v-2h0.6v4.7h-0.6l-1.5-2.4
+                       c-0.3-0.5-0.6-1.1-0.9-1.6l0,0c0,0.6,0,1.2,0,1.9v2H105z"/>
+               <path class="st4" d="M112.7,109.9c0,1.3-0.9,1.8-1.7,1.8c-0.9,0-1.6-0.7-1.6-1.7c0-1.1,0.7-1.8,1.7-1.8
+                       C112,108.1,112.7,108.8,112.7,109.9z M110,109.9c0,0.7,0.4,1.3,1,1.3c0.6,0,1-0.6,1-1.3c0-0.6-0.3-1.3-1-1.3
+                       C110.3,108.6,110,109.3,110,109.9z"/>
+               <path class="st4" d="M113.4,109.3c0-0.4,0-0.7,0-1.1h0.5l0,0.7h0c0.2-0.5,0.5-0.7,0.9-0.7c0.1,0,0.1,0,0.2,0v0.6
+                       c-0.1,0-0.1,0-0.2,0c-0.4,0-0.7,0.3-0.8,0.8c0,0.1,0,0.2,0,0.3v1.8h-0.6V109.3z"/>
+               <path class="st4" d="M116.6,107.4v0.8h0.9v0.5h-0.9v1.8c0,0.4,0.1,0.7,0.5,0.7c0.2,0,0.3,0,0.4,0l0,0.5c-0.1,0-0.3,0.1-0.5,0.1
+                       c-0.3,0-0.5-0.1-0.7-0.3c-0.2-0.2-0.2-0.5-0.2-0.9v-1.8h-0.5v-0.5h0.5v-0.6L116.6,107.4z"/>
+               <path class="st4" d="M118.2,106.6h0.6v2.1h0c0.1-0.2,0.3-0.3,0.4-0.4c0.2-0.1,0.4-0.2,0.6-0.2c0.5,0,1.2,0.3,1.2,1.4v2h-0.6v-1.9
+                       c0-0.5-0.2-1-0.8-1c-0.4,0-0.7,0.3-0.8,0.6c0,0.1,0,0.2,0,0.3v2h-0.6V106.6z"/>
+               <path class="st4" d="M122.4,110c0,0.8,0.5,1.2,1.2,1.2c0.4,0,0.7-0.1,0.9-0.2l0.1,0.4c-0.2,0.1-0.6,0.2-1.1,0.2
+                       c-1,0-1.7-0.7-1.7-1.7c0-1,0.6-1.8,1.6-1.8c1.1,0,1.4,1,1.4,1.6c0,0.1,0,0.2,0,0.3H122.4z M124.3,109.6c0-0.4-0.2-1-0.9-1
+                       c-0.6,0-0.9,0.6-0.9,1H124.3z"/>
+               <path class="st4" d="M125.6,109.3c0-0.4,0-0.7,0-1.1h0.5l0,0.7h0c0.2-0.5,0.5-0.7,0.9-0.7c0.1,0,0.1,0,0.2,0v0.6
+                       c-0.1,0-0.1,0-0.2,0c-0.4,0-0.7,0.3-0.8,0.8c0,0.1,0,0.2,0,0.3v1.8h-0.6V109.3z"/>
+               <path class="st4" d="M127.9,109.1c0-0.4,0-0.6,0-0.9h0.5l0,0.6h0c0.2-0.3,0.6-0.6,1.1-0.6c0.5,0,1.2,0.3,1.2,1.4v2h-0.6v-2
+                       c0-0.5-0.2-1-0.8-1c-0.4,0-0.7,0.3-0.8,0.6c0,0.1,0,0.2,0,0.3v2h-0.6V109.1z"/>
+               <path class="st4" d="M137.3,109.5c0-0.7-0.1-1.5-0.1-2h0c-0.2,0.5-0.4,1.1-0.6,1.8l-0.8,2.3h-0.5l-0.8-2.2
+                       c-0.2-0.7-0.4-1.3-0.5-1.8h0c0,0.6,0,1.4-0.1,2.1l-0.1,2h-0.6l0.3-4.7h0.8l0.8,2.3c0.2,0.6,0.3,1.1,0.5,1.6h0
+                       c0.1-0.5,0.3-1,0.5-1.6l0.8-2.3h0.8l0.3,4.7h-0.6L137.3,109.5z"/>
+               <path class="st4" d="M139.7,107.2c0,0.2-0.1,0.4-0.4,0.4c-0.2,0-0.4-0.2-0.4-0.4s0.2-0.4,0.4-0.4
+                       C139.5,106.9,139.7,107,139.7,107.2z M139,111.6v-3.4h0.6v3.4H139z"/>
+               <path class="st4" d="M143.1,111.5c-0.2,0.1-0.5,0.2-1,0.2c-1,0-1.7-0.7-1.7-1.7c0-1,0.7-1.8,1.8-1.8c0.4,0,0.7,0.1,0.9,0.2
+                       l-0.1,0.5c-0.1-0.1-0.4-0.2-0.7-0.2c-0.8,0-1.2,0.6-1.2,1.3c0,0.8,0.5,1.3,1.2,1.3c0.3,0,0.6-0.1,0.8-0.2L143.1,111.5z"/>
+               <path class="st4" d="M143.8,106.6h0.6v2.1h0c0.1-0.2,0.3-0.3,0.4-0.4c0.2-0.1,0.4-0.2,0.6-0.2c0.5,0,1.2,0.3,1.2,1.4v2h-0.6v-1.9
+                       c0-0.5-0.2-1-0.8-1c-0.4,0-0.7,0.3-0.8,0.6c0,0.1,0,0.2,0,0.3v2h-0.6V106.6z"/>
+               <path class="st4" d="M148.4,107.2c0,0.2-0.1,0.4-0.4,0.4c-0.2,0-0.4-0.2-0.4-0.4s0.2-0.4,0.4-0.4
+                       C148.2,106.9,148.4,107,148.4,107.2z M147.7,111.6v-3.4h0.6v3.4H147.7z"/>
+               <path class="st4" d="M152.2,111.1c0,0.8-0.2,1.3-0.5,1.6c-0.3,0.3-0.8,0.4-1.2,0.4c-0.4,0-0.9-0.1-1.1-0.3l0.2-0.5
+                       c0.2,0.1,0.6,0.3,1,0.3c0.6,0,1.1-0.3,1.1-1.2V111h0c-0.2,0.3-0.6,0.6-1.1,0.6c-0.8,0-1.4-0.7-1.4-1.7c0-1.1,0.7-1.8,1.5-1.8
+                       c0.6,0,0.9,0.3,1.1,0.6h0l0-0.5h0.5c0,0.2,0,0.5,0,0.9V111.1z M151.6,109.5c0-0.1,0-0.2,0-0.3c-0.1-0.4-0.4-0.7-0.9-0.7
+                       c-0.6,0-1,0.5-1,1.3c0,0.7,0.3,1.2,1,1.2c0.4,0,0.7-0.2,0.9-0.6c0-0.1,0-0.2,0-0.3V109.5z"/>
+               <path class="st4" d="M155.6,110.8c0,0.3,0,0.6,0,0.8h-0.6l0-0.4h0c-0.2,0.3-0.6,0.5-1,0.5c-0.7,0-1-0.5-1-1c0-0.8,0.7-1.3,2-1.3
+                       v-0.1c0-0.3-0.1-0.8-0.8-0.8c-0.3,0-0.7,0.1-0.9,0.3l-0.1-0.4c0.3-0.2,0.7-0.3,1.1-0.3c1,0,1.3,0.7,1.3,1.4V110.8z M155,109.9
+                       c-0.7,0-1.4,0.1-1.4,0.8c0,0.4,0.3,0.6,0.6,0.6c0.4,0,0.7-0.3,0.8-0.6c0-0.1,0-0.1,0-0.2V109.9z"/>
+               <path class="st4" d="M156.6,109.1c0-0.4,0-0.6,0-0.9h0.5l0,0.6h0c0.2-0.3,0.6-0.6,1.1-0.6c0.5,0,1.2,0.3,1.2,1.4v2h-0.6v-2
+                       c0-0.5-0.2-1-0.8-1c-0.4,0-0.7,0.3-0.8,0.6c0,0.1,0,0.2,0,0.3v2h-0.6V109.1z"/>
+       </g>
+       <g>
+               <path class="st4" d="M84.8,43.1v2.8c0,1.1,0.5,1.5,1.1,1.5c0.7,0,1.1-0.5,1.1-1.5v-2.8h0.6v2.8c0,1.4-0.8,2-1.8,2
+                       c-1,0-1.7-0.5-1.7-2v-2.8H84.8z"/>
+               <path class="st4" d="M88.3,47.5c0-0.3,0.2-0.4,0.4-0.4s0.4,0.2,0.4,0.4c0,0.3-0.2,0.4-0.4,0.4C88.5,47.9,88.3,47.8,88.3,47.5z"/>
+               <path class="st4" d="M90,43.2c0.3,0,0.7-0.1,1.2-0.1c0.6,0,1,0.1,1.3,0.4c0.3,0.2,0.4,0.6,0.4,1c0,0.4-0.1,0.8-0.4,1
+                       c-0.3,0.3-0.8,0.5-1.4,0.5c-0.2,0-0.4,0-0.5,0v1.9H90V43.2z M90.6,45.5c0.1,0,0.3,0,0.5,0c0.7,0,1.2-0.4,1.2-1
+                       c0-0.6-0.4-0.9-1.1-0.9c-0.3,0-0.5,0-0.6,0V45.5z"/>
+               <path class="st4" d="M92.5,47.5c0-0.3,0.2-0.4,0.4-0.4s0.4,0.2,0.4,0.4c0,0.3-0.2,0.4-0.4,0.4C92.7,47.9,92.5,47.8,92.5,47.5z"/>
+       </g>
+       <g>
+               <path class="st4" d="M152.5,190.4c0.3,0.2,0.6,0.3,1,0.3c0.6,0,0.9-0.3,0.9-0.8c0-0.4-0.2-0.7-0.8-0.9c-0.7-0.3-1.2-0.7-1.2-1.3
+                       c0-0.7,0.6-1.3,1.4-1.3c0.4,0,0.8,0.1,1,0.2l-0.2,0.5c-0.1-0.1-0.4-0.2-0.8-0.2c-0.6,0-0.8,0.4-0.8,0.7c0,0.4,0.3,0.7,0.9,0.9
+                       c0.8,0.3,1.1,0.7,1.1,1.4c0,0.7-0.5,1.4-1.6,1.4c-0.4,0-0.9-0.1-1.1-0.3L152.5,190.4z"/>
+               <path class="st4" d="M158.7,189.4c0,1.3-0.8,1.8-1.6,1.8c-0.9,0-1.5-0.7-1.5-1.7c0-1.1,0.7-1.8,1.6-1.8
+                       C158.1,187.6,158.7,188.4,158.7,189.4z M156.2,189.4c0,0.7,0.4,1.3,1,1.3c0.6,0,1-0.6,1-1.3c0-0.6-0.3-1.3-1-1.3
+                       C156.5,188.1,156.2,188.8,156.2,189.4z"/>
+               <path class="st4" d="M162.1,190.2c0,0.4,0,0.7,0,0.9h-0.5l0-0.6h0c-0.1,0.3-0.5,0.6-1.1,0.6c-0.5,0-1.1-0.3-1.1-1.5v-2h0.6v1.9
+                       c0,0.6,0.2,1.1,0.7,1.1c0.4,0,0.7-0.3,0.8-0.6c0-0.1,0.1-0.2,0.1-0.3v-2.1h0.6V190.2z"/>
+               <path class="st4" d="M163.8,186.9v0.8h0.8v0.5h-0.8v1.8c0,0.4,0.1,0.7,0.4,0.7c0.2,0,0.3,0,0.3,0l0,0.5c-0.1,0-0.3,0.1-0.5,0.1
+                       c-0.3,0-0.5-0.1-0.6-0.3c-0.2-0.2-0.2-0.5-0.2-0.9v-1.8h-0.5v-0.5h0.5v-0.6L163.8,186.9z"/>
+               <path class="st4" d="M165.3,186.1h0.6v2.1h0c0.1-0.2,0.2-0.3,0.4-0.4c0.2-0.1,0.4-0.2,0.6-0.2c0.4,0,1.1,0.3,1.1,1.4v2h-0.6v-1.9
+                       c0-0.5-0.2-1-0.7-1c-0.4,0-0.7,0.3-0.8,0.6c0,0.1,0,0.2,0,0.3v2h-0.6V186.1z"/>
+               <path class="st4" d="M169.3,189.5c0,0.8,0.5,1.2,1.1,1.2c0.4,0,0.7-0.1,0.9-0.2l0.1,0.4c-0.2,0.1-0.6,0.2-1.1,0.2
+                       c-1,0-1.6-0.7-1.6-1.7c0-1,0.6-1.8,1.5-1.8c1.1,0,1.3,1,1.3,1.6c0,0.1,0,0.2,0,0.3H169.3z M171,189.1c0-0.4-0.2-1-0.8-1
+                       c-0.6,0-0.8,0.6-0.9,1H171z"/>
+               <path class="st4" d="M174.5,190.3c0,0.3,0,0.6,0,0.8H174l0-0.4h0c-0.2,0.3-0.5,0.5-1,0.5c-0.6,0-1-0.5-1-1c0-0.8,0.7-1.3,1.9-1.3
+                       v-0.1c0-0.3-0.1-0.8-0.7-0.8c-0.3,0-0.6,0.1-0.8,0.3l-0.1-0.4c0.3-0.2,0.7-0.3,1.1-0.3c1,0,1.2,0.7,1.2,1.4V190.3z M173.9,189.4
+                       c-0.6,0-1.4,0.1-1.4,0.8c0,0.4,0.3,0.6,0.5,0.6c0.4,0,0.7-0.3,0.8-0.6c0-0.1,0-0.1,0-0.2V189.4z"/>
+               <path class="st4" d="M175.4,190.5c0.2,0.1,0.5,0.2,0.8,0.2c0.4,0,0.6-0.2,0.6-0.5c0-0.3-0.2-0.4-0.6-0.6c-0.6-0.2-0.9-0.6-0.9-1
+                       c0-0.5,0.4-1,1.1-1c0.3,0,0.6,0.1,0.8,0.2l-0.1,0.4c-0.1-0.1-0.4-0.2-0.7-0.2c-0.3,0-0.5,0.2-0.5,0.5c0,0.3,0.2,0.4,0.6,0.6
+                       c0.5,0.2,0.8,0.5,0.8,1c0,0.6-0.4,1-1.2,1c-0.4,0-0.7-0.1-0.9-0.2L175.4,190.5z"/>
+               <path class="st4" d="M178.8,186.9v0.8h0.8v0.5h-0.8v1.8c0,0.4,0.1,0.7,0.4,0.7c0.2,0,0.3,0,0.3,0l0,0.5c-0.1,0-0.3,0.1-0.5,0.1
+                       c-0.3,0-0.5-0.1-0.6-0.3c-0.2-0.2-0.2-0.5-0.2-0.9v-1.8h-0.5v-0.5h0.5v-0.6L178.8,186.9z"/>
+               <path class="st4" d="M156.3,197.4c0-0.7-0.1-1.5-0.1-2h0c-0.2,0.5-0.3,1.1-0.6,1.8l-0.8,2.3h-0.4l-0.7-2.2
+                       c-0.2-0.7-0.4-1.3-0.5-1.8h0c0,0.6,0,1.4-0.1,2.1l-0.1,2h-0.5l0.3-4.7h0.7l0.8,2.3c0.2,0.6,0.3,1.1,0.4,1.6h0
+                       c0.1-0.5,0.3-1,0.5-1.6l0.8-2.3h0.7l0.3,4.7h-0.6L156.3,197.4z"/>
+               <path class="st4" d="M158.6,195.2c0,0.2-0.1,0.4-0.4,0.4c-0.2,0-0.4-0.2-0.4-0.4s0.1-0.4,0.4-0.4
+                       C158.4,194.8,158.6,194.9,158.6,195.2z M157.9,199.5v-3.4h0.6v3.4H157.9z"/>
+               <path class="st4" d="M161.7,199.4c-0.2,0.1-0.5,0.2-0.9,0.2c-1,0-1.6-0.7-1.6-1.7c0-1,0.7-1.8,1.7-1.8c0.3,0,0.6,0.1,0.8,0.2
+                       l-0.1,0.5c-0.1-0.1-0.4-0.2-0.7-0.2c-0.7,0-1.1,0.6-1.1,1.3c0,0.8,0.5,1.3,1.1,1.3c0.3,0,0.5-0.1,0.7-0.2L161.7,199.4z"/>
+               <path class="st4" d="M162.4,194.5h0.6v2.1h0c0.1-0.2,0.2-0.3,0.4-0.4c0.2-0.1,0.4-0.2,0.6-0.2c0.4,0,1.1,0.3,1.1,1.4v2h-0.6v-1.9
+                       c0-0.5-0.2-1-0.7-1c-0.4,0-0.7,0.3-0.8,0.6c0,0.1,0,0.2,0,0.3v2h-0.6V194.5z"/>
+               <path class="st4" d="M166.7,195.2c0,0.2-0.1,0.4-0.4,0.4c-0.2,0-0.4-0.2-0.4-0.4s0.1-0.4,0.4-0.4
+                       C166.6,194.8,166.7,194.9,166.7,195.2z M166.1,199.5v-3.4h0.6v3.4H166.1z"/>
+               <path class="st4" d="M170.4,199c0,0.8-0.2,1.3-0.5,1.6c-0.3,0.3-0.8,0.4-1.2,0.4c-0.4,0-0.8-0.1-1.1-0.3l0.1-0.5
+                       c0.2,0.1,0.5,0.3,0.9,0.3c0.6,0,1-0.3,1-1.2v-0.4h0c-0.2,0.3-0.5,0.6-1,0.6c-0.8,0-1.4-0.7-1.4-1.7c0-1.1,0.7-1.8,1.4-1.8
+                       c0.6,0,0.9,0.3,1,0.6h0l0-0.5h0.5c0,0.2,0,0.5,0,0.9V199z M169.8,197.5c0-0.1,0-0.2,0-0.3c-0.1-0.4-0.4-0.7-0.8-0.7
+                       c-0.6,0-1,0.5-1,1.3c0,0.7,0.3,1.2,0.9,1.2c0.4,0,0.7-0.2,0.8-0.6c0-0.1,0-0.2,0-0.3V197.5z"/>
+               <path class="st4" d="M173.6,198.7c0,0.3,0,0.6,0,0.8h-0.5l0-0.4h0c-0.2,0.3-0.5,0.5-1,0.5c-0.6,0-1-0.5-1-1c0-0.8,0.7-1.3,1.9-1.3
+                       v-0.1c0-0.3-0.1-0.8-0.7-0.8c-0.3,0-0.6,0.1-0.8,0.3l-0.1-0.4c0.3-0.2,0.7-0.3,1.1-0.3c1,0,1.2,0.7,1.2,1.4V198.7z M173,197.8
+                       c-0.6,0-1.4,0.1-1.4,0.8c0,0.4,0.3,0.6,0.5,0.6c0.4,0,0.7-0.3,0.8-0.6c0-0.1,0-0.1,0-0.2V197.8z"/>
+               <path class="st4" d="M174.5,197c0-0.4,0-0.6,0-0.9h0.5l0,0.6h0c0.2-0.3,0.5-0.6,1.1-0.6c0.4,0,1.1,0.3,1.1,1.4v2h-0.6v-2
+                       c0-0.5-0.2-1-0.7-1c-0.4,0-0.7,0.3-0.8,0.6c0,0.1,0,0.2,0,0.3v2h-0.6V197z"/>
+       </g>
+       <g>
+               <path class="st4" d="M101.1,195.3l-1.2-4.7h0.6l0.6,2.4c0.1,0.6,0.3,1.2,0.4,1.6h0c0.1-0.5,0.2-1,0.4-1.6l0.6-2.4h0.6l0.6,2.4
+                       c0.1,0.6,0.3,1.1,0.3,1.6h0c0.1-0.5,0.2-1,0.4-1.6l0.6-2.4h0.6l-1.3,4.7h-0.6l-0.6-2.5c-0.1-0.6-0.2-1.1-0.3-1.5h0
+                       c-0.1,0.5-0.2,0.9-0.4,1.5l-0.7,2.5H101.1z"/>
+               <path class="st4" d="M106.3,193.7c0,0.8,0.5,1.2,1.2,1.2c0.4,0,0.7-0.1,0.9-0.2l0.1,0.4c-0.2,0.1-0.6,0.2-1.1,0.2
+                       c-1,0-1.7-0.7-1.7-1.7c0-1,0.6-1.8,1.6-1.8c1.1,0,1.4,1,1.4,1.6c0,0.1,0,0.2,0,0.3H106.3z M108.1,193.3c0-0.4-0.2-1-0.9-1
+                       c-0.6,0-0.9,0.6-0.9,1H108.1z"/>
+               <path class="st4" d="M109.4,194.7c0.2,0.1,0.5,0.2,0.8,0.2c0.4,0,0.7-0.2,0.7-0.5c0-0.3-0.2-0.4-0.6-0.6c-0.6-0.2-0.9-0.6-0.9-1
+                       c0-0.5,0.4-1,1.2-1c0.3,0,0.6,0.1,0.8,0.2l-0.1,0.4c-0.1-0.1-0.4-0.2-0.7-0.2c-0.4,0-0.6,0.2-0.6,0.5c0,0.3,0.2,0.4,0.6,0.6
+                       c0.6,0.2,0.9,0.5,0.9,1c0,0.6-0.5,1-1.3,1c-0.4,0-0.7-0.1-1-0.2L109.4,194.7z"/>
+               <path class="st4" d="M113,191.1v0.8h0.9v0.5H113v1.8c0,0.4,0.1,0.7,0.5,0.7c0.2,0,0.3,0,0.4,0l0,0.5c-0.1,0-0.3,0.1-0.5,0.1
+                       c-0.3,0-0.5-0.1-0.7-0.3c-0.2-0.2-0.2-0.5-0.2-0.9v-1.8h-0.5v-0.5h0.5v-0.6L113,191.1z"/>
+               <path class="st4" d="M120.1,193.2c0-0.7-0.1-1.5-0.1-2h0c-0.2,0.5-0.4,1.1-0.6,1.8l-0.8,2.3h-0.5l-0.8-2.2
+                       c-0.2-0.7-0.4-1.3-0.5-1.8h0c0,0.6,0,1.4-0.1,2.1l-0.1,2H116l0.3-4.7h0.8l0.8,2.3c0.2,0.6,0.3,1.1,0.5,1.6h0
+                       c0.1-0.5,0.3-1,0.5-1.6l0.8-2.3h0.8l0.3,4.7h-0.6L120.1,193.2z"/>
+               <path class="st4" d="M122.5,191c0,0.2-0.1,0.4-0.4,0.4c-0.2,0-0.4-0.2-0.4-0.4s0.2-0.4,0.4-0.4C122.3,190.6,122.5,190.8,122.5,191
+                       z M121.8,195.3v-3.4h0.6v3.4H121.8z"/>
+               <path class="st4" d="M125.8,195.2c-0.2,0.1-0.5,0.2-1,0.2c-1,0-1.7-0.7-1.7-1.7c0-1,0.7-1.8,1.8-1.8c0.4,0,0.7,0.1,0.9,0.2
+                       l-0.1,0.5c-0.1-0.1-0.4-0.2-0.7-0.2c-0.8,0-1.2,0.6-1.2,1.3c0,0.8,0.5,1.3,1.2,1.3c0.3,0,0.6-0.1,0.8-0.2L125.8,195.2z"/>
+               <path class="st4" d="M126.6,190.3h0.6v2.1h0c0.1-0.2,0.3-0.3,0.4-0.4c0.2-0.1,0.4-0.2,0.6-0.2c0.5,0,1.2,0.3,1.2,1.4v2h-0.6v-1.9
+                       c0-0.5-0.2-1-0.8-1c-0.4,0-0.7,0.3-0.8,0.6c0,0.1,0,0.2,0,0.3v2h-0.6V190.3z"/>
+               <path class="st4" d="M131.1,191c0,0.2-0.1,0.4-0.4,0.4c-0.2,0-0.4-0.2-0.4-0.4s0.2-0.4,0.4-0.4C131,190.6,131.1,190.8,131.1,191z
+                        M130.4,195.3v-3.4h0.6v3.4H130.4z"/>
+               <path class="st4" d="M135,194.8c0,0.8-0.2,1.3-0.5,1.6c-0.3,0.3-0.8,0.4-1.2,0.4c-0.4,0-0.9-0.1-1.1-0.3l0.2-0.5
+                       c0.2,0.1,0.6,0.3,1,0.3c0.6,0,1.1-0.3,1.1-1.2v-0.4h0c-0.2,0.3-0.6,0.6-1.1,0.6c-0.8,0-1.4-0.7-1.4-1.7c0-1.1,0.7-1.8,1.5-1.8
+                       c0.6,0,0.9,0.3,1.1,0.6h0l0-0.5h0.5c0,0.2,0,0.5,0,0.9V194.8z M134.4,193.3c0-0.1,0-0.2,0-0.3c-0.1-0.4-0.4-0.7-0.9-0.7
+                       c-0.6,0-1,0.5-1,1.3c0,0.7,0.3,1.2,1,1.2c0.4,0,0.7-0.2,0.9-0.6c0-0.1,0-0.2,0-0.3V193.3z"/>
+               <path class="st4" d="M138.4,194.5c0,0.3,0,0.6,0,0.8h-0.6l0-0.4h0c-0.2,0.3-0.6,0.5-1,0.5c-0.7,0-1-0.5-1-1c0-0.8,0.7-1.3,2-1.3
+                       v-0.1c0-0.3-0.1-0.8-0.8-0.8c-0.3,0-0.7,0.1-0.9,0.3l-0.1-0.4c0.3-0.2,0.7-0.3,1.1-0.3c1,0,1.3,0.7,1.3,1.4V194.5z M137.8,193.6
+                       c-0.7,0-1.4,0.1-1.4,0.8c0,0.4,0.3,0.6,0.6,0.6c0.4,0,0.7-0.3,0.8-0.6c0-0.1,0-0.1,0-0.2V193.6z"/>
+               <path class="st4" d="M139.4,192.8c0-0.4,0-0.6,0-0.9h0.5l0,0.6h0c0.2-0.3,0.6-0.6,1.1-0.6c0.5,0,1.2,0.3,1.2,1.4v2h-0.6v-2
+                       c0-0.5-0.2-1-0.8-1c-0.4,0-0.7,0.3-0.8,0.6c0,0.1,0,0.2,0,0.3v2h-0.6V192.8z"/>
+       </g>
+       <rect id="up-rect" x="82.8" y="42" class="text-rect st5" width="11.8" height="7.5"/>
+       <rect id="nm-rect" x="103" y="105.6" class="text-rect st5" width="57.8" height="7.5"/>
+       <rect id="mm-rect" x="116.8" y="150.7" class="text-rect st5" width="43.5" height="7.5"/>
+       <rect id="wm-rect" x="98.6" y="189.1" class="text-rect st5" width="45.2" height="7.5"/>
+       <rect id="sm-rect" x="151.2" y="185.2" class="text-rect st5" width="30.6" height="16.6"/>
+</g>
+</svg>
\ No newline at end of file
diff --git a/parts/search-form.php b/parts/search-form.php
new file mode 100644 (file)
index 0000000..a8b83f3
--- /dev/null
@@ -0,0 +1,4 @@
+<form role="search" method="get" class="searchform" action="<?php echo home_url('/').'site-search/'; ?>">
+     <input class="search-input" type="text" placeholder="Search" value="" name="query">
+     <input class="search-button button" type="submit" value="Search" name="submit">
+</form>
\ No newline at end of file
diff --git a/parts/share-this.php b/parts/share-this.php
new file mode 100644 (file)
index 0000000..539c297
--- /dev/null
@@ -0,0 +1,12 @@
+ <?php if (!is_post_type("ai1ec_event")) { ?>
+    <div class="addthis_wrapper">
+        <!-- AddThis Button BEGIN -->
+        <div class="addthis_toolbox addthis_default_style ">
+            <a class="addthis_counter addthis_pill_style"></a>
+        </div>
+        <script type="text/javascript">var addthis_config = {"data_track_addressbar":false};</script>
+        <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5135fe4558d287a9"></script>
+        <!--                                        <script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js"></script>-->
+        <!-- AddThis Button END -->
+    </div><!--/#addthis_wrapper-->
+<?php } ?>
\ No newline at end of file
diff --git a/parts/slide-show.php b/parts/slide-show.php
new file mode 100644 (file)
index 0000000..46b44a6
--- /dev/null
@@ -0,0 +1,10 @@
+<?php if (is_page( HOMEPAGE_ID )) : ?>
+       <div id="slideshow">
+            <ul>
+            <?php if ( is_active_sidebar( 'slideshow' ) ) : ?>
+                <?php dynamic_sidebar( 'slideshow' ); ?>
+            <?php endif; ?>
+            </ul>
+       </div>
+    <div id="slide-border"></div>
+<?php endif; ?>
diff --git a/parts/video.php b/parts/video.php
new file mode 100644 (file)
index 0000000..11355e0
--- /dev/null
@@ -0,0 +1,16 @@
+<?php if (is_front_page()) : ?>
+       <div id="front-page-video-container">
+    <video id="front-page-video" playsinline autoplay loop controls muted>
+        <source src="<?php bloginfo('template_url'); ?>/assets/videos/header-video.m4v" type="video/mp4">
+    </video>
+    
+        <!-- <div class="show-for-medium-down">
+            <video id="front-page-video-mobile" autoplay="" loop="" muted="" controls="true">
+                <source src="<?php bloginfo('template_url'); ?>/assets/videos/header.m4v">
+                <source src="<?php bloginfo('template_url'); ?>/assets/videos/header.mp4">
+                <p>Your browser does not support HTML5 video.</p>
+            </video>
+        </div> -->
+    </video>
+  </div>
+<?php endif; ?>
diff --git a/robots.txt b/robots.txt
new file mode 100644 (file)
index 0000000..214e411
--- /dev/null
@@ -0,0 +1,4 @@
+# www.robotstxt.org/
+# www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449
+
+User-agent: *
diff --git a/sections/blog-archive.php b/sections/blog-archive.php
new file mode 100644 (file)
index 0000000..32313d2
--- /dev/null
@@ -0,0 +1,6 @@
+                    <main class="blog-archive">
+                        <div class="row">
+                            <?php get_template_part('parts/blog-content-area'); ?>
+                            <?php get_template_part('parts/blog-sidebar-r'); ?>
+                        </div>
+                    </main>
\ No newline at end of file
diff --git a/sections/blog-home.php b/sections/blog-home.php
new file mode 100644 (file)
index 0000000..01d5da8
--- /dev/null
@@ -0,0 +1,9 @@
+                    <main class="blog-home">
+                <!--    <article <?php // post_class() ?> id="interior-featured">
+                        <?php // GLM_get_header(); ?>
+                    </article> -->
+                        <div class="row">
+                            <?php get_template_part('parts/blog-content-area'); ?>
+                            <?php get_template_part('parts/blog-sidebar-r'); ?>
+                        </div>
+                    </main>
\ No newline at end of file
diff --git a/sections/blog-single.php b/sections/blog-single.php
new file mode 100644 (file)
index 0000000..a84a13b
--- /dev/null
@@ -0,0 +1,26 @@
+                    <main class="blog-single">
+                        <div class="row">
+                            <div id="blog-posts-over" class="small-12 medium-9 columns">
+                                <?php if(have_posts()) : while(have_posts()): the_post();?>
+                                <div class="row blog-post-container">
+                                    <div class="small-11 small-centered columns">
+                                        <div class="row">
+                                            <div class="small-12 columns">
+                                                <?php get_template_part('parts/blog-text-single'); ?>
+                                                <?php //if ( comments_open() || get_comments_number() ) :
+                                                    //comments_template();
+                                                //endif; ?>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <?php endwhile; ?>
+                                <?php else: ?>
+                                <div id="post-404" class="noposts">
+                                    <p><?php _e('Sorry, no results were found.');?></p>
+                                </div><!-- /#post-404 -->
+                                <?php endif;?>
+                            </div>
+                            <?php get_template_part('parts/blog-sidebar-r'); ?>
+                        </div>
+                    </main>
\ No newline at end of file
diff --git a/sections/copyright.php b/sections/copyright.php
new file mode 100644 (file)
index 0000000..efde13d
--- /dev/null
@@ -0,0 +1,7 @@
+                <div id="copyright" class="text-center opensearchserver.ignore">
+                    <span>Copyright &copy; <?php echo date('Y');?> </span>
+                    <span class="bullet"> &#8226; </span>
+                    <span> Produced by <a target="_blank" href="https://www.gaslightmedia.com">Gaslight Media</a></span>
+                    <span class="bullet"> &#8226; </span>
+                    <span> All Rights Reserved</span>
+                </div>
\ No newline at end of file
diff --git a/sections/footer.php b/sections/footer.php
new file mode 100644 (file)
index 0000000..e5e7626
--- /dev/null
@@ -0,0 +1,34 @@
+<footer class="main opensearchserver.ignore">
+<div class="row large-row">
+    <div id="footer-address" class="large-12 columns show-for-large-up">
+        <?php if ( function_exists( 'glm_get_clientinfo_option' ) ) :?>
+            <?php if ( glm_get_clientinfo_option( 'businessName' ) ) :?>
+            <span><?php echo glm_get_clientinfo_option( 'businessName' );?></span>
+            <span class="separator">|</span>
+            <?php endif;?>
+            <?php if ( glm_get_clientinfo_option( 'address' ) ) :?>
+            <span><?php echo glm_get_clientinfo_option( 'address' );?></span>
+            <?php endif;?>
+            <?php if ( glm_get_clientinfo_option( 'city' ) ) :?>
+            <span><?php echo glm_get_clientinfo_option( 'city' );?></span>
+            <?php endif;?>
+            <?php if ( glm_get_clientinfo_option( 'state' ) ) :?>
+            <span><?php echo glm_get_clientinfo_option( 'state' );?></span>
+            <?php endif;?>
+            <?php if ( glm_get_clientinfo_option( 'zip' ) ) :?>
+            <span><?php echo glm_get_clientinfo_option( 'zip' );?></span>
+            <?php endif;?>
+            <span class="separator">|</span>
+            <?php if ( glm_get_clientinfo_option( 'phone' ) ) :?>
+            <span class="phone"><?php echo glm_get_clientinfo_option( 'phone' );?></span>
+            <span class="separator">|</span>
+            <?php endif;?>
+            <?php // if ( glm_get_clientinfo_option( 'email' ) ) :?>
+<!--            <a class="email-link" href="mailto:<?php // echo glm_get_clientinfo_option( 'email' );?>">Email</a>
+            <span class="separator">|</span>-->
+            <?php // endif;?>
+            <a class="contact-us-link" href="<?php echo get_permalink( 53 )?>">Contact Us</a>
+        <?php endif;?>
+    </div>
+</div>
+</footer>
\ No newline at end of file
diff --git a/sections/header.php b/sections/header.php
new file mode 100644 (file)
index 0000000..06870e5
--- /dev/null
@@ -0,0 +1,40 @@
+<header class="main fixed">
+    <div class="header-top row medium-uncollapse large-collapse">
+        <div id="header-left-section" class="header-logo large-3 columns">
+            <a class="logo-link" href="<?php echo get_bloginfo( 'url' ); ?>"><img class="small-header-logo" src="<?php echo get_template_directory_uri();?>/assets/logo-2.png" alt=""></a>
+        </div>
+        <div id="header-right-section" class="large-9 columns">
+            <div id="header-slogan" class="show-for-large-up">
+                <h1>Harbor Point Association</h1>
+            </div>
+        </div>
+        <div id="top-links" class="show-for-large-up">
+            <span class="phone">Association Office&nbsp;&nbsp;231.526.5381</span>
+            <a class="top-link" href="<?php echo get_permalink(131);?>">Contact Us</a>
+            <?php if( is_user_logged_in() ) { ?>
+            <a class="top-link" href="<?php echo wp_logout_url(get_bloginfo('url'));?>">Logout</a>
+            <?php } ?>
+        </div>
+        <nav class="large-10 columns top-bar text-center show-for-large-up opensearchserver.ignore" data-topbar role="navigation" data-options="sticky_on: large">
+            <section class="top-bar-section">
+                <?php glm_theme_top_bar('top-bar'); ?>
+            </section>
+        </nav>
+        <nav class="tab-bar show-for-medium-down">
+            <section class="left-small">
+                <a class="left-off-canvas-toggle menu-icon" href="#"><span>Menu</span></a>
+            </section>
+        </nav>
+    </div>
+</header>
+
+<script type="text/javascript">
+    jQuery(document).scroll(function() {
+        let distanceFromTop = jQuery(document).scrollTop();
+        if ( (distanceFromTop > 120) && ( jQuery(window).width() > 1024 ) ) {
+            jQuery("header.main.fixed").addClass('shrink');
+        } else {
+            jQuery("header.main.fixed").removeClass('shrink');
+        }
+    });
+</script>
\ No newline at end of file
diff --git a/sections/home-page.php b/sections/home-page.php
new file mode 100644 (file)
index 0000000..5ec8998
--- /dev/null
@@ -0,0 +1,24 @@
+<main class="page-front">
+    
+    <div id="content-wrapper" class="homepage-content">
+        <div class="row">
+            <?php get_template_part('parts/slide-show');?>
+            <?php get_template_part('parts/main-content');?>
+        </div>
+        <div class="row blocks-row" data-equalizer data-options="equalize_on_stack: false">
+            <div class="post-blocks small-12 large-8 columns">
+                <?php get_template_part('parts/glm-blocks'); ?>
+            </div>
+            <div class="events-block small-12 large-4 columns">
+                <?php get_template_part('parts/events-feed'); ?>
+            </div>
+        </div>
+        
+        
+        <div id="front-blog-container">
+            <div id="front-blog-bg"></div>
+             <?php //get_template_part('parts/featured-partners-front'); ?>
+             
+        </div>
+    </div>
+</main>
\ No newline at end of file
diff --git a/sections/interior-page.php b/sections/interior-page.php
new file mode 100644 (file)
index 0000000..1e27b9f
--- /dev/null
@@ -0,0 +1,17 @@
+<main class="page-inside">
+    <div id="featured-image" class="interior-header row">
+        <?php echo glm_get_header();?>
+    </div>
+    <div id="content-wrapper">
+        <div class="row">
+            <div class="small-12 columns">
+                <?php if (is_user_logged_in()) {
+                    // If user is logged in as a member, display top bar, bread crumbs, & content -->
+                    get_template_part('parts/main-content');
+                } else {
+                    get_template_part('parts/glm-members-only-login-form');
+                } ?>
+            </div>
+        </div>
+    </div>
+</main>
\ No newline at end of file
diff --git a/sections/landing-page.php b/sections/landing-page.php
new file mode 100644 (file)
index 0000000..057bf2c
--- /dev/null
@@ -0,0 +1,104 @@
+<main class="page-landing">
+    <div id="content-wrapper">
+        <div class="row">
+            <div id="landing-blocks" class="row">
+                <div id="mainsite-block" class="landing-block columns small-12 medium-4 text-center">
+                    <div class="landing-block-content">
+                        <img src="<?php echo get_template_directory_uri();?>/assets/landing-block-kids.jpeg">
+                        <span class="landing-block-title">Kids Camp</span>
+                    </div>
+                    <div class="landing-block-overlay">
+                        <span class="landing-block-overlay-title">Kids Camp</span>
+                        <span class="landing-block-overlay-link">Coming Soon!</span>
+                    </div>
+                </div>
+                <a id="mainsite-block" href="http://www.harborpointgolfclub.com/" target="_blank" class="landing-block columns small-12 medium-4 text-center">
+                    <div class="landing-block-content">
+                        <img src="<?php echo get_template_directory_uri();?>/assets/landing-block-golf.jpg">
+                        <span class="landing-block-title">Harbor Point Golf Club</span>
+                    </div>
+                    <div class="landing-block-overlay">
+                        <span class="landing-block-overlay-title">Harbor Point Golf Club</span>
+                        <span class="landing-block-overlay-link" href="http://www.harborpointgolfclub.com/">Visit Site</span>
+                    </div>
+                </a>
+                <?php if (!is_user_logged_in()) { ?>
+                
+                    <div id="mainsite-block" class="landing-block columns small-12 medium-4 text-center">
+                        <div class="landing-block-content">
+                            <img src="<?php echo get_template_directory_uri();?>/assets/landing-block-members.jpg">
+                            <span class="landing-block-title">HPA Members Login</span>
+                        </div>
+                        <div class="landing-block-overlay">
+                            <div class="wp_login_error">
+                                <p id="glm-member-login-notification">
+                                    <?php if( isset( $_GET['login'] ) && $_GET['login'] == 'failed' ) { ?>
+                                        The information you entered is incorrect. Please try again.
+                                    <?php }
+                                        else if( isset( $_GET['login'] ) && $_GET['login'] == 'empty' ) { ?>
+                                        Please enter both username and password.
+                                    <?php } else { ?>
+                                        <?php $glmAssociateConfig = apply_filters('glm_associate_config', null);
+                                            $supportEmail = $glmAssociateConfig['settings']['members_only_support_email'];
+                                            $supportPhone = $glmAssociateConfig['settings']['members_only_support_phone'];
+                                            $glmTerm = $glmAssociateConfig['terms']['term_member'];
+                                        ?>
+                                        Please log in with your <?php echo $glmTerm; ?> username and password.
+
+                                        <?php if ($supportEmail || $supportPhone) {
+                                            echo "<br>If you need assistance, ";
+                                            if ($supportEmail) {
+                                                echo "email (".$supportEmail.")";
+                                                if ($supportPhone) {
+                                                    echo " or ";
+                                                }
+                                            }
+                                            if ($supportPhone) {
+                                                echo "call (".$supportPhone.")";
+                                            }
+                                        }
+                                        ?>
+                                    <?php } ?>
+                                </p>
+                            </div>
+                            <div id='glm-member-login-form'>
+                                <?php
+                                update_option('glm_members_database_frontend_login_request', 'true');
+                                $args = array(
+                                    'echo'    => false,
+                                    'form_id' => 'glm_login_form'
+                                );
+                                $loginForm = wp_login_form($args);
+                                $captcha   = apply_filters('cptch_display', '', 'glm_login_form');
+                                $form      = str_replace( '<p class="login-remember">', $captcha . '<p class="login-remember">', $loginForm );
+                                echo $form;
+                                ?>
+                            </div>
+                        </div>
+                    </div>
+                <?php } else { ?>
+                                    
+                    <a id="mainsite-block" href="<?php echo get_permalink(HOMEPAGE_ID);?>" class="landing-block columns small-12 medium-4 text-center">
+                        <div class="landing-block-content">
+                            <img src="<?php echo get_template_directory_uri();?>/assets/landing-block-members.jpg">
+                            <span class="landing-block-title">HPA Members</span>
+                        </div>
+                        <div class="landing-block-overlay">
+                            <span class="landing-block-overlay-title">HPA Members</span>
+                            <span class="landing-block-overlay-link">Welcome</span>
+                        </div>
+                    </a>
+                <?php } ?>
+                </div>
+            </div>
+            <?php get_template_part('parts/main-content');?>
+        </div>
+</main>
+
+<script type="text/javascript">
+    jQuery('.landing-block').hover(function() {
+        $(this).children(".landing-block-overlay").toggleClass('hidden');
+        $(this).children(".landing-block-content").children('.landing-block-title').toggleClass('hidden');
+    });
+    
+</script>
\ No newline at end of file
diff --git a/sections/off-canvas.php b/sections/off-canvas.php
new file mode 100644 (file)
index 0000000..ec6809f
--- /dev/null
@@ -0,0 +1,38 @@
+                    <aside class="left-off-canvas-menu hide-for-large-up opensearchserver.ignore">
+                        <?php glm_theme_mobile_off_canvas('mobile-menu'); ?>
+                  
+                        <?php //get_template_part('parts/search-form');?>
+                        <div id="oc-socials">
+                            <!-- <a class="facebook social-icon" href="http://www.facebook.com/DestinationMichigan"></a> -->
+                        </div>
+                        <?php if (function_exists('glm_get_clientinfo_option')) :?>
+                            <ul>
+                                <?php if (glm_get_clientinfo_option('address')) :?>
+                                <li><?php echo glm_get_clientinfo_option('address');?></li>
+                                <?php endif;?>
+                                <?php if (glm_get_clientinfo_option('city')) :?>
+                                <li><?php echo glm_get_clientinfo_option('city');?></li>
+                                <?php endif;?>
+                                <?php if (glm_get_clientinfo_option('state')) :?>
+                                <li><?php echo glm_get_clientinfo_option('state');?></li>
+                                <?php endif;?>
+                                <?php if (glm_get_clientinfo_option('zip')) :?>
+                                <li><?php echo glm_get_clientinfo_option('zip');?></li>
+                                <?php endif;?>
+                                <?php if (glm_get_clientinfo_option('phone')) :?>
+                                <li class="phone"><?php echo glm_get_clientinfo_option('phone');?></li>
+                                <?php endif;?>
+                                <li>
+                                    <?php if (glm_get_clientinfo_option('email')) :?>
+                                    <a class="email-link" href="mailto:<?php echo glm_get_clientinfo_option('email');?>">Email</a>
+                                    <span class="bullet">&#8226;</span>
+                                    <?php endif;?>
+                                    <a class="contact-us-link" href="<?php echo get_permalink( 53 )?>">Contact Us</a>
+                                </li>
+                            </ul>
+                        <?php endif;?>
+                    </aside>
+                    <!--
+                    <aside class="right-off-canvas-menu">
+
+                    </aside>-->
\ No newline at end of file
diff --git a/sections/search.php b/sections/search.php
new file mode 100644 (file)
index 0000000..16c6b6e
--- /dev/null
@@ -0,0 +1,110 @@
+        <main class="search-results">
+            <div class="row">
+                <?php if (get_search_query() == "") { ?>
+                <br><h2 class="search-result-header small-12 columns">Please enter a query in the search box. </h2>
+                <?php } else { ?>
+                <br><h2 class="search-result-header small-12 columns">Search Results for "<?php echo get_search_query(); ?>"</h2>
+            </div>
+
+            <div class="row">
+                <div id="blog-posts-over" class="small-12 columns">
+                    <?php if(have_posts()) : while(have_posts()): the_post();?>
+                        <?php if (is_search() && (isset($_GET['searchType']) && $_GET['searchType'] == 'blog') && ($post->post_type=='page')) continue; ?>
+                    <div class="row content search-result-container">
+                        <div class="small-11 small-centered columns">
+                            <article id="<?php the_ID()?>" <?php post_class()?>>
+                                <header class="entry-header">
+                                    <h1 class="entry-title"><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h1>
+                                    <span class="meta date">Posted on <?php the_time('F jS, Y') ?></span>
+                                </header>
+
+
+                        <!-- Start of the Contextual/Highlight Search -->
+                                        <?php
+                                        // Configuration
+                                        $max_length = 400; // Max length in characters
+                                        $min_padding = 30; // Min length in characters of the context to place around found search terms
+
+                                        // Load content as plain text
+                                        global $wp_query, $post;
+                                        $content = (!post_password_required($post) ? strip_tags(preg_replace(array("/\r?\n/", '@<\s*(p|br\s*/?)\s*>@'), array(' ', "\n"), apply_filters('the_content', $post->post_content))) : '');
+
+                                        // Search content for terms
+                                        $terms = $wp_query->query_vars['search_terms'];
+                                        if ( preg_match_all('/'.str_replace('/', '\/', join('|', $terms)).'/i', $content, $matches, PREG_OFFSET_CAPTURE) ) {
+                                            $padding = max($min_padding, $max_length / (2*count($matches[0])));
+
+                                          // Construct extract containing context for each term
+                                          $output = '';
+                                          $last_offset = 0;
+                                          foreach ( $matches[0] as $match ) {
+                                            list($string, $offset) = $match;
+                                            $start  = $offset-$padding;
+                                            $end = $offset+strlen($string)+$padding;
+                                            // Preserve whole words
+                                            while ( $start > 1 && preg_match('/[A-Za-z0-9\'"-]/', $content{$start-1}) ) $start--;
+                                            while ( $end < strlen($content)-1 && preg_match('/[A-Za-z0-9\'"-]/', $content{$end}) ) $end++;
+                                            $start = max($start, $last_offset);
+                                            $context = substr($content, $start, $end-$start);
+                                            if ( $start > $last_offset ) $context = '...'.$context;
+                                            $output .= $context;
+                                            $last_offset = $end;
+                                          }
+
+                                          if ( $last_offset != strlen($content)-1 ) $output .= '...';
+                                        } else {
+                                          $output = $content;
+                                        }
+
+                                        if ( strlen($output) > $max_length ) {
+                                          $end = $max_length-3;
+                                          while ( $end > 1 && preg_match('/[A-Za-z0-9\'"-]/', $output{$end-1}) ) $end--;
+                                          $output = substr($output, 0, $end) . '...';
+                                        }
+
+                                        // Highlight matches
+                                        $context = nl2br(preg_replace('/'.str_replace('/', '\/', join('|', $terms)).'/i', '<strong>$0</strong>', $output));
+                                        ?>
+
+                                        <p class="search_result_context">
+                                          <?php echo $context ?>
+                                        </p>
+                                        <p>
+                                          <a href="<?php the_permalink() ?>" rel="bookmark">Read this entry</a>
+                                        </p>
+                        <!-- End of the Contextual/Highlight Search -->
+
+                                <?php //echo (function_exists('the_advanced_excerpt')) ? the_advanced_excerpt(): the_excerpt(); ?>
+                                <footer class="entry-meta small-12 medium-6 medium-push-3 center">
+                                    <?php
+                                    if (has_category()) {
+                                        $post_categories = wp_get_post_categories( get_the_ID() );
+                                        $cats = array();
+                                        echo 'This entry was posted ';
+                                        echo 'in';
+                                        foreach($post_categories as $c){
+                                            $cat = get_category( $c );
+                                            $cats[] = array( 'name' => $cat->name, 'slug' => $cat->slug );
+                                            echo ', <a rel="category" title="View all posts in '. $cat->name . ' " href="'. $cat->slug .'">'. $cat->name .'</a>';
+                                        }
+                                        echo '.';
+                                    }
+                                    ?>
+                                </footer>
+                            </article>
+                        </div>
+                    </div>
+                    <?php endwhile; ?>
+                    <div class="navigation">
+                        <span class="newer"><?php previous_posts_link(__('« Newer','example')) ?></span> <span class="older"><?php next_posts_link(__('Older »','example')) ?></span>
+                    </div><!-- /.navigation -->
+                    <?php else: ?>
+                    <div id="post-404" class="noposts">
+                        <p><?php _e('Sorry, no results were found.');?></p>
+                    </div><!-- /#post-404 -->
+                    <?php endif;?>
+                </div>
+
+                    <?php } ?> <!-- end empty query check -->
+                </div>
+        </main>
\ No newline at end of file
diff --git a/sidebar.php b/sidebar.php
new file mode 100644 (file)
index 0000000..509599c
--- /dev/null
@@ -0,0 +1,10 @@
+<?php if (get_page_template_slug( $post->ID ) === "members-only-template.php") {  ?>
+    <?php if (is_user_logged_in()) { ?>
+        <div id="members-only-sidebar" class="show-for-small-up opensearchserver.ignore">
+            <div class="row collapse sidebar-row">
+                <h4 class="sidebar-title"> Partners Only</h4>
+                     <?php glm_theme_members_only('members-only-menu'); ?>
+             </div>
+        </div>
+    <?php } ?>
+<?php } ?>
\ No newline at end of file
diff --git a/style.css b/style.css
new file mode 100644 (file)
index 0000000..85ce762
--- /dev/null
+++ b/style.css
@@ -0,0 +1,7 @@
+/*
+Theme Name: harborpointassociation2018
+Author: Gaslight Media
+Author URI: http://www.gaslightmedia.com
+Description: A theme for Destination Michigan
+Version: 1.0.0
+*/