From 6bbd2440c182fb4b68a8dc7a1d74b63cc8b6f033 Mon Sep 17 00:00:00 2001 From: Ian Weller Date: Mon, 12 Oct 2015 14:24:52 -0400 Subject: [PATCH 1/1] first commit --- .gitignore | 3 + Gruntfile.js | 85 + README.md | 28 + archive.php | 47 + assets/block-cell-phone.jpg | Bin 0 -> 31850 bytes assets/block-fall-leaves.jpg | Bin 0 -> 75580 bytes assets/block-property.jpg | Bin 0 -> 48996 bytes assets/bpla-full-logo.png | Bin 0 -> 19043 bytes assets/bpla-logo-oval-only.jpg | Bin 0 -> 11258 bytes assets/info-guide.png | Bin 0 -> 18810 bytes assets/local-weather.png | Bin 0 -> 17901 bytes assets/logo.png | Bin 0 -> 1015 bytes assets/michigan-map.png | Bin 0 -> 5455 bytes assets/sample-page-image.jpg | Bin 0 -> 20856 bytes assets/search_button.jpg | Bin 0 -> 1820 bytes assets/sign-up.png | Bin 0 -> 18138 bytes assets/social-icons.png | Bin 0 -> 4332 bytes assets/tagline.jpg | Bin 0 -> 13675 bytes assets/weather-widget-bkgrd.jpg | Bin 0 -> 46792 bytes bower.json | 6 + css/app.css | 7427 +++++++++++++ css/app.css.map | 70 + footer.php | 24 + front-page.php | 25 + functions.php | 222 + header.php | 33 + home.php | 53 + index.html | 212 + index.php | 47 + js/app.js | 20 + js/custom/pageSetup.js | 11 + js/dollarsign.js | 6 + js/fastclick/lib/fastclick.js | 841 ++ js/foundation/css/foundation.css.map | 7 + js/foundation/css/normalize.css.map | 7 + js/foundation/js/foundation.js | 6581 ++++++++++++ js/foundation/js/foundation.min.js | 5 + .../js/foundation/foundation.abide.js | 426 + .../js/foundation/foundation.accordion.js | 125 + .../js/foundation/foundation.alert.js | 43 + .../js/foundation/foundation.clearing.js | 586 ++ .../js/foundation/foundation.dropdown.js | 468 + .../js/foundation/foundation.equalizer.js | 104 + .../js/foundation/foundation.interchange.js | 360 + .../js/foundation/foundation.joyride.js | 935 ++ js/foundation/js/foundation/foundation.js | 732 ++ .../js/foundation/foundation.magellan.js | 214 + .../js/foundation/foundation.offcanvas.js | 225 + .../js/foundation/foundation.orbit.js | 476 + .../js/foundation/foundation.reveal.js | 522 + .../js/foundation/foundation.slider.js | 296 + js/foundation/js/foundation/foundation.tab.js | 247 + .../js/foundation/foundation.tooltip.js | 348 + .../js/foundation/foundation.topbar.js | 458 + js/foundation/js/vendor/fastclick.js | 8 + js/foundation/js/vendor/jquery.cookie.js | 8 + js/foundation/js/vendor/jquery.js | 26 + js/foundation/js/vendor/modernizr.js | 8 + js/foundation/js/vendor/placeholder.js | 2 + js/jquery-placeholder/jquery.placeholder.js | 192 + js/jquery.cookie/jquery.cookie.js | 117 + js/jquery/dist/jquery.js | 9210 ++++++++++++++++ js/jquery/dist/jquery.min.js | 5 + js/jquery/dist/jquery.min.map | 1 + js/jquery/src/ajax.js | 786 ++ js/jquery/src/ajax/jsonp.js | 89 + js/jquery/src/ajax/load.js | 75 + js/jquery/src/ajax/parseJSON.js | 13 + js/jquery/src/ajax/parseXML.js | 28 + js/jquery/src/ajax/script.js | 64 + js/jquery/src/ajax/var/nonce.js | 5 + js/jquery/src/ajax/var/rquery.js | 3 + js/jquery/src/ajax/xhr.js | 136 + js/jquery/src/attributes.js | 11 + js/jquery/src/attributes/attr.js | 141 + js/jquery/src/attributes/classes.js | 158 + js/jquery/src/attributes/prop.js | 94 + js/jquery/src/attributes/support.js | 35 + js/jquery/src/attributes/val.js | 161 + js/jquery/src/callbacks.js | 205 + js/jquery/src/core.js | 502 + js/jquery/src/core/access.js | 60 + js/jquery/src/core/init.js | 123 + js/jquery/src/core/parseHTML.js | 39 + js/jquery/src/core/ready.js | 97 + js/jquery/src/core/var/rsingleTag.js | 4 + js/jquery/src/css.js | 450 + js/jquery/src/css/addGetHookIf.js | 22 + js/jquery/src/css/curCSS.js | 57 + js/jquery/src/css/defaultDisplay.js | 70 + js/jquery/src/css/hiddenVisibleSelectors.js | 15 + js/jquery/src/css/support.js | 96 + js/jquery/src/css/swap.js | 28 + js/jquery/src/css/var/cssExpand.js | 3 + js/jquery/src/css/var/getStyles.js | 12 + js/jquery/src/css/var/isHidden.js | 13 + js/jquery/src/css/var/rmargin.js | 3 + js/jquery/src/css/var/rnumnonpx.js | 5 + js/jquery/src/data.js | 178 + js/jquery/src/data/Data.js | 181 + js/jquery/src/data/accepts.js | 20 + js/jquery/src/data/var/data_priv.js | 5 + js/jquery/src/data/var/data_user.js | 5 + js/jquery/src/deferred.js | 149 + js/jquery/src/deprecated.js | 13 + js/jquery/src/dimensions.js | 50 + js/jquery/src/effects.js | 648 ++ js/jquery/src/effects/Tween.js | 114 + js/jquery/src/effects/animatedSelector.js | 13 + js/jquery/src/event.js | 868 ++ js/jquery/src/event/ajax.js | 13 + js/jquery/src/event/alias.js | 39 + js/jquery/src/event/support.js | 9 + js/jquery/src/exports/amd.js | 24 + js/jquery/src/exports/global.js | 32 + js/jquery/src/intro.js | 44 + js/jquery/src/jquery.js | 37 + js/jquery/src/manipulation.js | 580 ++ js/jquery/src/manipulation/_evalUrl.js | 18 + js/jquery/src/manipulation/support.js | 32 + .../src/manipulation/var/rcheckableType.js | 3 + js/jquery/src/offset.js | 207 + js/jquery/src/outro.js | 1 + js/jquery/src/queue.js | 142 + js/jquery/src/queue/delay.js | 22 + js/jquery/src/selector-native.js | 172 + js/jquery/src/selector-sizzle.js | 14 + js/jquery/src/selector.js | 1 + js/jquery/src/serialize.js | 111 + js/jquery/src/sizzle/dist/sizzle.js | 2067 ++++ js/jquery/src/sizzle/dist/sizzle.min.js | 3 + js/jquery/src/sizzle/dist/sizzle.min.map | 1 + js/jquery/src/traversing.js | 199 + js/jquery/src/traversing/findFilter.js | 100 + js/jquery/src/traversing/var/rneedsContext.js | 6 + js/jquery/src/var/arr.js | 3 + js/jquery/src/var/class2type.js | 4 + js/jquery/src/var/concat.js | 5 + js/jquery/src/var/hasOwn.js | 5 + js/jquery/src/var/indexOf.js | 5 + js/jquery/src/var/pnum.js | 3 + js/jquery/src/var/push.js | 5 + js/jquery/src/var/rnotwhite.js | 3 + js/jquery/src/var/slice.js | 5 + js/jquery/src/var/strundefined.js | 3 + js/jquery/src/var/support.js | 4 + js/jquery/src/var/toString.js | 5 + js/jquery/src/wrap.js | 79 + js/modernizr/feature-detects/a-download.js | 8 + .../feature-detects/audio-audiodata-api.js | 4 + .../feature-detects/audio-webaudio-api.js | 4 + js/modernizr/feature-detects/battery-api.js | 8 + js/modernizr/feature-detects/battery-level.js | 11 + .../feature-detects/blob-constructor.js | 10 + .../feature-detects/canvas-todataurl-type.js | 28 + .../feature-detects/contenteditable.js | 9 + .../feature-detects/contentsecuritypolicy.js | 10 + js/modernizr/feature-detects/contextmenu.js | 11 + js/modernizr/feature-detects/cookies.js | 15 + js/modernizr/feature-detects/cors.js | 3 + .../css-backgroundposition-shorthand.js | 19 + .../css-backgroundposition-xy.js | 15 + .../feature-detects/css-backgroundrepeat.js | 31 + .../css-backgroundsizecover.js | 10 + js/modernizr/feature-detects/css-boxsizing.js | 9 + js/modernizr/feature-detects/css-calc.js | 12 + .../feature-detects/css-cubicbezierrange.js | 8 + .../feature-detects/css-displayrunin.js | 18 + .../feature-detects/css-displaytable.js | 27 + js/modernizr/feature-detects/css-filters.js | 7 + js/modernizr/feature-detects/css-hyphens.js | 205 + js/modernizr/feature-detects/css-lastchild.js | 11 + js/modernizr/feature-detects/css-mask.js | 12 + .../feature-detects/css-mediaqueries.js | 3 + js/modernizr/feature-detects/css-objectfit.js | 6 + .../feature-detects/css-overflow-scrolling.js | 9 + .../feature-detects/css-pointerevents.js | 25 + .../feature-detects/css-positionsticky.js | 13 + js/modernizr/feature-detects/css-regions.js | 55 + js/modernizr/feature-detects/css-remunit.js | 19 + js/modernizr/feature-detects/css-resize.js | 8 + .../feature-detects/css-scrollbars.js | 19 + js/modernizr/feature-detects/css-shapes.js | 4 + .../feature-detects/css-subpixelfont.js | 23 + js/modernizr/feature-detects/css-supports.js | 6 + .../feature-detects/css-userselect.js | 10 + js/modernizr/feature-detects/css-vhunit.js | 14 + js/modernizr/feature-detects/css-vmaxunit.js | 14 + js/modernizr/feature-detects/css-vminunit.js | 14 + js/modernizr/feature-detects/css-vwunit.js | 14 + .../custom-protocol-handler.js | 10 + js/modernizr/feature-detects/dart.js | 6 + js/modernizr/feature-detects/dataview-api.js | 4 + js/modernizr/feature-detects/dom-classlist.js | 4 + .../dom-createElement-attrs.js | 11 + js/modernizr/feature-detects/dom-dataset.js | 9 + js/modernizr/feature-detects/dom-microdata.js | 4 + js/modernizr/feature-detects/elem-datalist.js | 12 + js/modernizr/feature-detects/elem-details.js | 25 + js/modernizr/feature-detects/elem-output.js | 4 + .../feature-detects/elem-progress-meter.js | 11 + js/modernizr/feature-detects/elem-ruby.js | 53 + js/modernizr/feature-detects/elem-time.js | 4 + js/modernizr/feature-detects/elem-track.js | 11 + js/modernizr/feature-detects/emoji.js | 11 + .../feature-detects/es5-strictmode.js | 7 + .../event-deviceorientation-motion.js | 11 + .../feature-detects/exif-orientation.js | 32 + js/modernizr/feature-detects/file-api.js | 12 + .../feature-detects/file-filesystem.js | 9 + .../feature-detects/forms-fileinput.js | 13 + .../feature-detects/forms-formattribute.js | 29 + .../feature-detects/forms-inputnumber-l10n.js | 32 + .../feature-detects/forms-placeholder.js | 10 + .../feature-detects/forms-speechinput.js | 19 + .../feature-detects/forms-validation.js | 62 + .../feature-detects/fullscreen-api.js | 10 + js/modernizr/feature-detects/gamepad.js | 12 + js/modernizr/feature-detects/getusermedia.js | 5 + js/modernizr/feature-detects/ie8compat.js | 12 + .../feature-detects/iframe-sandbox.js | 5 + .../feature-detects/iframe-seamless.js | 5 + js/modernizr/feature-detects/iframe-srcdoc.js | 5 + js/modernizr/feature-detects/img-apng.js | 26 + js/modernizr/feature-detects/img-webp.js | 20 + js/modernizr/feature-detects/json.js | 7 + .../feature-detects/lists-reversed.js | 6 + js/modernizr/feature-detects/mathml.js | 23 + .../feature-detects/network-connection.js | 22 + .../feature-detects/network-eventsource.js | 5 + js/modernizr/feature-detects/network-xhr2.js | 13 + js/modernizr/feature-detects/notification.js | 10 + js/modernizr/feature-detects/performance.js | 5 + .../feature-detects/pointerlock-api.js | 4 + .../feature-detects/quota-management-api.js | 11 + .../feature-detects/requestanimationframe.js | 7 + js/modernizr/feature-detects/script-async.js | 3 + js/modernizr/feature-detects/script-defer.js | 3 + js/modernizr/feature-detects/style-scoped.js | 6 + js/modernizr/feature-detects/svg-filters.js | 13 + js/modernizr/feature-detects/unicode.js | 32 + js/modernizr/feature-detects/url-data-uri.js | 26 + js/modernizr/feature-detects/userdata.js | 7 + js/modernizr/feature-detects/vibration.js | 4 + js/modernizr/feature-detects/web-intents.js | 6 + .../feature-detects/webgl-extensions.js | 42 + .../feature-detects/websockets-binary.js | 20 + js/modernizr/feature-detects/window-framed.js | 8 + .../feature-detects/workers-blobworkers.js | 66 + .../feature-detects/workers-dataworkers.js | 34 + .../feature-detects/workers-sharedworkers.js | 3 + js/modernizr/grunt.js | 69 + js/modernizr/modernizr.js | 1406 +++ js/modernizr/modernizr.min.js | 1 + js/modernizr/test/caniuse_files/ga.js | 43 + js/modernizr/test/caniuse_files/jquery.min.js | 18 + .../test/caniuse_files/modernizr-1.7.min.js | 2 + js/modernizr/test/js/dumpdata.js | 75 + js/modernizr/test/js/lib/detect-global.js | 153 + js/modernizr/test/js/lib/jquery-1.7b2.js | 9279 +++++++++++++++++ js/modernizr/test/js/lib/jsonselect.js | 279 + js/modernizr/test/js/lib/polyfills.js | 96 + js/modernizr/test/js/lib/uaparser.js | 215 + js/modernizr/test/js/setup.js | 44 + js/modernizr/test/js/unit-caniuse.js | 191 + js/modernizr/test/js/unit.js | 669 ++ js/modernizr/test/qunit/qunit.js | 1932 ++++ js/modernizr/test/qunit/run-qunit.js | 72 + nggallery/album-glmalbums.php | 60 + nggallery/gallery-glmphotos-8.php | 55 + nggallery/gallery-glmphotos-narrow.php | 55 + nggallery/gallery-glmphotos.php | 66 + nggallery/gallery-glmvideos.php | 72 + package.json | 14 + page.php | 27 + parts/blog-sidebar-r.php | 33 + parts/bread-crumbs.php | 7 + parts/client-info-footer.php | 28 + parts/client-info-offcanvas.php | 24 + parts/glm-blocks.php | 26 + parts/glm-kitchen-sink.php | 293 + parts/off-canvas-menu.php | 4 + parts/search.php | 6 + parts/slide-show.php | 6 + parts/top-bar.php | 10 + robots.txt | 4 + scss/_blog.scss | 192 + scss/_body.scss | 15 + scss/_content.scss | 0 scss/_copyright.scss | 18 + scss/_defaults.scss | 55 + scss/_left-off-canvas.scss | 78 + scss/_main.scss | 32 + scss/_mixins.scss | 2 + scss/_page.footer.scss | 26 + scss/_page.header.scss | 96 + scss/_page.wrapper.scss | 0 scss/_plugins.scss | 1 + scss/_right-off-canvas.scss | 78 + scss/_search.scss | 51 + scss/_settings.scss | 1475 +++ scss/_shadow.wrapper.scss | 0 scss/_sidebar.scss | 131 + scss/_slideshow.scss | 15 + scss/_structure.scss | 16 + scss/_topbar.scss | 147 + scss/_wordpress.scss | 235 + scss/admin/tinymce.css | 35 + scss/app.scss | 20 + scss/mixins/_gradient.scss | 10 + scss/mixins/_off-canvas-arrow.scss | 42 + scss/plugins/_nextgen.scss | 40 + search.php | 140 + sidebar.php | 5 + single.php | 52 + style.css | 7 + 316 files changed, 61765 insertions(+) create mode 100644 .gitignore create mode 100644 Gruntfile.js create mode 100644 README.md create mode 100644 archive.php create mode 100644 assets/block-cell-phone.jpg create mode 100644 assets/block-fall-leaves.jpg create mode 100644 assets/block-property.jpg create mode 100644 assets/bpla-full-logo.png create mode 100644 assets/bpla-logo-oval-only.jpg create mode 100644 assets/info-guide.png create mode 100644 assets/local-weather.png create mode 100644 assets/logo.png create mode 100644 assets/michigan-map.png create mode 100644 assets/sample-page-image.jpg create mode 100644 assets/search_button.jpg create mode 100644 assets/sign-up.png create mode 100644 assets/social-icons.png create mode 100644 assets/tagline.jpg create mode 100644 assets/weather-widget-bkgrd.jpg create mode 100644 bower.json create mode 100644 css/app.css create mode 100644 css/app.css.map create mode 100644 footer.php create mode 100644 front-page.php create mode 100644 functions.php create mode 100644 header.php create mode 100644 home.php create mode 100644 index.html create mode 100644 index.php create mode 100644 js/app.js create mode 100644 js/custom/pageSetup.js create mode 100644 js/dollarsign.js create mode 100644 js/fastclick/lib/fastclick.js create mode 100644 js/foundation/css/foundation.css.map create mode 100644 js/foundation/css/normalize.css.map create mode 100644 js/foundation/js/foundation.js create mode 100644 js/foundation/js/foundation.min.js create mode 100644 js/foundation/js/foundation/foundation.abide.js create mode 100644 js/foundation/js/foundation/foundation.accordion.js create mode 100644 js/foundation/js/foundation/foundation.alert.js create mode 100644 js/foundation/js/foundation/foundation.clearing.js create mode 100644 js/foundation/js/foundation/foundation.dropdown.js create mode 100644 js/foundation/js/foundation/foundation.equalizer.js create mode 100644 js/foundation/js/foundation/foundation.interchange.js create mode 100644 js/foundation/js/foundation/foundation.joyride.js create mode 100644 js/foundation/js/foundation/foundation.js create mode 100644 js/foundation/js/foundation/foundation.magellan.js create mode 100644 js/foundation/js/foundation/foundation.offcanvas.js create mode 100644 js/foundation/js/foundation/foundation.orbit.js create mode 100644 js/foundation/js/foundation/foundation.reveal.js create mode 100644 js/foundation/js/foundation/foundation.slider.js create mode 100644 js/foundation/js/foundation/foundation.tab.js create mode 100644 js/foundation/js/foundation/foundation.tooltip.js create mode 100644 js/foundation/js/foundation/foundation.topbar.js create mode 100644 js/foundation/js/vendor/fastclick.js create mode 100644 js/foundation/js/vendor/jquery.cookie.js create mode 100644 js/foundation/js/vendor/jquery.js create mode 100644 js/foundation/js/vendor/modernizr.js create mode 100644 js/foundation/js/vendor/placeholder.js create mode 100644 js/jquery-placeholder/jquery.placeholder.js create mode 100644 js/jquery.cookie/jquery.cookie.js create mode 100644 js/jquery/dist/jquery.js create mode 100644 js/jquery/dist/jquery.min.js create mode 100644 js/jquery/dist/jquery.min.map create mode 100644 js/jquery/src/ajax.js create mode 100644 js/jquery/src/ajax/jsonp.js create mode 100644 js/jquery/src/ajax/load.js create mode 100644 js/jquery/src/ajax/parseJSON.js create mode 100644 js/jquery/src/ajax/parseXML.js create mode 100644 js/jquery/src/ajax/script.js create mode 100644 js/jquery/src/ajax/var/nonce.js create mode 100644 js/jquery/src/ajax/var/rquery.js create mode 100644 js/jquery/src/ajax/xhr.js create mode 100644 js/jquery/src/attributes.js create mode 100644 js/jquery/src/attributes/attr.js create mode 100644 js/jquery/src/attributes/classes.js create mode 100644 js/jquery/src/attributes/prop.js create mode 100644 js/jquery/src/attributes/support.js create mode 100644 js/jquery/src/attributes/val.js create mode 100644 js/jquery/src/callbacks.js create mode 100644 js/jquery/src/core.js create mode 100644 js/jquery/src/core/access.js create mode 100644 js/jquery/src/core/init.js create mode 100644 js/jquery/src/core/parseHTML.js create mode 100644 js/jquery/src/core/ready.js create mode 100644 js/jquery/src/core/var/rsingleTag.js create mode 100644 js/jquery/src/css.js create mode 100644 js/jquery/src/css/addGetHookIf.js create mode 100644 js/jquery/src/css/curCSS.js create mode 100644 js/jquery/src/css/defaultDisplay.js create mode 100644 js/jquery/src/css/hiddenVisibleSelectors.js create mode 100644 js/jquery/src/css/support.js create mode 100644 js/jquery/src/css/swap.js create mode 100644 js/jquery/src/css/var/cssExpand.js create mode 100644 js/jquery/src/css/var/getStyles.js create mode 100644 js/jquery/src/css/var/isHidden.js create mode 100644 js/jquery/src/css/var/rmargin.js create mode 100644 js/jquery/src/css/var/rnumnonpx.js create mode 100644 js/jquery/src/data.js create mode 100644 js/jquery/src/data/Data.js create mode 100644 js/jquery/src/data/accepts.js create mode 100644 js/jquery/src/data/var/data_priv.js create mode 100644 js/jquery/src/data/var/data_user.js create mode 100644 js/jquery/src/deferred.js create mode 100644 js/jquery/src/deprecated.js create mode 100644 js/jquery/src/dimensions.js create mode 100644 js/jquery/src/effects.js create mode 100644 js/jquery/src/effects/Tween.js create mode 100644 js/jquery/src/effects/animatedSelector.js create mode 100644 js/jquery/src/event.js create mode 100644 js/jquery/src/event/ajax.js create mode 100644 js/jquery/src/event/alias.js create mode 100644 js/jquery/src/event/support.js create mode 100644 js/jquery/src/exports/amd.js create mode 100644 js/jquery/src/exports/global.js create mode 100644 js/jquery/src/intro.js create mode 100644 js/jquery/src/jquery.js create mode 100644 js/jquery/src/manipulation.js create mode 100644 js/jquery/src/manipulation/_evalUrl.js create mode 100644 js/jquery/src/manipulation/support.js create mode 100644 js/jquery/src/manipulation/var/rcheckableType.js create mode 100644 js/jquery/src/offset.js create mode 100644 js/jquery/src/outro.js create mode 100644 js/jquery/src/queue.js create mode 100644 js/jquery/src/queue/delay.js create mode 100644 js/jquery/src/selector-native.js create mode 100644 js/jquery/src/selector-sizzle.js create mode 100644 js/jquery/src/selector.js create mode 100644 js/jquery/src/serialize.js create mode 100644 js/jquery/src/sizzle/dist/sizzle.js create mode 100644 js/jquery/src/sizzle/dist/sizzle.min.js create mode 100644 js/jquery/src/sizzle/dist/sizzle.min.map create mode 100644 js/jquery/src/traversing.js create mode 100644 js/jquery/src/traversing/findFilter.js create mode 100644 js/jquery/src/traversing/var/rneedsContext.js create mode 100644 js/jquery/src/var/arr.js create mode 100644 js/jquery/src/var/class2type.js create mode 100644 js/jquery/src/var/concat.js create mode 100644 js/jquery/src/var/hasOwn.js create mode 100644 js/jquery/src/var/indexOf.js create mode 100644 js/jquery/src/var/pnum.js create mode 100644 js/jquery/src/var/push.js create mode 100644 js/jquery/src/var/rnotwhite.js create mode 100644 js/jquery/src/var/slice.js create mode 100644 js/jquery/src/var/strundefined.js create mode 100644 js/jquery/src/var/support.js create mode 100644 js/jquery/src/var/toString.js create mode 100644 js/jquery/src/wrap.js create mode 100644 js/modernizr/feature-detects/a-download.js create mode 100644 js/modernizr/feature-detects/audio-audiodata-api.js create mode 100644 js/modernizr/feature-detects/audio-webaudio-api.js create mode 100644 js/modernizr/feature-detects/battery-api.js create mode 100644 js/modernizr/feature-detects/battery-level.js create mode 100644 js/modernizr/feature-detects/blob-constructor.js create mode 100644 js/modernizr/feature-detects/canvas-todataurl-type.js create mode 100644 js/modernizr/feature-detects/contenteditable.js create mode 100644 js/modernizr/feature-detects/contentsecuritypolicy.js create mode 100644 js/modernizr/feature-detects/contextmenu.js create mode 100644 js/modernizr/feature-detects/cookies.js create mode 100644 js/modernizr/feature-detects/cors.js create mode 100644 js/modernizr/feature-detects/css-backgroundposition-shorthand.js create mode 100644 js/modernizr/feature-detects/css-backgroundposition-xy.js create mode 100644 js/modernizr/feature-detects/css-backgroundrepeat.js create mode 100644 js/modernizr/feature-detects/css-backgroundsizecover.js create mode 100644 js/modernizr/feature-detects/css-boxsizing.js create mode 100644 js/modernizr/feature-detects/css-calc.js create mode 100644 js/modernizr/feature-detects/css-cubicbezierrange.js create mode 100644 js/modernizr/feature-detects/css-displayrunin.js create mode 100644 js/modernizr/feature-detects/css-displaytable.js create mode 100644 js/modernizr/feature-detects/css-filters.js create mode 100644 js/modernizr/feature-detects/css-hyphens.js create mode 100644 js/modernizr/feature-detects/css-lastchild.js create mode 100644 js/modernizr/feature-detects/css-mask.js create mode 100644 js/modernizr/feature-detects/css-mediaqueries.js create mode 100644 js/modernizr/feature-detects/css-objectfit.js create mode 100644 js/modernizr/feature-detects/css-overflow-scrolling.js create mode 100644 js/modernizr/feature-detects/css-pointerevents.js create mode 100644 js/modernizr/feature-detects/css-positionsticky.js create mode 100644 js/modernizr/feature-detects/css-regions.js create mode 100644 js/modernizr/feature-detects/css-remunit.js create mode 100644 js/modernizr/feature-detects/css-resize.js create mode 100644 js/modernizr/feature-detects/css-scrollbars.js create mode 100644 js/modernizr/feature-detects/css-shapes.js create mode 100644 js/modernizr/feature-detects/css-subpixelfont.js create mode 100644 js/modernizr/feature-detects/css-supports.js create mode 100644 js/modernizr/feature-detects/css-userselect.js create mode 100644 js/modernizr/feature-detects/css-vhunit.js create mode 100644 js/modernizr/feature-detects/css-vmaxunit.js create mode 100644 js/modernizr/feature-detects/css-vminunit.js create mode 100644 js/modernizr/feature-detects/css-vwunit.js create mode 100644 js/modernizr/feature-detects/custom-protocol-handler.js create mode 100644 js/modernizr/feature-detects/dart.js create mode 100644 js/modernizr/feature-detects/dataview-api.js create mode 100644 js/modernizr/feature-detects/dom-classlist.js create mode 100644 js/modernizr/feature-detects/dom-createElement-attrs.js create mode 100644 js/modernizr/feature-detects/dom-dataset.js create mode 100644 js/modernizr/feature-detects/dom-microdata.js create mode 100644 js/modernizr/feature-detects/elem-datalist.js create mode 100644 js/modernizr/feature-detects/elem-details.js create mode 100644 js/modernizr/feature-detects/elem-output.js create mode 100644 js/modernizr/feature-detects/elem-progress-meter.js create mode 100644 js/modernizr/feature-detects/elem-ruby.js create mode 100644 js/modernizr/feature-detects/elem-time.js create mode 100644 js/modernizr/feature-detects/elem-track.js create mode 100644 js/modernizr/feature-detects/emoji.js create mode 100644 js/modernizr/feature-detects/es5-strictmode.js create mode 100644 js/modernizr/feature-detects/event-deviceorientation-motion.js create mode 100644 js/modernizr/feature-detects/exif-orientation.js create mode 100644 js/modernizr/feature-detects/file-api.js create mode 100644 js/modernizr/feature-detects/file-filesystem.js create mode 100644 js/modernizr/feature-detects/forms-fileinput.js create mode 100644 js/modernizr/feature-detects/forms-formattribute.js create mode 100644 js/modernizr/feature-detects/forms-inputnumber-l10n.js create mode 100644 js/modernizr/feature-detects/forms-placeholder.js create mode 100644 js/modernizr/feature-detects/forms-speechinput.js create mode 100644 js/modernizr/feature-detects/forms-validation.js create mode 100644 js/modernizr/feature-detects/fullscreen-api.js create mode 100644 js/modernizr/feature-detects/gamepad.js create mode 100644 js/modernizr/feature-detects/getusermedia.js create mode 100644 js/modernizr/feature-detects/ie8compat.js create mode 100644 js/modernizr/feature-detects/iframe-sandbox.js create mode 100644 js/modernizr/feature-detects/iframe-seamless.js create mode 100644 js/modernizr/feature-detects/iframe-srcdoc.js create mode 100644 js/modernizr/feature-detects/img-apng.js create mode 100644 js/modernizr/feature-detects/img-webp.js create mode 100644 js/modernizr/feature-detects/json.js create mode 100644 js/modernizr/feature-detects/lists-reversed.js create mode 100644 js/modernizr/feature-detects/mathml.js create mode 100644 js/modernizr/feature-detects/network-connection.js create mode 100644 js/modernizr/feature-detects/network-eventsource.js create mode 100644 js/modernizr/feature-detects/network-xhr2.js create mode 100644 js/modernizr/feature-detects/notification.js create mode 100644 js/modernizr/feature-detects/performance.js create mode 100644 js/modernizr/feature-detects/pointerlock-api.js create mode 100644 js/modernizr/feature-detects/quota-management-api.js create mode 100644 js/modernizr/feature-detects/requestanimationframe.js create mode 100644 js/modernizr/feature-detects/script-async.js create mode 100644 js/modernizr/feature-detects/script-defer.js create mode 100644 js/modernizr/feature-detects/style-scoped.js create mode 100644 js/modernizr/feature-detects/svg-filters.js create mode 100644 js/modernizr/feature-detects/unicode.js create mode 100644 js/modernizr/feature-detects/url-data-uri.js create mode 100644 js/modernizr/feature-detects/userdata.js create mode 100644 js/modernizr/feature-detects/vibration.js create mode 100644 js/modernizr/feature-detects/web-intents.js create mode 100644 js/modernizr/feature-detects/webgl-extensions.js create mode 100644 js/modernizr/feature-detects/websockets-binary.js create mode 100644 js/modernizr/feature-detects/window-framed.js create mode 100644 js/modernizr/feature-detects/workers-blobworkers.js create mode 100644 js/modernizr/feature-detects/workers-dataworkers.js create mode 100644 js/modernizr/feature-detects/workers-sharedworkers.js create mode 100644 js/modernizr/grunt.js create mode 100644 js/modernizr/modernizr.js create mode 100644 js/modernizr/modernizr.min.js create mode 100644 js/modernizr/test/caniuse_files/ga.js create mode 100644 js/modernizr/test/caniuse_files/jquery.min.js create mode 100644 js/modernizr/test/caniuse_files/modernizr-1.7.min.js create mode 100644 js/modernizr/test/js/dumpdata.js create mode 100644 js/modernizr/test/js/lib/detect-global.js create mode 100644 js/modernizr/test/js/lib/jquery-1.7b2.js create mode 100644 js/modernizr/test/js/lib/jsonselect.js create mode 100644 js/modernizr/test/js/lib/polyfills.js create mode 100644 js/modernizr/test/js/lib/uaparser.js create mode 100644 js/modernizr/test/js/setup.js create mode 100644 js/modernizr/test/js/unit-caniuse.js create mode 100644 js/modernizr/test/js/unit.js create mode 100644 js/modernizr/test/qunit/qunit.js create mode 100644 js/modernizr/test/qunit/run-qunit.js create mode 100644 nggallery/album-glmalbums.php create mode 100644 nggallery/gallery-glmphotos-8.php create mode 100644 nggallery/gallery-glmphotos-narrow.php create mode 100644 nggallery/gallery-glmphotos.php create mode 100644 nggallery/gallery-glmvideos.php create mode 100644 package.json create mode 100644 page.php create mode 100644 parts/blog-sidebar-r.php create mode 100644 parts/bread-crumbs.php create mode 100644 parts/client-info-footer.php create mode 100644 parts/client-info-offcanvas.php create mode 100644 parts/glm-blocks.php create mode 100644 parts/glm-kitchen-sink.php create mode 100644 parts/off-canvas-menu.php create mode 100644 parts/search.php create mode 100644 parts/slide-show.php create mode 100644 parts/top-bar.php create mode 100644 robots.txt create mode 100644 scss/_blog.scss create mode 100644 scss/_body.scss create mode 100644 scss/_content.scss create mode 100644 scss/_copyright.scss create mode 100644 scss/_defaults.scss create mode 100644 scss/_left-off-canvas.scss create mode 100644 scss/_main.scss create mode 100644 scss/_mixins.scss create mode 100644 scss/_page.footer.scss create mode 100644 scss/_page.header.scss create mode 100644 scss/_page.wrapper.scss create mode 100644 scss/_plugins.scss create mode 100644 scss/_right-off-canvas.scss create mode 100644 scss/_search.scss create mode 100644 scss/_settings.scss create mode 100644 scss/_shadow.wrapper.scss create mode 100644 scss/_sidebar.scss create mode 100644 scss/_slideshow.scss create mode 100644 scss/_structure.scss create mode 100644 scss/_topbar.scss create mode 100644 scss/_wordpress.scss create mode 100644 scss/admin/tinymce.css create mode 100644 scss/app.scss create mode 100644 scss/mixins/_gradient.scss create mode 100644 scss/mixins/_off-canvas-arrow.scss create mode 100644 scss/plugins/_nextgen.scss create mode 100644 search.php create mode 100644 sidebar.php create mode 100644 single.php create mode 100644 style.css diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d39bac5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.DS_Store +/bower_components/* +/node_modules/* \ No newline at end of file diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..4c513e7 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,85 @@ +module.exports = function(grunt) { + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + + sass: { + options: { + includePaths: ['bower_components/foundation/scss'], + sourceMap: true + }, + dist: { + options: { + outputStyle: 'expanded' + }, + files: { + 'css/app.css': 'scss/app.scss' + } + } + }, + + copy: { + scripts: { + expand: true, + cwd: 'bower_components/', + src: '**/*.js', + dest: 'js' + }, + + maps: { + expand: true, + cwd: 'bower_components/', + src: '**/*.map', + dest: 'js' + } + }, + + uglify: { + dist: { + files: { + 'js/modernizr/modernizr.min.js': ['js/modernizr/modernizr.js'] + } + } + }, + + concat: { + options: { + separator: ';' + }, + dist: { + src: [ + 'js/dollarsign.js', + 'js/foundation/js/foundation.min.js', + 'js/custom/*.js', + ], + + dest: 'js/app.js' + } + + }, + + watch: { + grunt: { files: ['Gruntfile.js'] }, + + sass: { + files: 'scss/**/*.{scss,sass}', + tasks: ['sass'] + }, + + scripts: { + files: ['js/custom/*.js'], + tasks: ['concat', 'uglify'] + } + + } + }); + + grunt.loadNpmTasks('grunt-sass'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + + grunt.registerTask('build', ['sass', 'copy', 'uglify', 'concat']); + grunt.registerTask('runwatch', ['sass','uglify', 'concat']); + grunt.registerTask('default', ['runwatch','watch']); +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..bec84c1 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +# Gaslight Media Foundation Template + +This is a template to start your own project that uses Grunt and libsass! + +## Requirements + +You'll need to have the following items installed before continuing. + + * [Node.js](http://nodejs.org): Use the installer provided on the NodeJS website. + * [Grunt](http://gruntjs.com/): Run `[sudo] npm install -g grunt-cli` + * [Bower](http://bower.io): Run `[sudo] npm install -g bower` + +## Quickstart + +```bash +npm install && bower install +``` + +While you're working on your project, run: + +`grunt` + +And you're set! + +## Directory Structure + + * `scss/_settings.scss`: Foundation configuration settings go in here + * `scss/app.scss`: Application styles go here diff --git a/archive.php b/archive.php new file mode 100644 index 0000000..47d91e5 --- /dev/null +++ b/archive.php @@ -0,0 +1,47 @@ + +
+
id="interior"> + +
+
+
+ +
+
+
> +
+

+ Posted on +
+ +
+ $cat->name, 'slug' => $cat->slug ); + echo ', '. $cat->name .''; + } + echo '.'; + } + ?> +
+
+
+
+ + + +
+

+
+ +
+ +
+ diff --git a/assets/block-cell-phone.jpg b/assets/block-cell-phone.jpg new file mode 100644 index 0000000000000000000000000000000000000000..40f2b95235a317d04f721536b0e38ce7618d7d64 GIT binary patch literal 31850 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%0AxbfrP+_{%y`CiZPo4Vq=klRRY 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 literal 0 HcmV?d00001 diff --git a/assets/info-guide.png b/assets/info-guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a5274b655ab8ea377d100b0520f4216a24e84ecd GIT binary patch literal 18810 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%0A?{;0fuEdJc-Yr=+qnBUHVX|)u+Y2VEk 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

(xDFGWT+MH)U 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 T$8S*$k~~NNlx+Sh>XBBtr0VsGZ+Zs=qR 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 literal 0 HcmV?d00001 diff --git a/assets/weather-widget-bkgrd.jpg b/assets/weather-widget-bkgrd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..50299d572f874138c695d82890c60ef203a8dd94 GIT binary patch literal 46792 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ξ!R8T(7b-*Og@#*vx$+ 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 TPXxxa@BaV~r|H+4Ft7jFEa&`} literal 0 HcmV?d00001 diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..028481f --- /dev/null +++ b/bower.json @@ -0,0 +1,6 @@ +{ + "name": "foundation-libsass-template", + "dependencies": { + "foundation": "zurb/bower-foundation" + } +} diff --git a/css/app.css b/css/app.css new file mode 100644 index 0000000..3dc30c5 --- /dev/null +++ b/css/app.css @@ -0,0 +1,7427 @@ +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: #000000; + 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 -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: 0.9375rem; + padding-right: 0.9375rem; + width: 100%; + float: left; } + +.column + .column:last-child, .columns + .columns:last-child { + float: right; } +.column + .column.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.3333333333%; + right: auto; } + + .small-pull-1 { + position: relative; + right: 8.3333333333%; + left: auto; } + + .small-push-2 { + position: relative; + left: 16.6666666667%; + right: auto; } + + .small-pull-2 { + position: relative; + right: 16.6666666667%; + 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.3333333333%; + right: auto; } + + .small-pull-4 { + position: relative; + right: 33.3333333333%; + left: auto; } + + .small-push-5 { + position: relative; + left: 41.6666666667%; + right: auto; } + + .small-pull-5 { + position: relative; + right: 41.6666666667%; + 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.3333333333%; + right: auto; } + + .small-pull-7 { + position: relative; + right: 58.3333333333%; + left: auto; } + + .small-push-8 { + position: relative; + left: 66.6666666667%; + right: auto; } + + .small-pull-8 { + position: relative; + right: 66.6666666667%; + 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.3333333333%; + right: auto; } + + .small-pull-10 { + position: relative; + right: 83.3333333333%; + left: auto; } + + .small-push-11 { + position: relative; + left: 91.6666666667%; + right: auto; } + + .small-pull-11 { + position: relative; + right: 91.6666666667%; + left: auto; } + + .column, .columns { + position: relative; + padding-left: 0.9375rem; + padding-right: 0.9375rem; + float: left; } + + .small-1 { + width: 8.3333333333%; } + + .small-2 { + width: 16.6666666667%; } + + .small-3 { + width: 25%; } + + .small-4 { + width: 33.3333333333%; } + + .small-5 { + width: 41.6666666667%; } + + .small-6 { + width: 50%; } + + .small-7 { + width: 58.3333333333%; } + + .small-8 { + width: 66.6666666667%; } + + .small-9 { + width: 75%; } + + .small-10 { + width: 83.3333333333%; } + + .small-11 { + width: 91.6666666667%; } + + .small-12 { + width: 100%; } + + .small-offset-0 { + margin-left: 0 !important; } + + .small-offset-1 { + margin-left: 8.3333333333% !important; } + + .small-offset-2 { + margin-left: 16.6666666667% !important; } + + .small-offset-3 { + margin-left: 25% !important; } + + .small-offset-4 { + margin-left: 33.3333333333% !important; } + + .small-offset-5 { + margin-left: 41.6666666667% !important; } + + .small-offset-6 { + margin-left: 50% !important; } + + .small-offset-7 { + margin-left: 58.3333333333% !important; } + + .small-offset-8 { + margin-left: 66.6666666667% !important; } + + .small-offset-9 { + margin-left: 75% !important; } + + .small-offset-10 { + margin-left: 83.3333333333% !important; } + + .small-offset-11 { + margin-left: 91.6666666667% !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: 0.9375rem; + padding-right: 0.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.3333333333%; + right: auto; } + + .medium-pull-1 { + position: relative; + right: 8.3333333333%; + left: auto; } + + .medium-push-2 { + position: relative; + left: 16.6666666667%; + right: auto; } + + .medium-pull-2 { + position: relative; + right: 16.6666666667%; + 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.3333333333%; + right: auto; } + + .medium-pull-4 { + position: relative; + right: 33.3333333333%; + left: auto; } + + .medium-push-5 { + position: relative; + left: 41.6666666667%; + right: auto; } + + .medium-pull-5 { + position: relative; + right: 41.6666666667%; + 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.3333333333%; + right: auto; } + + .medium-pull-7 { + position: relative; + right: 58.3333333333%; + left: auto; } + + .medium-push-8 { + position: relative; + left: 66.6666666667%; + right: auto; } + + .medium-pull-8 { + position: relative; + right: 66.6666666667%; + 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.3333333333%; + right: auto; } + + .medium-pull-10 { + position: relative; + right: 83.3333333333%; + left: auto; } + + .medium-push-11 { + position: relative; + left: 91.6666666667%; + right: auto; } + + .medium-pull-11 { + position: relative; + right: 91.6666666667%; + left: auto; } + + .column, .columns { + position: relative; + padding-left: 0.9375rem; + padding-right: 0.9375rem; + float: left; } + + .medium-1 { + width: 8.3333333333%; } + + .medium-2 { + width: 16.6666666667%; } + + .medium-3 { + width: 25%; } + + .medium-4 { + width: 33.3333333333%; } + + .medium-5 { + width: 41.6666666667%; } + + .medium-6 { + width: 50%; } + + .medium-7 { + width: 58.3333333333%; } + + .medium-8 { + width: 66.6666666667%; } + + .medium-9 { + width: 75%; } + + .medium-10 { + width: 83.3333333333%; } + + .medium-11 { + width: 91.6666666667%; } + + .medium-12 { + width: 100%; } + + .medium-offset-0 { + margin-left: 0 !important; } + + .medium-offset-1 { + margin-left: 8.3333333333% !important; } + + .medium-offset-2 { + margin-left: 16.6666666667% !important; } + + .medium-offset-3 { + margin-left: 25% !important; } + + .medium-offset-4 { + margin-left: 33.3333333333% !important; } + + .medium-offset-5 { + margin-left: 41.6666666667% !important; } + + .medium-offset-6 { + margin-left: 50% !important; } + + .medium-offset-7 { + margin-left: 58.3333333333% !important; } + + .medium-offset-8 { + margin-left: 66.6666666667% !important; } + + .medium-offset-9 { + margin-left: 75% !important; } + + .medium-offset-10 { + margin-left: 83.3333333333% !important; } + + .medium-offset-11 { + margin-left: 91.6666666667% !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: 0.9375rem; + padding-right: 0.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.3333333333%; + right: auto; } + + .pull-1 { + position: relative; + right: 8.3333333333%; + left: auto; } + + .push-2 { + position: relative; + left: 16.6666666667%; + right: auto; } + + .pull-2 { + position: relative; + right: 16.6666666667%; + left: auto; } + + .push-3 { + position: relative; + left: 25%; + right: auto; } + + .pull-3 { + position: relative; + right: 25%; + left: auto; } + + .push-4 { + position: relative; + left: 33.3333333333%; + right: auto; } + + .pull-4 { + position: relative; + right: 33.3333333333%; + left: auto; } + + .push-5 { + position: relative; + left: 41.6666666667%; + right: auto; } + + .pull-5 { + position: relative; + right: 41.6666666667%; + left: auto; } + + .push-6 { + position: relative; + left: 50%; + right: auto; } + + .pull-6 { + position: relative; + right: 50%; + left: auto; } + + .push-7 { + position: relative; + left: 58.3333333333%; + right: auto; } + + .pull-7 { + position: relative; + right: 58.3333333333%; + left: auto; } + + .push-8 { + position: relative; + left: 66.6666666667%; + right: auto; } + + .pull-8 { + position: relative; + right: 66.6666666667%; + left: auto; } + + .push-9 { + position: relative; + left: 75%; + right: auto; } + + .pull-9 { + position: relative; + right: 75%; + left: auto; } + + .push-10 { + position: relative; + left: 83.3333333333%; + right: auto; } + + .pull-10 { + position: relative; + right: 83.3333333333%; + left: auto; } + + .push-11 { + position: relative; + left: 91.6666666667%; + right: auto; } + + .pull-11 { + position: relative; + right: 91.6666666667%; + 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.3333333333%; + right: auto; } + + .large-pull-1 { + position: relative; + right: 8.3333333333%; + left: auto; } + + .large-push-2 { + position: relative; + left: 16.6666666667%; + right: auto; } + + .large-pull-2 { + position: relative; + right: 16.6666666667%; + 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.3333333333%; + right: auto; } + + .large-pull-4 { + position: relative; + right: 33.3333333333%; + left: auto; } + + .large-push-5 { + position: relative; + left: 41.6666666667%; + right: auto; } + + .large-pull-5 { + position: relative; + right: 41.6666666667%; + 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.3333333333%; + right: auto; } + + .large-pull-7 { + position: relative; + right: 58.3333333333%; + left: auto; } + + .large-push-8 { + position: relative; + left: 66.6666666667%; + right: auto; } + + .large-pull-8 { + position: relative; + right: 66.6666666667%; + 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.3333333333%; + right: auto; } + + .large-pull-10 { + position: relative; + right: 83.3333333333%; + left: auto; } + + .large-push-11 { + position: relative; + left: 91.6666666667%; + right: auto; } + + .large-pull-11 { + position: relative; + right: 91.6666666667%; + left: auto; } + + .column, .columns { + position: relative; + padding-left: 0.9375rem; + padding-right: 0.9375rem; + float: left; } + + .large-1 { + width: 8.3333333333%; } + + .large-2 { + width: 16.6666666667%; } + + .large-3 { + width: 25%; } + + .large-4 { + width: 33.3333333333%; } + + .large-5 { + width: 41.6666666667%; } + + .large-6 { + width: 50%; } + + .large-7 { + width: 58.3333333333%; } + + .large-8 { + width: 66.6666666667%; } + + .large-9 { + width: 75%; } + + .large-10 { + width: 83.3333333333%; } + + .large-11 { + width: 91.6666666667%; } + + .large-12 { + width: 100%; } + + .large-offset-0 { + margin-left: 0 !important; } + + .large-offset-1 { + margin-left: 8.3333333333% !important; } + + .large-offset-2 { + margin-left: 16.6666666667% !important; } + + .large-offset-3 { + margin-left: 25% !important; } + + .large-offset-4 { + margin-left: 33.3333333333% !important; } + + .large-offset-5 { + margin-left: 41.6666666667% !important; } + + .large-offset-6 { + margin-left: 50% !important; } + + .large-offset-7 { + margin-left: 58.3333333333% !important; } + + .large-offset-8 { + margin-left: 66.6666666667% !important; } + + .large-offset-9 { + margin-left: 75% !important; } + + .large-offset-10 { + margin-left: 83.3333333333% !important; } + + .large-offset-11 { + margin-left: 91.6666666667% !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: 0.9375rem; + padding-right: 0.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.3333333333%; + right: auto; } + + .pull-1 { + position: relative; + right: 8.3333333333%; + left: auto; } + + .push-2 { + position: relative; + left: 16.6666666667%; + right: auto; } + + .pull-2 { + position: relative; + right: 16.6666666667%; + left: auto; } + + .push-3 { + position: relative; + left: 25%; + right: auto; } + + .pull-3 { + position: relative; + right: 25%; + left: auto; } + + .push-4 { + position: relative; + left: 33.3333333333%; + right: auto; } + + .pull-4 { + position: relative; + right: 33.3333333333%; + left: auto; } + + .push-5 { + position: relative; + left: 41.6666666667%; + right: auto; } + + .pull-5 { + position: relative; + right: 41.6666666667%; + left: auto; } + + .push-6 { + position: relative; + left: 50%; + right: auto; } + + .pull-6 { + position: relative; + right: 50%; + left: auto; } + + .push-7 { + position: relative; + left: 58.3333333333%; + right: auto; } + + .pull-7 { + position: relative; + right: 58.3333333333%; + left: auto; } + + .push-8 { + position: relative; + left: 66.6666666667%; + right: auto; } + + .pull-8 { + position: relative; + right: 66.6666666667%; + left: auto; } + + .push-9 { + position: relative; + left: 75%; + right: auto; } + + .pull-9 { + position: relative; + right: 75%; + left: auto; } + + .push-10 { + position: relative; + left: 83.3333333333%; + right: auto; } + + .pull-10 { + position: relative; + right: 83.3333333333%; + left: auto; } + + .push-11 { + position: relative; + left: 91.6666666667%; + right: auto; } + + .pull-11 { + position: relative; + right: 91.6666666667%; + 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: #222222; } + .accordion .accordion-navigation > a, .accordion dd > a { + background: #EFEFEF; + color: #222222; + 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: 0.9375rem; } + .accordion .accordion-navigation > .content.active, .accordion dd > .content.active { + background: #FFFFFF; + display: block; } + +.alert-box { + border-style: solid; + border-width: 1px; + display: block; + font-size: 0.8125rem; + font-weight: normal; + margin-bottom: 1.25rem; + padding: 0.875rem 1.5rem 0.875rem 0.875rem; + position: relative; + transition: opacity 300ms ease-out; + background-color: #008CBA; + border-color: #0078a0; + color: #FFFFFF; } + .alert-box .close { + right: 0.25rem; + background: inherit; + color: #333333; + font-size: 1.375rem; + line-height: 0.9; + margin-top: -0.6875rem; + opacity: 0.3; + padding: 0 6px 4px; + position: absolute; + top: 50%; } + .alert-box .close:hover, .alert-box .close:focus { + opacity: 0.5; } + .alert-box.radius { + border-radius: 3px; } + .alert-box.round { + border-radius: 1000px; } + .alert-box.success { + background-color: #43AC6A; + border-color: #3a945b; + color: #FFFFFF; } + .alert-box.alert { + background-color: #f04124; + border-color: #de2d0f; + color: #FFFFFF; } + .alert-box.secondary { + background-color: #e7e7e7; + border-color: #c7c7c7; + color: #4f4f4f; } + .alert-box.warning { + background-color: #f08a24; + border-color: #de770f; + color: #FFFFFF; } + .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 -0.625rem; } + [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 0.625rem 1.25rem; } + +@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-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-3 > li { + list-style: none; + width: 33.3333333333%; } + .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-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-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-6 > li { + list-style: none; + width: 16.6666666667%; } + .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-7 > li { + list-style: none; + width: 14.2857142857%; } + .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-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-9 > li { + list-style: none; + width: 11.1111111111%; } + .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-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-11 > li { + list-style: none; + width: 9.0909090909%; } + .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-12 > li { + list-style: none; + width: 8.3333333333%; } + .small-block-grid-12 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; } + } + +@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-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-3 > li { + list-style: none; + width: 33.3333333333%; } + .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-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-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-6 > li { + list-style: none; + width: 16.6666666667%; } + .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-7 > li { + list-style: none; + width: 14.2857142857%; } + .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-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-9 > li { + list-style: none; + width: 11.1111111111%; } + .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-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-11 > li { + list-style: none; + width: 9.0909090909%; } + .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-12 > li { + list-style: none; + width: 8.3333333333%; } + .medium-block-grid-12 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; } + } + +@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-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-3 > li { + list-style: none; + width: 33.3333333333%; } + .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-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-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-6 > li { + list-style: none; + width: 16.6666666667%; } + .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-7 > li { + list-style: none; + width: 14.2857142857%; } + .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-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-9 > li { + list-style: none; + width: 11.1111111111%; } + .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-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-11 > li { + list-style: none; + width: 9.0909090909%; } + .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-12 > li { + list-style: none; + width: 8.3333333333%; } + .large-block-grid-12 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; } + } + +.breadcrumbs { + border-style: solid; + border-width: 1px; + display: block; + list-style: none; + margin-left: 0; + overflow: hidden; + padding: 0.5625rem 0.875rem 0.5625rem; + background-color: #f4f4f4; + border-color: gainsboro; + border-radius: 3px; } + .breadcrumbs > * { + color: #008CBA; + float: left; + font-size: 0.6875rem; + line-height: 0.6875rem; + margin: 0; + text-transform: uppercase; } + .breadcrumbs > *:hover a, .breadcrumbs > *:focus a { + text-decoration: underline; } + .breadcrumbs > * a { + color: #008CBA; } + .breadcrumbs > *.current { + color: #333333; + cursor: default; } + .breadcrumbs > *.current a { + color: #333333; + cursor: default; } + .breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a { + text-decoration: none; } + .breadcrumbs > *.unavailable { + color: #999999; } + .breadcrumbs > *.unavailable a { + color: #999999; } + .breadcrumbs > *.unavailable:hover, .breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus, .breadcrumbs > *.unavailable a:focus { + color: #999999; + cursor: not-allowed; + text-decoration: none; } + .breadcrumbs > *:before { + color: #AAAAAA; + content: "/"; + margin: 0 0.75rem; + position: relative; + top: 1px; } + .breadcrumbs > *:first-child:before { + content: " "; + margin: 0; } + +/* Accessibility - hides the forward slash */ +[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: #FFFFFF; + 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: #FFFFFF; } + button.secondary, .button.secondary { + background-color: #e7e7e7; + border-color: #b9b9b9; + color: #333333; } + 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: #333333; } + button.success, .button.success { + background-color: #43AC6A; + border-color: #368a55; + color: #FFFFFF; } + 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: #FFFFFF; } + button.alert, .button.alert { + background-color: #f04124; + border-color: #cf2a0e; + color: #FFFFFF; } + 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: #FFFFFF; } + button.warning, .button.warning { + background-color: #f08a24; + border-color: #cf6e0e; + color: #FFFFFF; } + 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: #FFFFFF; } + button.info, .button.info { + background-color: #a0d3e8; + border-color: #61b6d9; + color: #333333; } + 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: #FFFFFF; } + button.large, .button.large { + padding: 1.125rem 2.25rem 1.1875rem 2.25rem; + font-size: 1.25rem; } + button.small, .button.small { + padding: 0.875rem 1.75rem 0.9375rem 1.75rem; + font-size: 0.8125rem; } + button.tiny, .button.tiny { + padding: 0.625rem 1.25rem 0.6875rem 1.25rem; + font-size: 0.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: 0.75rem; } + button.right-align, .button.right-align { + text-align: right; + padding-right: 0.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: #FFFFFF; + box-shadow: none; + cursor: default; + opacity: 0.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: #FFFFFF; } + 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: #333333; + box-shadow: none; + cursor: default; + opacity: 0.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: #333333; } + 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: #FFFFFF; + box-shadow: none; + cursor: default; + opacity: 0.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: #FFFFFF; } + 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: #FFFFFF; + box-shadow: none; + cursor: default; + opacity: 0.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: #FFFFFF; } + 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: #FFFFFF; + box-shadow: none; + cursor: default; + opacity: 0.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: #FFFFFF; } + 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: #333333; + box-shadow: none; + cursor: default; + opacity: 0.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: #FFFFFF; } + 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.3333333333%; } + .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.6666666667%; } + .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.2857142857%; } + .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: 0.625rem; } + .button-bar .button-group div { + overflow: hidden; } + +/* Clearing Styles */ +.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: #333333; + 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: #AAAAAA; + font-size: 0.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: #333333; + bottom: 0; + color: #CCCCCC; + font-size: 0.875em; + line-height: 1.3; + margin-bottom: 0; + padding: 10px 30px 20px; + position: absolute; + text-align: center; + width: 100%; + left: 0; } + +.clearing-close { + color: #CCCCCC; + display: none; + font-size: 30px; + line-height: 1; + padding-left: 20px; + padding-top: 10px; + z-index: 999; } + .clearing-close:hover, .clearing-close:focus { + color: #CCCCCC; } + +.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: 0.8; } + + .clearing-main-prev { + left: 0; } + .clearing-main-prev > span { + left: 5px; + border-color: transparent; + border-right-color: #CCCCCC; } + + .clearing-main-next { + right: 0; } + .clearing-main-next > span { + border-color: transparent; + border-left-color: #CCCCCC; } + + .clearing-main-prev.disabled, .clearing-main-next.disabled { + opacity: 0.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: 0.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: 0.8; } + .clearing-assembled .clearing-container .visible-img { + background: #333333; + height: 85%; + overflow: hidden; } + + .clearing-close { + padding-left: 0; + padding-top: 0; + position: absolute; + top: 10px; + right: 20px; } + } + +/* Foundation Dropdowns */ +.f-dropdown { + display: none; + left: -9999px; + list-style: none; + margin-left: 0; + position: absolute; + background: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.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 #FFFFFF 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 #cccccc 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: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.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 #FFFFFF 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 #cccccc 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: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.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 #FFFFFF; + 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 #cccccc; + 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: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.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: #FFFFFF 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: #cccccc 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: 0.875rem; + line-height: 1.125rem; + margin: 0; } + .f-dropdown li:hover, .f-dropdown li:focus { + background: #EEEEEE; } + .f-dropdown li a { + display: block; + padding: 0.5rem; + color: #555555; } + .f-dropdown.content { + display: none; + left: -9999px; + list-style: none; + margin-left: 0; + position: absolute; + background: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.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: #FFFFFF 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: 0.375rem; + right: 1.40625rem; + margin-top: -0.15625rem; } + .dropdown.button::after, button.dropdown::after { + border-color: #FFFFFF transparent transparent transparent; } + .dropdown.button.tiny, button.dropdown.tiny { + padding-right: 2.625rem; } + .dropdown.button.tiny:after, button.dropdown.tiny:after { + border-width: 0.375rem; + right: 1.125rem; + margin-top: -0.125rem; } + .dropdown.button.tiny::after, button.dropdown.tiny::after { + border-color: #FFFFFF transparent transparent transparent; } + .dropdown.button.small, button.dropdown.small { + padding-right: 3.0625rem; } + .dropdown.button.small::after, button.dropdown.small::after { + border-width: 0.4375rem; + right: 1.3125rem; + margin-top: -0.15625rem; } + .dropdown.button.small::after, button.dropdown.small::after { + border-color: #FFFFFF transparent transparent transparent; } + .dropdown.button.large, button.dropdown.large { + padding-right: 3.625rem; } + .dropdown.button.large::after, button.dropdown.large::after { + border-width: 0.3125rem; + right: 1.71875rem; + margin-top: -0.15625rem; } + .dropdown.button.large::after, button.dropdown.large::after { + border-color: #FFFFFF transparent transparent transparent; } + .dropdown.button.secondary:after, button.dropdown.secondary:after { + border-color: #333333 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; } + +/* Standard Forms */ +form { + margin: 0 0 1rem; } + +/* Using forms within rows, we need to set some defaults */ +form .row .row { + margin: 0 -0.5rem; } + form .row .row .column, form .row .row .columns { + padding: 0 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: 0.5rem; } + +/* Label Styles */ +label { + color: #4d4d4d; + cursor: pointer; + display: block; + font-size: 0.875rem; + font-weight: normal; + line-height: 1.5; + margin-bottom: 0; + /* Styles for required inputs */ } + label.right { + float: none !important; + text-align: right; } + label.inline { + margin: 0 0 1rem 0; + padding: 0.5625rem 0; } + label small { + text-transform: capitalize; + color: #676767; } + +/* Attach elements to the beginning or end of an input */ +.prefix, .postfix { + border-style: solid; + border-width: 1px; + display: block; + font-size: 0.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; } + +/* Adjust padding, alignment and radius if pre/post element is a button */ +.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; } + +/* Separate prefix and postfix styles when on span or label so buttons keep their own */ +span.prefix, label.prefix { + background: #f2f2f2; + border-right: none; + color: #333333; + border-color: #cccccc; } + +span.postfix, label.postfix { + background: #f2f2f2; + border-left: none; + color: #333333; + border-color: #cccccc; } + +/* We use this to get basic styling on all basic form elements */ +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: #FFFFFF; + border-style: solid; + border-width: 1px; + border-color: #cccccc; + 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: 0.875rem; + height: 2.3125rem; + margin: 0 0 1rem 0; + padding: 0.5rem; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: border-color 0.15s linear, background 0.15s linear; + -moz-transition: border-color 0.15s linear, background 0.15s linear; + -ms-transition: border-color 0.15s linear, background 0.15s linear; + -o-transition: border-color 0.15s linear, background 0.15s linear; + transition: border-color 0.15s linear, background 0.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: #999999; + 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: #DDDDDD; + 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: #DDDDDD; + 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; } + +/* Respect enforced amount of rows for textarea */ +textarea[rows] { + height: auto; } + +/* Not allow resize out of parent */ +textarea { + max-width: 100%; } + +::-webkit-input-placeholder { + color: #666666; } + +:-moz-placeholder { + /* Firefox 18- */ + color: #666666; } + +::-moz-placeholder { + /* Firefox 19+ */ + color: #666666; } + +:-ms-input-placeholder { + color: #666666; } + +/* Add height value for select elements to match text input height */ +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: #cccccc; + color: rgba(0, 0, 0, 0.75); + font-family: inherit; + font-size: 0.875rem; + line-height: normal; + padding: 0.5rem; + border-radius: 0; + height: 2.3125rem; } + select::-ms-expand { + display: none; } + select.radius { + border-radius: 3px; } + select:focus { + background-color: #f3f3f3; + border-color: #999999; } + select:disabled { + background-color: #DDDDDD; + cursor: default; } + select[multiple] { + height: auto; } + +/* Adjust margin for form elements below */ +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: 0.5rem; + margin-right: 1rem; + margin-bottom: 0; + vertical-align: baseline; } + +/* Normalize file input width */ +input[type="file"] { + width: 100%; } + +/* HTML5 Number spinners settings */ +/* We add basic fieldset styling */ +fieldset { + border: 1px solid #DDDDDD; + margin: 1.125rem 0; + padding: 1.25rem; } + fieldset legend { + font-weight: bold; + margin: 0; + margin-left: -0.1875rem; + padding: 0 0.1875rem; } + +/* Error Handling */ +[data-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-abide] small.error { + display: block; + font-size: 0.75rem; + font-style: italic; + font-weight: normal; + margin-bottom: 1rem; + margin-top: -1px; + padding: 0.375rem 0.5625rem 0.5625rem; + background: #f04124; + color: #FFFFFF; } +[data-abide] span.error, [data-abide] small.error { + display: none; } + +span.error, small.error { + display: block; + font-size: 0.75rem; + font-style: italic; + font-weight: normal; + margin-bottom: 1rem; + margin-top: -1px; + padding: 0.375rem 0.5625rem 0.5625rem; + background: #f04124; + color: #FFFFFF; } + +.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: 0.75rem; + font-style: italic; + font-weight: normal; + margin-bottom: 1rem; + margin-top: -1px; + padding: 0.375rem 0.5625rem 0.5625rem; + background: #f04124; + color: #FFFFFF; } +.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: #333333; } + .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: 0.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 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: 0.0625rem; + font-size: 1rem; } + .icon-bar > * i { + font-size: 1.875rem; } + .icon-bar > * img { + height: 1.875rem; + width: 1.875rem; } + .icon-bar > * label { + color: #FFFFFF; } + .icon-bar > * i { + color: #FFFFFF; } + .icon-bar > a:hover { + background: #008CBA; } + .icon-bar > a:hover label { + color: #FFFFFF; } + .icon-bar > a:hover i { + color: #FFFFFF; } + .icon-bar > a.active { + background: #008CBA; } + .icon-bar > a.active label { + color: #FFFFFF; } + .icon-bar > a.active i { + color: #FFFFFF; } + .icon-bar .item.disabled { + cursor: not-allowed; + opacity: 0.7; + pointer-events: none; } + .icon-bar .item.disabled > * { + opacity: 0.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; } + +/* Foundation Joyride */ +.joyride-list { + display: none; } + +/* Default styles for the container */ +.joyride-tip-guide { + background: #333333; + color: #FFFFFF; + 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; } + +/* Add a little css triangle pip, older browser just miss out on the fanciness of it */ +.joyride-tip-guide .joyride-nub { + border: 10px solid #333333; + display: block; + height: 0; + position: absolute; + width: 0; + left: 22px; } + .joyride-tip-guide .joyride-nub.top { + border-color: #333333; + 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: #333333 !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; } + +/* Typography */ +.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: #FFFFFF; + font-weight: bold; + line-height: 1.25; + margin: 0; } + +.joyride-tip-guide p { + font-size: 0.875rem; + line-height: 1.3; + margin: 0 0 1.125rem 0; } + +.joyride-timer-indicator-wrap { + border: solid 1px #555555; + bottom: 1rem; + height: 3px; + position: absolute; + width: 50px; + right: 1.0625rem; } + +.joyride-timer-indicator { + background: #666666; + display: block; + height: inherit; + width: 0; } + +.joyride-close-tip { + color: #777777 !important; + font-size: 24px; + font-weight: normal; + line-height: 0.5 !important; + position: absolute; + text-decoration: none; + top: 10px; + right: 12px; } + .joyride-close-tip:hover, .joyride-close-tip:focus { + color: #EEEEEE !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: #FFFFFF; + border-radius: 3px; + box-shadow: 0 0 15px #FFFFFF; + position: absolute; + z-index: 102; } + +.joyride-expose-cover { + background: transparent; + border-radius: 3px; + left: 0; + position: absolute; + top: 0; + z-index: 9999; } + +/* Styles for screens that are at least 768px; */ +@media only screen { + .joyride-tip-guide { + width: 300px; + left: inherit; } + .joyride-tip-guide .joyride-nub.bottom { + border-color: #333333 !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: #333333 !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: #333333 !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: #dddddd; + color: #222222; + border-style: solid; + border-width: 1px; + font-family: "Consolas", "Menlo", "Courier", monospace; + font-size: inherit; + margin: 0; + padding: 0.125rem 0.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: 0.25rem 0.5rem 0.25rem; + font-size: 0.6875rem; + background-color: #008CBA; + color: #FFFFFF; } + .label.radius { + border-radius: 3px; } + .label.round { + border-radius: 1000px; } + .label.alert { + background-color: #f04124; + color: #FFFFFF; } + .label.warning { + background-color: #f08a24; + color: #FFFFFF; } + .label.success { + background-color: #43AC6A; + color: #FFFFFF; } + .label.secondary { + background-color: #e7e7e7; + color: #333333; } + .label.info { + background-color: #a0d3e8; + color: #333333; } + +[data-magellan-expedition], [data-magellan-expedition-clone] { + background: #FFFFFF; + 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); } } + +/* Orbit Graceful Loading */ +.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: #555555 #FFFFFF; + 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: #FFFFFF; + font-size: 0.875rem; + padding: 0.625rem 0.875rem; + width: 100%; } + .orbit-container .orbit-slide-number { + left: 10px; + background: rgba(0, 0, 0, 0); + color: #FFFFFF; + font-size: 12px; + position: absolute; + top: 10px; + z-index: 10; } + .orbit-container .orbit-slide-number span { + font-weight: 700; + padding: 0.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 #FFFFFF; + 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: #FFFFFF; + right: -4px; } + .orbit-container .orbit-timer.paused > span.dark { + border-left-color: #333333; } + .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: #FFFFFF; } + .orbit-container .orbit-prev:hover > span { + border-right-color: #FFFFFF; } + .orbit-container .orbit-next { + right: 0; } + .orbit-container .orbit-next > span { + border-color: transparent; + border-left-style: solid; + border-left-color: #FFFFFF; + left: 50%; + margin-left: -4px; } + .orbit-container .orbit-next:hover > span { + border-left-color: #FFFFFF; } + +.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: #CCCCCC; + cursor: pointer; + display: inline-block; + float: none; + height: 0.5625rem; + margin-right: 6px; + width: 0.5625rem; + border-radius: 1000px; } + .orbit-bullets li.active { + background: #999999; } + .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: -0.3125rem; + min-height: 1.5rem; } + ul.pagination li { + color: #222222; + font-size: 0.875rem; + height: 1.5rem; + margin-left: 0.3125rem; } + ul.pagination li a, ul.pagination li button { + border-radius: 3px; + transition: background-color 300ms ease-out; + background: none; + color: #999999; + display: block; + font-size: 1em; + font-weight: normal; + line-height: inherit; + padding: 0.0625rem 0.625rem 0.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: #999999; + 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: #FFFFFF; + 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 centred wrapper */ +.pagination-centered { + text-align: center; } + .pagination-centered ul.pagination li { + display: inline-block; + float: none; } + +/* Panels */ +.panel { + border-style: solid; + border-width: 1px; + border-color: #d8d8d8; + margin-bottom: 1.25rem; + padding: 1.25rem; + background: #f2f2f2; + color: #333333; } + .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: #333333; } + .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 { + line-height: 1; + margin-bottom: 0.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: #333333; } + .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: #333333; } + .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6 { + line-height: 1; + margin-bottom: 0.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 Tables */ +.pricing-table { + border: solid 1px #DDDDDD; + margin-left: 0; + margin-bottom: 1.25rem; } + .pricing-table * { + list-style: none; + line-height: 1; } + .pricing-table .title { + background-color: #333333; + color: #EEEEEE; + font-family: "Open Sans", sans-serif; + font-size: 1rem; + font-weight: normal; + padding: 0.9375rem 1.25rem; + text-align: center; } + .pricing-table .price { + background-color: #F6F6F6; + color: #333333; + font-family: "Open Sans", sans-serif; + font-size: 2rem; + font-weight: normal; + padding: 0.9375rem 1.25rem; + text-align: center; } + .pricing-table .description { + background-color: #FFFFFF; + border-bottom: dotted 1px #DDDDDD; + color: #777777; + font-size: 0.75rem; + font-weight: normal; + line-height: 1.4; + padding: 0.9375rem; + text-align: center; } + .pricing-table .bullet-item { + background-color: #FFFFFF; + border-bottom: dotted 1px #DDDDDD; + color: #333333; + font-size: 0.875rem; + font-weight: normal; + padding: 0.9375rem; + text-align: center; } + .pricing-table .cta-button { + background-color: #FFFFFF; + padding: 1.25rem 1.25rem 0; + text-align: center; } + +/* Progress Bar */ +.progress { + background-color: #F6F6F6; + border: 1px solid white; + height: 1.5625rem; + margin-bottom: 0.625rem; + padding: 0.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 #DDDDDD; + 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 #DDDDDD; + 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: -0.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: 0.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: 0.7; } + .range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle { + background: #008CBA; + cursor: default; + opacity: 0.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: 0.875rem; + position: absolute; } + +.range-slider-handle { + border: 1px solid none; + cursor: pointer; + display: inline-block; + height: 1.375rem; + position: absolute; + top: -0.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: #000000; + 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: #FFFFFF; + padding: 1.875rem; + border: solid 1px #666666; + 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: #AAAAAA; + cursor: pointer; + font-size: 2.5rem; + font-weight: bold; + line-height: 1; + position: absolute; + top: 0.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: 0.875rem 0; } + .side-nav li { + font-size: 0.875rem; + font-weight: normal; + margin: 0 0 0.4375rem 0; } + .side-nav li a:not(.button) { + color: #008CBA; + display: block; + margin: 0; + padding: 0.4375rem 0.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: 0.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: 0.375rem; + margin-left: -0.375rem; + top: 48%; } + .split.button span:after { + border-color: #FFFFFF transparent transparent transparent; } + .split.button.secondary span { + border-left-color: rgba(255, 255, 255, 0.5); } + .split.button.secondary span:after { + border-color: #FFFFFF 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: 0.375rem; + margin-left: -0.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: 0.4375rem; + margin-left: -0.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: 0.3125rem; + margin-left: -0.375rem; + top: 48%; } + .split.button.expand { + padding-left: 2rem; } + .split.button.secondary span:after { + border-color: #333333 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: -0.25rem 0 1.125rem; + overflow: hidden; + padding-top: 0.25rem; + width: auto; } + .sub-nav dt { + text-transform: uppercase; } + .sub-nav dt, .sub-nav dd, .sub-nav li { + color: #999999; + float: left; + font-family: "Open Sans", sans-serif; + font-size: 0.875rem; + font-weight: normal; + margin-left: 1rem; + margin-bottom: 0; } + .sub-nav dt a, .sub-nav dd a, .sub-nav li a { + color: #999999; + padding: 0.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: #FFFFFF; + cursor: default; + font-weight: normal; + padding: 0.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: #DDDDDD; + color: transparent; + cursor: pointer; + display: block; + margin-bottom: 1rem; + position: relative; + text-indent: 100%; + width: 4rem; + height: 2rem; + transition: left 0.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: #FFFFFF; + content: ""; + display: block; + height: 1.5rem; + left: 0.25rem; + position: absolute; + top: 0.25rem; + width: 1.5rem; + -webkit-transition: left 0.15s ease-out; + -moz-transition: left 0.15s ease-out; + -o-transition: translate3d(0, 0, 0); + transition: left 0.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: #DDDDDD; } + .switch label:after { + background: #FFFFFF; } + .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: #FFFFFF; + border: solid 1px #DDDDDD; + margin-bottom: 1.25rem; + table-layout: auto; } + table caption { + background: transparent; + color: #222222; + font-size: 1rem; + font-weight: bold; } + table thead { + background: #F5F5F5; } + table thead tr th, table thead tr td { + color: #222222; + font-size: 0.875rem; + font-weight: bold; + padding: 0.5rem 0.625rem 0.625rem; } + table tfoot { + background: #F5F5F5; } + table tfoot tr th, table tfoot tr td { + color: #222222; + font-size: 0.875rem; + font-weight: bold; + padding: 0.5rem 0.625rem 0.625rem; } + table tr th, table tr td { + color: #222222; + font-size: 0.875rem; + padding: 0.5625rem 0.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: #222222; + 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: #FFFFFF; + color: #222222; } + .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: 0.9375rem 0; + width: 100%; } + .tabs-content > .content.active { + display: block; + float: none; } + .tabs-content > .content.contained { + padding: 0.9375rem; } + .tabs-content.vertical { + display: block; } + .tabs-content.vertical > .content { + padding: 0 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; } + +/* Image Thumbnails */ +.th { + border: solid 4px #FFFFFF; + 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; } + +/* Tooltips */ +.has-tip { + border-bottom: dotted 1px #CCCCCC; + color: #333333; + 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: #333333; + color: #FFFFFF; + display: none; + font-size: 0.875rem; + font-weight: normal; + line-height: 1.3; + max-width: 300px; + padding: 0.75rem; + position: absolute; + width: 100%; + z-index: 1006; + left: 50%; } + .tooltip > .nub { + border: solid 5px; + border-color: transparent transparent #333333 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: #777777; + display: block; + font-size: 0.625rem; + font-weight: normal; } + +@media only screen { + .tooltip > .nub { + border-color: transparent transparent #333333 transparent; + top: -10px; } + .tooltip.tip-top > .nub { + border-color: #333333 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 #333333; + left: auto; + margin-top: -5px; + right: -10px; + top: 50%; } + .tooltip.tip-right > .nub { + border-color: transparent #333333 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; } + +/* Wrapped around .top-bar to contain to grid width */ +.contain-to-grid { + width: 100%; + background: #333333; } + .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: 3.8125rem; + z-index: 98; } + +.top-bar { + background: #333333; + height: 3.8125rem; + line-height: 3.8125rem; + 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: 0.75rem; + height: 1.75rem; + padding-bottom: 0.35rem; + padding-top: 0.35rem; } + .top-bar .button, .top-bar button { + font-size: 0.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: 3.8125rem; + 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: 3.8125rem; + 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: #FFFFFF; + display: block; + font-weight: normal; + padding: 0 1.2708333333rem; + width: 75%; } + .top-bar .toggle-topbar { + position: absolute; + right: 0; + top: 0; } + .top-bar .toggle-topbar a { + color: #FFFFFF; + display: block; + font-size: 0.8125rem; + font-weight: bold; + height: 3.8125rem; + line-height: 3.8125rem; + padding: 0 1.2708333333rem; + position: relative; + text-transform: uppercase; } + .top-bar .toggle-topbar.menu-icon { + margin-top: -16px; + top: 50%; } + .top-bar .toggle-topbar.menu-icon a { + color: #FFFFFF; + height: 34px; + line-height: 33px; + padding: 0 2.8333333333rem 0 1.2708333333rem; + position: relative; } + .top-bar .toggle-topbar.menu-icon a span::after { + content: ""; + display: block; + height: 0; + position: absolute; + margin-top: -8px; + top: 50%; + right: 1.2708333333rem; + box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF; + 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: #333333; } + .top-bar.expanded .toggle-topbar a { + color: #888888; } + .top-bar.expanded .toggle-topbar a span::after { + box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888; } + @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: #FFFFFF; } + .top-bar-section ul li > a { + color: #FFFFFF; + display: block; + font-family: "Open Sans", sans-serif; + font-size: 1.25rem; + font-weight: normal; + padding-left: 1.2708333333rem; + padding: 12px 0 12px 1.2708333333rem; + text-transform: none; + width: 100%; } + .top-bar-section ul li > a.button { + font-size: 1.25rem; + padding-left: 1.2708333333rem; + padding-right: 1.2708333333rem; + background-color: #008CBA; + border-color: #007095; + color: #FFFFFF; } + .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: #FFFFFF; } + .top-bar-section ul li > a.button.secondary { + background-color: #e7e7e7; + border-color: #b9b9b9; + color: #333333; } + .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: #333333; } + .top-bar-section ul li > a.button.success { + background-color: #43AC6A; + border-color: #368a55; + color: #FFFFFF; } + .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: #FFFFFF; } + .top-bar-section ul li > a.button.alert { + background-color: #f04124; + border-color: #cf2a0e; + color: #FFFFFF; } + .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: #FFFFFF; } + .top-bar-section ul li > a.button.warning { + background-color: #f08a24; + border-color: #cf6e0e; + color: #FFFFFF; } + .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: #FFFFFF; } + .top-bar-section ul li > a.button.info { + background-color: #a0d3e8; + border-color: #61b6d9; + color: #333333; } + .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: #FFFFFF; } + .top-bar-section ul li > button { + font-size: 1.25rem; + padding-left: 1.2708333333rem; + padding-right: 1.2708333333rem; + background-color: #008CBA; + border-color: #007095; + color: #FFFFFF; } + .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: #FFFFFF; } + .top-bar-section ul li > button.secondary { + background-color: #e7e7e7; + border-color: #b9b9b9; + color: #333333; } + .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: #333333; } + .top-bar-section ul li > button.success { + background-color: #43AC6A; + border-color: #368a55; + color: #FFFFFF; } + .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: #FFFFFF; } + .top-bar-section ul li > button.alert { + background-color: #f04124; + border-color: #cf2a0e; + color: #FFFFFF; } + .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: #FFFFFF; } + .top-bar-section ul li > button.warning { + background-color: #f08a24; + border-color: #cf6e0e; + color: #FFFFFF; } + .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: #FFFFFF; } + .top-bar-section ul li > button.info { + background-color: #a0d3e8; + border-color: #61b6d9; + color: #333333; } + .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: #FFFFFF; } + .top-bar-section ul li:hover:not(.has-form) > a { + background-color: #131c5f; + color: #FFFFFF; + background: #131c5f; } + .top-bar-section ul li.active > a { + background: #FFFFFF; + color: #FFFFFF; } + .top-bar-section ul li.active > a:hover { + background: #0078a0; + color: #FFFFFF; } + .top-bar-section .has-form { + padding: 1.2708333333rem; } + .top-bar-section .has-dropdown { + position: relative; } + .top-bar-section .has-dropdown > a:after { + margin-right: 1.2708333333rem; + 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 1.2708333333rem; } + .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: #FFFFFF; + 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 1.2708333333rem; } + .top-bar-section .dropdown li .button, .top-bar-section .dropdown li button { + top: auto; } + .top-bar-section .dropdown label { + color: #777777; + font-size: 0.625rem; + font-weight: bold; + margin-bottom: 0; + padding: 8px 1.2708333333rem 2px; + text-transform: uppercase; } + +.js-generated { + display: block; } + +@media only screen and (min-width:40.063em) { + .top-bar { + background: #333333; + 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: 0.875rem; + height: 1.75rem; + position: relative; + top: 1.03125rem; } + .top-bar .has-form > .button, .top-bar .has-form > button { + font-size: 0.875rem; + height: 1.75rem; + position: relative; + top: 1.03125rem; } + .top-bar.expanded { + background: #333333; } + + .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: #131c5f; + background: #131c5f; + color: #FFFFFF; } + .top-bar-section li:not(.has-form) a:not(.button) { + background: #333333; + line-height: 3.8125rem; + padding: 0 1.2708333333rem; } + .top-bar-section li:not(.has-form) a:not(.button):hover { + background-color: #131c5f; + background: #131c5f; } + .top-bar-section li.active:not(.has-form) a:not(.button) { + background: #FFFFFF; + color: #FFFFFF; + line-height: 3.8125rem; + padding: 0 1.2708333333rem; } + .top-bar-section li.active:not(.has-form) a:not(.button):hover { + background: #0078a0; + color: #FFFFFF; } + .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 .has-dropdown .dropdown li.has-dropdown > a:after { + border: none; + content: "\00bb"; + top: 0.1875rem; + right: 5px; } + .top-bar-section .dropdown { + left: 0; + background: transparent; + min-width: 100%; + top: auto; } + .top-bar-section .dropdown li a { + background: #FFFFFF; + color: #000000; + line-height: 3.8125rem; + padding: 12px 1.2708333333rem; + white-space: nowrap; } + .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) { + background: #FFFFFF; + color: #000000; } + .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) { + background-color: #131c5f; + color: #008752; + background: #FFFFFF; } + .top-bar-section .dropdown li label { + background: #333333; + 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: 3.8125rem; + width: 0; } + .top-bar-section .has-form { + background: #333333; + height: 3.8125rem; + padding: 0 1.2708333333rem; } + .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: #131c5f; + background: #131c5f; + color: #FFFFFF; } + .no-js .top-bar-section ul li:active > a { + background: #FFFFFF; + color: #FFFFFF; } + .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; } + } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td { + margin: 0; + padding: 0; } + +/* Default Link Styles */ +a { + color: #008CBA; + line-height: inherit; + text-decoration: none; } + a:hover, a:focus { + color: #0078a0; } + a img { + border: none; } + +/* Default paragraph styles */ +p { + font-family: inherit; + font-size: 0.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: 0.875rem; + font-style: italic; + line-height: 1.35; } + +/* Default header styles */ +h1, h2, h3, h4, h5, h6 { + color: #222222; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: normal; + line-height: 1.4; + margin-bottom: 0.5rem; + margin-top: 0.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: 1.4375rem; } + +h2 { + font-size: 1.125rem; } + +h3 { + font-size: 1.0625rem; } + +h4 { + font-size: 1rem; } + +h5 { + font-size: 1rem; } + +h6 { + font-size: 1rem; } + +.subheader { + line-height: 1.4; + color: #6f6f6f; + font-weight: normal; + margin-top: 0.2rem; + margin-bottom: 0.5rem; } + +hr { + border: solid #DDDDDD; + border-width: 1px 0 0; + clear: both; + height: 0; + margin: 1.25rem 0 1.1875rem; } + +/* Helpful Typography Defaults */ +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: #333333; + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-weight: normal; + padding: 0.125rem 0.3125rem 0.0625rem; } + +/* Lists */ +ul, ol, dl { + font-family: inherit; + font-size: 0.875rem; + line-height: 1.6; + list-style-position: outside; + margin-bottom: 1.25rem; } + +ul { + margin-left: 1.1rem; } + +/* Unordered Lists */ +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; } + +/* Ordered Lists */ +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; } + +/* Definition Lists */ +dl dt { + margin-bottom: 0.3rem; + font-weight: bold; } +dl dd { + margin-bottom: 0.75rem; } + +/* Abbreviations */ +abbr, acronym { + text-transform: uppercase; + font-size: 90%; + color: #000000; + cursor: help; } + +abbr { + text-transform: none; } + abbr[title] { + border-bottom: 1px dotted #DDDDDD; } + +/* Blockquotes */ +blockquote { + margin: 0 0 1.25rem; + padding: 0.5625rem 1.25rem 0 1.1875rem; + border-left: 1px solid #DDDDDD; } + blockquote cite { + display: block; + font-size: 0.8125rem; + color: #555555; } + blockquote cite:before { + content: "\2014 \0020"; } + blockquote cite a, blockquote cite a:visited { + color: #555555; } + +blockquote, blockquote p { + line-height: 1.6; + color: #6f6f6f; } + +/* Microformats */ +.vcard { + display: inline-block; + margin: 0 0 1.25rem 0; + border: 1px solid #DDDDDD; + padding: 0.625rem 0.75rem; } + .vcard li { + margin: 0; + display: block; } + .vcard .fn { + font-weight: bold; + font-size: 0.9375rem; } + +.vevent .summary { + font-weight: bold; } +.vevent abbr { + cursor: default; + text-decoration: none; + font-weight: bold; + border: none; + padding: 0 0.0625rem; } + +@media only screen and (min-width:40.063em) { + h1, h2, h3, h4, h5, h6 { + line-height: 1.4; } + + h1 { + font-size: 1.75rem; } + + h2 { + font-size: 1.125rem; } + + h3 { + font-size: 1.0625rem; } + + h4 { + font-size: 1rem; } + + h5 { + font-size: 1rem; } + + h6 { + font-size: 1rem; } + } + +/* + * Print styles. + * + * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ + * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com) + */ +@media print { + * { + background: transparent !important; + color: #000000 !important; + /* Black prints faster: h5bp.com/s */ + 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 #999999; + page-break-inside: avoid; } + + thead { + display: table-header-group; + /* h5bp.com/t */ } + + tr, img { + page-break-inside: avoid; } + + img { + max-width: 100% !important; } + + @page { + margin: 0.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: #0093d1; + color: #FFFFFF; + 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: #FFFFFF; + font-weight: bold; + line-height: 2.8125rem; + margin: 0; } + .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 { + font-size: 1rem; } + +.left-small { + height: 2.8125rem; + position: absolute; + top: 0; + width: 2.8125rem; + border-right: solid 1px #004a69; + left: 0; } + +.right-small { + height: 2.8125rem; + position: absolute; + top: 0; + width: 2.8125rem; + border-left: solid 1px #004a69; + right: 0; } + +.tab-bar-section { + height: 2.8125rem; + padding: 0 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: #FFFFFF; + display: block; + height: 2.8125rem; + padding: 0; + position: relative; + text-indent: 2.1875rem; + 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: -0.5rem; + left: 0.90625rem; + box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF; + 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: #0093d1; + 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: #0093d1; + 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: #0093d1; + 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: #0093d1; + 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: #444444; + border-bottom: none; + border-top: 1px solid #5e5e5e; + color: #999999; + display: block; + font-size: 0.75rem; + font-weight: bold; + margin: 0; + padding: 0.3rem 0.9375rem; + text-transform: uppercase; } + ul.off-canvas-list li a { + border-bottom: 1px solid #006e9d; + color: rgba(255, 255, 255, 0.7); + display: block; + padding: 0.6666666667rem; + transition: background 300ms ease; } + ul.off-canvas-list li a:hover { + background: #006792; } + ul.off-canvas-list li a:active { + background: #006792; } + +.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: rgba(0, 0, 0, 0); + 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: rgba(0, 0, 0, 0); + 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: rgba(0, 0, 0, 0); + 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: rgba(0, 0, 0, 0); + 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: rgba(0, 0, 0, 0); + 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: rgba(0, 0, 0, 0); + 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: rgba(0, 0, 0, 0); + 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: rgba(0, 0, 0, 0); + 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: rgba(0, 0, 0, 0); + 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: #0093d1; + 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: #999999; + font-weight: bold; + padding: 0.3rem 0.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: 0.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: #0093d1; + 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: #999999; + font-weight: bold; + padding: 0.3rem 0.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: 0.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: #0093d1; + 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: #999999; + font-weight: bold; + padding: 0.3rem 0.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: #0093d1; + 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: #999999; + font-weight: bold; + padding: 0.3rem 0.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: 0.5rem; + display: inline; } + +.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before { + content: "\AB"; + margin-right: 0.5rem; + display: inline; } + +/* small displays */ +@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; } + } + +/* medium displays */ +@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; } + } + +/* large displays */ +@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; } + } + +/* xlarge displays */ +@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; } + } + +/* xxlarge displays */ +@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; } + } + +/* Orientation targeting */ +.show-for-landscape, .hide-for-portrait { + display: inherit !important; } + +.hide-for-landscape, .show-for-portrait { + display: none !important; } + +/* Specific visibility for tables */ +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; } + + /* Specific visibility for tables */ + 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; } + + /* Specific visibility for tables */ + 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; } + } + +/* Touch-enabled device targeting */ +.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; } + +/* Specific visibility for tables */ +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; } + +/* Screen reader-specific classes */ +.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 visibility */ +.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; } + } + +/* + Created on : Mar 5, 2015, 2:57:35 PM + Author : laury +*/ +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: 0.4375rem 2.1875rem 0.4375rem 0; } + +blockquote.alignright, img.alignright, .wp-caption.alignright { + margin: 0.4375rem 0 0.4375rem 2.1875rem; } + +img.alignleft { + padding: 0; + display: inline; } + +img.alignleft, img.alignright, img.aligncenter, img.alignnone, div.wp-caption img { + border: 1px solid #555555; } + +.alignright { + float: right; } + +.alignnone { + float: none; } + +.alignleft { + float: left; } + +.wp-caption { + background: #555555; + width: auto; } + +.wp-caption-text { + font-family: Open Sans, sans-serif; + font-size: 9px; + color: #FFFFFF; + 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 0em, 40em { + 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 40.063em, 64em { + 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; } + .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; + /* -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; } + #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%); } + +#blog-side-info { + border-left: 1px solid grey; + margin-top: 30px; + padding-left: 20px; } + @media only screen and (max-width: 40em) { + #blog-side-info { + text-align: center; } } + +h1, h2, h3, h4, h5, h6 { + clear: both; } + +/* PLUGINS */ +/* Nextgen */ +.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: Georgia, 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 */ +.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: #FFFFFF; + 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: #FFFFFF; } + +/* For fixing cellphones not showing phone numbers because of /helpful/ auto-coloring */ +a[href^=tel] { + color: inherit; + text-decoration: none; } + +body { + background: url(../assets/bkgrd.jpg) no-repeat fixed; + background-size: cover; } + body .shadow-wrapper { + margin: 0 auto; + background: #FFFFFF; + box-shadow: 0 0 15px -6px #000000; + -ms-box-shadow: 0 0 15px -6px #000000; + -moz-box-shadow: 0 0 15px -6px #000000; + -webkit-box-shadow: 0 0 15px -6px #000000; + max-width: 1000px; + padding-top: 1.25rem; } + +header { + height: auto; } + header #logo img { + margin-bottom: 15px; } + header .search input { + height: 20px; + width: 167px; + padding: 0 8px; + margin: 13px 0px 0px 18px; + border-radius: 3px; + font-size: 10px; + color: #000000; + display: inline-block; } + header .search a.magnifying-glass { + font-size: 10em; + /* This controls the size. */ + display: inline-block; + width: 0.625rem; + height: 0.625rem; + border: 0.125rem solid #131c5f; + position: relative; + border-radius: 0.35em; + margin: 0 0 0 -25px; } + header .search a.magnifying-glass:before { + content: ""; + display: inline-block; + position: absolute; + right: -0.4375rem; + bottom: -0.25rem; + border-width: 0; + background: #131c5f; + width: 0.5rem; + height: 0.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: #131c5f; + padding: 0 5px; + font-weight: bold; } + header #sec-nav > ul > li { + position: relative; } + header #sec-nav > ul > li:before { + color: #999999; + 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 img { + margin-left: 5px; } + header .social { + margin-top: -25px; + padding-right: 0; } + header .social a { + float: right; + margin: 0 5px; } + header .social a img { + margin: 0; } + +.contain-to-grid { + box-shadow: 0 5px 10px -1px #999999; } + .contain-to-grid .top-bar { + height: 73px; + box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.5); + margin-bottom: 10px; } + +.tab-bar .tab-bar-section.middle { + text-align: right; } + +.top-bar-section { + background: transparent; + float: none; + margin-left: auto; + margin-right: auto; + display: inline-block; + height: auto; + line-height: 1; } + .top-bar-section ul li { + background: none; + padding: 12px 0; + border-left: 2px solid #FFFFFF; + max-width: 166.5px; + line-height: 1.25; } + .top-bar-section ul li:first-child { + border: none; } + .top-bar-section ul li:hover { + background: #FFFFFF; } + .top-bar-section ul li a { + text-align: center; + padding: 0 20px; + font-size: 20px; + font-weight: bold; + color: #FFFFFF; } + .top-bar-section ul li a:hover { + color: #131c5f; + text-shadow: 0 0 1px #131c5f; + text-shadow: 1 0 1px #131c5f; + text-shadow: 0 1 1px #131c5f; + text-shadow: -1 0 1px #131c5f; + text-shadow: 0 -1 1px #131c5f; } + .top-bar-section ul li:not(.has-form):not(.active) > a:not(.button) { + background: transparent; } + .top-bar-section ul li.drop-left ul.dropdown { + padding-left: 21px; + padding-right: 250px; + top: 74px; + background: #FFFFFF; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; + min-width: 500px; + box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + -ms-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); } + .top-bar-section ul li.drop-left ul.dropdown li { + white-space: nowrap; + border-bottom: 1px solid #e7e7e8; + padding: 5px 0; } + .top-bar-section ul li.drop-left ul.dropdown li.nav-img-container { + border: none; } + .top-bar-section ul li.drop-left ul.dropdown li.nav-img-container img { + position: absolute; + right: 20px; + top: 23px; + border: 6px solid #fdefd4; } + .top-bar-section ul li.drop-left ul.dropdown li a { + padding-left: 0; + text-align: left; + font-size: 18px; } + .top-bar-section ul li.drop-left ul.dropdown li a:hover { + color: #131c5f; + text-shadow: 0 0 1px #008752; + text-shadow: 1 0 1px #008752; + text-shadow: 0 1 1px #008752; + text-shadow: -1 0 1px #008752; + text-shadow: 0 -1 1px #008752; } + .top-bar-section ul li.drop-right ul.dropdown { + padding-left: 250px; + padding-right: 21px; + right: -1%; + left: auto; + top: 74px; + background: #FFFFFF; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; + min-width: 500px; + box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + -ms-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); } + .top-bar-section ul li.drop-right ul.dropdown li { + white-space: nowrap; + background: #FFFFFF; + text-align: right; + border-bottom: 1px solid #e7e7e8; + padding: 5px 0; } + .top-bar-section ul li.drop-right ul.dropdown li.nav-img-container { + border: none; } + .top-bar-section ul li.drop-right ul.dropdown li.nav-img-container img { + position: absolute; + left: 20px; + top: 23px; + border: 6px solid #fdefd4; } + .top-bar-section ul li.drop-right ul.dropdown li a { + padding-left: 0; + text-align: left; + font-size: 18px; } + .top-bar-section ul li.drop-right ul.dropdown li a:hover { + color: #131c5f; + text-shadow: 0 0 1px #008752; + text-shadow: 1 0 1px #008752; + text-shadow: 0 1 1px #008752; + text-shadow: -1 0 1px #008752; + text-shadow: 0 -1 1px #008752; } + +.breadcrumbs { + margin-top: 10px; } + +#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; } + +#slideshow { + border-bottom: 5px solid #131c5f; + margin-top: -10px; } + #slideshow #caption { + background: rgba(0, 0, 0, 0.75); + color: #FFFFFF; + margin-top: -51px; } + #slideshow #caption p { + padding: 10px 5px; + font-size: 12px; + margin: 0; + text-align: right; } + +/* NextGen Gallery */ +.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: Georgia, 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 */ +.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: #FFFFFF; + 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: #FFFFFF; } + +/* End NextGen Gallery */ +#front { + padding: 20px; } + #front .row.collapse h1 { + border-bottom: 1px solid #d1d2d4; } + #front .row.collapse .row { + margin-bottom: 20px; } + #front .row.collapse .row img { + margin-top: 5px; + border: 3px solid #FFFFFF; + -webkit-box-shadow: 0px 0px 5px 0px #ababab; + -moz-box-shadow: 0px 0px 5px 0px #ababab; + -ms-box-shadow: 0px 0px 5px 0px #ababab; + box-shadow: 0px 0px 5px 0px #ababab; } + #front .row.collapse .row .detail { + padding-left: 40px; + margin: 0 auto; } + #front .row.collapse .row .detail h2 { + margin: 0; } + #front .row.collapse .row .detail p { + font-size: 0.75rem; + margin: 0; } + #front .row.collapse .row .detail a { + font-size: 0.75rem; } + #front .row.collapse .row.collapse img { + margin-left: 15px; + margin-top: 5px; + border: 3px solid #FFFFFF; + -webkit-box-shadow: 0px 0px 5px 0px #ababab; + -moz-box-shadow: 0px 0px 5px 0px #ababab; + -ms-box-shadow: 0px 0px 5px 0px #ababab; + box-shadow: 0px 0px 5px 0px #ababab; } + #front .row.collapse h4 { + line-height: 1.3; } + #front .row.collapse ul { + list-style: none; + margin: 10px 0; } + #front .row.collapse ul li { + font-size: 0.625rem; + color: grey; + padding: 0 0 5px; } + #front .row.collapse ul li a { + font-size: 0.6875rem; } + #front .row.collapse ul li a.more { + color: darkblue; + font-weight: bold; + text-transform: uppercase; } + #front .row.collapse #video { + padding: 0; + margin-top: 30px; + float: left; } + #front .row.collapse #video h2 { + margin-top: 20px; + font-size: 1.125rem; } + @media only screen and (min-width:40.063em) and (max-width:64em) { + #front .row.collapse #video h2 { + margin-top: 15px; } } + @media only screen and (max-width: 40em) { + #front .row.collapse #video h2 { + margin: 0; } } + #front .row.collapse #video a { + font-size: 12px; } + #front .row.collapse #video img { + margin-left: 25px; } + @media only screen and (max-width: 40em) { + #front .row.collapse #video img { + margin: 0; } } + +.home-feed-post { + padding-bottom: 25px; } + @media only screen and (max-width: 40em) { + .home-feed-post > * { + text-align: center; } + } + +input[type="submit"].blogbutton { + border-radius: 3px; + color: #FFFFFF; + border: 2px solid #FFFFFF; + font-weight: bold; + font-size: 13px; + padding: 2px 5px; + margin-top: -10px; + text-transform: uppercase; } + input[type="submit"].blogbutton:hover { + cursor: pointer; + background: #FFFFFF; + border: 2px solid #035C84; + color: white; } + +#blog-posts-over article { + padding-top: 10px; + margin-bottom: 15px; + display: inline-block; + width: 100%; } + #blog-posts-over article .entry-header { + background: transparent; } + #blog-posts-over article p { + padding-bottom: 15px; } + #blog-posts-over article a.read-more { + border: 2px solid #FFFFFF; + font-weight: bold; + font-size: 13px; + padding: 0 3px; + text-transform: uppercase; } + #blog-posts-over article a.read-more:hover { + background: #FFFFFF; + border: 2px solid #035C84; + color: #035C84; } + #blog-posts-over article .entry-header { + margin-bottom: 10px; } + #blog-posts-over article .entry-header .entry-title { + margin-bottom: 0; } + #blog-posts-over article .entry-header .meta.date { + font-size: 13px; + font-weight: bold; } + +/*#searchform div input &[type="text"] { + width: 95%; +}*/ +#blog-posts-over .entry-meta { + text-align: center; + color: #757575; + font-size: 12px; } + +#blog-posts-over > div { + margin: 25px 0; } + +#blog-side-info #searchform { + margin-bottom: 30px; } +#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 { + padding-right: 10px; } + #blog-side-info ul { + list-style-type: 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 a { + font-size: 12px; } + #sidebar form { + margin: 0 12px 0 14px; } + #sidebar form select { + padding: 0 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 0.625rem 0.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; + /* margin: 5px 0 25px;*/ } + #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: #FFFFFF; } + #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: 0.9375rem; + margin: 40px 0; } + +.county-news { + font-weight: bold; } + +.current_page_item a { + font-weight: bold; } + +.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: #000000; + display: inline-block; } +.search-top a.magnifying-glass { + font-size: 10em; + /* This controls the size. */ + width: 0.75rem; + height: 0.75rem; + border: 0.125rem solid darkblue; + 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: -0.4375rem; + bottom: -0.25rem; + border-width: 0; + background: darkblue; + width: 0.5rem; + height: 0.125rem; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); } + +#connect { + padding-top: 20px; + background: #4c4d4f; } + #connect ul { + margin: 0; + list-style: none; } + #connect ul li { + background: none; + padding: 0 5px; + display: inline-block; } + #connect ul li > a { + display: block; + font-family: Open Sans, sans-serif; + font-size: 12px; + color: #fff; + padding: 20px 18px; + line-height: 1.2; } + #connect ul li a#current { + background: #0093d1; } + +#copyright { + padding: 20px 0; + margin: 0 auto; + float: none; } + #copyright p { + font-size: 0.625rem; } + #copyright a { + color: #000000; } + +#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; } } + +#example.element { + background-color: transparent; } + +/* 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; + overflow: hidden; + position: relative; + padding: 4px 8px; } + +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 { + border-left: 15px solid transparent; + border-right: 15px solid transparent; + border-top: 20px solid #e7e7e7; + border-bottom: 0; + font-size: 0; + height: 0; + line-height: 0; + padding: 0; + position: absolute; + right: 10px; + top: 13px; + width: 0; } + +aside.left-off-canvas-menu li.page_item_has_children a.toggle.open { + border-left: 15px solid transparent; + border-right: 15px solid transparent; + border-bottom: 20px solid #e7e7e7; + border-top: 0; } + +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 { + list-style: none; } + .left-off-canvas-menu li a { + color: #FFFFFF; + font-size: 1.25rem; + line-height: 150%; + border-color: white; } + .left-off-canvas-menu li a:hover { + color: black; } + .left-off-canvas-menu li .dropdown { + list-style: none; } + .left-off-canvas-menu ul { + list-style: none; + padding: 10px 0; } + .left-off-canvas-menu ul li a { + color: #FFFFFF; } + .left-off-canvas-menu ul li ul { + list-style: none; } + +.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; } + +/* End Mobile Menu */ +/*# sourceMappingURL=app.css.map */ \ No newline at end of file diff --git a/css/app.css.map b/css/app.css.map new file mode 100644 index 0000000..98af1da --- /dev/null +++ b/css/app.css.map @@ -0,0 +1,70 @@ +{ + "version": 3, + "file": "app.css", + "sources": [ + "../scss/app.scss", + "../scss/_settings.scss", + "../bower_components/foundation/scss/foundation.scss", + "../scss/_mixins.scss", + "../scss/_wordpress.scss", + "../scss/_defaults.scss", + "../scss/_body.scss", + "../scss/_page.header.scss", + "../scss/_topbar.scss", + "../scss/_main.scss", + "../scss/_slideshow.scss", + "../scss/_plugins.scss", + "../scss/_blog.scss", + "../scss/_sidebar.scss", + "../scss/_search.scss", + "../scss/_page.footer.scss", + "../scss/_copyright.scss", + "../scss/_structure.scss", + "../scss/_left-off-canvas.scss", + "../bower_components/foundation/scss/foundation/_functions.scss", + "../bower_components/foundation/scss/foundation/components/_grid.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", + "../scss/mixins/_gradient.scss", + "../scss/mixins/_off-canvas-arrow.scss", + "../scss/plugins/_nextgen.scss", + "../bower_components/foundation/scss/foundation/components/_global.scss" + ], + "sourcesContent": [], + "mappings": "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", + "names": [] +} \ No newline at end of file diff --git a/footer.php b/footer.php new file mode 100644 index 0000000..f897a6d --- /dev/null +++ b/footer.php @@ -0,0 +1,24 @@ +

+ + + +
+ +
+
+
+ + + + + + + + + diff --git a/front-page.php b/front-page.php new file mode 100644 index 0000000..853b913 --- /dev/null +++ b/front-page.php @@ -0,0 +1,25 @@ + +
+
+ +
+
+
+ +
+
+
+ + + +

+ +
+
+ +
+
+
+ diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..8edc962 --- /dev/null +++ b/functions.php @@ -0,0 +1,222 @@ + __('Right Sidebar'), + 'id' => 'sidebar-r', + 'description' => __('Appears in Right Sidebar') + )); + //register_sidebar(array( + // 'name' => __('Footer'), + // 'id' => 'sidebar-f', + // 'description' => __('Appears in Footer Area') + //)); + } + +} + +/** + * 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; +} + +/** + * 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 ''."\n"; + foreach ($pages as $page) { + $childs = get_pages('child_of=' . $page->ID); + if (count($childs) > 0) { + echo '
  • '."\n"; + echo ''.$page->post_title.''."\n"; + echo glm_page_menu($page->ID, 'sub-menu dropdown'); + echo '
  • '."\n"; + } else { + echo '
  • '.$page->post_title.'
  • '."\n"; + } + } + echo ''."\n"; +} + +/** + * 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; + } +} + +/** + * 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' + )); +} + +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() . '/js/modernizr/modernizr.min.js' + ); + wp_enqueue_script('jquery'); + wp_enqueue_script( + 'glm_foundation', + get_template_directory_uri() . '/js/app.js', + 'jquery', + '1.0', + true + ); + if(is_front_page()) { + } + +} + + +/* Header for posts*/ +function glm_get_header() { + echo ''; + echo ''; + echo '
    '; + echo '
    '; + echo '
    '; + echo '
    '; +} + +// // The code below is useful when you want the image to resize to +// if (has_post_thumbnail()) { +// $image_data = wp_get_attachment_image_src(get_post_thumbnail_id(), "full"); +// echo ''; +// } else { +// echo ''; +// } +// echo '
    '; +// echo '
    '; +// echo '
    '; +// echo '
    '; + + +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 '

    '.get_the_title($ID).'

    '; + echo ''."\n"; +} + + +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 mytheme_search_loop() { + while ( have_posts() ) : the_post(); ?> + +
    + +
    + + +
    + +
    + + diff --git a/header.php b/header.php new file mode 100644 index 0000000..c0bb978 --- /dev/null +++ b/header.php @@ -0,0 +1,33 @@ + + + + + + <?php wp_title(); ?> + + + + + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    + +
    diff --git a/home.php b/home.php new file mode 100644 index 0000000..488e5f8 --- /dev/null +++ b/home.php @@ -0,0 +1,53 @@ + +
    + +
    +
    + +
    +
    +
    > +
    +

    + Posted on +
    + + + +
    + $cat->name, 'slug' => $cat->slug ); + echo ', '. $cat->name .''; + } + echo '.'; + } + ?> +
    +
    +
    +
    + + + +
    +

    +
    + +
    + +
    + + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..f996fd3 --- /dev/null +++ b/index.html @@ -0,0 +1,212 @@ + + + + + + wp-title + + + + + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    + + +
    +
    +
    +
    + +
    +

    Img description here.

    +
    +
    +
    +
    +
    +
    + +

    State Licensed

    +

    Just 74 days after the Emmet County Board of Commissioners gave their approval for the County to assume EMS services, the state has put its stamp of approval on the operations as well.

    Read More... +
    +
    + +

    New M-119 Location

    +

    Emmet County continues to move forward on its new facility to house the ambulances and related equipment currently being constructed on M-119, near Pleasantview Road.

    Read More... +
    +
    + +

    New Rig

    +

    Progress is being made in Emmet County’s efforts to provide ambulance services in Northwest Michigan, with the arrival of one of several new ambulances Oct. 9 in Petoskey.

    Read More... +
    +
    +
    +
    +

    Title Here

    +

    Doluptur sinis nihic teturitat id que prorro incturem dem volorit atiume ped mi, cusci rest voluptatium qui consedi odigeni musdae. Ipsa suntum quaecab il explia voluptam harum conet harupturit pratio que cum et litium lis sernatur sunt, ommolup tatiam hillam ratur? Acea verum in natet laut id moloremped et volupic iisqui ressin cus, venditia corum, con re sunt.

    + Quias eos et porerciis in nienihi lligeni ssiminu sapicienet volut a amus di cullat pa sin re pre voluptas adicitibus peris cum anti idem eiusani moluptatium aria doloribus, cus.

    + Abores eossumq uuntissum apienis doluptae quasit lam, nonseque nus exce rrum commoluptat quas volorempos quassu magnatium nonsect inverfe ratassint quaerro viderro renihicti apid esto blaciet eum quae ius magnihi lluptas que volupt quid ute porem.

    +
    +
    +

    EMS Events

    + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    + +
    +
    + + + + + diff --git a/index.php b/index.php new file mode 100644 index 0000000..872cb50 --- /dev/null +++ b/index.php @@ -0,0 +1,47 @@ + +
    +
    +
    + +
    +

    Img description here.

    +
    +
    +
    +
    +
    +
    +

    If this is an emergency, please call 9-1-1

    +
    +
    +
    +
    + +

    State Licensed

    +

    Just 74 days after the Emmet County Board of Commissioners gave their approval for the County to assume EMS services, the state has put its stamp of approval on the operations as well.

    Read More... +
    +
    + +

    New M-119 Location

    +

    Emmet County continues to move forward on its new facility to house the ambulances and related equipment currently being constructed on M-119, near Pleasantview Road.

    Read More... +
    +
    + +

    New Rig

    +

    Progress is being made in Emmet County’s efforts to provide ambulance services in Northwest Michigan, with the arrival of one of several new ambulances Oct. 9 in Petoskey.

    Read More... +
    +
    +
    +
    +

    Title Here

    +

    Doluptur sinis nihic teturitat id que prorro incturem dem volorit atiume ped mi, cusci rest voluptatium qui consedi odigeni musdae. Ipsa suntum quaecab il explia voluptam harum conet harupturit pratio que cum et litium lis sernatur sunt, ommolup tatiam hillam ratur? Acea verum in natet laut id moloremped et volupic iisqui ressin cus, venditia corum, con re sunt.

    +Quias eos et porerciis in nienihi lligeni ssiminu sapicienet volut a amus di cullat pa sin re pre voluptas adicitibus peris cum anti idem eiusani moluptatium aria doloribus, cus.

    +Abores eossumq uuntissum apienis doluptae quasit lam, nonseque nus exce rrum commoluptat quas volorempos quassu magnatium nonsect inverfe ratassint quaerro viderro renihicti apid esto blaciet eum quae ius magnihi lluptas que volupt quid ute porem.

    +
    +
    +

    EMS Events

    + +
    +
    +
    + diff --git a/js/app.js b/js/app.js new file mode 100644 index 0000000..c9b9788 --- /dev/null +++ b/js/app.js @@ -0,0 +1,20 @@ +/* + * 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();;!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?'':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").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(''),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;u0&&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:'×'},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)
    ');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:'",viewing:g.templates.viewing},i='
    '+h.viewing+h.grid+"
    ",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()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:'×',timer:'
    ',tip:'
    ',wrapper:'
    ',button:'',prev_button:'',modal:'
    ',expose:'
    ',expose_cover:'
    '},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.attempts0&&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().topc.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_offsetb.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('
    '),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('').addClass(f.prev_class)),j.append(a('').addClass(f.next_class))),f.timer&&(m=a("
    ").addClass(f.timer_container_class),m.append(""),m.append(a("
    ").addClass(f.timer_progress_class)),m.addClass(f.timer_paused_class),j.append(m)),f.slide_number&&(k=a("
    ").addClass(f.slide_number_class),k.append(" "+f.slide_number_text+" "),j.append(k)),f.bullets&&(l=a("
      ").addClass(f.bullets_container_class),j.append(l),l.wrap('
      '),p.slides().each(function(b,c){var d=a("
    1. ").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)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("
      ",{"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('
      ').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 * > 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''+b+''}},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("
      ").html(c.attr("title")).html())),h=this.inheritable_classes(c);g.addClass(h).appendTo(e.append_to),Modernizr.touch&&(g.append(''+e.touch_close_text+""),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(''+e.touch_close_text+""),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?'
    2. ":'
    3. '),1==d.custom_back_text?a("h5>a",b).html(d.back_text):a("h5>a",b).html("« "+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);;// Load foundation +$(document).foundation(); +$(document).ready(function () { + $('ul.children').each(function () { + $(this).before(''); + }); + $('a.toggle').click('click', function () { + $(this).toggleClass('open'); + $(this).siblings('ul').toggleClass('open'); + }); +}); diff --git a/js/custom/pageSetup.js b/js/custom/pageSetup.js new file mode 100644 index 0000000..741d565 --- /dev/null +++ b/js/custom/pageSetup.js @@ -0,0 +1,11 @@ +// Load foundation +$(document).foundation(); +$(document).ready(function () { + $('ul.children').each(function () { + $(this).before(''); + }); + $('a.toggle').click('click', function () { + $(this).toggleClass('open'); + $(this).siblings('ul').toggleClass('open'); + }); +}); diff --git a/js/dollarsign.js b/js/dollarsign.js new file mode 100644 index 0000000..2d7a2e9 --- /dev/null +++ b/js/dollarsign.js @@ -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/js/fastclick/lib/fastclick.js b/js/fastclick/lib/fastclick.js new file mode 100644 index 0000000..3af4f9d --- /dev/null +++ b/js/fastclick/lib/fastclick.js @@ -0,0 +1,841 @@ +;(function () { + 'use strict'; + + /** + * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs. + * + * @codingstandard ftlabs-jsv2 + * @copyright The Financial Times Limited [All Rights Reserved] + * @license MIT License (see LICENSE.txt) + */ + + /*jslint browser:true, node:true*/ + /*global define, Event, Node*/ + + + /** + * Instantiate fast-clicking listeners on the specified layer. + * + * @constructor + * @param {Element} layer The layer to listen on + * @param {Object} [options={}] The options to override the defaults + */ + function FastClick(layer, options) { + var oldOnClick; + + options = options || {}; + + /** + * Whether a click is currently being tracked. + * + * @type boolean + */ + this.trackingClick = false; + + + /** + * Timestamp for when click tracking started. + * + * @type number + */ + this.trackingClickStart = 0; + + + /** + * The element being tracked for a click. + * + * @type EventTarget + */ + this.targetElement = null; + + + /** + * X-coordinate of touch start event. + * + * @type number + */ + this.touchStartX = 0; + + + /** + * Y-coordinate of touch start event. + * + * @type number + */ + this.touchStartY = 0; + + + /** + * ID of the last touch, retrieved from Touch.identifier. + * + * @type number + */ + this.lastTouchIdentifier = 0; + + + /** + * Touchmove boundary, beyond which a click will be cancelled. + * + * @type number + */ + this.touchBoundary = options.touchBoundary || 10; + + + /** + * The FastClick layer. + * + * @type Element + */ + this.layer = layer; + + /** + * The minimum time between tap(touchstart and touchend) events + * + * @type number + */ + this.tapDelay = options.tapDelay || 200; + + /** + * The maximum time for a tap + * + * @type number + */ + this.tapTimeout = options.tapTimeout || 700; + + if (FastClick.notNeeded(layer)) { + return; + } + + // Some old versions of Android don't have Function.prototype.bind + function bind(method, context) { + return function() { return method.apply(context, arguments); }; + } + + + var methods = ['onMouse', 'onClick', 'onTouchStart', 'onTouchMove', 'onTouchEnd', 'onTouchCancel']; + var context = this; + for (var i = 0, l = methods.length; i < l; i++) { + context[methods[i]] = bind(context[methods[i]], context); + } + + // Set up event handlers as required + if (deviceIsAndroid) { + layer.addEventListener('mouseover', this.onMouse, true); + layer.addEventListener('mousedown', this.onMouse, true); + layer.addEventListener('mouseup', this.onMouse, true); + } + + layer.addEventListener('click', this.onClick, true); + layer.addEventListener('touchstart', this.onTouchStart, false); + layer.addEventListener('touchmove', this.onTouchMove, false); + layer.addEventListener('touchend', this.onTouchEnd, false); + layer.addEventListener('touchcancel', this.onTouchCancel, false); + + // Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2) + // which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick + // layer when they are cancelled. + if (!Event.prototype.stopImmediatePropagation) { + layer.removeEventListener = function(type, callback, capture) { + var rmv = Node.prototype.removeEventListener; + if (type === 'click') { + rmv.call(layer, type, callback.hijacked || callback, capture); + } else { + rmv.call(layer, type, callback, capture); + } + }; + + layer.addEventListener = function(type, callback, capture) { + var adv = Node.prototype.addEventListener; + if (type === 'click') { + adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) { + if (!event.propagationStopped) { + callback(event); + } + }), capture); + } else { + adv.call(layer, type, callback, capture); + } + }; + } + + // If a handler is already declared in the element's onclick attribute, it will be fired before + // FastClick's onClick handler. Fix this by pulling out the user-defined handler function and + // adding it as listener. + if (typeof layer.onclick === 'function') { + + // Android browser on at least 3.2 requires a new reference to the function in layer.onclick + // - the old one won't work if passed to addEventListener directly. + oldOnClick = layer.onclick; + layer.addEventListener('click', function(event) { + oldOnClick(event); + }, false); + layer.onclick = null; + } + } + + /** + * Windows Phone 8.1 fakes user agent string to look like Android and iPhone. + * + * @type boolean + */ + var deviceIsWindowsPhone = navigator.userAgent.indexOf("Windows Phone") >= 0; + + /** + * Android requires exceptions. + * + * @type boolean + */ + var deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0 && !deviceIsWindowsPhone; + + + /** + * iOS requires exceptions. + * + * @type boolean + */ + var deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent) && !deviceIsWindowsPhone; + + + /** + * iOS 4 requires an exception for select elements. + * + * @type boolean + */ + var deviceIsIOS4 = deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent); + + + /** + * iOS 6.0-7.* requires the target element to be manually derived + * + * @type boolean + */ + var deviceIsIOSWithBadTarget = deviceIsIOS && (/OS [6-7]_\d/).test(navigator.userAgent); + + /** + * BlackBerry requires exceptions. + * + * @type boolean + */ + var deviceIsBlackBerry10 = navigator.userAgent.indexOf('BB10') > 0; + + /** + * Determine whether a given element requires a native click. + * + * @param {EventTarget|Element} target Target DOM element + * @returns {boolean} Returns true if the element needs a native click + */ + FastClick.prototype.needsClick = function(target) { + switch (target.nodeName.toLowerCase()) { + + // Don't send a synthetic click to disabled inputs (issue #62) + case 'button': + case 'select': + case 'textarea': + if (target.disabled) { + return true; + } + + break; + case 'input': + + // File inputs need real clicks on iOS 6 due to a browser bug (issue #68) + if ((deviceIsIOS && target.type === 'file') || target.disabled) { + return true; + } + + break; + case 'label': + case 'iframe': // iOS8 homescreen apps can prevent events bubbling into frames + case 'video': + return true; + } + + return (/\bneedsclick\b/).test(target.className); + }; + + + /** + * Determine whether a given element requires a call to focus to simulate click into element. + * + * @param {EventTarget|Element} target Target DOM element + * @returns {boolean} Returns true if the element requires a call to focus to simulate native click. + */ + FastClick.prototype.needsFocus = function(target) { + switch (target.nodeName.toLowerCase()) { + case 'textarea': + return true; + case 'select': + return !deviceIsAndroid; + case 'input': + switch (target.type) { + case 'button': + case 'checkbox': + case 'file': + case 'image': + case 'radio': + case 'submit': + return false; + } + + // No point in attempting to focus disabled inputs + return !target.disabled && !target.readOnly; + default: + return (/\bneedsfocus\b/).test(target.className); + } + }; + + + /** + * Send a click event to the specified element. + * + * @param {EventTarget|Element} targetElement + * @param {Event} event + */ + FastClick.prototype.sendClick = function(targetElement, event) { + var clickEvent, touch; + + // On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24) + if (document.activeElement && document.activeElement !== targetElement) { + document.activeElement.blur(); + } + + touch = event.changedTouches[0]; + + // Synthesise a click event, with an extra attribute so it can be tracked + clickEvent = document.createEvent('MouseEvents'); + clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null); + clickEvent.forwardedTouchEvent = true; + targetElement.dispatchEvent(clickEvent); + }; + + FastClick.prototype.determineEventType = function(targetElement) { + + //Issue #159: Android Chrome Select Box does not open with a synthetic click event + if (deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') { + return 'mousedown'; + } + + return 'click'; + }; + + + /** + * @param {EventTarget|Element} targetElement + */ + FastClick.prototype.focus = function(targetElement) { + var length; + + // Issue #160: on iOS 7, some input elements (e.g. date datetime month) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724. + if (deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time' && targetElement.type !== 'month') { + length = targetElement.value.length; + targetElement.setSelectionRange(length, length); + } else { + targetElement.focus(); + } + }; + + + /** + * Check whether the given target element is a child of a scrollable layer and if so, set a flag on it. + * + * @param {EventTarget|Element} targetElement + */ + FastClick.prototype.updateScrollParent = function(targetElement) { + var scrollParent, parentElement; + + scrollParent = targetElement.fastClickScrollParent; + + // Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the + // target element was moved to another parent. + if (!scrollParent || !scrollParent.contains(targetElement)) { + parentElement = targetElement; + do { + if (parentElement.scrollHeight > parentElement.offsetHeight) { + scrollParent = parentElement; + targetElement.fastClickScrollParent = parentElement; + break; + } + + parentElement = parentElement.parentElement; + } while (parentElement); + } + + // Always update the scroll top tracker if possible. + if (scrollParent) { + scrollParent.fastClickLastScrollTop = scrollParent.scrollTop; + } + }; + + + /** + * @param {EventTarget} targetElement + * @returns {Element|EventTarget} + */ + FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) { + + // On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node. + if (eventTarget.nodeType === Node.TEXT_NODE) { + return eventTarget.parentNode; + } + + return eventTarget; + }; + + + /** + * On touch start, record the position and scroll offset. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onTouchStart = function(event) { + var targetElement, touch, selection; + + // Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111). + if (event.targetTouches.length > 1) { + return true; + } + + targetElement = this.getTargetElementFromEventTarget(event.target); + touch = event.targetTouches[0]; + + if (deviceIsIOS) { + + // Only trusted events will deselect text on iOS (issue #49) + selection = window.getSelection(); + if (selection.rangeCount && !selection.isCollapsed) { + return true; + } + + if (!deviceIsIOS4) { + + // Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23): + // when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched + // with the same identifier as the touch event that previously triggered the click that triggered the alert. + // Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an + // immediately preceeding touch event (issue #52), so this fix is unavailable on that platform. + // Issue 120: touch.identifier is 0 when Chrome dev tools 'Emulate touch events' is set with an iOS device UA string, + // which causes all touch events to be ignored. As this block only applies to iOS, and iOS identifiers are always long, + // random integers, it's safe to to continue if the identifier is 0 here. + if (touch.identifier && touch.identifier === this.lastTouchIdentifier) { + event.preventDefault(); + return false; + } + + this.lastTouchIdentifier = touch.identifier; + + // If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and: + // 1) the user does a fling scroll on the scrollable layer + // 2) the user stops the fling scroll with another tap + // then the event.target of the last 'touchend' event will be the element that was under the user's finger + // when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check + // is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42). + this.updateScrollParent(targetElement); + } + } + + this.trackingClick = true; + this.trackingClickStart = event.timeStamp; + this.targetElement = targetElement; + + this.touchStartX = touch.pageX; + this.touchStartY = touch.pageY; + + // Prevent phantom clicks on fast double-tap (issue #36) + if ((event.timeStamp - this.lastClickTime) < this.tapDelay) { + event.preventDefault(); + } + + return true; + }; + + + /** + * Based on a touchmove event object, check whether the touch has moved past a boundary since it started. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.touchHasMoved = function(event) { + var touch = event.changedTouches[0], boundary = this.touchBoundary; + + if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) { + return true; + } + + return false; + }; + + + /** + * Update the last position. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onTouchMove = function(event) { + if (!this.trackingClick) { + return true; + } + + // If the touch has moved, cancel the click tracking + if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) { + this.trackingClick = false; + this.targetElement = null; + } + + return true; + }; + + + /** + * Attempt to find the labelled control for the given label element. + * + * @param {EventTarget|HTMLLabelElement} labelElement + * @returns {Element|null} + */ + FastClick.prototype.findControl = function(labelElement) { + + // Fast path for newer browsers supporting the HTML5 control attribute + if (labelElement.control !== undefined) { + return labelElement.control; + } + + // All browsers under test that support touch events also support the HTML5 htmlFor attribute + if (labelElement.htmlFor) { + return document.getElementById(labelElement.htmlFor); + } + + // If no for attribute exists, attempt to retrieve the first labellable descendant element + // the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label + return labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea'); + }; + + + /** + * On touch end, determine whether to send a click event at once. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onTouchEnd = function(event) { + var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement; + + if (!this.trackingClick) { + return true; + } + + // Prevent phantom clicks on fast double-tap (issue #36) + if ((event.timeStamp - this.lastClickTime) < this.tapDelay) { + this.cancelNextClick = true; + return true; + } + + if ((event.timeStamp - this.trackingClickStart) > this.tapTimeout) { + return true; + } + + // Reset to prevent wrong click cancel on input (issue #156). + this.cancelNextClick = false; + + this.lastClickTime = event.timeStamp; + + trackingClickStart = this.trackingClickStart; + this.trackingClick = false; + this.trackingClickStart = 0; + + // On some iOS devices, the targetElement supplied with the event is invalid if the layer + // is performing a transition or scroll, and has to be re-detected manually. Note that + // for this to function correctly, it must be called *after* the event target is checked! + // See issue #57; also filed as rdar://13048589 . + if (deviceIsIOSWithBadTarget) { + touch = event.changedTouches[0]; + + // In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null + targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement; + targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent; + } + + targetTagName = targetElement.tagName.toLowerCase(); + if (targetTagName === 'label') { + forElement = this.findControl(targetElement); + if (forElement) { + this.focus(targetElement); + if (deviceIsAndroid) { + return false; + } + + targetElement = forElement; + } + } else if (this.needsFocus(targetElement)) { + + // Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through. + // Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37). + if ((event.timeStamp - trackingClickStart) > 100 || (deviceIsIOS && window.top !== window && targetTagName === 'input')) { + this.targetElement = null; + return false; + } + + this.focus(targetElement); + this.sendClick(targetElement, event); + + // Select elements need the event to go through on iOS 4, otherwise the selector menu won't open. + // Also this breaks opening selects when VoiceOver is active on iOS6, iOS7 (and possibly others) + if (!deviceIsIOS || targetTagName !== 'select') { + this.targetElement = null; + event.preventDefault(); + } + + return false; + } + + if (deviceIsIOS && !deviceIsIOS4) { + + // Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled + // and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42). + scrollParent = targetElement.fastClickScrollParent; + if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) { + return true; + } + } + + // Prevent the actual click from going though - unless the target node is marked as requiring + // real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted. + if (!this.needsClick(targetElement)) { + event.preventDefault(); + this.sendClick(targetElement, event); + } + + return false; + }; + + + /** + * On touch cancel, stop tracking the click. + * + * @returns {void} + */ + FastClick.prototype.onTouchCancel = function() { + this.trackingClick = false; + this.targetElement = null; + }; + + + /** + * Determine mouse events which should be permitted. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onMouse = function(event) { + + // If a target element was never set (because a touch event was never fired) allow the event + if (!this.targetElement) { + return true; + } + + if (event.forwardedTouchEvent) { + return true; + } + + // Programmatically generated events targeting a specific element should be permitted + if (!event.cancelable) { + return true; + } + + // Derive and check the target element to see whether the mouse event needs to be permitted; + // unless explicitly enabled, prevent non-touch click events from triggering actions, + // to prevent ghost/doubleclicks. + if (!this.needsClick(this.targetElement) || this.cancelNextClick) { + + // Prevent any user-added listeners declared on FastClick element from being fired. + if (event.stopImmediatePropagation) { + event.stopImmediatePropagation(); + } else { + + // Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2) + event.propagationStopped = true; + } + + // Cancel the event + event.stopPropagation(); + event.preventDefault(); + + return false; + } + + // If the mouse event is permitted, return true for the action to go through. + return true; + }; + + + /** + * On actual clicks, determine whether this is a touch-generated click, a click action occurring + * naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or + * an actual click which should be permitted. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onClick = function(event) { + var permitted; + + // It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early. + if (this.trackingClick) { + this.targetElement = null; + this.trackingClick = false; + return true; + } + + // Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target. + if (event.target.type === 'submit' && event.detail === 0) { + return true; + } + + permitted = this.onMouse(event); + + // Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through. + if (!permitted) { + this.targetElement = null; + } + + // If clicks are permitted, return true for the action to go through. + return permitted; + }; + + + /** + * Remove all FastClick's event listeners. + * + * @returns {void} + */ + FastClick.prototype.destroy = function() { + var layer = this.layer; + + if (deviceIsAndroid) { + layer.removeEventListener('mouseover', this.onMouse, true); + layer.removeEventListener('mousedown', this.onMouse, true); + layer.removeEventListener('mouseup', this.onMouse, true); + } + + layer.removeEventListener('click', this.onClick, true); + layer.removeEventListener('touchstart', this.onTouchStart, false); + layer.removeEventListener('touchmove', this.onTouchMove, false); + layer.removeEventListener('touchend', this.onTouchEnd, false); + layer.removeEventListener('touchcancel', this.onTouchCancel, false); + }; + + + /** + * Check whether FastClick is needed. + * + * @param {Element} layer The layer to listen on + */ + FastClick.notNeeded = function(layer) { + var metaViewport; + var chromeVersion; + var blackberryVersion; + var firefoxVersion; + + // Devices that don't support touch don't need FastClick + if (typeof window.ontouchstart === 'undefined') { + return true; + } + + // Chrome version - zero for other browsers + chromeVersion = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1]; + + if (chromeVersion) { + + if (deviceIsAndroid) { + metaViewport = document.querySelector('meta[name=viewport]'); + + if (metaViewport) { + // Chrome on Android with user-scalable="no" doesn't need FastClick (issue #89) + if (metaViewport.content.indexOf('user-scalable=no') !== -1) { + return true; + } + // Chrome 32 and above with width=device-width or less don't need FastClick + if (chromeVersion > 31 && document.documentElement.scrollWidth <= window.outerWidth) { + return true; + } + } + + // Chrome desktop doesn't need FastClick (issue #15) + } else { + return true; + } + } + + if (deviceIsBlackBerry10) { + blackberryVersion = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/); + + // BlackBerry 10.3+ does not require Fastclick library. + // https://github.com/ftlabs/fastclick/issues/251 + if (blackberryVersion[1] >= 10 && blackberryVersion[2] >= 3) { + metaViewport = document.querySelector('meta[name=viewport]'); + + if (metaViewport) { + // user-scalable=no eliminates click delay. + if (metaViewport.content.indexOf('user-scalable=no') !== -1) { + return true; + } + // width=device-width (or less than device-width) eliminates click delay. + if (document.documentElement.scrollWidth <= window.outerWidth) { + return true; + } + } + } + } + + // IE10 with -ms-touch-action: none or manipulation, which disables double-tap-to-zoom (issue #97) + if (layer.style.msTouchAction === 'none' || layer.style.touchAction === 'manipulation') { + return true; + } + + // Firefox version - zero for other browsers + firefoxVersion = +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1]; + + if (firefoxVersion >= 27) { + // Firefox 27+ does not have tap delay if the content is not zoomable - https://bugzilla.mozilla.org/show_bug.cgi?id=922896 + + metaViewport = document.querySelector('meta[name=viewport]'); + if (metaViewport && (metaViewport.content.indexOf('user-scalable=no') !== -1 || document.documentElement.scrollWidth <= window.outerWidth)) { + return true; + } + } + + // IE11: prefixed -ms-touch-action is no longer supported and it's recomended to use non-prefixed version + // http://msdn.microsoft.com/en-us/library/windows/apps/Hh767313.aspx + if (layer.style.touchAction === 'none' || layer.style.touchAction === 'manipulation') { + return true; + } + + return false; + }; + + + /** + * Factory method for creating a FastClick object + * + * @param {Element} layer The layer to listen on + * @param {Object} [options={}] The options to override the defaults + */ + FastClick.attach = function(layer, options) { + return new FastClick(layer, options); + }; + + + if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) { + + // AMD. Register as an anonymous module. + define(function() { + return FastClick; + }); + } else if (typeof module !== 'undefined' && module.exports) { + module.exports = FastClick.attach; + module.exports.FastClick = FastClick; + } else { + window.FastClick = FastClick; + } +}()); diff --git a/js/foundation/css/foundation.css.map b/js/foundation/css/foundation.css.map new file mode 100644 index 0000000..40bd448 --- /dev/null +++ b/js/foundation/css/foundation.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../../../scss/foundation/components/_global.scss","../../../scss/foundation/components/_grid.scss","../../../scss/foundation/components/_accordion.scss","../../../scss/foundation/components/_alert-boxes.scss","../../../scss/foundation/components/_block-grid.scss","../../../scss/foundation/components/_breadcrumbs.scss","../../../scss/foundation/components/_buttons.scss","../../../scss/foundation/_functions.scss","../../../scss/foundation/components/_button-groups.scss","../../../scss/foundation/components/_clearing.scss","../../../scss/foundation/components/_dropdown.scss","../../../scss/foundation/components/_dropdown-buttons.scss","../../../scss/foundation/components/_flex-video.scss","../../../scss/foundation/components/_forms.scss","../../../scss/foundation/components/_icon-bar.scss","../../../scss/foundation/components/_inline-lists.scss","../../../scss/foundation/components/_joyride.scss","../../../scss/foundation/components/_keystrokes.scss","../../../scss/foundation/components/_labels.scss","../../../scss/foundation/components/_magellan.scss","../../../scss/foundation/components/_orbit.scss","../../../scss/foundation/components/_pagination.scss","../../../scss/foundation/components/_panels.scss","../../../scss/foundation/components/_pricing-tables.scss","../../../scss/foundation/components/_progress-bars.scss","../../../scss/foundation/components/_range-slider.scss","../../../scss/foundation/components/_reveal.scss","../../../scss/foundation/components/_side-nav.scss","../../../scss/foundation/components/_split-buttons.scss","../../../scss/foundation/components/_sub-nav.scss","../../../scss/foundation/components/_switches.scss","../../../scss/foundation/components/_tables.scss","../../../scss/foundation/components/_tabs.scss","../../../scss/foundation/components/_thumbs.scss","../../../scss/foundation/components/_tooltips.scss","../../../scss/foundation/components/_top-bar.scss","../../../scss/foundation/components/_type.scss","../../../scss/foundation/components/_offcanvas.scss","../../../scss/foundation/components/_visibility.scss"], +"names": [], +"file": "foundation.css" +} diff --git a/js/foundation/css/normalize.css.map b/js/foundation/css/normalize.css.map new file mode 100644 index 0000000..8fc7c41 --- /dev/null +++ b/js/foundation/css/normalize.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": ";;;;;;AAQA,IAAK;EACH,WAAW,EAAE,UAAU;;EACvB,oBAAoB,EAAE,IAAI;;EAC1B,wBAAwB,EAAE,IAAI;;;;;;AAOhC,IAAK;EACH,MAAM,EAAE,CAAC;;;;;;;;;;AAaX;;;;;;;;;;;;OAYQ;EACN,OAAO,EAAE,KAAK;;;;;;AAQhB;;;KAGM;EACJ,OAAO,EAAE,YAAY;;EACrB,cAAc,EAAE,QAAQ;;;;;;;AAQ1B,qBAAsB;EACpB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,CAAC;;;;;;AAQX;QACS;EACP,OAAO,EAAE,IAAI;;;;;;;AAUf,CAAE;EACA,gBAAgB,EAAE,WAAW;;;;;;AAQ/B;OACQ;EACN,OAAO,EAAE,CAAC;;;;;;;AAUZ,WAAY;EACV,aAAa,EAAE,UAAU;;;;;AAO3B;MACO;EACL,WAAW,EAAE,IAAI;;;;;AAOnB,GAAI;EACF,UAAU,EAAE,MAAM;;;;;;AAQpB,EAAG;EACD,SAAS,EAAE,GAAG;EACd,MAAM,EAAE,QAAQ;;;;;AAOlB,IAAK;EACH,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;;;;;AAOb,KAAM;EACJ,SAAS,EAAE,GAAG;;;;;AAOhB;GACI;EACF,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,CAAC;EACd,QAAQ,EAAE,QAAQ;EAClB,cAAc,EAAE,QAAQ;;AAG1B,GAAI;EACF,GAAG,EAAE,MAAM;;AAGb,GAAI;EACF,MAAM,EAAE,OAAO;;;;;;;AAUjB,GAAI;EACF,MAAM,EAAE,CAAC;;;;;AAOX,cAAe;EACb,QAAQ,EAAE,MAAM;;;;;;;AAUlB,MAAO;EACL,MAAM,EAAE,QAAQ;;;;;AAOlB,EAAG;EACD,UAAU,EAAE,WAAW;EACvB,MAAM,EAAE,CAAC;;;;;AAOX,GAAI;EACF,QAAQ,EAAE,IAAI;;;;;AAOhB;;;IAGK;EACH,WAAW,EAAE,oBAAoB;EACjC,SAAS,EAAE,GAAG;;;;;;;;;;;;;;AAkBhB;;;;QAIS;EACP,KAAK,EAAE,OAAO;;EACd,IAAI,EAAE,OAAO;;EACb,MAAM,EAAE,CAAC;;;;;;AAOX,MAAO;EACL,QAAQ,EAAE,OAAO;;;;;;;;AAUnB;MACO;EACL,cAAc,EAAE,IAAI;;;;;;;;;AAWtB;;;oBAGqB;EACnB,kBAAkB,EAAE,MAAM;;EAC1B,MAAM,EAAE,OAAO;;;;;;AAOjB;oBACqB;EACnB,MAAM,EAAE,OAAO;;;;;AAOjB;uBACwB;EACtB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;;;;;;AAQZ,KAAM;EACJ,WAAW,EAAE,MAAM;;;;;;;;;AAWrB;mBACoB;EAClB,UAAU,EAAE,UAAU;;EACtB,OAAO,EAAE,CAAC;;;;;;;;AASZ;+CACgD;EAC9C,MAAM,EAAE,IAAI;;;;;;AAQd,oBAAqB;EACnB,kBAAkB,EAAE,SAAS;;EAC7B,UAAU,EAAE,WAAW;;;;;;;;AASzB;+CACgD;EAC9C,kBAAkB,EAAE,IAAI;;;;;AAO1B,QAAS;EACP,MAAM,EAAE,iBAAiB;EACzB,MAAM,EAAE,KAAK;EACb,OAAO,EAAE,qBAAqB;;;;;;AAQhC,MAAO;EACL,MAAM,EAAE,CAAC;;EACT,OAAO,EAAE,CAAC;;;;;;AAOZ,QAAS;EACP,QAAQ,EAAE,IAAI;;;;;;AAQhB,QAAS;EACP,WAAW,EAAE,IAAI;;;;;;;AAUnB,KAAM;EACJ,eAAe,EAAE,QAAQ;EACzB,cAAc,EAAE,CAAC;;AAGnB;EACG;EACD,OAAO,EAAE,CAAC", +"sources": ["../../../scss/normalize.scss"], +"names": [], +"file": "normalize.css" +} diff --git a/js/foundation/js/foundation.js b/js/foundation/js/foundation.js new file mode 100644 index 0000000..13a76a2 --- /dev/null +++ b/js/foundation/js/foundation.js @@ -0,0 +1,6581 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2015, ZURB + * Free to use under the MIT license. + * http://www.opensource.org/licenses/mit-license.php +*/ + +(function ($, window, document, undefined) { + 'use strict'; + + var header_helpers = function (class_array) { + var head = $('head'); + head.prepend($.map(class_array, function (class_name) { + if (head.has('.' + class_name).length === 0) { + return ''; + } + })); + }; + + header_helpers([ + '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']); + + // Enable FastClick if present + + $(function () { + if (typeof FastClick !== 'undefined') { + // Don't attach to body if undefined + if (typeof document.body !== 'undefined') { + FastClick.attach(document.body); + } + } + }); + + // private Fast Selector wrapper, + // returns jQuery object. Only use where + // getElementById is not available. + var S = function (selector, context) { + if (typeof selector === 'string') { + if (context) { + var cont; + if (context.jquery) { + cont = context[0]; + if (!cont) { + return context; + } + } else { + cont = context; + } + return $(cont.querySelectorAll(selector)); + } + + return $(document.querySelectorAll(selector)); + } + + return $(selector, context); + }; + + // Namespace functions. + + var attr_name = function (init) { + var arr = []; + if (!init) { + arr.push('data'); + } + if (this.namespace.length > 0) { + arr.push(this.namespace); + } + arr.push(this.name); + + return arr.join('-'); + }; + + var add_namespace = function (str) { + var parts = str.split('-'), + i = parts.length, + arr = []; + + while (i--) { + if (i !== 0) { + arr.push(parts[i]); + } else { + if (this.namespace.length > 0) { + arr.push(this.namespace, parts[i]); + } else { + arr.push(parts[i]); + } + } + } + + return arr.reverse().join('-'); + }; + + // Event binding and data-options updating. + + var bindings = function (method, options) { + var self = this, + bind = function(){ + var $this = S(this), + should_bind_events = !$this.data(self.attr_name(true) + '-init'); + $this.data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options($this))); + + if (should_bind_events) { + self.events(this); + } + }; + + if (S(this.scope).is('[' + this.attr_name() +']')) { + bind.call(this.scope); + } else { + S('[' + this.attr_name() +']', this.scope).each(bind); + } + // # Patch to fix #5043 to move this *after* the if/else clause in order for Backbone and similar frameworks to have improved control over event binding and data-options updating. + if (typeof method === 'string') { + return this[method].call(this, options); + } + + }; + + var single_image_loaded = function (image, callback) { + function loaded () { + callback(image[0]); + } + + function bindLoad () { + this.one('load', loaded); + + if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { + var src = this.attr( 'src' ), + param = src.match( /\?/ ) ? '&' : '?'; + + param += 'random=' + (new Date()).getTime(); + this.attr('src', src + param); + } + } + + if (!image.attr('src')) { + loaded(); + return; + } + + if (image[0].complete || image[0].readyState === 4) { + loaded(); + } else { + bindLoad.call(image); + } + }; + + /*! 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 */ + + window.matchMedia || (window.matchMedia = function() { + "use strict"; + + // For browsers that support matchMedium api such as IE 9 and webkit + var styleMedia = (window.styleMedia || window.media); + + // For those that don't support matchMedium + if (!styleMedia) { + var style = document.createElement('style'), + script = document.getElementsByTagName('script')[0], + info = null; + + style.type = 'text/css'; + style.id = 'matchmediajs-test'; + + script.parentNode.insertBefore(style, script); + + // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers + info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle; + + styleMedia = { + matchMedium: function(media) { + var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; + + // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers + if (style.styleSheet) { + style.styleSheet.cssText = text; + } else { + style.textContent = text; + } + + // Test if media query is true or false + return info.width === '1px'; + } + }; + } + + return function(media) { + return { + matches: styleMedia.matchMedium(media || 'all'), + media: media || 'all' + }; + }; + }()); + + /* + * jquery.requestAnimationFrame + * https://github.com/gnarf37/jquery-requestAnimationFrame + * Requires jQuery 1.8+ + * + * Copyright (c) 2012 Corey Frang + * Licensed under the MIT license. + */ + + (function(jQuery) { + + + // requestAnimationFrame polyfill adapted from Erik Möller + // fixes from Paul Irish and Tino Zijdel + // http://paulirish.com/2011/requestanimationframe-for-smart-animating/ + // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating + + var animating, + lastTime = 0, + vendors = ['webkit', 'moz'], + requestAnimationFrame = window.requestAnimationFrame, + cancelAnimationFrame = window.cancelAnimationFrame, + jqueryFxAvailable = 'undefined' !== typeof jQuery.fx; + + for (; lastTime < vendors.length && !requestAnimationFrame; lastTime++) { + requestAnimationFrame = window[ vendors[lastTime] + 'RequestAnimationFrame' ]; + cancelAnimationFrame = cancelAnimationFrame || + window[ vendors[lastTime] + 'CancelAnimationFrame' ] || + window[ vendors[lastTime] + 'CancelRequestAnimationFrame' ]; + } + + function raf() { + if (animating) { + requestAnimationFrame(raf); + + if (jqueryFxAvailable) { + jQuery.fx.tick(); + } + } + } + + if (requestAnimationFrame) { + // use rAF + window.requestAnimationFrame = requestAnimationFrame; + window.cancelAnimationFrame = cancelAnimationFrame; + + if (jqueryFxAvailable) { + jQuery.fx.timer = function (timer) { + if (timer() && jQuery.timers.push(timer) && !animating) { + animating = true; + raf(); + } + }; + + jQuery.fx.stop = function () { + animating = false; + }; + } + } else { + // polyfill + window.requestAnimationFrame = function (callback) { + var currTime = new Date().getTime(), + timeToCall = Math.max(0, 16 - (currTime - lastTime)), + id = window.setTimeout(function () { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + + window.cancelAnimationFrame = function (id) { + clearTimeout(id); + }; + + } + + }( $ )); + + function removeQuotes (string) { + if (typeof string === 'string' || string instanceof String) { + string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, ''); + } + + return string; + } + + function MediaQuery(selector) { + this.selector = selector; + this.query = ''; + } + + MediaQuery.prototype.toString = function () { + return this.query || (this.query = S(this.selector).css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')); + }; + + window.Foundation = { + name : 'Foundation', + + version : '5.5.3', + + media_queries : { + 'small' : new MediaQuery('.foundation-mq-small'), + 'small-only' : new MediaQuery('.foundation-mq-small-only'), + 'medium' : new MediaQuery('.foundation-mq-medium'), + 'medium-only' : new MediaQuery('.foundation-mq-medium-only'), + 'large' : new MediaQuery('.foundation-mq-large'), + 'large-only' : new MediaQuery('.foundation-mq-large-only'), + 'xlarge' : new MediaQuery('.foundation-mq-xlarge'), + 'xlarge-only' : new MediaQuery('.foundation-mq-xlarge-only'), + 'xxlarge' : new MediaQuery('.foundation-mq-xxlarge') + }, + + stylesheet : $('').appendTo('head')[0].sheet, + + global : { + namespace : undefined + }, + + init : function (scope, libraries, method, options, response) { + var args = [scope, method, options, response], + responses = []; + + // check RTL + this.rtl = /rtl/i.test(S('html').attr('dir')); + + // set foundation global scope + this.scope = scope || this.scope; + + this.set_namespace(); + + if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) { + if (this.libs.hasOwnProperty(libraries)) { + responses.push(this.init_lib(libraries, args)); + } + } else { + for (var lib in this.libs) { + responses.push(this.init_lib(lib, libraries)); + } + } + + S(window).load(function () { + S(window) + .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'); + }); + + return scope; + }, + + init_lib : function (lib, args) { + if (this.libs.hasOwnProperty(lib)) { + this.patch(this.libs[lib]); + + if (args && args.hasOwnProperty(lib)) { + if (typeof this.libs[lib].settings !== 'undefined') { + $.extend(true, this.libs[lib].settings, args[lib]); + } else if (typeof this.libs[lib].defaults !== 'undefined') { + $.extend(true, this.libs[lib].defaults, args[lib]); + } + return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]); + } + + args = args instanceof Array ? args : new Array(args); + return this.libs[lib].init.apply(this.libs[lib], args); + } + + return function () {}; + }, + + patch : function (lib) { + lib.scope = this.scope; + lib.namespace = this.global.namespace; + lib.rtl = this.rtl; + lib['data_options'] = this.utils.data_options; + lib['attr_name'] = attr_name; + lib['add_namespace'] = add_namespace; + lib['bindings'] = bindings; + lib['S'] = this.utils.S; + }, + + inherit : function (scope, methods) { + var methods_arr = methods.split(' '), + i = methods_arr.length; + + while (i--) { + if (this.utils.hasOwnProperty(methods_arr[i])) { + scope[methods_arr[i]] = this.utils[methods_arr[i]]; + } + } + }, + + set_namespace : function () { + + // Description: + // Don't bother reading the namespace out of the meta tag + // if the namespace has been set globally in javascript + // + // Example: + // Foundation.global.namespace = 'my-namespace'; + // or make it an empty string: + // Foundation.global.namespace = ''; + // + // + + // If the namespace has not been set (is undefined), try to read it out of the meta element. + // Otherwise use the globally defined namespace, even if it's empty ('') + var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace; + + // Finally, if the namsepace is either undefined or false, set it to an empty string. + // Otherwise use the namespace value. + this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace; + }, + + libs : {}, + + // methods that can be inherited in libraries + utils : { + + // Description: + // Fast Selector wrapper returns jQuery object. Only use where getElementById + // is not available. + // + // Arguments: + // Selector (String): CSS selector describing the element(s) to be + // returned as a jQuery object. + // + // Scope (String): CSS selector describing the area to be searched. Default + // is document. + // + // Returns: + // Element (jQuery Object): jQuery object containing elements matching the + // selector within the scope. + S : S, + + // Description: + // Executes a function a max of once every n milliseconds + // + // Arguments: + // Func (Function): Function to be throttled. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Returns: + // Lazy_function (Function): Function with throttling applied. + throttle : function (func, delay) { + var timer = null; + + return function () { + var context = this, args = arguments; + + if (timer == null) { + timer = setTimeout(function () { + func.apply(context, args); + timer = null; + }, delay); + } + }; + }, + + // Description: + // Executes a function when it stops being invoked for n seconds + // Modified version of _.debounce() http://underscorejs.org + // + // Arguments: + // Func (Function): Function to be debounced. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Immediate (Bool): Whether the function should be called at the beginning + // of the delay instead of the end. Default is false. + // + // Returns: + // Lazy_function (Function): Function with debouncing applied. + debounce : function (func, delay, immediate) { + var timeout, result; + return function () { + var context = this, args = arguments; + var later = function () { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + } + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, delay); + if (callNow) { + result = func.apply(context, args); + } + return result; + }; + }, + + // Description: + // Parses data-options attribute + // + // Arguments: + // El (jQuery Object): Element to be parsed. + // + // Returns: + // Options (Javascript Object): Contents of the element's data-options + // attribute. + data_options : function (el, data_attr_name) { + data_attr_name = data_attr_name || 'options'; + var opts = {}, ii, p, opts_arr, + data_options = function (el) { + var namespace = Foundation.global.namespace; + + if (namespace.length > 0) { + return el.data(namespace + '-' + data_attr_name); + } + + return el.data(data_attr_name); + }; + + var cached_options = data_options(el); + + if (typeof cached_options === 'object') { + return cached_options; + } + + opts_arr = (cached_options || ':').split(';'); + ii = opts_arr.length; + + function isNumber (o) { + return !isNaN (o - 0) && o !== null && o !== '' && o !== false && o !== true; + } + + function trim (str) { + if (typeof str === 'string') { + return $.trim(str); + } + return str; + } + + while (ii--) { + p = opts_arr[ii].split(':'); + p = [p[0], p.slice(1).join(':')]; + + if (/true/i.test(p[1])) { + p[1] = true; + } + if (/false/i.test(p[1])) { + p[1] = false; + } + if (isNumber(p[1])) { + if (p[1].indexOf('.') === -1) { + p[1] = parseInt(p[1], 10); + } else { + p[1] = parseFloat(p[1]); + } + } + + if (p.length === 2 && p[0].length > 0) { + opts[trim(p[0])] = trim(p[1]); + } + } + + return opts; + }, + + // Description: + // Adds JS-recognizable media queries + // + // Arguments: + // Media (String): Key string for the media query to be stored as in + // Foundation.media_queries + // + // Class (String): Class name for the generated tag + register_media : function (media, media_class) { + if (Foundation.media_queries[media] === undefined) { + $('head').append(''); + Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family')); + } + }, + + // Description: + // Add custom CSS within a JS-defined media query + // + // Arguments: + // Rule (String): CSS rule to be appended to the document. + // + // Media (String): Optional media query string for the CSS rule to be + // nested under. + add_custom_rule : function (rule, media) { + if (media === undefined && Foundation.stylesheet) { + Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length); + } else { + var query = Foundation.media_queries[media]; + + if (query !== undefined) { + Foundation.stylesheet.insertRule('@media ' + + Foundation.media_queries[media] + '{ ' + rule + ' }', Foundation.stylesheet.cssRules.length); + } + } + }, + + // Description: + // Performs a callback function when an image is fully loaded + // + // Arguments: + // Image (jQuery Object): Image(s) to check if loaded. + // + // Callback (Function): Function to execute when image is fully loaded. + image_loaded : function (images, callback) { + var self = this, + unloaded = images.length; + + function pictures_has_height(images) { + var pictures_number = images.length; + + for (var i = pictures_number - 1; i >= 0; i--) { + if(images.attr('height') === undefined) { + return false; + }; + }; + + return true; + } + + if (unloaded === 0 || pictures_has_height(images)) { + callback(images); + } + + images.each(function () { + single_image_loaded(self.S(this), function () { + unloaded -= 1; + if (unloaded === 0) { + callback(images); + } + }); + }); + }, + + // Description: + // Returns a random, alphanumeric string + // + // Arguments: + // Length (Integer): Length of string to be generated. Defaults to random + // integer. + // + // Returns: + // Rand (String): Pseudo-random, alphanumeric string. + random_str : function () { + if (!this.fidx) { + this.fidx = 0; + } + this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-'); + + return this.prefix + (this.fidx++).toString(36); + }, + + // Description: + // Helper for window.matchMedia + // + // Arguments: + // mq (String): Media query + // + // Returns: + // (Boolean): Whether the media query passes or not + match : function (mq) { + return window.matchMedia(mq).matches; + }, + + // Description: + // Helpers for checking Foundation default media queries with JS + // + // Returns: + // (Boolean): Whether the media query passes or not + + 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(); + } + } + }; + + $.fn.foundation = function () { + var args = Array.prototype.slice.call(arguments, 0); + + return this.each(function () { + Foundation.init.apply(Foundation, [this].concat(args)); + return this; + }); + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.abide = { + name : 'abide', + + version : '5.5.3', + + settings : { + live_validate : true, // validate the form as you go + validate_on_blur : true, // validate whenever you focus/blur on an input field + // validate_on: 'tab', // tab (when user tabs between fields), change (input changes), manual (call custom events) + + focus_on_invalid : true, // automatically bring the focus to an invalid input field + error_labels : true, // labels with a for="inputId" will receive an `error` class + error_class : 'error', // labels with a for="inputId" will receive an `error` class + // the amount of time Abide will take before it validates the form (in ms). + // smaller time will result in faster validation + timeout : 1000, + patterns : { + alpha : /^[a-zA-Z]+$/, + alpha_numeric : /^[a-zA-Z0-9]+$/, + integer : /^[-+]?\d+$/, + number : /^[-+]?\d*(?:[\.\,]\d+)?$/, + + // amex, visa, diners + 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}$/, + + // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address + 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])?)+$/, + + // http://blogs.lse.ac.uk/lti/2008/04/23/a-regular-expression-to-match-any-url/ + url: /^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/, + // abc.de + 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))$/, + // YYYY-MM-DD + 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))$/, + // HH:MM:SS + time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/, + dateISO : /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/, + // MM/DD/YYYY + month_day_year : /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/, + // DD/MM/YYYY + day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/, + + // #FFF or #FFFFFF + color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/ + }, + validators : { + equalTo : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + return valid; + } + } + }, + + timer : null, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + form = self.S(scope).attr('novalidate', 'novalidate'), + settings = form.data(this.attr_name(true) + '-init') || {}; + + this.invalid_attr = this.add_namespace('data-invalid'); + + function validate(originalSelf, e) { + clearTimeout(self.timer); + self.timer = setTimeout(function () { + self.validate([originalSelf], e); + }.bind(originalSelf), settings.timeout); + } + + form + .off('.abide') + .on('submit.fndtn.abide', function (e) { + var is_ajax = /ajax/i.test(self.S(this).attr(self.attr_name())); + return self.validate(self.S(this).find('input, textarea, select').not(":hidden, [data-abide-ignore]").get(), e, is_ajax); + }) + .on('validate.fndtn.abide', function (e) { + if (settings.validate_on === 'manual') { + self.validate([e.target], e); + } + }) + .on('reset', function (e) { + return self.reset($(this), e); + }) + .find('input, textarea, select').not(":hidden, [data-abide-ignore]") + .off('.abide') + .on('blur.fndtn.abide change.fndtn.abide', function (e) { + var id = this.getAttribute('id'), + eqTo = form.find('[data-equalto="'+ id +'"]'); + // old settings fallback + // will be deprecated with F6 release + if (settings.validate_on_blur && settings.validate_on_blur === true) { + validate(this, e); + } + // checks if there is an equalTo equivalent related by id + if(typeof eqTo.get(0) !== "undefined" && eqTo.val().length){ + validate(eqTo.get(0),e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('keydown.fndtn.abide', function (e) { + var id = this.getAttribute('id'), + eqTo = form.find('[data-equalto="'+ id +'"]'); + // old settings fallback + // will be deprecated with F6 release + if (settings.live_validate && settings.live_validate === true && e.which != 9) { + validate(this, e); + } + // checks if there is an equalTo equivalent related by id + if(typeof eqTo.get(0) !== "undefined" && eqTo.val().length){ + validate(eqTo.get(0),e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'tab' && e.which === 9) { + validate(this, e); + } + else if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('focus', function (e) { + if (navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)) { + $('html, body').animate({ + scrollTop: $(e.target).offset().top + }, 100); + } + }); + }, + + reset : function (form, e) { + var self = this; + form.removeAttr(self.invalid_attr); + + $('[' + self.invalid_attr + ']', form).removeAttr(self.invalid_attr); + $('.' + self.settings.error_class, form).not('small').removeClass(self.settings.error_class); + $(':input', form).not(':button, :submit, :reset, :hidden, [data-abide-ignore]').val('').removeAttr(self.invalid_attr); + }, + + validate : function (els, e, is_ajax) { + var validations = this.parse_patterns(els), + validation_count = validations.length, + form = this.S(els[0]).closest('form'), + submit_event = /submit/.test(e.type); + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < validation_count; i++) { + if (!validations[i] && (submit_event || is_ajax)) { + if (this.settings.focus_on_invalid) { + els[i].focus(); + } + form.trigger('invalid.fndtn.abide'); + this.S(els[i]).closest('form').attr(this.invalid_attr, ''); + return false; + } + } + + if (submit_event || is_ajax) { + form.trigger('valid.fndtn.abide'); + } + + form.removeAttr(this.invalid_attr); + + if (is_ajax) { + return false; + } + + return true; + }, + + parse_patterns : function (els) { + var i = els.length, + el_patterns = []; + + while (i--) { + el_patterns.push(this.pattern(els[i])); + } + + return this.check_validation_and_apply_styles(el_patterns); + }, + + pattern : function (el) { + var type = el.getAttribute('type'), + required = typeof el.getAttribute('required') === 'string'; + + var pattern = el.getAttribute('pattern') || ''; + + if (this.settings.patterns.hasOwnProperty(pattern) && pattern.length > 0) { + return [el, this.settings.patterns[pattern], required]; + } else if (pattern.length > 0) { + return [el, new RegExp(pattern), required]; + } + + if (this.settings.patterns.hasOwnProperty(type)) { + return [el, this.settings.patterns[type], required]; + } + + pattern = /.*/; + + return [el, pattern, required]; + }, + + // TODO: Break this up into smaller methods, getting hard to read. + check_validation_and_apply_styles : function (el_patterns) { + var i = el_patterns.length, + validations = []; + if (i == 0) { + return validations; + } + var form = this.S(el_patterns[0][0]).closest('[data-' + this.attr_name(true) + ']'), + settings = form.data(this.attr_name(true) + '-init') || {}; + while (i--) { + var el = el_patterns[i][0], + required = el_patterns[i][2], + value = el.value.trim(), + direct_parent = this.S(el).parent(), + validator = el.getAttribute(this.add_namespace('data-abide-validator')), + is_radio = el.type === 'radio', + is_checkbox = el.type === 'checkbox', + label = this.S('label[for="' + el.getAttribute('id') + '"]'), + valid_length = (required) ? (el.value.length > 0) : true, + el_validations = []; + + var parent, valid; + + // support old way to do equalTo validations + if (el.getAttribute(this.add_namespace('data-equalto'))) { validator = 'equalTo' } + + if (!direct_parent.is('label')) { + parent = direct_parent; + } else { + parent = direct_parent.parent(); + } + + if (is_radio && required) { + el_validations.push(this.valid_radio(el, required)); + } else if (is_checkbox && required) { + el_validations.push(this.valid_checkbox(el, required)); + + } else if (validator) { + // Validate using each of the specified (space-delimited) validators. + var validators = validator.split(' '); + var last_valid = true, all_valid = true; + for (var iv = 0; iv < validators.length; iv++) { + valid = this.settings.validators[validators[iv]].apply(this, [el, required, parent]) + el_validations.push(valid); + all_valid = valid && last_valid; + last_valid = valid; + } + if (all_valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass('error'); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass('error'); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } else { + + if (el_patterns[i][1].test(value) && valid_length || + !required && el.value.length < 1 || $(el).attr('disabled')) { + el_validations.push(true); + } else { + el_validations.push(false); + } + + el_validations = [el_validations.every(function (valid) {return valid;})]; + if (el_validations[0]) { + this.S(el).removeAttr(this.invalid_attr); + el.setAttribute('aria-invalid', 'false'); + el.removeAttribute('aria-describedby'); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + el.setAttribute('aria-invalid', 'true'); + + // Try to find the error associated with the input + var errorElem = parent.find('small.' + this.settings.error_class, 'span.' + this.settings.error_class); + var errorID = errorElem.length > 0 ? errorElem[0].id : ''; + if (errorID.length > 0) { + el.setAttribute('aria-describedby', errorID); + } + + // el.setAttribute('aria-describedby', $(el).find('.error')[0].id); + parent.addClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } + validations = validations.concat(el_validations); + } + + return validations; + }, + + valid_checkbox : function (el, required) { + var el = this.S(el), + valid = (el.is(':checked') || !required || el.get(0).getAttribute('disabled')); + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + $(el).triggerHandler('valid'); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + $(el).triggerHandler('invalid'); + } + + return valid; + }, + + valid_radio : function (el, required) { + var name = el.getAttribute('name'), + group = this.S(el).closest('[data-' + this.attr_name(true) + ']').find("[name='" + name + "']"), + count = group.length, + valid = false, + disabled = false; + + // Has to count up to make sure the focus gets applied to the top error + for (var i=0; i < count; i++) { + if( group[i].getAttribute('disabled') ){ + disabled=true; + valid=true; + } else { + if (group[i].checked){ + valid = true; + } else { + if( disabled ){ + valid = false; + } + } + } + } + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < count; i++) { + if (valid) { + this.S(group[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + $(group[i]).triggerHandler('valid'); + } else { + this.S(group[i]).attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + $(group[i]).triggerHandler('invalid'); + } + } + + return valid; + }, + + valid_equal : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + if (valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.removeClass(this.settings.error_class); + } + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.addClass(this.settings.error_class); + } + } + + return valid; + }, + + valid_oneof : function (el, required, parent, doNotValidateOthers) { + var el = this.S(el), + others = this.S('[' + this.add_namespace('data-oneof') + ']'), + valid = others.filter(':checked').length > 0; + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + } + + if (!doNotValidateOthers) { + var _this = this; + others.each(function () { + _this.valid_oneof.call(_this, this, null, null, true); + }); + } + + return valid; + }, + + reflow : function(scope, options) { + var self = this, + form = self.S('[' + this.attr_name() + ']').attr('novalidate', 'novalidate'); + self.S(form).each(function (idx, el) { + self.events(el); + }); + } + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.accordion = { + name : 'accordion', + + version : '5.5.3', + + settings : { + content_class : 'content', + active_class : 'active', + multi_expand : false, + toggleable : true, + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (instance) { + var self = this; + var S = this.S; + self.create(this.S(instance)); + + S(this.scope) + .off('.fndtn.accordion') + .on('click.fndtn.accordion', '[' + this.attr_name() + '] > dd > a, [' + this.attr_name() + '] > li > a', function (e) { + var accordion = S(this).closest('[' + self.attr_name() + ']'), + groupSelector = self.attr_name() + '=' + accordion.attr(self.attr_name()), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings, + target = S('#' + this.href.split('#')[1]), + aunts = $('> dd, > li', accordion), + siblings = aunts.children('.' + settings.content_class), + active_content = siblings.filter('.' + settings.active_class); + + e.preventDefault(); + + if (accordion.attr(self.attr_name())) { + siblings = siblings.add('[' + groupSelector + '] dd > ' + '.' + settings.content_class + ', [' + groupSelector + '] li > ' + '.' + settings.content_class); + aunts = aunts.add('[' + groupSelector + '] dd, [' + groupSelector + '] li'); + } + + if (settings.toggleable && target.is(active_content)) { + target.parent('dd, li').toggleClass(settings.active_class, false); + target.toggleClass(settings.active_class, false); + S(this).attr('aria-expanded', function(i, attr){ + return attr === 'true' ? 'false' : 'true'; + }); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + return; + } + + if (!settings.multi_expand) { + siblings.removeClass(settings.active_class); + aunts.removeClass(settings.active_class); + aunts.children('a').attr('aria-expanded','false'); + } + + target.addClass(settings.active_class).parent().addClass(settings.active_class); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + S(this).attr('aria-expanded','true'); + }); + }, + + create: function($instance) { + var self = this, + accordion = $instance, + aunts = $('> .accordion-navigation', accordion), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings; + + aunts.children('a').attr('aria-expanded','false'); + aunts.has('.' + settings.content_class + '.' + settings.active_class).addClass(settings.active_class).children('a').attr('aria-expanded','true'); + + if (settings.multi_expand) { + $instance.attr('aria-multiselectable','true'); + } + }, + + toggle : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + var selector = typeof options.selector !== 'undefined' ? options.selector : ''; + var toggle_state = typeof options.toggle_state !== 'undefined' ? options.toggle_state : ''; + var $accordion = typeof options.$accordion !== 'undefined' ? options.$accordion : this.S(this.scope).closest('[' + this.attr_name() + ']'); + + var $items = $accordion.find('> dd' + selector + ', > li' + selector); + if ( $items.length < 1 ) { + if ( window.console ) { + console.error('Selection not found.', selector); + } + return false; + } + + var S = this.S; + var active_class = this.settings.active_class; + $items.each(function() { + var $item = S(this); + var is_active = $item.hasClass(active_class); + if ( ( is_active && toggle_state === 'close' ) || ( !is_active && toggle_state === 'open' ) || toggle_state === '' ) { + $item.find('> a').trigger('click.fndtn.accordion'); + } + }); + }, + + open : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'open'; + this.toggle(options); + }, + + close : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'close'; + this.toggle(options); + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.alert = { + name : 'alert', + + version : '5.5.3', + + settings : { + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = this.S; + + $(this.scope).off('.alert').on('click.fndtn.alert', '[' + this.attr_name() + '] .close', function (e) { + var alertBox = S(this).closest('[' + self.attr_name() + ']'), + settings = alertBox.data(self.attr_name(true) + '-init') || self.settings; + + e.preventDefault(); + if (Modernizr.csstransitions) { + alertBox.addClass('alert-close'); + alertBox.on('transitionend webkitTransitionEnd oTransitionEnd', function (e) { + S(this).trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } else { + alertBox.fadeOut(300, function () { + S(this).trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } + }); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.clearing = { + name : 'clearing', + + version : '5.5.3', + + settings : { + templates : { + viewing : '×' + + '' + + '' + + '' + }, + + // comma delimited list of selectors that, on click, will close clearing, + // add 'div.clearing-blackout, div.visible-img' to close on background click + close_selectors : '.clearing-close, div.clearing-blackout', + + // Default to the entire li element. + open_selectors : '', + + // Image will be skipped in carousel. + skip_selector : '', + + touch_label : '', + + // event initializer and locks + init : false, + locked : false + }, + + init : function (scope, method, options) { + var self = this; + Foundation.inherit(this, 'throttle image_loaded'); + + this.bindings(method, options); + + if (self.S(this.scope).is('[' + this.attr_name() + ']')) { + this.assemble(self.S('li', this.scope)); + } else { + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + self.assemble(self.S('li', this)); + }); + } + }, + + events : function (scope) { + var self = this, + S = self.S, + $scroll_container = $('.scroll-container'); + + if ($scroll_container.length > 0) { + this.scope = $scroll_container; + } + + S(this.scope) + .off('.clearing') + .on('click.fndtn.clearing', 'ul[' + this.attr_name() + '] li ' + this.settings.open_selectors, + function (e, current, target) { + var current = current || S(this), + target = target || current, + next = current.next('li'), + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'), + image = S(e.target); + + e.preventDefault(); + + if (!settings) { + self.init(); + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + } + + // if clearing is open and the current image is + // clicked, go to the next image in sequence + if (target.hasClass('visible') && + current[0] === target[0] && + next.length > 0 && self.is_open(current)) { + target = next; + image = S('img', target); + } + + // set current and target to the clicked li if not otherwise defined. + self.open(image, current, target); + self.update_paddles(target); + }) + + .on('click.fndtn.clearing', '.clearing-main-next', + function (e) { self.nav(e, 'next') }) + .on('click.fndtn.clearing', '.clearing-main-prev', + function (e) { self.nav(e, 'prev') }) + .on('click.fndtn.clearing', this.settings.close_selectors, + function (e) { Foundation.libs.clearing.close(e, this) }); + + $(document).on('keydown.fndtn.clearing', + function (e) { self.keydown(e) }); + + S(window).off('.clearing').on('resize.fndtn.clearing', + function () { self.resize() }); + + this.swipe_events(scope); + }, + + swipe_events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .on('touchstart.fndtn.clearing', '.visible-img', function (e) { + if (!e.touches) { e = e.originalEvent; } + var data = { + start_page_x : e.touches[0].pageX, + start_page_y : e.touches[0].pageY, + start_time : (new Date()).getTime(), + delta_x : 0, + is_scrolling : undefined + }; + + S(this).data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.clearing', '.visible-img', function (e) { + if (!e.touches) { + e = e.originalEvent; + } + // Ignore pinch/zoom events + if (e.touches.length > 1 || e.scale && e.scale !== 1) { + return; + } + + var data = S(this).data('swipe-transition'); + + if (typeof data === 'undefined') { + data = {}; + } + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if (Foundation.rtl) { + data.delta_x = -data.delta_x; + } + + if (typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? 'next' : 'prev'; + data.active = true; + self.nav(e, direction); + } + }) + .on('touchend.fndtn.clearing', '.visible-img', function (e) { + S(this).data('swipe-transition', {}); + e.stopPropagation(); + }); + }, + + assemble : function ($li) { + var $el = $li.parent(); + + if ($el.parent().hasClass('carousel')) { + return; + } + + $el.after('
      '); + + var grid = $el.detach(), + grid_outerHTML = ''; + + if (grid[0] == null) { + return; + } else { + grid_outerHTML = grid[0].outerHTML; + } + + var holder = this.S('#foundationClearingHolder'), + settings = $el.data(this.attr_name(true) + '-init'), + data = { + grid : '', + viewing : settings.templates.viewing + }, + wrapper = '
      ' + data.viewing + + data.grid + '
      ', + touch_label = this.settings.touch_label; + + if (Modernizr.touch) { + wrapper = $(wrapper).find('.clearing-touch-label').html(touch_label).end(); + } + + holder.after(wrapper).remove(); + }, + + open : function ($image, current, target) { + var self = this, + body = $(document.body), + root = target.closest('.clearing-assembled'), + container = self.S('div', root).first(), + visible_image = self.S('.visible-img', container), + image = self.S('img', visible_image).not($image), + label = self.S('.clearing-touch-label', container), + error = false, + loaded = {}; + + // Event to disable scrolling on touch devices when Clearing is activated + $('body').on('touchmove', function (e) { + e.preventDefault(); + }); + + image.error(function () { + error = true; + }); + + function startLoad() { + setTimeout(function () { + this.image_loaded(image, function () { + if (image.outerWidth() === 1 && !error) { + startLoad.call(this); + } else { + cb.call(this, image); + } + }.bind(this)); + }.bind(this), 100); + } + + function cb (image) { + var $image = $(image); + $image.css('visibility', 'visible'); + $image.trigger('imageVisible'); + // toggle the gallery + body.css('overflow', 'hidden'); + root.addClass('clearing-blackout'); + container.addClass('clearing-container'); + visible_image.show(); + this.fix_height(target) + .caption(self.S('.clearing-caption', visible_image), self.S('img', target)) + .center_and_label(image, label) + .shift(current, target, function () { + target.closest('li').siblings().removeClass('visible'); + target.closest('li').addClass('visible'); + }); + visible_image.trigger('opened.fndtn.clearing') + } + + if (!this.locked()) { + visible_image.trigger('open.fndtn.clearing'); + // set the image to the selected thumbnail + loaded = this.load($image); + if (loaded.interchange) { + image + .attr('data-interchange', loaded.interchange) + .foundation('interchange', 'reflow'); + } else { + image + .attr('src', loaded.src) + .attr('data-interchange', ''); + } + image.css('visibility', 'hidden'); + + startLoad.call(this); + } + }, + + close : function (e, el) { + e.preventDefault(); + + var root = (function (target) { + if (/blackout/.test(target.selector)) { + return target; + } else { + return target.closest('.clearing-blackout'); + } + }($(el))), + body = $(document.body), container, visible_image; + + if (el === e.target && root) { + body.css('overflow', ''); + container = $('div', root).first(); + visible_image = $('.visible-img', container); + visible_image.trigger('close.fndtn.clearing'); + this.settings.prev_index = 0; + $('ul[' + this.attr_name() + ']', root) + .attr('style', '').closest('.clearing-blackout') + .removeClass('clearing-blackout'); + container.removeClass('clearing-container'); + visible_image.hide(); + visible_image.trigger('closed.fndtn.clearing'); + } + + // Event to re-enable scrolling on touch devices + $('body').off('touchmove'); + + return false; + }, + + is_open : function (current) { + return current.parent().prop('style').length > 0; + }, + + keydown : function (e) { + var clearing = $('.clearing-blackout ul[' + this.attr_name() + ']'), + NEXT_KEY = this.rtl ? 37 : 39, + PREV_KEY = this.rtl ? 39 : 37, + ESC_KEY = 27; + + if (e.which === NEXT_KEY) { + this.go(clearing, 'next'); + } + if (e.which === PREV_KEY) { + this.go(clearing, 'prev'); + } + if (e.which === ESC_KEY) { + this.S('a.clearing-close').trigger('click.fndtn.clearing'); + } + }, + + nav : function (e, direction) { + var clearing = $('ul[' + this.attr_name() + ']', '.clearing-blackout'); + + e.preventDefault(); + this.go(clearing, direction); + }, + + resize : function () { + var image = $('img', '.clearing-blackout .visible-img'), + label = $('.clearing-touch-label', '.clearing-blackout'); + + if (image.length) { + this.center_and_label(image, label); + image.trigger('resized.fndtn.clearing') + } + }, + + // visual adjustments + fix_height : function (target) { + var lis = target.parent().children(), + self = this; + + lis.each(function () { + var li = self.S(this), + image = li.find('img'); + + if (li.height() > image.outerHeight()) { + li.addClass('fix-height'); + } + }) + .closest('ul') + .width(lis.length * 100 + '%'); + + return this; + }, + + update_paddles : function (target) { + target = target.closest('li'); + var visible_image = target + .closest('.carousel') + .siblings('.visible-img'); + + if (target.next().length > 0) { + this.S('.clearing-main-next', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-next', visible_image).addClass('disabled'); + } + + if (target.prev().length > 0) { + this.S('.clearing-main-prev', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-prev', visible_image).addClass('disabled'); + } + }, + + center_and_label : function (target, label) { + if (!this.rtl && label.length > 0) { + label.css({ + marginLeft : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10 + }); + } else { + label.css({ + marginRight : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10, + left: 'auto', + right: '50%' + }); + } + return this; + }, + + // image loading and preloading + + load : function ($image) { + var href, + interchange, + closest_a; + + if ($image[0].nodeName === 'A') { + href = $image.attr('href'); + interchange = $image.data('clearing-interchange'); + } else { + closest_a = $image.closest('a'); + href = closest_a.attr('href'); + interchange = closest_a.data('clearing-interchange'); + } + + this.preload($image); + + return { + 'src': href ? href : $image.attr('src'), + 'interchange': href ? interchange : $image.data('clearing-interchange') + } + }, + + preload : function ($image) { + this + .img($image.closest('li').next(), 'next') + .img($image.closest('li').prev(), 'prev'); + }, + + img : function (img, sibling_type) { + if (img.length) { + var preload_img = $('.clearing-preload-' + sibling_type), + new_a = this.S('a', img), + src, + interchange, + image; + + if (new_a.length) { + src = new_a.attr('href'); + interchange = new_a.data('clearing-interchange'); + } else { + image = this.S('img', img); + src = image.attr('src'); + interchange = image.data('clearing-interchange'); + } + + if (interchange) { + preload_img.attr('data-interchange', interchange); + } else { + preload_img.attr('src', src); + preload_img.attr('data-interchange', ''); + } + } + return this; + }, + + // image caption + + caption : function (container, $image) { + var caption = $image.attr('data-caption'); + + if (caption) { + var containerPlain = container.get(0); + containerPlain.innerHTML = caption; + container.show(); + } else { + container + .text('') + .hide(); + } + return this; + }, + + // directional methods + + go : function ($ul, direction) { + var current = this.S('.visible', $ul), + target = current[direction](); + + // Check for skip selector. + if (this.settings.skip_selector && target.find(this.settings.skip_selector).length != 0) { + target = target[direction](); + } + + if (target.length) { + this.S('img', target) + .trigger('click.fndtn.clearing', [current, target]) + .trigger('change.fndtn.clearing'); + } + }, + + shift : function (current, target, callback) { + var clearing = target.parent(), + old_index = this.settings.prev_index || target.index(), + direction = this.direction(clearing, current, target), + dir = this.rtl ? 'right' : 'left', + left = parseInt(clearing.css('left'), 10), + width = target.outerWidth(), + skip_shift; + + var dir_obj = {}; + + // we use jQuery animate instead of CSS transitions because we + // need a callback to unlock the next animation + // needs support for RTL ** + if (target.index() !== old_index && !/skip/.test(direction)) { + if (/left/.test(direction)) { + this.lock(); + dir_obj[dir] = left + width; + clearing.animate(dir_obj, 300, this.unlock()); + } else if (/right/.test(direction)) { + this.lock(); + dir_obj[dir] = left - width; + clearing.animate(dir_obj, 300, this.unlock()); + } + } else if (/skip/.test(direction)) { + // the target image is not adjacent to the current image, so + // do we scroll right or not + skip_shift = target.index() - this.settings.up_count; + this.lock(); + + if (skip_shift > 0) { + dir_obj[dir] = -(skip_shift * width); + clearing.animate(dir_obj, 300, this.unlock()); + } else { + dir_obj[dir] = 0; + clearing.animate(dir_obj, 300, this.unlock()); + } + } + + callback(); + }, + + direction : function ($el, current, target) { + var lis = this.S('li', $el), + li_width = lis.outerWidth() + (lis.outerWidth() / 4), + up_count = Math.floor(this.S('.clearing-container').outerWidth() / li_width) - 1, + target_index = lis.index(target), + response; + + this.settings.up_count = up_count; + + if (this.adjacent(this.settings.prev_index, target_index)) { + if ((target_index > up_count) && target_index > this.settings.prev_index) { + response = 'right'; + } else if ((target_index > up_count - 1) && target_index <= this.settings.prev_index) { + response = 'left'; + } else { + response = false; + } + } else { + response = 'skip'; + } + + this.settings.prev_index = target_index; + + return response; + }, + + adjacent : function (current_index, target_index) { + for (var i = target_index + 1; i >= target_index - 1; i--) { + if (i === current_index) { + return true; + } + } + return false; + }, + + // lock management + + lock : function () { + this.settings.locked = true; + }, + + unlock : function () { + this.settings.locked = false; + }, + + locked : function () { + return this.settings.locked; + }, + + off : function () { + this.S(this.scope).off('.fndtn.clearing'); + this.S(window).off('.fndtn.clearing'); + }, + + reflow : function () { + this.init(); + } + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + '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 : false, + hover_timeout : 150, + opened : function () {}, + closed : function () {} + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.dropdown') + .on('click.fndtn.dropdown', '[' + this.attr_name() + ']', function (e) { + var settings = S(this).data(self.attr_name(true) + '-init') || self.settings; + if (!settings.is_hover || Modernizr.touch) { + e.preventDefault(); + if (S(this).parent('[data-reveal-id]').length) { + e.stopPropagation(); + } + self.toggle($(this)); + } + }) + .on('mouseenter.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this), + dropdown, + target; + + clearTimeout(self.timeout); + + if ($this.data(self.data_attr())) { + dropdown = S('#' + $this.data(self.data_attr())); + target = $this; + } else { + dropdown = $this; + target = S('[' + self.attr_name() + '="' + dropdown.attr('id') + '"]'); + } + + var settings = target.data(self.attr_name(true) + '-init') || self.settings; + + if (S(e.currentTarget).data(self.data_attr()) && settings.is_hover) { + self.closeall.call(self); + } + + if (settings.is_hover) { + self.open.apply(self, [dropdown, target]); + } + }) + .on('mouseleave.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this); + var settings; + + if ($this.data(self.data_attr())) { + settings = $this.data(self.data_attr(true) + '-init') || self.settings; + } else { + var target = S('[' + self.attr_name() + '="' + S(this).attr('id') + '"]'), + settings = target.data(self.attr_name(true) + '-init') || self.settings; + } + + self.timeout = setTimeout(function () { + if ($this.data(self.data_attr())) { + if (settings.is_hover) { + self.close.call(self, S('#' + $this.data(self.data_attr()))); + } + } else { + if (settings.is_hover) { + self.close.call(self, $this); + } + } + }.bind(this), settings.hover_timeout); + }) + .on('click.fndtn.dropdown', function (e) { + var parent = S(e.target).closest('[' + self.attr_name() + '-content]'); + var links = parent.find('a'); + + if (links.length > 0 && parent.attr('aria-autoclose') !== 'false') { + self.close.call(self, S('[' + self.attr_name() + '-content]')); + } + + if (e.target !== document && !$.contains(document.documentElement, e.target)) { + return; + } + + if (S(e.target).closest('[' + self.attr_name() + ']').length > 0) { + return; + } + + if (!(S(e.target).data('revealId')) && + (parent.length > 0 && (S(e.target).is('[' + self.attr_name() + '-content]') || + $.contains(parent.first()[0], e.target)))) { + e.stopPropagation(); + return; + } + + self.close.call(self, S('[' + self.attr_name() + '-content]')); + }) + .on('opened.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.opened.call(this); + }) + .on('closed.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.closed.call(this); + }); + + S(window) + .off('.dropdown') + .on('resize.fndtn.dropdown', self.throttle(function () { + self.resize.call(self); + }, 50)); + + this.resize(); + }, + + close : function (dropdown) { + var self = this; + dropdown.each(function (idx) { + var original_target = $('[' + self.attr_name() + '=' + dropdown[idx].id + ']') || $('aria-controls=' + dropdown[idx].id + ']'); + original_target.attr('aria-expanded', 'false'); + if (self.S(this).hasClass(self.settings.active_class)) { + self.S(this) + .css(Foundation.rtl ? 'right' : 'left', '-99999px') + .attr('aria-hidden', 'true') + .removeClass(self.settings.active_class) + .prev('[' + self.attr_name() + ']') + .removeClass(self.settings.active_class) + .removeData('target'); + + self.S(this).trigger('closed.fndtn.dropdown', [dropdown]); + } + }); + dropdown.removeClass('f-open-' + this.attr_name(true)); + }, + + closeall : function () { + var self = this; + $.each(self.S('.f-open-' + this.attr_name(true)), function () { + self.close.call(self, self.S(this)); + }); + }, + + open : function (dropdown, target) { + this + .css(dropdown + .addClass(this.settings.active_class), target); + dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class); + dropdown.data('target', target.get(0)).trigger('opened.fndtn.dropdown', [dropdown, target]); + dropdown.attr('aria-hidden', 'false'); + target.attr('aria-expanded', 'true'); + dropdown.focus(); + dropdown.addClass('f-open-' + this.attr_name(true)); + }, + + data_attr : function () { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.name; + } + + return this.name; + }, + + toggle : function (target) { + if (target.hasClass(this.settings.disabled_class)) { + return; + } + var dropdown = this.S('#' + target.data(this.data_attr())); + if (dropdown.length === 0) { + // No dropdown found, not continuing + return; + } + + this.close.call(this, this.S('[' + this.attr_name() + '-content]').not(dropdown)); + + if (dropdown.hasClass(this.settings.active_class)) { + this.close.call(this, dropdown); + if (dropdown.data('target') !== target.get(0)) { + this.open.call(this, dropdown, target); + } + } else { + this.open.call(this, dropdown, target); + } + }, + + resize : function () { + var dropdown = this.S('[' + this.attr_name() + '-content].open'); + var target = $(dropdown.data("target")); + + if (dropdown.length && target.length) { + this.css(dropdown, target); + } + }, + + css : function (dropdown, target) { + var left_offset = Math.max((target.width() - dropdown.width()) / 2, 8), + settings = target.data(this.attr_name(true) + '-init') || this.settings, + parentOverflow = dropdown.parent().css('overflow-y') || dropdown.parent().css('overflow'); + + this.clear_idx(); + + + + if (this.small()) { + var p = this.dirs.bottom.call(dropdown, target, settings); + + dropdown.attr('style', '').removeClass('drop-left drop-right drop-top').css({ + position : 'absolute', + width : '95%', + 'max-width' : 'none', + top : p.top + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } + // detect if dropdown is in an overflow container + else if (parentOverflow !== 'visible') { + var offset = target[0].offsetTop + target[0].offsetHeight; + + dropdown.attr('style', '').css({ + position : 'absolute', + top : offset + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } + else { + + this.style(dropdown, target, settings); + } + + return dropdown; + }, + + style : function (dropdown, target, settings) { + var css = $.extend({position : 'absolute'}, + this.dirs[settings.align].call(dropdown, target, settings)); + + dropdown.attr('style', '').css(css); + }, + + // return CSS property object + // `this` is the dropdown + dirs : { + // Calculate target offset + _base : function (t, s) { + var o_p = this.offsetParent(), + o = o_p.offset(), + p = t.offset(); + + p.top -= o.top; + p.left -= o.left; + + //set some flags on the p object to pass along + p.missRight = false; + p.missTop = false; + p.missLeft = false; + p.leftRightFlag = false; + + //lets see if the panel will be off the screen + //get the actual width of the page and store it + var actualBodyWidth; + var windowWidth = window.innerWidth; + + if (document.getElementsByClassName('row')[0]) { + actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth; + } else { + actualBodyWidth = windowWidth; + } + + var actualMarginWidth = (windowWidth - actualBodyWidth) / 2; + var actualBoundary = actualBodyWidth; + + if (!this.hasClass('mega') && !s.ignore_repositioning) { + var outerWidth = this.outerWidth(); + var o_left = t.offset().left; + + //miss top + if (t.offset().top <= this.outerHeight()) { + p.missTop = true; + actualBoundary = windowWidth - actualMarginWidth; + p.leftRightFlag = true; + } + + //miss right + if (o_left + outerWidth > o_left + actualMarginWidth && o_left - actualMarginWidth > outerWidth) { + p.missRight = true; + p.missLeft = false; + } + + //miss left + if (o_left - outerWidth <= 0) { + p.missLeft = true; + p.missRight = false; + } + } + + return p; + }, + + top : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t, s); + + this.addClass('drop-top'); + + if (p.missTop == true) { + p.top = p.top + t.outerHeight() + this.outerHeight(); + this.removeClass('drop-top'); + } + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (Foundation.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), + top : p.top - this.outerHeight()}; + } + + return {left : p.left, top : p.top - this.outerHeight()}; + }, + + bottom : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t, s); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (self.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), top : p.top + t.outerHeight()}; + } + + return {left : p.left, top : p.top + t.outerHeight()}; + }, + + left : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t, s); + + this.addClass('drop-left'); + + if (p.missLeft == true) { + p.left = p.left + this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-left'); + } + + return {left : p.left - this.outerWidth(), top : p.top}; + }, + + right : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t, s); + + this.addClass('drop-right'); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-right'); + } else { + p.triggeredRight = true; + } + + var self = Foundation.libs.dropdown; + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + return {left : p.left + t.outerWidth(), top : p.top}; + } + }, + + // Insert rule to style psuedo elements + adjust_pip : function (dropdown, target, settings, position) { + var sheet = Foundation.stylesheet, + pip_offset_base = 8; + + if (dropdown.hasClass(settings.mega_class)) { + pip_offset_base = position.left + (target.outerWidth() / 2) - 8; + } else if (this.small()) { + pip_offset_base += position.left - 8; + } + + this.rule_idx = sheet.cssRules.length; + + //default + var sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + + if (position.missRight == true) { + pip_offset_base = dropdown.outerWidth() - 23; + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + } + + //just a case where right is fired, but its not missing right + if (position.triggeredRight == true) { + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left:-12px;', + css_after = 'left:-14px;'; + } + + if (sheet.insertRule) { + sheet.insertRule([sel_before, '{', css_before, '}'].join(' '), this.rule_idx); + sheet.insertRule([sel_after, '{', css_after, '}'].join(' '), this.rule_idx + 1); + } else { + sheet.addRule(sel_before, css_before, this.rule_idx); + sheet.addRule(sel_after, css_after, this.rule_idx + 1); + } + }, + + // Remove old dropdown rule index + clear_idx : function () { + var sheet = Foundation.stylesheet; + + if (typeof this.rule_idx !== 'undefined') { + sheet.deleteRule(this.rule_idx); + sheet.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(window).off('.fndtn.dropdown'); + this.S('[data-dropdown-content]').off('.fndtn.dropdown'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.equalizer = { + name : 'equalizer', + + version : '5.5.3', + + settings : { + use_tallest : true, + before_height_change : $.noop, + after_height_change : $.noop, + equalize_on_stack : false, + act_on_hidden_el: false + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'image_loaded'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + this.S(window).off('.equalizer').on('resize.fndtn.equalizer', function (e) { + this.reflow(); + }.bind(this)); + }, + + equalize : function (equalizer) { + var isStacked = false, + group = equalizer.data('equalizer'), + settings = equalizer.data(this.attr_name(true)+'-init') || this.settings, + vals, + firstTopOffset; + + if (settings.act_on_hidden_el) { + vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]') : equalizer.find('['+this.attr_name()+'-watch]'); + } + else { + vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]:visible') : equalizer.find('['+this.attr_name()+'-watch]:visible'); + } + + if (vals.length === 0) { + return; + } + + settings.before_height_change(); + equalizer.trigger('before-height-change.fndth.equalizer'); + vals.height('inherit'); + + if (settings.equalize_on_stack === false) { + firstTopOffset = vals.first().offset().top; + vals.each(function () { + if ($(this).offset().top !== firstTopOffset) { + isStacked = true; + return false; + } + }); + if (isStacked) { + return; + } + } + + var heights = vals.map(function () { return $(this).outerHeight(false) }).get(); + + if (settings.use_tallest) { + var max = Math.max.apply(null, heights); + vals.css('height', max); + } else { + var min = Math.min.apply(null, heights); + vals.css('height', min); + } + + settings.after_height_change(); + equalizer.trigger('after-height-change.fndtn.equalizer'); + }, + + reflow : function () { + var self = this; + + this.S('[' + this.attr_name() + ']', this.scope).each(function () { + var $eq_target = $(this), + media_query = $eq_target.data('equalizer-mq'), + ignore_media_query = true; + + if (media_query) { + media_query = 'is_' + media_query.replace(/-/g, '_'); + if (Foundation.utils.hasOwnProperty(media_query)) { + ignore_media_query = false; + } + } + + self.image_loaded(self.S('img', this), function () { + if (ignore_media_query || Foundation.utils[media_query]()) { + self.equalize($eq_target) + } else { + var vals = $eq_target.find('[' + self.attr_name() + '-watch]:visible'); + vals.css('height', 'auto'); + } + }); + }); + } + }; +})(jQuery, window, window.document); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.interchange = { + name : 'interchange', + + version : '5.5.3', + + cache : {}, + + images_loaded : false, + nodes_loaded : false, + + 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 (el, path, trigger) { + // The trigger argument, if called within the directive, fires + // an event named after the directive on the element, passing + // any parameters along to the event that you pass to trigger. + // + // ex. trigger(), trigger([a, b, c]), or trigger(a, b, c) + // + // This allows you to bind a callback like so: + // $('#interchangeContainer').on('replace', function (e, a, b, c) { + // console.log($(this).html(), a, b, c); + // }); + + if (el !== null && /IMG/.test(el[0].nodeName)) { + var orig_path = $.each(el, function(){this.src = path;}); + // var orig_path = el[0].src; + + if (new RegExp(path, 'i').test(orig_path)) { + return; + } + + el.attr("src", path); + + return trigger(el[0].src); + } + var last_path = el.data(this.data_attr + '-last-path'), + self = this; + + if (last_path == path) { + return; + } + + if (/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(path)) { + $(el).css('background-image', 'url(' + path + ')'); + el.data('interchange-last-path', path); + return trigger(path); + } + + return $.get(path, function (response) { + el.html(response); + el.data(self.data_attr + '-last-path', path); + trigger(); + }); + + } + } + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.data_attr = this.set_data_attr(); + $.extend(true, this.settings, method, options); + this.bindings(method, options); + this.reflow(); + }, + + get_media_hash : function () { + var mediaHash = ''; + for (var queryName in this.settings.named_queries ) { + mediaHash += matchMedia(this.settings.named_queries[queryName]).matches.toString(); + } + return mediaHash; + }, + + events : function () { + var self = this, prevMediaHash; + + $(window) + .off('.interchange') + .on('resize.fndtn.interchange', self.throttle(function () { + var currMediaHash = self.get_media_hash(); + if (currMediaHash !== prevMediaHash) { + self.resize(); + } + prevMediaHash = currMediaHash; + }, 50)); + + return this; + }, + + resize : function () { + var cache = this.cache; + + if (!this.images_loaded || !this.nodes_loaded) { + setTimeout($.proxy(this.resize, this), 50); + return; + } + + for (var uuid in cache) { + if (cache.hasOwnProperty(uuid)) { + var passed = this.results(uuid, cache[uuid]); + if (passed) { + this.settings.directives[passed + .scenario[1]].call(this, passed.el, passed.scenario[0], (function (passed) { + if (arguments[0] instanceof Array) { + var args = arguments[0]; + } else { + var args = Array.prototype.slice.call(arguments, 0); + } + + return function() { + passed.el.trigger(passed.scenario[1], args); + } + }(passed))); + } + } + } + + }, + + results : function (uuid, scenarios) { + var count = scenarios.length; + + if (count > 0) { + var el = this.S('[' + this.add_namespace('data-uuid') + '="' + uuid + '"]'); + + while (count--) { + var mq, rule = scenarios[count][2]; + if (this.settings.named_queries.hasOwnProperty(rule)) { + mq = matchMedia(this.settings.named_queries[rule]); + } else { + mq = matchMedia(rule); + } + if (mq.matches) { + return {el : el, scenario : scenarios[count]}; + } + } + } + + return false; + }, + + load : function (type, force_update) { + if (typeof this['cached_' + type] === 'undefined' || force_update) { + this['update_' + type](); + } + + return this['cached_' + type]; + }, + + update_images : function () { + var images = this.S('img[' + this.data_attr + ']'), + count = images.length, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cache = {}; + this.cached_images = []; + this.images_loaded = (count === 0); + + while (i--) { + loaded_count++; + if (images[i]) { + var str = images[i].getAttribute(data_attr) || ''; + + if (str.length > 0) { + this.cached_images.push(images[i]); + } + } + + if (loaded_count === count) { + this.images_loaded = true; + this.enhance('images'); + } + } + + return this; + }, + + update_nodes : function () { + var nodes = this.S('[' + this.data_attr + ']').not('img'), + count = nodes.length, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cached_nodes = []; + this.nodes_loaded = (count === 0); + + while (i--) { + loaded_count++; + var str = nodes[i].getAttribute(data_attr) || ''; + + if (str.length > 0) { + this.cached_nodes.push(nodes[i]); + } + + if (loaded_count === count) { + this.nodes_loaded = true; + this.enhance('nodes'); + } + } + + return this; + }, + + enhance : function (type) { + var i = this['cached_' + type].length; + + while (i--) { + this.object($(this['cached_' + type][i])); + } + + return $(window).trigger('resize.fndtn.interchange'); + }, + + convert_directive : function (directive) { + + var trimmed = this.trim(directive); + + if (trimmed.length > 0) { + return trimmed; + } + + return 'replace'; + }, + + parse_scenario : function (scenario) { + // This logic had to be made more complex since some users were using commas in the url path + // So we cannot simply just split on a comma + + var directive_match = scenario[0].match(/(.+),\s*(\w+)\s*$/), + // getting the mq has gotten a bit complicated since we started accounting for several use cases + // of URLs. For now we'll continue to match these scenarios, but we may consider having these scenarios + // as nested objects or arrays in F6. + // regex: match everything before close parenthesis for mq + media_query = scenario[1].match(/(.*)\)/); + + if (directive_match) { + var path = directive_match[1], + directive = directive_match[2]; + + } else { + var cached_split = scenario[0].split(/,\s*$/), + path = cached_split[0], + directive = ''; + } + + return [this.trim(path), this.convert_directive(directive), this.trim(media_query[1])]; + }, + + object : function (el) { + var raw_arr = this.parse_data_attr(el), + scenarios = [], + i = raw_arr.length; + + if (i > 0) { + while (i--) { + // split array between comma delimited content and mq + // regex: comma, optional space, open parenthesis + var scenario = raw_arr[i].split(/,\s?\(/); + + if (scenario.length > 1) { + var params = this.parse_scenario(scenario); + scenarios.push(params); + } + } + } + + return this.store(el, scenarios); + }, + + store : function (el, scenarios) { + var uuid = this.random_str(), + current_uuid = el.data(this.add_namespace('uuid', true)); + + if (this.cache[current_uuid]) { + return this.cache[current_uuid]; + } + + el.attr(this.add_namespace('data-uuid'), uuid); + return this.cache[uuid] = scenarios; + }, + + trim : function (str) { + + if (typeof str === 'string') { + return $.trim(str); + } + + return str; + }, + + set_data_attr : function (init) { + if (init) { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.settings.load_attr; + } + + return this.settings.load_attr; + } + + if (this.namespace.length > 0) { + return 'data-' + this.namespace + '-' + this.settings.load_attr; + } + + return 'data-' + this.settings.load_attr; + }, + + parse_data_attr : function (el) { + var raw = el.attr(this.attr_name()).split(/\[(.*?)\]/), + i = raw.length, + output = []; + + while (i--) { + if (raw[i].replace(/[\W\d]+/, '').length > 4) { + output.push(raw[i]); + } + } + + return output; + }, + + reflow : function () { + this.load('images', true); + this.load('nodes', true); + } + + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + var Modernizr = Modernizr || false; + + Foundation.libs.joyride = { + name : 'joyride', + + version : '5.5.3', + + defaults : { + expose : false, // turn on or off the expose feature + modal : true, // Whether to cover page with modal during the tour + keyboard : true, // enable left, right and esc keystrokes + tip_location : 'bottom', // 'top', 'bottom', 'left' or 'right' in relation to parent + nub_position : 'auto', // override on a per tooltip bases + scroll_speed : 1500, // Page scrolling speed in milliseconds, 0 = no scroll animation + scroll_animation : 'linear', // supports 'swing' and 'linear', extend with jQuery UI. + timer : 0, // 0 = no timer , all other numbers = timer in milliseconds + start_timer_on_click : true, // true or false - true requires clicking the first button start the timer + start_offset : 0, // the index of the tooltip you want to start on (index of the li) + next_button : true, // true or false to control whether a next button is used + prev_button : true, // true or false to control whether a prev button is used + tip_animation : 'fade', // 'pop' or 'fade' in each tip + pause_after : [], // array of indexes where to pause the tour after + exposed : [], // array of expose elements + tip_animation_fade_speed : 300, // when tipAnimation = 'fade' this is speed in milliseconds for the transition + cookie_monster : false, // true or false to control whether cookies are used + cookie_name : 'joyride', // Name the cookie you'll use + cookie_domain : false, // Will this cookie be attached to a domain, ie. '.notableapp.com' + cookie_expires : 365, // set when you would like the cookie to expire. + tip_container : 'body', // Where will the tip be attached + abort_on_close : true, // When true, the close event will not fire any callback + tip_location_patterns : { + top : ['bottom'], + bottom : [], // bottom should not need to be repositioned + left : ['right', 'top', 'bottom'], + right : ['left', 'top', 'bottom'] + }, + post_ride_callback : function () {}, // A method to call once the tour closes (canceled or complete) + post_step_callback : function () {}, // A method to call after each step + pre_step_callback : function () {}, // A method to call before each step + pre_ride_callback : function () {}, // A method to call before the tour starts (passed index, tip, and cloned exposed element) + post_expose_callback : function () {}, // A method to call after an element has been exposed + template : { // HTML segments for tip layout + link : '×', + timer : '
      ', + tip : '
      ', + wrapper : '
      ', + button : '', + prev_button : '', + modal : '
      ', + expose : '
      ', + expose_cover : '
      ' + }, + expose_add_class : '' // One or more space-separated class names to be added to exposed element + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.settings = this.settings || $.extend({}, this.defaults, (options || method)); + + this.bindings(method, options) + }, + + go_next : function () { + if (this.settings.$li.next().length < 1) { + this.end(); + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(); + this.startTimer(); + } else { + this.hide(); + this.show(); + } + }, + + go_prev : function () { + if (this.settings.$li.prev().length < 1) { + // Do nothing if there are no prev element + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(null, true); + this.startTimer(); + } else { + this.hide(); + this.show(null, true); + } + }, + + events : function () { + var self = this; + + $(this.scope) + .off('.joyride') + .on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) { + e.preventDefault(); + this.go_next() + }.bind(this)) + .on('click.fndtn.joyride', '.joyride-prev-tip', function (e) { + e.preventDefault(); + this.go_prev(); + }.bind(this)) + + .on('click.fndtn.joyride', '.joyride-close-tip', function (e) { + e.preventDefault(); + this.end(this.settings.abort_on_close); + }.bind(this)) + + .on('keyup.fndtn.joyride', function (e) { + // Don't do anything if keystrokes are disabled + // or if the joyride is not being shown + if (!this.settings.keyboard || !this.settings.riding) { + return; + } + + switch (e.which) { + case 39: // right arrow + e.preventDefault(); + this.go_next(); + break; + case 37: // left arrow + e.preventDefault(); + this.go_prev(); + break; + case 27: // escape + e.preventDefault(); + this.end(this.settings.abort_on_close); + } + }.bind(this)); + + $(window) + .off('.joyride') + .on('resize.fndtn.joyride', self.throttle(function () { + if ($('[' + self.attr_name() + ']').length > 0 && self.settings.$next_tip && self.settings.riding) { + if (self.settings.exposed.length > 0) { + var $els = $(self.settings.exposed); + + $els.each(function () { + var $this = $(this); + self.un_expose($this); + self.expose($this); + }); + } + + if (self.is_phone()) { + self.pos_phone(); + } else { + self.pos_default(false); + } + } + }, 100)); + }, + + start : function () { + var self = this, + $this = $('[' + this.attr_name() + ']', this.scope), + integer_settings = ['timer', 'scrollSpeed', 'startOffset', 'tipAnimationFadeSpeed', 'cookieExpires'], + int_settings_count = integer_settings.length; + + if (!$this.length > 0) { + return; + } + + if (!this.settings.init) { + this.events(); + } + + this.settings = $this.data(this.attr_name(true) + '-init'); + + // non configureable settings + this.settings.$content_el = $this; + this.settings.$body = $(this.settings.tip_container); + this.settings.body_offset = $(this.settings.tip_container).position(); + this.settings.$tip_content = this.settings.$content_el.find('> li'); + this.settings.paused = false; + this.settings.attempts = 0; + this.settings.riding = true; + + // can we create cookies? + if (typeof $.cookie !== 'function') { + this.settings.cookie_monster = false; + } + + // generate the tips and insert into dom. + if (!this.settings.cookie_monster || this.settings.cookie_monster && !$.cookie(this.settings.cookie_name)) { + this.settings.$tip_content.each(function (index) { + var $this = $(this); + this.settings = $.extend({}, self.defaults, self.data_options($this)); + + // Make sure that settings parsed from data_options are integers where necessary + var i = int_settings_count; + while (i--) { + self.settings[integer_settings[i]] = parseInt(self.settings[integer_settings[i]], 10); + } + self.create({$li : $this, index : index}); + }); + + // show first tip + if (!this.settings.start_timer_on_click && this.settings.timer > 0) { + this.show('init'); + this.startTimer(); + } else { + this.show('init'); + } + + } + }, + + resume : function () { + this.set_li(); + this.show(); + }, + + tip_template : function (opts) { + var $blank, content; + + opts.tip_class = opts.tip_class || ''; + + $blank = $(this.settings.template.tip).addClass(opts.tip_class); + content = $.trim($(opts.li).html()) + + this.prev_button_text(opts.prev_button_text, opts.index) + + this.button_text(opts.button_text) + + this.settings.template.link + + this.timer_instance(opts.index); + + $blank.append($(this.settings.template.wrapper)); + $blank.first().attr(this.add_namespace('data-index'), opts.index); + $('.joyride-content-wrapper', $blank).append(content); + + return $blank[0]; + }, + + timer_instance : function (index) { + var txt; + + if ((index === 0 && this.settings.start_timer_on_click && this.settings.timer > 0) || this.settings.timer === 0) { + txt = ''; + } else { + txt = $(this.settings.template.timer)[0].outerHTML; + } + return txt; + }, + + button_text : function (txt) { + if (this.settings.tip_settings.next_button) { + txt = $.trim(txt) || 'Next'; + txt = $(this.settings.template.button).append(txt)[0].outerHTML; + } else { + txt = ''; + } + return txt; + }, + + prev_button_text : function (txt, idx) { + if (this.settings.tip_settings.prev_button) { + txt = $.trim(txt) || 'Previous'; + + // Add the disabled class to the button if it's the first element + if (idx == 0) { + txt = $(this.settings.template.prev_button).append(txt).addClass('disabled')[0].outerHTML; + } else { + txt = $(this.settings.template.prev_button).append(txt)[0].outerHTML; + } + } else { + txt = ''; + } + return txt; + }, + + create : function (opts) { + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(opts.$li)); + var buttonText = opts.$li.attr(this.add_namespace('data-button')) || opts.$li.attr(this.add_namespace('data-text')), + prevButtonText = opts.$li.attr(this.add_namespace('data-button-prev')) || opts.$li.attr(this.add_namespace('data-prev-text')), + tipClass = opts.$li.attr('class'), + $tip_content = $(this.tip_template({ + tip_class : tipClass, + index : opts.index, + button_text : buttonText, + prev_button_text : prevButtonText, + li : opts.$li + })); + + $(this.settings.tip_container).append($tip_content); + }, + + show : function (init, is_prev) { + var $timer = null; + + // are we paused? + if (this.settings.$li === undefined || ($.inArray(this.settings.$li.index(), this.settings.pause_after) === -1)) { + + // don't go to the next li if the tour was paused + if (this.settings.paused) { + this.settings.paused = false; + } else { + this.set_li(init, is_prev); + } + + this.settings.attempts = 0; + + if (this.settings.$li.length && this.settings.$target.length > 0) { + if (init) { //run when we first start + this.settings.pre_ride_callback(this.settings.$li.index(), this.settings.$next_tip); + if (this.settings.modal) { + this.show_modal(); + } + } + + this.settings.pre_step_callback(this.settings.$li.index(), this.settings.$next_tip); + + if (this.settings.modal && this.settings.expose) { + this.expose(); + } + + this.settings.tip_settings = $.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]; + + // scroll and hide bg if not modal and not expose + if (!/body/i.test(this.settings.$target.selector) && !this.settings.expose) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (/pop/i.test(this.settings.tipAnimation)) { + joyridemodalbg.hide(); + } else { + joyridemodalbg.fadeOut(this.settings.tipAnimationFadeSpeed); + } + this.scroll_to(); + } + + if (this.is_phone()) { + this.pos_phone(true); + } else { + this.pos_default(true); + } + + $timer = this.settings.$next_tip.find('.joyride-timer-indicator'); + + if (/pop/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip.show(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.show(); + + } + + } else if (/fade/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip + .fadeIn(this.settings.tip_animation_fade_speed) + .show(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed); + } + } + + this.settings.$current_tip = this.settings.$next_tip; + + // skip non-existant targets + } else if (this.settings.$li && this.settings.$target.length < 1) { + + this.show(init, is_prev); + + } else { + + this.end(); + + } + } else { + + this.settings.paused = true; + + } + + }, + + is_phone : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + hide : function () { + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + if (!this.settings.modal) { + $('.joyride-modal-bg').hide(); + } + + // Prevent scroll bouncing...wait to remove from layout + this.settings.$current_tip.css('visibility', 'hidden'); + setTimeout($.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 (init, is_prev) { + if (init) { + this.settings.$li = this.settings.$tip_content.eq(this.settings.start_offset); + this.set_next_tip(); + this.settings.$current_tip = this.settings.$next_tip; + } else { + if (is_prev) { + this.settings.$li = this.settings.$li.prev(); + } else { + this.settings.$li = this.settings.$li.next(); + } + this.set_next_tip(); + } + + this.set_target(); + }, + + set_next_tip : function () { + this.settings.$next_tip = $('.joyride-tip-guide').eq(this.settings.$li.index()); + this.settings.$next_tip.data('closed', ''); + }, + + set_target : function () { + var cl = this.settings.$li.attr(this.add_namespace('data-class')), + id = this.settings.$li.attr(this.add_namespace('data-id')), + $sel = function () { + if (id) { + return $(document.getElementById(id)); + } else if (cl) { + return $('.' + cl).first(); + } else { + return $('body'); + } + }; + + this.settings.$target = $sel(); + }, + + scroll_to : function () { + var window_half, tipOffset; + + window_half = $(window).height() / 2; + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()); + + if (tipOffset != 0) { + $('html, body').stop().animate({ + scrollTop : tipOffset + }, this.settings.scroll_speed, 'swing'); + } + }, + + paused : function () { + return ($.inArray((this.settings.$li.index() + 1), this.settings.pause_after) === -1); + }, + + restart : function () { + this.hide(); + this.settings.$li = undefined; + this.show('init'); + }, + + pos_default : function (init) { + var $nub = this.settings.$next_tip.find('.joyride-nub'), + nub_width = Math.ceil($nub.outerWidth() / 2), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + // tip must not be "display: none" to calculate position + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0, + leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0; + + if (this.bottom()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth() + leftAdjustment}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'top'); + + } else if (this.top()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'bottom'); + + } else if (this.right()) { + + this.settings.$next_tip.css({ + top : this.settings.$target.offset().top + topAdjustment, + left : (this.settings.$target.outerWidth() + this.settings.$target.offset().left + nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'left'); + + } else if (this.left()) { + + this.settings.$next_tip.css({ + top : this.settings.$target.offset().top + topAdjustment, + left : (this.settings.$target.offset().left - this.settings.$next_tip.outerWidth() - nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'right'); + + } + + if (!this.visible(this.corners(this.settings.$next_tip)) && this.settings.attempts < this.settings.tip_settings.tip_location_pattern.length) { + + $nub.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(); + + } + + } else if (this.settings.$li.length) { + + this.pos_modal($nub); + + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + + }, + + pos_phone : function (init) { + var tip_height = this.settings.$next_tip.outerHeight(), + tip_offset = this.settings.$next_tip.offset(), + target_height = this.settings.$target.outerHeight(), + $nub = $('.joyride-nub', this.settings.$next_tip), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + + if (this.top()) { + + this.settings.$next_tip.offset({top : this.settings.$target.offset().top - tip_height - nub_height}); + $nub.addClass('bottom'); + + } else { + + this.settings.$next_tip.offset({top : this.settings.$target.offset().top + target_height + nub_height}); + $nub.addClass('top'); + + } + + } else if (this.settings.$li.length) { + this.pos_modal($nub); + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + }, + + pos_modal : function ($nub) { + this.center(); + $nub.hide(); + + this.show_modal(); + }, + + show_modal : function () { + if (!this.settings.$next_tip.data('closed')) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (joyridemodalbg.length < 1) { + var joyridemodalbg = $(this.settings.template.modal); + joyridemodalbg.appendTo('body'); + } + + if (/pop/i.test(this.settings.tip_animation)) { + joyridemodalbg.show(); + } else { + joyridemodalbg.fadeIn(this.settings.tip_animation_fade_speed); + } + } + }, + + expose : function () { + var expose, + exposeCover, + el, + origCSS, + origClasses, + randId = 'expose-' + this.random_str(6); + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) { + el = this.settings.$target; + } else { + return false; + } + + if (el.length < 1) { + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + expose = $(this.settings.template.expose); + this.settings.$body.append(expose); + expose.css({ + top : el.offset().top, + left : el.offset().left, + width : el.outerWidth(true), + height : el.outerHeight(true) + }); + + exposeCover = $(this.settings.template.expose_cover); + + origCSS = { + zIndex : el.css('z-index'), + position : el.css('position') + }; + + origClasses = el.attr('class') == null ? '' : el.attr('class'); + + el.css('z-index', parseInt(expose.css('z-index')) + 1); + + if (origCSS.position == 'static') { + el.css('position', 'relative'); + } + + el.data('expose-css', origCSS); + el.data('orig-class', origClasses); + el.attr('class', origClasses + ' ' + this.settings.expose_add_class); + + exposeCover.css({ + top : el.offset().top, + left : el.offset().left, + width : el.outerWidth(true), + height : el.outerHeight(true) + }); + + if (this.settings.modal) { + this.show_modal(); + } + + this.settings.$body.append(exposeCover); + expose.addClass(randId); + exposeCover.addClass(randId); + el.data('expose', randId); + this.settings.post_expose_callback(this.settings.$li.index(), this.settings.$next_tip, el); + this.add_exposed(el); + }, + + un_expose : function () { + var exposeId, + el, + expose, + origCSS, + origClasses, + clearAll = false; + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) { + el = this.settings.$target; + } else { + return false; + } + + if (el.length < 1) { + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + exposeId = el.data('expose'); + expose = $('.' + exposeId); + + if (arguments.length > 1) { + clearAll = arguments[1]; + } + + if (clearAll === true) { + $('.joyride-expose-wrapper,.joyride-expose-cover').remove(); + } else { + expose.remove(); + } + + origCSS = el.data('expose-css'); + + if (origCSS.zIndex == 'auto') { + el.css('z-index', ''); + } else { + el.css('z-index', origCSS.zIndex); + } + + if (origCSS.position != el.css('position')) { + if (origCSS.position == 'static') {// this is default, no need to set it. + el.css('position', ''); + } else { + el.css('position', origCSS.position); + } + } + + origClasses = el.data('orig-class'); + el.attr('class', origClasses); + el.removeData('orig-classes'); + + el.removeData('expose'); + el.removeData('expose-z-index'); + this.remove_exposed(el); + }, + + add_exposed : function (el) { + this.settings.exposed = this.settings.exposed || []; + if (el instanceof $ || typeof el === 'object') { + this.settings.exposed.push(el[0]); + } else if (typeof el == 'string') { + this.settings.exposed.push(el); + } + }, + + remove_exposed : function (el) { + var search, i; + if (el instanceof $) { + search = el[0] + } else if (typeof el == 'string') { + search = el; + } + + this.settings.exposed = this.settings.exposed || []; + i = this.settings.exposed.length; + + while (i--) { + if (this.settings.exposed[i] == search) { + this.settings.exposed.splice(i, 1); + return; + } + } + }, + + center : function () { + var $w = $(window); + + this.settings.$next_tip.css({ + top : ((($w.height() - this.settings.$next_tip.outerHeight()) / 2) + $w.scrollTop()), + left : ((($w.width() - this.settings.$next_tip.outerWidth()) / 2) + $w.scrollLeft()) + }); + + return true; + }, + + 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 (el) { + if (el.length === 0) { + return [false, false, false, false]; + } + + var w = $(window), + window_half = w.height() / 2, + //using this to calculate since scroll may not have finished yet. + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()), + right = w.width() + w.scrollLeft(), + offsetBottom = w.height() + tipOffset, + bottom = w.height() + w.scrollTop(), + top = w.scrollTop(); + + if (tipOffset < top) { + if (tipOffset < 0) { + top = 0; + } else { + top = tipOffset; + } + } + + if (offsetBottom > bottom) { + bottom = offsetBottom; + } + + return [ + el.offset().top < top, + right < el.offset().left + el.outerWidth(), + bottom < el.offset().top + el.outerHeight(), + w.scrollLeft() > el.offset().left + ]; + }, + + visible : function (hidden_corners) { + var i = hidden_corners.length; + + while (i--) { + if (hidden_corners[i]) { + return false; + } + } + + return true; + }, + + nub_position : function (nub, pos, def) { + if (pos === 'auto') { + nub.addClass(def); + } else { + nub.addClass(pos); + } + }, + + startTimer : function () { + if (this.settings.$li.length) { + this.settings.automate = setTimeout(function () { + this.hide(); + this.show(); + this.startTimer(); + }.bind(this), this.settings.timer); + } else { + clearTimeout(this.settings.automate); + } + }, + + end : function (abort) { + if (this.settings.cookie_monster) { + $.cookie(this.settings.cookie_name, 'ridden', {expires : this.settings.cookie_expires, domain : this.settings.cookie_domain}); + } + + if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + } + + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + // Unplug keystrokes listener + $(this.scope).off('keyup.joyride') + + this.settings.$next_tip.data('closed', true); + this.settings.riding = false; + + $('.joyride-modal-bg').hide(); + this.settings.$current_tip.hide(); + + if (typeof abort === 'undefined' || abort === false) { + 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); + } + + $('.joyride-tip-guide').remove(); + }, + + off : function () { + $(this.scope).off('.joyride'); + $(window).off('.joyride'); + $('.joyride-close-tip, .joyride-next-tip, .joyride-modal-bg').off('.joyride'); + $('.joyride-tip-guide, .joyride-modal-bg').remove(); + clearTimeout(this.settings.automate); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs['magellan-expedition'] = { + name : 'magellan-expedition', + + version : '5.5.3', + + settings : { + active_class : 'active', + threshold : 0, // pixels from the top of the expedition for it to become fixes + destination_threshold : 20, // pixels from the top of destination for it to be considered active + throttle_delay : 30, // calculation throttling to increase framerate + fixed_top : 0, // top distance in pixels assigend to the fixed element on scroll + offset_by_height : true, // whether to offset the destination by the expedition height. Usually you want this to be true, unless your expedition is on the side. + duration : 700, // animation duration time + easing : 'swing' // animation easing + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + settings = self.settings; + + // initialize expedition offset + self.set_expedition_position(); + + S(self.scope) + .off('.magellan') + .on('click.fndtn.magellan', '[' + self.add_namespace('data-magellan-arrival') + '] a[href*=#]', function (e) { + var sameHost = ((this.hostname === location.hostname) || !this.hostname), + samePath = self.filterPathname(location.pathname) === self.filterPathname(this.pathname), + testHash = this.hash.replace(/(:|\.|\/)/g, '\\$1'), + anchor = this; + + if (sameHost && samePath && testHash) { + e.preventDefault(); + var expedition = $(this).closest('[' + self.attr_name() + ']'), + settings = expedition.data('magellan-expedition-init'), + hash = this.hash.split('#').join(''), + target = $('a[name="' + hash + '"]'); + + if (target.length === 0) { + target = $('#' + hash); + + } + + // Account for expedition height if fixed position + var scroll_top = target.offset().top - settings.destination_threshold + 1; + if (settings.offset_by_height) { + scroll_top = scroll_top - expedition.outerHeight(); + } + $('html, body').stop().animate({ + 'scrollTop' : scroll_top + }, settings.duration, settings.easing, function () { + if (history.pushState) { + history.pushState(null, null, anchor.pathname + anchor.search + '#' + hash); + } else { + location.hash = anchor.pathname + anchor.search + '#' + hash; + } + }); + } + }) + .on('scroll.fndtn.magellan', self.throttle(this.check_for_arrivals.bind(this), settings.throttle_delay)); + }, + + check_for_arrivals : function () { + var self = this; + self.update_arrivals(); + self.update_expedition_positions(); + }, + + set_expedition_position : function () { + var self = this; + $('[' + this.attr_name() + '=fixed]', self.scope).each(function (idx, el) { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('styles'), // save styles + top_offset, fixed_top; + + expedition.attr('style', ''); + top_offset = expedition.offset().top + settings.threshold; + + //set fixed-top by attribute + fixed_top = parseInt(expedition.data('magellan-fixed-top')); + if (!isNaN(fixed_top)) { + self.settings.fixed_top = fixed_top; + } + + expedition.data(self.data_attr('magellan-top-offset'), top_offset); + expedition.attr('style', styles); + }); + }, + + update_expedition_positions : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + '=fixed]', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('style'), // save styles + top_offset = expedition.data('magellan-top-offset'); + + //scroll to the top distance + if (window_top_offset + self.settings.fixed_top >= top_offset) { + // Placeholder allows height calculations to be consistent even when + // appearing to switch between fixed/non-fixed placement + var placeholder = expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']'); + if (placeholder.length === 0) { + placeholder = expedition.clone(); + placeholder.removeAttr(self.attr_name()); + placeholder.attr(self.add_namespace('data-magellan-expedition-clone'), ''); + expedition.before(placeholder); + } + expedition.css({position :'fixed', top : settings.fixed_top}).addClass('fixed'); + } else { + expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']').remove(); + expedition.attr('style', styles).css('position', '').css('top', '').removeClass('fixed'); + } + }); + }, + + update_arrivals : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + ']', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data(self.attr_name(true) + '-init'), + offsets = self.offsets(expedition, window_top_offset), + arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'), + active_item = false; + offsets.each(function (idx, item) { + if (item.viewport_offset >= item.top_offset) { + var arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'); + arrivals.not(item.arrival).removeClass(settings.active_class); + item.arrival.addClass(settings.active_class); + active_item = true; + return true; + } + }); + + if (!active_item) { + arrivals.removeClass(settings.active_class); + } + }); + }, + + offsets : function (expedition, window_offset) { + var self = this, + settings = expedition.data(self.attr_name(true) + '-init'), + viewport_offset = window_offset; + + return expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']').map(function (idx, el) { + var name = $(this).data(self.data_attr('magellan-arrival')), + dest = $('[' + self.add_namespace('data-magellan-destination') + '=' + name + ']'); + if (dest.length > 0) { + var top_offset = dest.offset().top - settings.destination_threshold; + if (settings.offset_by_height) { + top_offset = top_offset - expedition.outerHeight(); + } + top_offset = Math.floor(top_offset); + return { + destination : dest, + arrival : $(this), + top_offset : top_offset, + viewport_offset : viewport_offset + } + } + }).sort(function (a, b) { + if (a.top_offset < b.top_offset) { + return -1; + } + if (a.top_offset > b.top_offset) { + return 1; + } + return 0; + }); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () { + this.S(this.scope).off('.magellan'); + this.S(window).off('.magellan'); + }, + + filterPathname : function (pathname) { + pathname = pathname || ''; + return pathname + .replace(/^\//,'') + .replace(/(?:index|default).[a-zA-Z]{3,4}$/,'') + .replace(/\/$/,''); + }, + + reflow : function () { + var self = this; + // remove placeholder expeditions used for height calculation purposes + $('[' + self.add_namespace('data-magellan-expedition-clone') + ']', self.scope).remove(); + } + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.offcanvas = { + name : 'offcanvas', + + version : '5.5.3', + + settings : { + open_method : 'move', + close_on_click : false + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + move_class = '', + right_postfix = '', + left_postfix = '', + top_postfix = '', + bottom_postfix = ''; + + if (this.settings.open_method === 'move') { + move_class = 'move-'; + right_postfix = 'right'; + left_postfix = 'left'; + top_postfix = 'top'; + bottom_postfix = 'bottom'; + } else if (this.settings.open_method === 'overlap_single') { + move_class = 'offcanvas-overlap-'; + right_postfix = 'right'; + left_postfix = 'left'; + top_postfix = 'top'; + bottom_postfix = 'bottom'; + } else if (this.settings.open_method === 'overlap') { + move_class = 'offcanvas-overlap'; + } + + S(this.scope).off('.offcanvas') + .on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + right_postfix); + if (self.settings.open_method !== 'overlap') { + S('.left-submenu').removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + right_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + right_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.left-submenu').toggleClass(move_class + right_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of left canvas + .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + left_postfix); + if (self.settings.open_method !== 'overlap') { + S('.right-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + left_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + left_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.right-submenu').toggleClass(move_class + left_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of right canvas + .on('click.fndtn.offcanvas', '.top-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + bottom_postfix); + if (self.settings.open_method !== 'overlap') { + S('.top-submenu').removeClass(move_class + bottom_postfix); + } + $('.top-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.top-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + bottom_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + bottom_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.top-submenu').toggleClass(move_class + bottom_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + bottom_postfix); + } + $('.top-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of top canvas + .on('click.fndtn.offcanvas', '.bottom-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + top_postfix); + if (self.settings.open_method !== 'overlap') { + S('.bottom-submenu').removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.bottom-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + top_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + top_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.bottom-submenu').toggleClass(move_class + top_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of bottom + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + S('.right-submenu').removeClass(move_class + left_postfix); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + S('.left-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + $('.left-off-canvas-toggle').attr('aria-expanded', 'false'); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + $('.right-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + top_postfix); + S('.bottom-submenu').removeClass(move_class + top_postfix); + if (bottom_postfix) { + self.click_remove_class(e, move_class + bottom_postfix); + S('.top-submenu').removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + top_postfix); + $('.top-off-canvas-toggle').attr('aria-expanded', 'false'); + if (bottom_postfix) { + self.click_remove_class(e, move_class + bottom_postfix); + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }); + }, + + toggle : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + if ($off_canvas.is('.' + class_name)) { + this.hide(class_name, $off_canvas); + } else { + this.show(class_name, $off_canvas); + } + }, + + show : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('open.fndtn.offcanvas'); + $off_canvas.addClass(class_name); + }, + + hide : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('close.fndtn.offcanvas'); + $off_canvas.removeClass(class_name); + }, + + click_toggle_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.toggle(class_name, $off_canvas); + }, + + click_remove_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.hide(class_name, $off_canvas); + }, + + get_settings : function (e) { + var offcanvas = this.S(e.target).closest('[' + this.attr_name() + ']'); + return offcanvas.data(this.attr_name(true) + '-init') || this.settings; + }, + + get_wrapper : function (e) { + var $off_canvas = this.S(e ? e.target : this.scope).closest('.off-canvas-wrap'); + + if ($off_canvas.length === 0) { + $off_canvas = this.S('.off-canvas-wrap'); + } + return $off_canvas; + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + var noop = function () {}; + + var Orbit = function (el, settings) { + // Don't reinitialize plugin + if (el.hasClass(settings.slides_container_class)) { + return this; + } + + var self = this, + container, + slides_container = el, + number_container, + bullets_container, + timer_container, + idx = 0, + animate, + timer, + locked = false, + adjust_height_after = false; + + self.slides = function () { + return slides_container.children(settings.slide_selector); + }; + + self.slides().first().addClass(settings.active_slide_class); + + self.update_slide_number = function (index) { + if (settings.slide_number) { + number_container.find('span:first').text(parseInt(index) + 1); + number_container.find('span:last').text(self.slides().length); + } + if (settings.bullets) { + bullets_container.children().removeClass(settings.bullets_active_class); + $(bullets_container.children().get(index)).addClass(settings.bullets_active_class); + } + }; + + self.update_active_link = function (index) { + var link = $('[data-orbit-link="' + self.slides().eq(index).attr('data-orbit-slide') + '"]'); + link.siblings().removeClass(settings.bullets_active_class); + link.addClass(settings.bullets_active_class); + }; + + self.build_markup = function () { + slides_container.wrap('
      '); + container = slides_container.parent(); + slides_container.addClass(settings.slides_container_class); + + if (settings.stack_on_small) { + container.addClass(settings.stack_on_small_class); + } + + if (settings.navigation_arrows) { + container.append($('').addClass(settings.prev_class)); + container.append($('').addClass(settings.next_class)); + } + + if (settings.timer) { + timer_container = $('
      ').addClass(settings.timer_container_class); + timer_container.append(''); + timer_container.append($('
      ').addClass(settings.timer_progress_class)); + timer_container.addClass(settings.timer_paused_class); + container.append(timer_container); + } + + if (settings.slide_number) { + number_container = $('
      ').addClass(settings.slide_number_class); + number_container.append(' ' + settings.slide_number_text + ' '); + container.append(number_container); + } + + if (settings.bullets) { + bullets_container = $('
        ').addClass(settings.bullets_container_class); + container.append(bullets_container); + bullets_container.wrap('
        '); + self.slides().each(function (idx, el) { + var bullet = $('
      1. ').attr('data-orbit-slide', idx).on('click', self.link_bullet);; + bullets_container.append(bullet); + }); + } + + }; + + self._goto = function (next_idx, start_timer) { + // if (locked) {return false;} + if (next_idx === idx) {return false;} + if (typeof timer === 'object') {timer.restart();} + var slides = self.slides(); + + var dir = 'next'; + locked = true; + if (next_idx < idx) {dir = 'prev';} + if (next_idx >= slides.length) { + if (!settings.circular) { + return false; + } + next_idx = 0; + } else if (next_idx < 0) { + if (!settings.circular) { + return false; + } + next_idx = slides.length - 1; + } + + var current = $(slides.get(idx)); + var next = $(slides.get(next_idx)); + + current.css('zIndex', 2); + current.removeClass(settings.active_slide_class); + next.css('zIndex', 4).addClass(settings.active_slide_class); + + slides_container.trigger('before-slide-change.fndtn.orbit'); + settings.before_slide_change(); + self.update_active_link(next_idx); + + var callback = function () { + var unlock = function () { + idx = next_idx; + locked = false; + if (start_timer === true) {timer = self.create_timer(); timer.start();} + self.update_slide_number(idx); + slides_container.trigger('after-slide-change.fndtn.orbit', [{slide_number : idx, total_slides : slides.length}]); + settings.after_slide_change(idx, slides.length); + }; + if (slides_container.outerHeight() != next.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 250, 'linear', unlock); + } else { + unlock(); + } + }; + + if (slides.length === 1) {callback(); return false;} + + var start_animation = function () { + if (dir === 'next') {animate.next(current, next, callback);} + if (dir === 'prev') {animate.prev(current, next, callback);} + }; + + if (next.outerHeight() > slides_container.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 250, 'linear', start_animation); + } else { + start_animation(); + } + }; + + self.next = function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + self._goto(idx + 1); + }; + + self.prev = function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + self._goto(idx - 1); + }; + + self.link_custom = function (e) { + e.preventDefault(); + var link = $(this).attr('data-orbit-link'); + if ((typeof link === 'string') && (link = $.trim(link)) != '') { + var slide = container.find('[data-orbit-slide=' + link + ']'); + if (slide.index() != -1) {self._goto(slide.index());} + } + }; + + self.link_bullet = function (e) { + var index = $(this).attr('data-orbit-slide'); + if ((typeof index === 'string') && (index = $.trim(index)) != '') { + if (isNaN(parseInt(index))) { + var slide = container.find('[data-orbit-slide=' + index + ']'); + if (slide.index() != -1) {self._goto(slide.index() + 1);} + } else { + self._goto(parseInt(index)); + } + } + + } + + self.timer_callback = function () { + self._goto(idx + 1, true); + } + + self.compute_dimensions = function () { + var current = $(self.slides().get(idx)); + var h = current.outerHeight(); + if (!settings.variable_height) { + self.slides().each(function(){ + if ($(this).outerHeight() > h) { h = $(this).outerHeight(); } + }); + } + slides_container.height(h); + }; + + self.create_timer = function () { + var t = new Timer( + container.find('.' + settings.timer_container_class), + settings, + self.timer_callback + ); + return t; + }; + + self.stop_timer = function () { + if (typeof timer === 'object') { + timer.stop(); + } + }; + + self.toggle_timer = function () { + var t = container.find('.' + settings.timer_container_class); + if (t.hasClass(settings.timer_paused_class)) { + if (typeof timer === 'undefined') {timer = self.create_timer();} + timer.start(); + } else { + if (typeof timer === 'object') {timer.stop();} + } + }; + + self.init = function () { + self.build_markup(); + if (settings.timer) { + timer = self.create_timer(); + Foundation.utils.image_loaded(this.slides().children('img'), timer.start); + } + animate = new FadeAnimation(settings, slides_container); + if (settings.animation === 'slide') { + animate = new SlideAnimation(settings, slides_container); + } + + container.on('click', '.' + settings.next_class, self.next); + container.on('click', '.' + settings.prev_class, self.prev); + + if (settings.next_on_click) { + container.on('click', '.' + settings.slides_container_class + ' [data-orbit-slide]', self.link_bullet); + } + + container.on('click', self.toggle_timer); + if (settings.swipe) { + container.on('touchstart.fndtn.orbit', function (e) { + if (!e.touches) {e = e.originalEvent;} + var data = { + start_page_x : e.touches[0].pageX, + start_page_y : e.touches[0].pageY, + start_time : (new Date()).getTime(), + delta_x : 0, + is_scrolling : undefined + }; + container.data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.orbit', function (e) { + if (!e.touches) { + e = e.originalEvent; + } + // Ignore pinch/zoom events + if (e.touches.length > 1 || e.scale && e.scale !== 1) { + return; + } + + var data = container.data('swipe-transition'); + if (typeof data === 'undefined') {data = {};} + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if ( typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? (idx + 1) : (idx - 1); + data.active = true; + self._goto(direction); + } + }) + .on('touchend.fndtn.orbit', function (e) { + container.data('swipe-transition', {}); + e.stopPropagation(); + }) + } + container.on('mouseenter.fndtn.orbit', function (e) { + if (settings.timer && settings.pause_on_hover) { + self.stop_timer(); + } + }) + .on('mouseleave.fndtn.orbit', function (e) { + if (settings.timer && settings.resume_on_mouseout) { + timer.start(); + } + }); + + $(document).on('click', '[data-orbit-link]', self.link_custom); + $(window).on('load resize', self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), function () { + container.prev('.' + settings.preloader_class).css('display', 'none'); + self.update_slide_number(0); + self.update_active_link(0); + slides_container.trigger('ready.fndtn.orbit'); + }); + }; + + self.init(); + }; + + var Timer = function (el, settings, callback) { + var self = this, + duration = settings.timer_speed, + progress = el.find('.' + settings.timer_progress_class), + start, + timeout, + left = -1; + + this.update_progress = function (w) { + var new_progress = progress.clone(); + new_progress.attr('style', ''); + new_progress.css('width', w + '%'); + progress.replaceWith(new_progress); + progress = new_progress; + }; + + this.restart = function () { + clearTimeout(timeout); + el.addClass(settings.timer_paused_class); + left = -1; + self.update_progress(0); + }; + + this.start = function () { + if (!el.hasClass(settings.timer_paused_class)) {return true;} + left = (left === -1) ? duration : left; + el.removeClass(settings.timer_paused_class); + start = new Date().getTime(); + progress.animate({'width' : '100%'}, left, 'linear'); + timeout = setTimeout(function () { + self.restart(); + callback(); + }, left); + el.trigger('timer-started.fndtn.orbit') + }; + + this.stop = function () { + if (el.hasClass(settings.timer_paused_class)) {return true;} + clearTimeout(timeout); + el.addClass(settings.timer_paused_class); + var end = new Date().getTime(); + left = left - (end - start); + var w = 100 - ((left / duration) * 100); + self.update_progress(w); + el.trigger('timer-stopped.fndtn.orbit'); + }; + }; + + var SlideAnimation = function (settings, container) { + var duration = settings.animation_speed; + var is_rtl = ($('html[dir=rtl]').length === 1); + var margin = is_rtl ? 'marginRight' : 'marginLeft'; + var animMargin = {}; + animMargin[margin] = '0%'; + + this.next = function (current, next, callback) { + current.animate({marginLeft : '-100%'}, duration); + next.animate(animMargin, duration, function () { + current.css(margin, '100%'); + callback(); + }); + }; + + this.prev = function (current, prev, callback) { + current.animate({marginLeft : '100%'}, duration); + prev.css(margin, '-100%'); + prev.animate(animMargin, duration, function () { + current.css(margin, '100%'); + callback(); + }); + }; + }; + + var FadeAnimation = function (settings, container) { + var duration = settings.animation_speed; + var is_rtl = ($('html[dir=rtl]').length === 1); + var margin = is_rtl ? 'marginRight' : 'marginLeft'; + + this.next = function (current, next, callback) { + next.css({'margin' : '0%', 'opacity' : '0.01'}); + next.animate({'opacity' :'1'}, duration, 'linear', function () { + current.css('margin', '100%'); + callback(); + }); + }; + + this.prev = function (current, prev, callback) { + prev.css({'margin' : '0%', 'opacity' : '0.01'}); + prev.animate({'opacity' : '1'}, duration, 'linear', function () { + current.css('margin', '100%'); + callback(); + }); + }; + }; + + Foundation.libs = Foundation.libs || {}; + + Foundation.libs.orbit = { + name : 'orbit', + + version : '5.5.3', + + settings : { + animation : 'slide', + timer_speed : 10000, + pause_on_hover : true, + resume_on_mouseout : false, + next_on_click : true, + animation_speed : 500, + stack_on_small : false, + navigation_arrows : true, + slide_number : true, + 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 : true, + circular : true, + timer : true, + variable_height : false, + swipe : true, + before_slide_change : noop, + after_slide_change : noop + }, + + init : function (scope, method, options) { + var self = this; + this.bindings(method, options); + }, + + events : function (instance) { + var orbit_instance = new Orbit(this.S(instance), this.S(instance).data('orbit-init')); + this.S(instance).data(this.name + '-instance', orbit_instance); + }, + + reflow : function () { + var self = this; + + if (self.S(self.scope).is('[data-orbit]')) { + var $el = self.S(self.scope); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + } else { + self.S('[data-orbit]', self.scope).each(function (idx, el) { + var $el = self.S(el); + var opts = self.data_options($el); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + }); + } + } + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + var openModals = []; + + Foundation.libs.reveal = { + name : 'reveal', + + version : '5.5.3', + + locked : false, + + settings : { + animation : 'fadeAndPop', + animation_speed : 250, + close_on_background_click : true, + close_on_esc : true, + dismiss_modal_class : 'close-reveal-modal', + multiple_opened : false, + bg_class : 'reveal-modal-bg', + root_element : 'body', + open : function(){}, + opened : function(){}, + close : function(){}, + closed : function(){}, + on_ajax_error: $.noop, + bg : $('.reveal-modal-bg'), + css : { + open : { + 'opacity' : 0, + 'visibility' : 'visible', + 'display' : 'block' + }, + close : { + 'opacity' : 1, + 'visibility' : 'hidden', + 'display' : 'none' + } + } + }, + + init : function (scope, method, options) { + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.reveal') + .on('click.fndtn.reveal', '[' + this.add_namespace('data-reveal-id') + ']:not([disabled])', function (e) { + e.preventDefault(); + + if (!self.locked) { + var element = S(this), + ajax = element.data(self.data_attr('reveal-ajax')), + replaceContentSel = element.data(self.data_attr('reveal-replace-content')); + + self.locked = true; + + if (typeof ajax === 'undefined') { + self.open.call(self, element); + } else { + var url = ajax === true ? element.attr('href') : ajax; + self.open.call(self, element, {url : url}, { replaceContentSel : replaceContentSel }); + } + } + }); + + S(document) + .on('click.fndtn.reveal', this.close_targets(), function (e) { + e.preventDefault(); + if (!self.locked) { + var settings = S('[' + self.attr_name() + '].open').data(self.attr_name(true) + '-init') || self.settings, + bg_clicked = S(e.target)[0] === S('.' + settings.bg_class)[0]; + + if (bg_clicked) { + if (settings.close_on_background_click) { + e.stopPropagation(); + } else { + return; + } + } + + self.locked = true; + self.close.call(self, bg_clicked ? S('[' + self.attr_name() + '].open:not(.toback)') : S(this).closest('[' + self.attr_name() + ']')); + } + }); + + if (S('[' + self.attr_name() + ']', this.scope).length > 0) { + S(this.scope) + // .off('.reveal') + .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); + } else { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.open) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.opened) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.open_video) + .on('close.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.close) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.closed) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.close_video); + } + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_on : function (scope) { + var self = this; + + // PATCH #1: fixing multiple keyup event trigger from single key press + self.S('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) { + var open_modal = self.S('[' + self.attr_name() + '].open'), + settings = open_modal.data(self.attr_name(true) + '-init') || self.settings ; + // PATCH #2: making sure that the close event can be called only while unlocked, + // so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window. + if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key + self.close.call(self, open_modal); + } + }); + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_off : function (scope) { + this.S('body').off('keyup.fndtn.reveal'); + return true; + }, + + open : function (target, ajax_settings) { + var self = this, + modal; + + if (target) { + if (typeof target.selector !== 'undefined') { + // Find the named node; only use the first one found, since the rest of the code assumes there's only one node + modal = self.S('#' + target.data(self.data_attr('reveal-id'))).first(); + } else { + modal = self.S(this.scope); + + ajax_settings = target; + } + } else { + modal = self.S(this.scope); + } + + var settings = modal.data(self.attr_name(true) + '-init'); + settings = settings || this.settings; + + + if (modal.hasClass('open') && target !== undefined && target.attr('data-reveal-id') == modal.attr('id')) { + return self.close(modal); + } + + if (!modal.hasClass('open')) { + var open_modal = self.S('[' + self.attr_name() + '].open'); + + if (typeof modal.data('css-top') === 'undefined') { + modal.data('css-top', parseInt(modal.css('top'), 10)) + .data('offset', this.cache_offset(modal)); + } + + modal.attr('tabindex','0').attr('aria-hidden','false'); + + this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open + + // Prevent namespace event from triggering twice + modal.on('open.fndtn.reveal', function(e) { + if (e.namespace !== 'fndtn.reveal') return; + }); + + modal.on('open.fndtn.reveal').trigger('open.fndtn.reveal'); + + if (open_modal.length < 1) { + this.toggle_bg(modal, true); + } + + if (typeof ajax_settings === 'string') { + ajax_settings = { + url : ajax_settings + }; + } + + var openModal = function() { + if(open_modal.length > 0) { + if(settings.multiple_opened) { + self.to_back(open_modal); + } else { + self.hide(open_modal, settings.css.close); + } + } + + // bl: add the open_modal that isn't already in the background to the openModals array + if(settings.multiple_opened) { + openModals.push(modal); + } + + self.show(modal, settings.css.open); + }; + + if (typeof ajax_settings === 'undefined' || !ajax_settings.url) { + openModal(); + } else { + var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null; + $.extend(ajax_settings, { + success : function (data, textStatus, jqXHR) { + if ( $.isFunction(old_success) ) { + var result = old_success(data, textStatus, jqXHR); + if (typeof result == 'string') { + data = result; + } + } + + if (typeof options !== 'undefined' && typeof options.replaceContentSel !== 'undefined') { + modal.find(options.replaceContentSel).html(data); + } else { + modal.html(data); + } + + self.S(modal).foundation('section', 'reflow'); + self.S(modal).children().foundation(); + + openModal(); + } + }); + + // check for if user initalized with error callback + if (settings.on_ajax_error !== $.noop) { + $.extend(ajax_settings, { + error : settings.on_ajax_error + }); + } + + $.ajax(ajax_settings); + } + } + self.S(window).trigger('resize'); + }, + + close : function (modal) { + var modal = modal && modal.length ? modal : this.S(this.scope), + open_modals = this.S('[' + this.attr_name() + '].open'), + settings = modal.data(this.attr_name(true) + '-init') || this.settings, + self = this; + + if (open_modals.length > 0) { + + modal.removeAttr('tabindex','0').attr('aria-hidden','true'); + + this.locked = true; + this.key_up_off(modal); // PATCH #3: turning on key up capture only when a reveal window is open + + modal.trigger('close.fndtn.reveal'); + + if ((settings.multiple_opened && open_modals.length === 1) || !settings.multiple_opened || modal.length > 1) { + self.toggle_bg(modal, false); + self.to_front(modal); + } + + if (settings.multiple_opened) { + var isCurrent = modal.is(':not(.toback)'); + self.hide(modal, settings.css.close, settings); + if(isCurrent) { + // remove the last modal since it is now closed + openModals.pop(); + } else { + // if this isn't the current modal, then find it in the array and remove it + openModals = $.grep(openModals, function(elt) { + var isThis = elt[0]===modal[0]; + if(isThis) { + // since it's not currently in the front, put it in the front now that it is hidden + // so that if it's re-opened, it won't be .toback + self.to_front(modal); + } + return !isThis; + }); + } + // finally, show the next modal in the stack, if there is one + if(openModals.length>0) { + self.to_front(openModals[openModals.length - 1]); + } + } else { + self.hide(open_modals, settings.css.close, settings); + } + } + }, + + close_targets : function () { + var base = '.' + this.settings.dismiss_modal_class; + + if (this.settings.close_on_background_click) { + return base + ', .' + this.settings.bg_class; + } + + return base; + }, + + toggle_bg : function (modal, state) { + if (this.S('.' + this.settings.bg_class).length === 0) { + this.settings.bg = $('
        ', {'class': this.settings.bg_class}) + .appendTo('body').hide(); + } + + var visible = this.settings.bg.filter(':visible').length > 0; + if ( state != visible ) { + if ( state == undefined ? visible : !state ) { + this.hide(this.settings.bg); + } else { + this.show(this.settings.bg); + } + } + }, + + show : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init') || this.settings, + root_element = settings.root_element, + context = this; + + if (el.parent(root_element).length === 0) { + var placeholder = el.wrap('
        ').parent(); + + el.on('closed.fndtn.reveal.wrapped', function () { + el.detach().appendTo(placeholder); + el.unwrap().unbind('closed.fndtn.reveal.wrapped'); + }); + + el.detach().appendTo(root_element); + } + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + css.top = $(window).scrollTop() - el.data('offset') + 'px'; + var end_css = { + top: $(window).scrollTop() + el.data('css-top') + 'px', + opacity: 1 + }; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.trigger('opened.fndtn.reveal'); + }) + .addClass('open'); + }, settings.animation_speed / 2); + } + + css.top = $(window).scrollTop() + el.data('css-top') + 'px'; + + if (animData.fade) { + var end_css = {opacity: 1}; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.trigger('opened.fndtn.reveal'); + }) + .addClass('open'); + }, settings.animation_speed / 2); + } + + return el.css(css).show().css({opacity : 1}).addClass('open').trigger('opened.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeIn(settings.animation_speed / 2); + } + + this.locked = false; + + return el.show(); + }, + + to_back : function(el) { + el.addClass('toback'); + }, + + to_front : function(el) { + el.removeClass('toback'); + }, + + hide : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init'), + context = this; + settings = settings || this.settings; + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + var end_css = { + top: - $(window).scrollTop() - el.data('offset') + 'px', + opacity: 0 + }; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.css(css).trigger('closed.fndtn.reveal'); + }) + .removeClass('open'); + }, settings.animation_speed / 2); + } + + if (animData.fade) { + var end_css = {opacity : 0}; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.css(css).trigger('closed.fndtn.reveal'); + }) + .removeClass('open'); + }, settings.animation_speed / 2); + } + + return el.hide().css(css).removeClass('open').trigger('closed.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeOut(settings.animation_speed / 2); + } + + return el.hide(); + }, + + close_video : function (e) { + var video = $('.flex-video', e.target), + iframe = $('iframe', video); + + if (iframe.length > 0) { + iframe.attr('data-src', iframe[0].src); + iframe.attr('src', iframe.attr('src')); + video.hide(); + } + }, + + open_video : function (e) { + var video = $('.flex-video', e.target), + iframe = video.find('iframe'); + + if (iframe.length > 0) { + var data_src = iframe.attr('data-src'); + if (typeof data_src === 'string') { + iframe[0].src = iframe.attr('data-src'); + } else { + var src = iframe[0].src; + iframe[0].src = undefined; + iframe[0].src = src; + } + video.show(); + } + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + cache_offset : function (modal) { + var offset = modal.show().height() + parseInt(modal.css('top'), 10) + modal.scrollY; + + modal.hide(); + + return offset; + }, + + off : function () { + $(this.scope).off('.fndtn.reveal'); + }, + + reflow : function () {} + }; + + /* + * getAnimationData('popAndFade') // {animate: true, pop: true, fade: true} + * getAnimationData('fade') // {animate: true, pop: false, fade: true} + * getAnimationData('pop') // {animate: true, pop: true, fade: false} + * getAnimationData('foo') // {animate: false, pop: false, fade: false} + * getAnimationData(null) // {animate: false, pop: false, fade: false} + */ + function getAnimationData(str) { + var fade = /fade/i.test(str); + var pop = /pop/i.test(str); + return { + animate : fade || pop, + pop : pop, + fade : fade + }; + } +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + '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 : false, + trigger_input_change : false, + on_change : function () {} + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + var self = this; + $(this.scope) + .off('.slider') + .on('mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider', + '[' + self.attr_name() + ']:not(.disabled, [disabled]) .range-slider-handle', function (e) { + if (!self.cache.active) { + e.preventDefault(); + self.set_active_slider($(e.target)); + } + }) + .on('mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider', function (e) { + if (!!self.cache.active) { + e.preventDefault(); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + }) + .on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function (e) { + if(!self.cache.active) { + // if the user has just clicked into the slider without starting to drag the handle + var slider = $(e.target).attr('role') === 'slider' ? $(e.target) : $(e.target).closest('.range-slider').find("[role='slider']"); + + if (slider.length && (!slider.parent().hasClass('disabled') && !slider.parent().attr('disabled'))) { + self.set_active_slider(slider); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + } + self.remove_active_slider(); + }) + .on('change.fndtn.slider', function (e) { + self.settings.on_change(); + }); + + self.S(window) + .on('resize.fndtn.slider', self.throttle(function (e) { + self.reflow(); + }, 300)); + + // update slider value as users change input value + this.S('[' + this.attr_name() + ']').each(function () { + var slider = $(this), + handle = slider.children('.range-slider-handle')[0], + settings = self.initialize_settings(handle); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function(){ + if ($(this).attr('value')) { + $(this).off('change').on('change', function () { + slider.foundation("slider", "set_value", $(this).val()); + }); + } + }); + } + }); + }, + + get_cursor_position : function (e, xy) { + var pageXY = 'page' + xy.toUpperCase(), + clientXY = 'client' + xy.toUpperCase(), + position; + + if (typeof e[pageXY] !== 'undefined') { + position = e[pageXY]; + } else if (typeof e.originalEvent[clientXY] !== 'undefined') { + position = e.originalEvent[clientXY]; + } else if (e.originalEvent.touches && e.originalEvent.touches[0] && typeof e.originalEvent.touches[0][clientXY] !== 'undefined') { + position = e.originalEvent.touches[0][clientXY]; + } else if (e.currentPoint && typeof e.currentPoint[xy] !== 'undefined') { + position = e.currentPoint[xy]; + } + + return position; + }, + + set_active_slider : function ($handle) { + this.cache.active = $handle; + }, + + remove_active_slider : function () { + this.cache.active = null; + }, + + calculate_position : function ($handle, cursor_x) { + var self = this, + settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + handle_o = $.data($handle[0], 'handle_o'), + bar_l = $.data($handle[0], 'bar_l'), + bar_o = $.data($handle[0], 'bar_o'); + + requestAnimationFrame(function () { + var pct; + + if (Foundation.rtl && !settings.vertical) { + pct = self.limit_to(((bar_o + bar_l - cursor_x) / bar_l), 0, 1); + } else { + pct = self.limit_to(((cursor_x - bar_o) / bar_l), 0, 1); + } + + pct = settings.vertical ? 1 - pct : pct; + + var norm = self.normalized_value(pct, settings.start, settings.end, settings.step, settings.precision); + + self.set_ui($handle, norm); + }); + }, + + set_ui : function ($handle, value) { + var settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + bar_l = $.data($handle[0], 'bar_l'), + norm_pct = this.normalized_percentage(value, settings.start, settings.end), + handle_offset = norm_pct * (bar_l - handle_l) - 1, + progress_bar_length = norm_pct * 100, + $handle_parent = $handle.parent(), + $hidden_inputs = $handle.parent().children('input[type=hidden]'); + + if (Foundation.rtl && !settings.vertical) { + handle_offset = -handle_offset; + } + + handle_offset = settings.vertical ? -handle_offset + bar_l - handle_l + 1 : handle_offset; + this.set_translate($handle, handle_offset, settings.vertical); + + if (settings.vertical) { + $handle.siblings('.range-slider-active-segment').css('height', progress_bar_length + '%'); + } else { + $handle.siblings('.range-slider-active-segment').css('width', progress_bar_length + '%'); + } + + $handle_parent.attr(this.attr_name(), value).trigger('change.fndtn.slider'); + + $hidden_inputs.val(value); + if (settings.trigger_input_change) { + $hidden_inputs.trigger('change.fndtn.slider'); + } + + if (!$handle[0].hasAttribute('aria-valuemin')) { + $handle.attr({ + 'aria-valuemin' : settings.start, + 'aria-valuemax' : settings.end + }); + } + $handle.attr('aria-valuenow', value); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function () { + if (this.hasAttribute('value')) { + $(this).val(value); + } else { + $(this).text(value); + } + }); + } + + }, + + normalized_percentage : function (val, start, end) { + return Math.min(1, (val - start) / (end - start)); + }, + + normalized_value : function (val, start, end, step, precision) { + var range = end - start, + point = val * range, + mod = (point - (point % step)) / step, + rem = point % step, + round = ( rem >= step * 0.5 ? step : 0); + return ((mod * step + round) + start).toFixed(precision); + }, + + set_translate : function (ele, offset, vertical) { + if (vertical) { + $(ele) + .css('-webkit-transform', 'translateY(' + offset + 'px)') + .css('-moz-transform', 'translateY(' + offset + 'px)') + .css('-ms-transform', 'translateY(' + offset + 'px)') + .css('-o-transform', 'translateY(' + offset + 'px)') + .css('transform', 'translateY(' + offset + 'px)'); + } else { + $(ele) + .css('-webkit-transform', 'translateX(' + offset + 'px)') + .css('-moz-transform', 'translateX(' + offset + 'px)') + .css('-ms-transform', 'translateX(' + offset + 'px)') + .css('-o-transform', 'translateX(' + offset + 'px)') + .css('transform', 'translateX(' + offset + 'px)'); + } + }, + + limit_to : function (val, min, max) { + return Math.min(Math.max(val, min), max); + }, + + initialize_settings : function (handle) { + var settings = $.extend({}, this.settings, this.data_options($(handle).parent())), + decimal_places_match_result; + + if (settings.precision === null) { + decimal_places_match_result = ('' + settings.step).match(/\.([\d]*)/); + settings.precision = decimal_places_match_result && decimal_places_match_result[1] ? decimal_places_match_result[1].length : 0; + } + + if (settings.vertical) { + $.data(handle, 'bar_o', $(handle).parent().offset().top); + $.data(handle, 'bar_l', $(handle).parent().outerHeight()); + $.data(handle, 'handle_o', $(handle).offset().top); + $.data(handle, 'handle_l', $(handle).outerHeight()); + } else { + $.data(handle, 'bar_o', $(handle).parent().offset().left); + $.data(handle, 'bar_l', $(handle).parent().outerWidth()); + $.data(handle, 'handle_o', $(handle).offset().left); + $.data(handle, 'handle_l', $(handle).outerWidth()); + } + + $.data(handle, 'bar', $(handle).parent()); + return $.data(handle, 'settings', settings); + }, + + set_initial_position : function ($ele) { + var settings = $.data($ele.children('.range-slider-handle')[0], 'settings'), + initial = ((typeof settings.initial == 'number' && !isNaN(settings.initial)) ? settings.initial : Math.floor((settings.end - settings.start) * 0.5 / settings.step) * settings.step + settings.start), + $handle = $ele.children('.range-slider-handle'); + this.set_ui($handle, initial); + }, + + set_value : function (value) { + var self = this; + $('[' + self.attr_name() + ']', this.scope).each(function () { + $(this).attr(self.attr_name(), value); + }); + if (!!$(this.scope).attr(self.attr_name())) { + $(this.scope).attr(self.attr_name(), value); + } + self.reflow(); + }, + + reflow : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var handle = $(this).children('.range-slider-handle')[0], + val = $(this).attr(self.attr_name()); + self.initialize_settings(handle); + + if (val) { + self.set_ui($(handle), parseFloat(val)); + } else { + self.set_initial_position($(this)); + } + }); + } + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tab = { + name : 'tab', + + version : '5.5.3', + + settings : { + active_class : 'active', + callback : function () {}, + deep_linking : false, + scroll_to_content : true, + is_hover : false + }, + + default_tab_hashes : [], + + init : function (scope, method, options) { + var self = this, + S = this.S; + + // Store the default active tabs which will be referenced when the + // location hash is absent, as in the case of navigating the tabs and + // returning to the first viewing via the browser Back button. + S('[' + this.attr_name() + '] > .active > a', this.scope).each(function () { + self.default_tab_hashes.push(this.hash); + }); + + this.bindings(method, options); + this.handle_location_hash_change(); + }, + + events : function () { + var self = this, + S = this.S; + + var usual_tab_behavior = function (e, target) { + var settings = S(target).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (!settings.is_hover || Modernizr.touch) { + // if user did not pressed tab key, prevent default action + var keyCode = e.keyCode || e.which; + if (keyCode !== 9) { + e.preventDefault(); + e.stopPropagation(); + } + self.toggle_active_tab(S(target).parent()); + + } + }; + + S(this.scope) + .off('.tab') + // Key event: focus/tab key + .on('keydown.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) { + var keyCode = e.keyCode || e.which; + // if user pressed tab key + if (keyCode === 13 || keyCode === 32) { // enter or space + var el = this; + usual_tab_behavior(e, el); + } + }) + // Click event: tab title + .on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) { + var el = this; + usual_tab_behavior(e, el); + }) + // Hover event: tab title + .on('mouseenter.fndtn.tab', '[' + this.attr_name() + '] > * > a', function (e) { + var settings = S(this).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (settings.is_hover) { + self.toggle_active_tab(S(this).parent()); + } + }); + + // Location hash change event + S(window).on('hashchange.fndtn.tab', function (e) { + e.preventDefault(); + self.handle_location_hash_change(); + }); + }, + + handle_location_hash_change : function () { + + var self = this, + S = this.S; + + S('[' + this.attr_name() + ']', this.scope).each(function () { + var settings = S(this).data(self.attr_name(true) + '-init'); + if (settings.deep_linking) { + // Match the location hash to a label + var hash; + if (settings.scroll_to_content) { + hash = self.scope.location.hash; + } else { + // prefix the hash to prevent anchor scrolling + hash = self.scope.location.hash.replace('fndtn-', ''); + } + if (hash != '') { + // Check whether the location hash references a tab content div or + // another element on the page (inside or outside the tab content div) + var hash_element = S(hash); + if (hash_element.hasClass('content') && hash_element.parent().hasClass('tabs-content')) { + // Tab content div + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + hash + ']').parent()); + } else { + // Not the tab content div. If inside the tab content, find the + // containing tab and toggle it as active. + var hash_tab_container_id = hash_element.closest('.content').attr('id'); + if (hash_tab_container_id != undefined) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=#' + hash_tab_container_id + ']').parent(), hash); + } + } + } else { + // Reference the default tab hashes which were initialized in the init function + for (var ind = 0; ind < self.default_tab_hashes.length; ind++) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + self.default_tab_hashes[ind] + ']').parent()); + } + } + } + }); + }, + + toggle_active_tab : function (tab, location_hash) { + var self = this, + S = self.S, + tabs = tab.closest('[' + this.attr_name() + ']'), + tab_link = tab.find('a'), + anchor = tab.children('a').first(), + target_hash = '#' + anchor.attr('href').split('#')[1], + target = S(target_hash), + siblings = tab.siblings(), + settings = tabs.data(this.attr_name(true) + '-init'), + interpret_keyup_action = function (e) { + // Light modification of Heydon Pickering's Practical ARIA Examples: http://heydonworks.com/practical_aria_examples/js/a11y.js + + // define current, previous and next (possible) tabs + + var $original = $(this); + var $prev = $(this).parents('li').prev().children('[role="tab"]'); + var $next = $(this).parents('li').next().children('[role="tab"]'); + var $target; + + // find the direction (prev or next) + + switch (e.keyCode) { + case 37: + $target = $prev; + break; + case 39: + $target = $next; + break; + default: + $target = false + break; + } + + if ($target.length) { + $original.attr({ + 'tabindex' : '-1', + 'aria-selected' : null + }); + $target.attr({ + 'tabindex' : '0', + 'aria-selected' : true + }).focus(); + } + + // Hide panels + + $('[role="tabpanel"]') + .attr('aria-hidden', 'true'); + + // Show panel which corresponds to target + + $('#' + $(document.activeElement).attr('href').substring(1)) + .attr('aria-hidden', null); + + }, + go_to_hash = function(hash) { + // This function allows correct behaviour of the browser's back button when deep linking is enabled. Without it + // the user would get continually redirected to the default hash. + var default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : 'fndtn-' + self.default_tab_hashes[0].replace('#', ''); + + if (hash !== default_hash || window.location.hash) { + window.location.hash = hash; + } + }; + + // allow usage of data-tab-content attribute instead of href + if (anchor.data('tab-content')) { + target_hash = '#' + anchor.data('tab-content').split('#')[1]; + target = S(target_hash); + } + + if (settings.deep_linking) { + + if (settings.scroll_to_content) { + + // retain current hash to scroll to content + go_to_hash(location_hash || target_hash); + + if (location_hash == undefined || location_hash == target_hash) { + tab.parent()[0].scrollIntoView(); + } else { + S(target_hash)[0].scrollIntoView(); + } + } else { + // prefix the hashes so that the browser doesn't scroll down + if (location_hash != undefined) { + go_to_hash('fndtn-' + location_hash.replace('#', '')); + } else { + go_to_hash('fndtn-' + target_hash.replace('#', '')); + } + } + } + + // WARNING: The activation and deactivation of the tab content must + // occur after the deep linking in order to properly refresh the browser + // window (notably in Chrome). + // Clean up multiple attr instances to done once + tab.addClass(settings.active_class).triggerHandler('opened'); + tab_link.attr({'aria-selected' : 'true', tabindex : 0}); + siblings.removeClass(settings.active_class) + siblings.find('a').attr({'aria-selected' : 'false'/*, tabindex : -1*/}); + target.siblings().removeClass(settings.active_class).attr({'aria-hidden' : 'true'/*, tabindex : -1*/}); + target.addClass(settings.active_class).attr('aria-hidden', 'false').removeAttr('tabindex'); + settings.callback(tab); + target.triggerHandler('toggled', [target]); + tabs.triggerHandler('toggled', [tab]); + + tab_link.off('keydown').on('keydown', interpret_keyup_action ); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + '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 : false, + hover_delay : 200, + fade_in_duration : 150, + fade_out_duration : 150, + show_on : 'all', + tip_template : function (selector, content) { + return '' + content + ''; + } + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'random_str'); + this.bindings(method, options); + }, + + should_show : function (target, tip) { + var settings = $.extend({}, this.settings, this.data_options(target)); + + if (settings.show_on === 'all') { + return true; + } else if (this.small() && settings.show_on === 'small') { + return true; + } else if (this.medium() && settings.show_on === 'medium') { + return true; + } else if (this.large() && settings.show_on === 'large') { + return true; + } + return false; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + events : function (instance) { + var self = this, + S = self.S; + + self.create(this.S(instance)); + + function _startShow(elt, $this, immediate) { + if (elt.timer) { + return; + } + + if (immediate) { + elt.timer = null; + self.showTip($this); + } else { + elt.timer = setTimeout(function () { + elt.timer = null; + self.showTip($this); + }.bind(elt), self.settings.hover_delay); + } + } + + function _startHide(elt, $this) { + if (elt.timer) { + clearTimeout(elt.timer); + elt.timer = null; + } + + self.hide($this); + } + + $(this.scope) + .off('.tooltip') + .on('mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', + '[' + this.attr_name() + ']', function (e) { + var $this = S(this), + settings = $.extend({}, self.settings, self.data_options($this)), + is_touch = false; + + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type) && S(e.target).is('a')) { + return false; + } + + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($this.hasClass('open')) { + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + } + self.hide($this); + } else { + if (settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + return; + } else if (!settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + S(settings.tooltip_class + '.open').hide(); + is_touch = true; + // close other open tooltips on touch + if ($('.open[' + self.attr_name() + ']').length > 0) { + var prevOpen = S($('.open[' + self.attr_name() + ']')[0]); + self.hide(prevOpen); + } + } + + if (/enter|over/i.test(e.type)) { + _startShow(this, $this); + + } else if (e.type === 'mouseout' || e.type === 'mouseleave') { + _startHide(this, $this); + } else { + _startShow(this, $this, true); + } + } + }) + .on('mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', '[' + this.attr_name() + '].open', function (e) { + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($(this).data('tooltip-open-event-type') == 'touch' && e.type == 'mouseleave') { + return; + } else if ($(this).data('tooltip-open-event-type') == 'mouse' && /MSPointerDown|touchstart/i.test(e.type)) { + self.convert_to_touch($(this)); + } else { + _startHide(this, $(this)); + } + }) + .on('DOMNodeRemoved DOMAttrModified', '[' + this.attr_name() + ']:not(a)', function (e) { + _startHide(this, S(this)); + }); + }, + + ie_touch : function (e) { + // How do I distinguish between IE11 and Windows Phone 8????? + return false; + }, + + showTip : function ($target) { + var $tip = this.getTip($target); + if (this.should_show($target, $tip)) { + return this.show($target); + } + return; + }, + + getTip : function ($target) { + var selector = this.selector($target), + settings = $.extend({}, this.settings, this.data_options($target)), + tip = null; + + if (selector) { + tip = this.S('span[data-selector="' + selector + '"]' + settings.tooltip_class); + } + + return (typeof tip === 'object') ? tip : false; + }, + + selector : function ($target) { + var dataSelector = $target.attr(this.attr_name()) || $target.attr('data-selector'); + + if (typeof dataSelector != 'string') { + dataSelector = this.random_str(6); + $target + .attr('data-selector', dataSelector) + .attr('aria-describedby', dataSelector); + } + + return dataSelector; + }, + + create : function ($target) { + var self = this, + settings = $.extend({}, this.settings, this.data_options($target)), + tip_template = this.settings.tip_template; + + if (typeof settings.tip_template === 'string' && window.hasOwnProperty(settings.tip_template)) { + tip_template = window[settings.tip_template]; + } + + var $tip = $(tip_template(this.selector($target), $('
        ').html($target.attr('title')).html())), + classes = this.inheritable_classes($target); + + $tip.addClass(classes).appendTo(settings.append_to); + + if (Modernizr.touch) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', function (e) { + self.hide($target); + }); + } + + $target.removeAttr('title').attr('title', ''); + }, + + reposition : function (target, tip, classes) { + var width, nub, nubHeight, nubWidth, objPos; + + tip.css('visibility', 'hidden').show(); + + width = target.data('width'); + nub = tip.children('.nub'); + nubHeight = nub.outerHeight(); + nubWidth = nub.outerWidth(); + + if (this.small()) { + tip.css({'width' : '100%'}); + } else { + tip.css({'width' : (width) ? width : 'auto'}); + } + + objPos = function (obj, top, right, bottom, left, width) { + return obj.css({ + 'top' : (top) ? top : 'auto', + 'bottom' : (bottom) ? bottom : 'auto', + 'left' : (left) ? left : 'auto', + 'right' : (right) ? right : 'auto' + }).end(); + }; + + var o_top = target.offset().top; + var o_left = target.offset().left; + var outerHeight = target.outerHeight(); + + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', o_left); + + if (this.small()) { + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', 12.5, $(this.scope).width()); + tip.addClass('tip-override'); + objPos(nub, -nubHeight, 'auto', 'auto', o_left); + } else { + + if (Foundation.rtl) { + nub.addClass('rtl'); + o_left = o_left + target.outerWidth() - tip.outerWidth(); + } + + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', o_left); + // reset nub from small styles, if they've been applied + if (nub.attr('style')) { + nub.removeAttr('style'); + } + + tip.removeClass('tip-override'); + + var tip_outerHeight = tip.outerHeight(); + + if (classes && classes.indexOf('tip-top') > -1) { + if (Foundation.rtl) { + nub.addClass('rtl'); + } + objPos(tip, (o_top - tip_outerHeight), 'auto', 'auto', o_left) + .removeClass('tip-override'); + } else if (classes && classes.indexOf('tip-left') > -1) { + objPos(tip, (o_top + (outerHeight / 2) - (tip_outerHeight / 2)), 'auto', 'auto', (o_left - tip.outerWidth() - nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } else if (classes && classes.indexOf('tip-right') > -1) { + objPos(tip, (o_top + (outerHeight / 2) - (tip_outerHeight / 2)), 'auto', 'auto', (o_left + target.outerWidth() + nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } + } + + tip.css('visibility', 'visible').hide(); + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + inheritable_classes : function ($target) { + var settings = $.extend({}, this.settings, this.data_options($target)), + inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'radius', 'round'].concat(settings.additional_inheritable_classes), + classes = $target.attr('class'), + filtered = classes ? $.map(classes.split(' '), function (el, i) { + if ($.inArray(el, inheritables) !== -1) { + return el; + } + }).join(' ') : ''; + + return $.trim(filtered); + }, + + convert_to_touch : function ($target) { + var self = this, + $tip = self.getTip($target), + settings = $.extend({}, self.settings, self.data_options($target)); + + if ($tip.find('.tap-to-close').length === 0) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose', function (e) { + self.hide($target); + }); + } + + $target.data('tooltip-open-event-type', 'touch'); + }, + + show : function ($target) { + var $tip = this.getTip($target); + if ($target.data('tooltip-open-event-type') == 'touch') { + this.convert_to_touch($target); + } + + this.reposition($target, $tip, $target.attr('class')); + $target.addClass('open'); + $tip.fadeIn(this.settings.fade_in_duration); + }, + + hide : function ($target) { + var $tip = this.getTip($target); + + $tip.fadeOut(this.settings.fade_out_duration, function () { + $tip.find('.tap-to-close').remove(); + $tip.off('click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose'); + $target.removeClass('open'); + }); + }, + + off : function () { + var self = this; + this.S(this.scope).off('.fndtn.tooltip'); + this.S(this.settings.tooltip_class).each(function (i) { + $('[' + self.attr_name() + ']').eq(i).attr('title', $(this).text()); + }).remove(); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.topbar = { + name : 'topbar', + + version : '5.5.3', + + settings : { + index : 0, + start_offset : 0, + sticky_class : 'sticky', + custom_back_text : true, + back_text : 'Back', + mobile_show_parent_link : true, + is_hover : true, + scrolltop : true, // jump to top when sticky nav menu toggle is clicked + sticky_on : 'all', + dropdown_autoclose: true + }, + + init : function (section, method, options) { + Foundation.inherit(this, 'add_custom_rule register_media throttle'); + var self = this; + + self.register_media('topbar', 'foundation-mq-topbar'); + + this.bindings(method, options); + + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + var topbar = $(this), + settings = topbar.data(self.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', this); + topbar.data('index', 0); + var topbarContainer = topbar.parent(); + if (topbarContainer.hasClass('fixed') || self.is_sticky(topbar, topbarContainer, settings) ) { + self.settings.sticky_class = settings.sticky_class; + self.settings.sticky_topbar = topbar; + topbar.data('height', topbarContainer.outerHeight()); + topbar.data('stickyoffset', topbarContainer.offset().top); + } else { + topbar.data('height', topbar.outerHeight()); + } + + if (!settings.assembled) { + self.assemble(topbar); + } + + if (settings.is_hover) { + self.S('.has-dropdown', topbar).addClass('not-click'); + } else { + self.S('.has-dropdown', topbar).removeClass('not-click'); + } + + // Pad body when sticky (scrolled) or fixed. + self.add_custom_rule('.f-topbar-fixed { padding-top: ' + topbar.data('height') + 'px }'); + + if (topbarContainer.hasClass('fixed')) { + self.S('body').addClass('f-topbar-fixed'); + } + }); + + }, + + is_sticky : function (topbar, topbarContainer, settings) { + var sticky = topbarContainer.hasClass(settings.sticky_class); + var smallMatch = matchMedia(Foundation.media_queries.small).matches; + var medMatch = matchMedia(Foundation.media_queries.medium).matches; + var lrgMatch = matchMedia(Foundation.media_queries.large).matches; + + if (sticky && settings.sticky_on === 'all') { + return true; + } + if (sticky && this.small() && settings.sticky_on.indexOf('small') !== -1) { + if (smallMatch && !medMatch && !lrgMatch) { return true; } + } + if (sticky && this.medium() && settings.sticky_on.indexOf('medium') !== -1) { + if (smallMatch && medMatch && !lrgMatch) { return true; } + } + if (sticky && this.large() && settings.sticky_on.indexOf('large') !== -1) { + if (smallMatch && medMatch && lrgMatch) { return true; } + } + + return false; + }, + + toggle : function (toggleEl) { + var self = this, + topbar; + + if (toggleEl) { + topbar = self.S(toggleEl).closest('[' + this.attr_name() + ']'); + } else { + topbar = self.S('[' + this.attr_name() + ']'); + } + + var settings = topbar.data(this.attr_name(true) + '-init'); + + var section = self.S('section, .top-bar-section', topbar); + + if (self.breakpoint()) { + if (!self.rtl) { + section.css({left : '0%'}); + $('>.name', section).css({left : '100%'}); + } else { + section.css({right : '0%'}); + $('>.name', section).css({right : '100%'}); + } + + self.S('li.moved', section).removeClass('moved'); + topbar.data('index', 0); + + topbar + .toggleClass('expanded') + .css('height', ''); + } + + if (settings.scrolltop) { + if (!topbar.hasClass('expanded')) { + if (topbar.hasClass('fixed')) { + topbar.parent().addClass('fixed'); + topbar.removeClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if (topbar.parent().hasClass('fixed')) { + if (settings.scrolltop) { + topbar.parent().removeClass('fixed'); + topbar.addClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + + window.scrollTo(0, 0); + } else { + topbar.parent().removeClass('expanded'); + } + } + } else { + if (self.is_sticky(topbar, topbar.parent(), settings)) { + topbar.parent().addClass('fixed'); + } + + if (topbar.parent().hasClass('fixed')) { + if (!topbar.hasClass('expanded')) { + topbar.removeClass('fixed'); + topbar.parent().removeClass('expanded'); + self.update_sticky_positioning(); + } else { + topbar.addClass('fixed'); + topbar.parent().addClass('expanded'); + self.S('body').addClass('f-topbar-fixed'); + } + } + } + }, + + timer : null, + + events : function (bar) { + var self = this, + S = this.S; + + S(this.scope) + .off('.topbar') + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .toggle-topbar', function (e) { + e.preventDefault(); + self.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 li = $(this).closest('li'), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-init'); + + if (settings.dropdown_autoclose && settings.is_hover) { + var hoverLi = $(this).closest('.hover'); + hoverLi.removeClass('hover'); + } + if (self.breakpoint() && !li.hasClass('back') && !li.hasClass('has-dropdown')) { + self.toggle(); + } + + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] li.has-dropdown', function (e) { + var li = S(this), + target = S(e.target), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-init'); + + if (target.data('revealId')) { + self.toggle(); + return; + } + + if (self.breakpoint()) { + return; + } + + if (settings.is_hover && !Modernizr.touch) { + return; + } + + e.stopImmediatePropagation(); + + if (li.hasClass('hover')) { + li + .removeClass('hover') + .find('li') + .removeClass('hover'); + + li.parents('li.hover') + .removeClass('hover'); + } else { + li.addClass('hover'); + + $(li).siblings().removeClass('hover'); + + if (target[0].nodeName === 'A' && target.parent().hasClass('has-dropdown')) { + e.preventDefault(); + } + } + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown>a', function (e) { + if (self.breakpoint()) { + + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + dropdownHeight = $this.next('.dropdown').outerHeight(), + $selectedLi = $this.closest('li'); + + topbar.data('index', topbar.data('index') + 1); + $selectedLi.addClass('moved'); + + if (!self.rtl) { + section.css({left : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({left : 100 * topbar.data('index') + '%'}); + } else { + section.css({right : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({right : 100 * topbar.data('index') + '%'}); + } + + topbar.css('height', $this.siblings('ul').outerHeight(true) + topbar.data('height')); + } + }); + + S(window).off('.topbar').on('resize.fndtn.topbar', self.throttle(function () { + self.resize.call(self); + }, 50)).trigger('resize.fndtn.topbar').load(function () { + // Ensure that the offset is calculated after all of the pages resources have loaded + S(this).trigger('resize.fndtn.topbar'); + }); + + S('body').off('.topbar').on('click.fndtn.topbar', function (e) { + var parent = S(e.target).closest('li').closest('li.hover'); + + if (parent.length > 0) { + return; + } + + S('[' + self.attr_name() + '] li.hover').removeClass('hover'); + }); + + // Go up a level on Click + S(this.scope).on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown .back', function (e) { + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + settings = topbar.data(self.attr_name(true) + '-init'), + $movedLi = $this.closest('li.moved'), + $previousLevelUl = $movedLi.parent(); + + topbar.data('index', topbar.data('index') - 1); + + if (!self.rtl) { + section.css({left : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({left : 100 * topbar.data('index') + '%'}); + } else { + section.css({right : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({right : 100 * topbar.data('index') + '%'}); + } + + if (topbar.data('index') === 0) { + topbar.css('height', ''); + } else { + topbar.css('height', $previousLevelUl.outerHeight(true) + topbar.data('height')); + } + + setTimeout(function () { + $movedLi.removeClass('moved'); + }, 300); + }); + + // Show dropdown menus when their items are focused + S(this.scope).find('.dropdown a') + .focus(function () { + $(this).parents('.has-dropdown').addClass('hover'); + }) + .blur(function () { + $(this).parents('.has-dropdown').removeClass('hover'); + }); + }, + + resize : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var topbar = self.S(this), + settings = topbar.data(self.attr_name(true) + '-init'); + + var stickyContainer = topbar.parent('.' + self.settings.sticky_class); + var stickyOffset; + + if (!self.breakpoint()) { + var doToggle = topbar.hasClass('expanded'); + topbar + .css('height', '') + .removeClass('expanded') + .find('li') + .removeClass('hover'); + + if (doToggle) { + self.toggle(topbar); + } + } + + if (self.is_sticky(topbar, stickyContainer, settings)) { + if (stickyContainer.hasClass('fixed')) { + // Remove the fixed to allow for correct calculation of the offset. + stickyContainer.removeClass('fixed'); + + stickyOffset = stickyContainer.offset().top; + if (self.S(document.body).hasClass('f-topbar-fixed')) { + stickyOffset -= topbar.data('height'); + } + + topbar.data('stickyoffset', stickyOffset); + stickyContainer.addClass('fixed'); + } else { + stickyOffset = stickyContainer.offset().top; + topbar.data('stickyoffset', stickyOffset); + } + } + + }); + }, + + 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 (topbar) { + var self = this, + settings = topbar.data(this.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', topbar); + + // Pull element out of the DOM for manipulation + section.detach(); + + self.S('.has-dropdown>a', section).each(function () { + var $link = self.S(this), + $dropdown = $link.siblings('.dropdown'), + url = $link.attr('href'), + $titleLi; + + if (!$dropdown.find('.title.back').length) { + + if (settings.mobile_show_parent_link == true && url) { + $titleLi = $('
      2. '); + } else { + $titleLi = $('
      3. '); + } + + // Copy link to subnav + if (settings.custom_back_text == true) { + $('h5>a', $titleLi).html(settings.back_text); + } else { + $('h5>a', $titleLi).html('« ' + $link.html()); + } + $dropdown.prepend($titleLi); + } + }); + + // Put element back in the DOM + section.appendTo(topbar); + + // check for sticky + this.sticky(); + + this.assembled(topbar); + }, + + assembled : function (topbar) { + topbar.data(this.attr_name(true), $.extend({}, topbar.data(this.attr_name(true)), {assembled : true})); + }, + + height : function (ul) { + var total = 0, + self = this; + + $('> li', ul).each(function () { + total += self.S(this).outerHeight(true); + }); + + return total; + }, + + sticky : function () { + var self = this; + + this.S(window).on('scroll', function () { + self.update_sticky_positioning(); + }); + }, + + update_sticky_positioning : function () { + var klass = '.' + this.settings.sticky_class, + $window = this.S(window), + self = this; + + if (self.settings.sticky_topbar && self.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(), this.settings)) { + var distance = this.settings.sticky_topbar.data('stickyoffset') + this.settings.start_offset; + if (!self.S(klass).hasClass('expanded')) { + if ($window.scrollTop() > (distance)) { + if (!self.S(klass).hasClass('fixed')) { + self.S(klass).addClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if ($window.scrollTop() <= distance) { + if (self.S(klass).hasClass('fixed')) { + self.S(klass).removeClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + } + } + } + } + }, + + off : function () { + this.S(this.scope).off('.fndtn.topbar'); + this.S(window).off('.fndtn.topbar'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation.min.js b/js/foundation/js/foundation.min.js new file mode 100644 index 0000000..558dcfa --- /dev/null +++ b/js/foundation/js/foundation.min.js @@ -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?'':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").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(''),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;u0&&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:'×'},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)
      ');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:'",viewing:g.templates.viewing},i='
      '+h.viewing+h.grid+"
      ",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()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:'×',timer:'
      ',tip:'
      ',wrapper:'
      ',button:'',prev_button:'',modal:'
      ',expose:'
      ',expose_cover:'
      '},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.attempts0&&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().topc.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_offsetb.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('
      '),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('').addClass(f.prev_class)),j.append(a('').addClass(f.next_class))),f.timer&&(m=a("
      ").addClass(f.timer_container_class),m.append(""),m.append(a("
      ").addClass(f.timer_progress_class)),m.addClass(f.timer_paused_class),j.append(m)),f.slide_number&&(k=a("
      ").addClass(f.slide_number_class),k.append(" "+f.slide_number_text+" "),j.append(k)),f.bullets&&(l=a("
        ").addClass(f.bullets_container_class),j.append(l),l.wrap('
        '),p.slides().each(function(b,c){var d=a("
      1. ").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)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("
        ",{"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('
        ').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 * > 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''+b+''}},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("
        ").html(c.attr("title")).html())),h=this.inheritable_classes(c);g.addClass(h).appendTo(e.append_to),Modernizr.touch&&(g.append(''+e.touch_close_text+""),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(''+e.touch_close_text+""),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?'
      2. ":'
      3. '),1==d.custom_back_text?a("h5>a",b).html(d.back_text):a("h5>a",b).html("« "+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/js/foundation/js/foundation/foundation.abide.js b/js/foundation/js/foundation/foundation.abide.js new file mode 100644 index 0000000..82ea787 --- /dev/null +++ b/js/foundation/js/foundation/foundation.abide.js @@ -0,0 +1,426 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.abide = { + name : 'abide', + + version : '5.5.3', + + settings : { + live_validate : true, // validate the form as you go + validate_on_blur : true, // validate whenever you focus/blur on an input field + // validate_on: 'tab', // tab (when user tabs between fields), change (input changes), manual (call custom events) + + focus_on_invalid : true, // automatically bring the focus to an invalid input field + error_labels : true, // labels with a for="inputId" will receive an `error` class + error_class : 'error', // labels with a for="inputId" will receive an `error` class + // the amount of time Abide will take before it validates the form (in ms). + // smaller time will result in faster validation + timeout : 1000, + patterns : { + alpha : /^[a-zA-Z]+$/, + alpha_numeric : /^[a-zA-Z0-9]+$/, + integer : /^[-+]?\d+$/, + number : /^[-+]?\d*(?:[\.\,]\d+)?$/, + + // amex, visa, diners + 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}$/, + + // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address + 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])?)+$/, + + // http://blogs.lse.ac.uk/lti/2008/04/23/a-regular-expression-to-match-any-url/ + url: /^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/, + // abc.de + 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))$/, + // YYYY-MM-DD + 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))$/, + // HH:MM:SS + time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/, + dateISO : /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/, + // MM/DD/YYYY + month_day_year : /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/, + // DD/MM/YYYY + day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/, + + // #FFF or #FFFFFF + color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/ + }, + validators : { + equalTo : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + return valid; + } + } + }, + + timer : null, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + form = self.S(scope).attr('novalidate', 'novalidate'), + settings = form.data(this.attr_name(true) + '-init') || {}; + + this.invalid_attr = this.add_namespace('data-invalid'); + + function validate(originalSelf, e) { + clearTimeout(self.timer); + self.timer = setTimeout(function () { + self.validate([originalSelf], e); + }.bind(originalSelf), settings.timeout); + } + + form + .off('.abide') + .on('submit.fndtn.abide', function (e) { + var is_ajax = /ajax/i.test(self.S(this).attr(self.attr_name())); + return self.validate(self.S(this).find('input, textarea, select').not(":hidden, [data-abide-ignore]").get(), e, is_ajax); + }) + .on('validate.fndtn.abide', function (e) { + if (settings.validate_on === 'manual') { + self.validate([e.target], e); + } + }) + .on('reset', function (e) { + return self.reset($(this), e); + }) + .find('input, textarea, select').not(":hidden, [data-abide-ignore]") + .off('.abide') + .on('blur.fndtn.abide change.fndtn.abide', function (e) { + var id = this.getAttribute('id'), + eqTo = form.find('[data-equalto="'+ id +'"]'); + // old settings fallback + // will be deprecated with F6 release + if (settings.validate_on_blur && settings.validate_on_blur === true) { + validate(this, e); + } + // checks if there is an equalTo equivalent related by id + if(typeof eqTo.get(0) !== "undefined" && eqTo.val().length){ + validate(eqTo.get(0),e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('keydown.fndtn.abide', function (e) { + var id = this.getAttribute('id'), + eqTo = form.find('[data-equalto="'+ id +'"]'); + // old settings fallback + // will be deprecated with F6 release + if (settings.live_validate && settings.live_validate === true && e.which != 9) { + validate(this, e); + } + // checks if there is an equalTo equivalent related by id + if(typeof eqTo.get(0) !== "undefined" && eqTo.val().length){ + validate(eqTo.get(0),e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'tab' && e.which === 9) { + validate(this, e); + } + else if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('focus', function (e) { + if (navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)) { + $('html, body').animate({ + scrollTop: $(e.target).offset().top + }, 100); + } + }); + }, + + reset : function (form, e) { + var self = this; + form.removeAttr(self.invalid_attr); + + $('[' + self.invalid_attr + ']', form).removeAttr(self.invalid_attr); + $('.' + self.settings.error_class, form).not('small').removeClass(self.settings.error_class); + $(':input', form).not(':button, :submit, :reset, :hidden, [data-abide-ignore]').val('').removeAttr(self.invalid_attr); + }, + + validate : function (els, e, is_ajax) { + var validations = this.parse_patterns(els), + validation_count = validations.length, + form = this.S(els[0]).closest('form'), + submit_event = /submit/.test(e.type); + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < validation_count; i++) { + if (!validations[i] && (submit_event || is_ajax)) { + if (this.settings.focus_on_invalid) { + els[i].focus(); + } + form.trigger('invalid.fndtn.abide'); + this.S(els[i]).closest('form').attr(this.invalid_attr, ''); + return false; + } + } + + if (submit_event || is_ajax) { + form.trigger('valid.fndtn.abide'); + } + + form.removeAttr(this.invalid_attr); + + if (is_ajax) { + return false; + } + + return true; + }, + + parse_patterns : function (els) { + var i = els.length, + el_patterns = []; + + while (i--) { + el_patterns.push(this.pattern(els[i])); + } + + return this.check_validation_and_apply_styles(el_patterns); + }, + + pattern : function (el) { + var type = el.getAttribute('type'), + required = typeof el.getAttribute('required') === 'string'; + + var pattern = el.getAttribute('pattern') || ''; + + if (this.settings.patterns.hasOwnProperty(pattern) && pattern.length > 0) { + return [el, this.settings.patterns[pattern], required]; + } else if (pattern.length > 0) { + return [el, new RegExp(pattern), required]; + } + + if (this.settings.patterns.hasOwnProperty(type)) { + return [el, this.settings.patterns[type], required]; + } + + pattern = /.*/; + + return [el, pattern, required]; + }, + + // TODO: Break this up into smaller methods, getting hard to read. + check_validation_and_apply_styles : function (el_patterns) { + var i = el_patterns.length, + validations = []; + if (i == 0) { + return validations; + } + var form = this.S(el_patterns[0][0]).closest('[data-' + this.attr_name(true) + ']'), + settings = form.data(this.attr_name(true) + '-init') || {}; + while (i--) { + var el = el_patterns[i][0], + required = el_patterns[i][2], + value = el.value.trim(), + direct_parent = this.S(el).parent(), + validator = el.getAttribute(this.add_namespace('data-abide-validator')), + is_radio = el.type === 'radio', + is_checkbox = el.type === 'checkbox', + label = this.S('label[for="' + el.getAttribute('id') + '"]'), + valid_length = (required) ? (el.value.length > 0) : true, + el_validations = []; + + var parent, valid; + + // support old way to do equalTo validations + if (el.getAttribute(this.add_namespace('data-equalto'))) { validator = 'equalTo' } + + if (!direct_parent.is('label')) { + parent = direct_parent; + } else { + parent = direct_parent.parent(); + } + + if (is_radio && required) { + el_validations.push(this.valid_radio(el, required)); + } else if (is_checkbox && required) { + el_validations.push(this.valid_checkbox(el, required)); + + } else if (validator) { + // Validate using each of the specified (space-delimited) validators. + var validators = validator.split(' '); + var last_valid = true, all_valid = true; + for (var iv = 0; iv < validators.length; iv++) { + valid = this.settings.validators[validators[iv]].apply(this, [el, required, parent]) + el_validations.push(valid); + all_valid = valid && last_valid; + last_valid = valid; + } + if (all_valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass('error'); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass('error'); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } else { + + if (el_patterns[i][1].test(value) && valid_length || + !required && el.value.length < 1 || $(el).attr('disabled')) { + el_validations.push(true); + } else { + el_validations.push(false); + } + + el_validations = [el_validations.every(function (valid) {return valid;})]; + if (el_validations[0]) { + this.S(el).removeAttr(this.invalid_attr); + el.setAttribute('aria-invalid', 'false'); + el.removeAttribute('aria-describedby'); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + el.setAttribute('aria-invalid', 'true'); + + // Try to find the error associated with the input + var errorElem = parent.find('small.' + this.settings.error_class, 'span.' + this.settings.error_class); + var errorID = errorElem.length > 0 ? errorElem[0].id : ''; + if (errorID.length > 0) { + el.setAttribute('aria-describedby', errorID); + } + + // el.setAttribute('aria-describedby', $(el).find('.error')[0].id); + parent.addClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } + validations = validations.concat(el_validations); + } + + return validations; + }, + + valid_checkbox : function (el, required) { + var el = this.S(el), + valid = (el.is(':checked') || !required || el.get(0).getAttribute('disabled')); + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + $(el).triggerHandler('valid'); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + $(el).triggerHandler('invalid'); + } + + return valid; + }, + + valid_radio : function (el, required) { + var name = el.getAttribute('name'), + group = this.S(el).closest('[data-' + this.attr_name(true) + ']').find("[name='" + name + "']"), + count = group.length, + valid = false, + disabled = false; + + // Has to count up to make sure the focus gets applied to the top error + for (var i=0; i < count; i++) { + if( group[i].getAttribute('disabled') ){ + disabled=true; + valid=true; + } else { + if (group[i].checked){ + valid = true; + } else { + if( disabled ){ + valid = false; + } + } + } + } + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < count; i++) { + if (valid) { + this.S(group[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + $(group[i]).triggerHandler('valid'); + } else { + this.S(group[i]).attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + $(group[i]).triggerHandler('invalid'); + } + } + + return valid; + }, + + valid_equal : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + if (valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.removeClass(this.settings.error_class); + } + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.addClass(this.settings.error_class); + } + } + + return valid; + }, + + valid_oneof : function (el, required, parent, doNotValidateOthers) { + var el = this.S(el), + others = this.S('[' + this.add_namespace('data-oneof') + ']'), + valid = others.filter(':checked').length > 0; + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + } + + if (!doNotValidateOthers) { + var _this = this; + others.each(function () { + _this.valid_oneof.call(_this, this, null, null, true); + }); + } + + return valid; + }, + + reflow : function(scope, options) { + var self = this, + form = self.S('[' + this.attr_name() + ']').attr('novalidate', 'novalidate'); + self.S(form).each(function (idx, el) { + self.events(el); + }); + } + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.accordion.js b/js/foundation/js/foundation/foundation.accordion.js new file mode 100644 index 0000000..be329ae --- /dev/null +++ b/js/foundation/js/foundation/foundation.accordion.js @@ -0,0 +1,125 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.accordion = { + name : 'accordion', + + version : '5.5.3', + + settings : { + content_class : 'content', + active_class : 'active', + multi_expand : false, + toggleable : true, + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (instance) { + var self = this; + var S = this.S; + self.create(this.S(instance)); + + S(this.scope) + .off('.fndtn.accordion') + .on('click.fndtn.accordion', '[' + this.attr_name() + '] > dd > a, [' + this.attr_name() + '] > li > a', function (e) { + var accordion = S(this).closest('[' + self.attr_name() + ']'), + groupSelector = self.attr_name() + '=' + accordion.attr(self.attr_name()), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings, + target = S('#' + this.href.split('#')[1]), + aunts = $('> dd, > li', accordion), + siblings = aunts.children('.' + settings.content_class), + active_content = siblings.filter('.' + settings.active_class); + + e.preventDefault(); + + if (accordion.attr(self.attr_name())) { + siblings = siblings.add('[' + groupSelector + '] dd > ' + '.' + settings.content_class + ', [' + groupSelector + '] li > ' + '.' + settings.content_class); + aunts = aunts.add('[' + groupSelector + '] dd, [' + groupSelector + '] li'); + } + + if (settings.toggleable && target.is(active_content)) { + target.parent('dd, li').toggleClass(settings.active_class, false); + target.toggleClass(settings.active_class, false); + S(this).attr('aria-expanded', function(i, attr){ + return attr === 'true' ? 'false' : 'true'; + }); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + return; + } + + if (!settings.multi_expand) { + siblings.removeClass(settings.active_class); + aunts.removeClass(settings.active_class); + aunts.children('a').attr('aria-expanded','false'); + } + + target.addClass(settings.active_class).parent().addClass(settings.active_class); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + S(this).attr('aria-expanded','true'); + }); + }, + + create: function($instance) { + var self = this, + accordion = $instance, + aunts = $('> .accordion-navigation', accordion), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings; + + aunts.children('a').attr('aria-expanded','false'); + aunts.has('.' + settings.content_class + '.' + settings.active_class).addClass(settings.active_class).children('a').attr('aria-expanded','true'); + + if (settings.multi_expand) { + $instance.attr('aria-multiselectable','true'); + } + }, + + toggle : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + var selector = typeof options.selector !== 'undefined' ? options.selector : ''; + var toggle_state = typeof options.toggle_state !== 'undefined' ? options.toggle_state : ''; + var $accordion = typeof options.$accordion !== 'undefined' ? options.$accordion : this.S(this.scope).closest('[' + this.attr_name() + ']'); + + var $items = $accordion.find('> dd' + selector + ', > li' + selector); + if ( $items.length < 1 ) { + if ( window.console ) { + console.error('Selection not found.', selector); + } + return false; + } + + var S = this.S; + var active_class = this.settings.active_class; + $items.each(function() { + var $item = S(this); + var is_active = $item.hasClass(active_class); + if ( ( is_active && toggle_state === 'close' ) || ( !is_active && toggle_state === 'open' ) || toggle_state === '' ) { + $item.find('> a').trigger('click.fndtn.accordion'); + } + }); + }, + + open : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'open'; + this.toggle(options); + }, + + close : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'close'; + this.toggle(options); + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.alert.js b/js/foundation/js/foundation/foundation.alert.js new file mode 100644 index 0000000..0ab934c --- /dev/null +++ b/js/foundation/js/foundation/foundation.alert.js @@ -0,0 +1,43 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.alert = { + name : 'alert', + + version : '5.5.3', + + settings : { + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = this.S; + + $(this.scope).off('.alert').on('click.fndtn.alert', '[' + this.attr_name() + '] .close', function (e) { + var alertBox = S(this).closest('[' + self.attr_name() + ']'), + settings = alertBox.data(self.attr_name(true) + '-init') || self.settings; + + e.preventDefault(); + if (Modernizr.csstransitions) { + alertBox.addClass('alert-close'); + alertBox.on('transitionend webkitTransitionEnd oTransitionEnd', function (e) { + S(this).trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } else { + alertBox.fadeOut(300, function () { + S(this).trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } + }); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.clearing.js b/js/foundation/js/foundation/foundation.clearing.js new file mode 100644 index 0000000..f63ff91 --- /dev/null +++ b/js/foundation/js/foundation/foundation.clearing.js @@ -0,0 +1,586 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.clearing = { + name : 'clearing', + + version : '5.5.3', + + settings : { + templates : { + viewing : '×' + + '' + + '' + + '' + }, + + // comma delimited list of selectors that, on click, will close clearing, + // add 'div.clearing-blackout, div.visible-img' to close on background click + close_selectors : '.clearing-close, div.clearing-blackout', + + // Default to the entire li element. + open_selectors : '', + + // Image will be skipped in carousel. + skip_selector : '', + + touch_label : '', + + // event initializer and locks + init : false, + locked : false + }, + + init : function (scope, method, options) { + var self = this; + Foundation.inherit(this, 'throttle image_loaded'); + + this.bindings(method, options); + + if (self.S(this.scope).is('[' + this.attr_name() + ']')) { + this.assemble(self.S('li', this.scope)); + } else { + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + self.assemble(self.S('li', this)); + }); + } + }, + + events : function (scope) { + var self = this, + S = self.S, + $scroll_container = $('.scroll-container'); + + if ($scroll_container.length > 0) { + this.scope = $scroll_container; + } + + S(this.scope) + .off('.clearing') + .on('click.fndtn.clearing', 'ul[' + this.attr_name() + '] li ' + this.settings.open_selectors, + function (e, current, target) { + var current = current || S(this), + target = target || current, + next = current.next('li'), + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'), + image = S(e.target); + + e.preventDefault(); + + if (!settings) { + self.init(); + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + } + + // if clearing is open and the current image is + // clicked, go to the next image in sequence + if (target.hasClass('visible') && + current[0] === target[0] && + next.length > 0 && self.is_open(current)) { + target = next; + image = S('img', target); + } + + // set current and target to the clicked li if not otherwise defined. + self.open(image, current, target); + self.update_paddles(target); + }) + + .on('click.fndtn.clearing', '.clearing-main-next', + function (e) { self.nav(e, 'next') }) + .on('click.fndtn.clearing', '.clearing-main-prev', + function (e) { self.nav(e, 'prev') }) + .on('click.fndtn.clearing', this.settings.close_selectors, + function (e) { Foundation.libs.clearing.close(e, this) }); + + $(document).on('keydown.fndtn.clearing', + function (e) { self.keydown(e) }); + + S(window).off('.clearing').on('resize.fndtn.clearing', + function () { self.resize() }); + + this.swipe_events(scope); + }, + + swipe_events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .on('touchstart.fndtn.clearing', '.visible-img', function (e) { + if (!e.touches) { e = e.originalEvent; } + var data = { + start_page_x : e.touches[0].pageX, + start_page_y : e.touches[0].pageY, + start_time : (new Date()).getTime(), + delta_x : 0, + is_scrolling : undefined + }; + + S(this).data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.clearing', '.visible-img', function (e) { + if (!e.touches) { + e = e.originalEvent; + } + // Ignore pinch/zoom events + if (e.touches.length > 1 || e.scale && e.scale !== 1) { + return; + } + + var data = S(this).data('swipe-transition'); + + if (typeof data === 'undefined') { + data = {}; + } + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if (Foundation.rtl) { + data.delta_x = -data.delta_x; + } + + if (typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? 'next' : 'prev'; + data.active = true; + self.nav(e, direction); + } + }) + .on('touchend.fndtn.clearing', '.visible-img', function (e) { + S(this).data('swipe-transition', {}); + e.stopPropagation(); + }); + }, + + assemble : function ($li) { + var $el = $li.parent(); + + if ($el.parent().hasClass('carousel')) { + return; + } + + $el.after('
        '); + + var grid = $el.detach(), + grid_outerHTML = ''; + + if (grid[0] == null) { + return; + } else { + grid_outerHTML = grid[0].outerHTML; + } + + var holder = this.S('#foundationClearingHolder'), + settings = $el.data(this.attr_name(true) + '-init'), + data = { + grid : '', + viewing : settings.templates.viewing + }, + wrapper = '
        ' + data.viewing + + data.grid + '
        ', + touch_label = this.settings.touch_label; + + if (Modernizr.touch) { + wrapper = $(wrapper).find('.clearing-touch-label').html(touch_label).end(); + } + + holder.after(wrapper).remove(); + }, + + open : function ($image, current, target) { + var self = this, + body = $(document.body), + root = target.closest('.clearing-assembled'), + container = self.S('div', root).first(), + visible_image = self.S('.visible-img', container), + image = self.S('img', visible_image).not($image), + label = self.S('.clearing-touch-label', container), + error = false, + loaded = {}; + + // Event to disable scrolling on touch devices when Clearing is activated + $('body').on('touchmove', function (e) { + e.preventDefault(); + }); + + image.error(function () { + error = true; + }); + + function startLoad() { + setTimeout(function () { + this.image_loaded(image, function () { + if (image.outerWidth() === 1 && !error) { + startLoad.call(this); + } else { + cb.call(this, image); + } + }.bind(this)); + }.bind(this), 100); + } + + function cb (image) { + var $image = $(image); + $image.css('visibility', 'visible'); + $image.trigger('imageVisible'); + // toggle the gallery + body.css('overflow', 'hidden'); + root.addClass('clearing-blackout'); + container.addClass('clearing-container'); + visible_image.show(); + this.fix_height(target) + .caption(self.S('.clearing-caption', visible_image), self.S('img', target)) + .center_and_label(image, label) + .shift(current, target, function () { + target.closest('li').siblings().removeClass('visible'); + target.closest('li').addClass('visible'); + }); + visible_image.trigger('opened.fndtn.clearing') + } + + if (!this.locked()) { + visible_image.trigger('open.fndtn.clearing'); + // set the image to the selected thumbnail + loaded = this.load($image); + if (loaded.interchange) { + image + .attr('data-interchange', loaded.interchange) + .foundation('interchange', 'reflow'); + } else { + image + .attr('src', loaded.src) + .attr('data-interchange', ''); + } + image.css('visibility', 'hidden'); + + startLoad.call(this); + } + }, + + close : function (e, el) { + e.preventDefault(); + + var root = (function (target) { + if (/blackout/.test(target.selector)) { + return target; + } else { + return target.closest('.clearing-blackout'); + } + }($(el))), + body = $(document.body), container, visible_image; + + if (el === e.target && root) { + body.css('overflow', ''); + container = $('div', root).first(); + visible_image = $('.visible-img', container); + visible_image.trigger('close.fndtn.clearing'); + this.settings.prev_index = 0; + $('ul[' + this.attr_name() + ']', root) + .attr('style', '').closest('.clearing-blackout') + .removeClass('clearing-blackout'); + container.removeClass('clearing-container'); + visible_image.hide(); + visible_image.trigger('closed.fndtn.clearing'); + } + + // Event to re-enable scrolling on touch devices + $('body').off('touchmove'); + + return false; + }, + + is_open : function (current) { + return current.parent().prop('style').length > 0; + }, + + keydown : function (e) { + var clearing = $('.clearing-blackout ul[' + this.attr_name() + ']'), + NEXT_KEY = this.rtl ? 37 : 39, + PREV_KEY = this.rtl ? 39 : 37, + ESC_KEY = 27; + + if (e.which === NEXT_KEY) { + this.go(clearing, 'next'); + } + if (e.which === PREV_KEY) { + this.go(clearing, 'prev'); + } + if (e.which === ESC_KEY) { + this.S('a.clearing-close').trigger('click.fndtn.clearing'); + } + }, + + nav : function (e, direction) { + var clearing = $('ul[' + this.attr_name() + ']', '.clearing-blackout'); + + e.preventDefault(); + this.go(clearing, direction); + }, + + resize : function () { + var image = $('img', '.clearing-blackout .visible-img'), + label = $('.clearing-touch-label', '.clearing-blackout'); + + if (image.length) { + this.center_and_label(image, label); + image.trigger('resized.fndtn.clearing') + } + }, + + // visual adjustments + fix_height : function (target) { + var lis = target.parent().children(), + self = this; + + lis.each(function () { + var li = self.S(this), + image = li.find('img'); + + if (li.height() > image.outerHeight()) { + li.addClass('fix-height'); + } + }) + .closest('ul') + .width(lis.length * 100 + '%'); + + return this; + }, + + update_paddles : function (target) { + target = target.closest('li'); + var visible_image = target + .closest('.carousel') + .siblings('.visible-img'); + + if (target.next().length > 0) { + this.S('.clearing-main-next', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-next', visible_image).addClass('disabled'); + } + + if (target.prev().length > 0) { + this.S('.clearing-main-prev', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-prev', visible_image).addClass('disabled'); + } + }, + + center_and_label : function (target, label) { + if (!this.rtl && label.length > 0) { + label.css({ + marginLeft : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10 + }); + } else { + label.css({ + marginRight : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10, + left: 'auto', + right: '50%' + }); + } + return this; + }, + + // image loading and preloading + + load : function ($image) { + var href, + interchange, + closest_a; + + if ($image[0].nodeName === 'A') { + href = $image.attr('href'); + interchange = $image.data('clearing-interchange'); + } else { + closest_a = $image.closest('a'); + href = closest_a.attr('href'); + interchange = closest_a.data('clearing-interchange'); + } + + this.preload($image); + + return { + 'src': href ? href : $image.attr('src'), + 'interchange': href ? interchange : $image.data('clearing-interchange') + } + }, + + preload : function ($image) { + this + .img($image.closest('li').next(), 'next') + .img($image.closest('li').prev(), 'prev'); + }, + + img : function (img, sibling_type) { + if (img.length) { + var preload_img = $('.clearing-preload-' + sibling_type), + new_a = this.S('a', img), + src, + interchange, + image; + + if (new_a.length) { + src = new_a.attr('href'); + interchange = new_a.data('clearing-interchange'); + } else { + image = this.S('img', img); + src = image.attr('src'); + interchange = image.data('clearing-interchange'); + } + + if (interchange) { + preload_img.attr('data-interchange', interchange); + } else { + preload_img.attr('src', src); + preload_img.attr('data-interchange', ''); + } + } + return this; + }, + + // image caption + + caption : function (container, $image) { + var caption = $image.attr('data-caption'); + + if (caption) { + var containerPlain = container.get(0); + containerPlain.innerHTML = caption; + container.show(); + } else { + container + .text('') + .hide(); + } + return this; + }, + + // directional methods + + go : function ($ul, direction) { + var current = this.S('.visible', $ul), + target = current[direction](); + + // Check for skip selector. + if (this.settings.skip_selector && target.find(this.settings.skip_selector).length != 0) { + target = target[direction](); + } + + if (target.length) { + this.S('img', target) + .trigger('click.fndtn.clearing', [current, target]) + .trigger('change.fndtn.clearing'); + } + }, + + shift : function (current, target, callback) { + var clearing = target.parent(), + old_index = this.settings.prev_index || target.index(), + direction = this.direction(clearing, current, target), + dir = this.rtl ? 'right' : 'left', + left = parseInt(clearing.css('left'), 10), + width = target.outerWidth(), + skip_shift; + + var dir_obj = {}; + + // we use jQuery animate instead of CSS transitions because we + // need a callback to unlock the next animation + // needs support for RTL ** + if (target.index() !== old_index && !/skip/.test(direction)) { + if (/left/.test(direction)) { + this.lock(); + dir_obj[dir] = left + width; + clearing.animate(dir_obj, 300, this.unlock()); + } else if (/right/.test(direction)) { + this.lock(); + dir_obj[dir] = left - width; + clearing.animate(dir_obj, 300, this.unlock()); + } + } else if (/skip/.test(direction)) { + // the target image is not adjacent to the current image, so + // do we scroll right or not + skip_shift = target.index() - this.settings.up_count; + this.lock(); + + if (skip_shift > 0) { + dir_obj[dir] = -(skip_shift * width); + clearing.animate(dir_obj, 300, this.unlock()); + } else { + dir_obj[dir] = 0; + clearing.animate(dir_obj, 300, this.unlock()); + } + } + + callback(); + }, + + direction : function ($el, current, target) { + var lis = this.S('li', $el), + li_width = lis.outerWidth() + (lis.outerWidth() / 4), + up_count = Math.floor(this.S('.clearing-container').outerWidth() / li_width) - 1, + target_index = lis.index(target), + response; + + this.settings.up_count = up_count; + + if (this.adjacent(this.settings.prev_index, target_index)) { + if ((target_index > up_count) && target_index > this.settings.prev_index) { + response = 'right'; + } else if ((target_index > up_count - 1) && target_index <= this.settings.prev_index) { + response = 'left'; + } else { + response = false; + } + } else { + response = 'skip'; + } + + this.settings.prev_index = target_index; + + return response; + }, + + adjacent : function (current_index, target_index) { + for (var i = target_index + 1; i >= target_index - 1; i--) { + if (i === current_index) { + return true; + } + } + return false; + }, + + // lock management + + lock : function () { + this.settings.locked = true; + }, + + unlock : function () { + this.settings.locked = false; + }, + + locked : function () { + return this.settings.locked; + }, + + off : function () { + this.S(this.scope).off('.fndtn.clearing'); + this.S(window).off('.fndtn.clearing'); + }, + + reflow : function () { + this.init(); + } + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.dropdown.js b/js/foundation/js/foundation/foundation.dropdown.js new file mode 100644 index 0000000..5db3dea --- /dev/null +++ b/js/foundation/js/foundation/foundation.dropdown.js @@ -0,0 +1,468 @@ +;(function ($, window, document, undefined) { + '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 : false, + hover_timeout : 150, + opened : function () {}, + closed : function () {} + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.dropdown') + .on('click.fndtn.dropdown', '[' + this.attr_name() + ']', function (e) { + var settings = S(this).data(self.attr_name(true) + '-init') || self.settings; + if (!settings.is_hover || Modernizr.touch) { + e.preventDefault(); + if (S(this).parent('[data-reveal-id]').length) { + e.stopPropagation(); + } + self.toggle($(this)); + } + }) + .on('mouseenter.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this), + dropdown, + target; + + clearTimeout(self.timeout); + + if ($this.data(self.data_attr())) { + dropdown = S('#' + $this.data(self.data_attr())); + target = $this; + } else { + dropdown = $this; + target = S('[' + self.attr_name() + '="' + dropdown.attr('id') + '"]'); + } + + var settings = target.data(self.attr_name(true) + '-init') || self.settings; + + if (S(e.currentTarget).data(self.data_attr()) && settings.is_hover) { + self.closeall.call(self); + } + + if (settings.is_hover) { + self.open.apply(self, [dropdown, target]); + } + }) + .on('mouseleave.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this); + var settings; + + if ($this.data(self.data_attr())) { + settings = $this.data(self.data_attr(true) + '-init') || self.settings; + } else { + var target = S('[' + self.attr_name() + '="' + S(this).attr('id') + '"]'), + settings = target.data(self.attr_name(true) + '-init') || self.settings; + } + + self.timeout = setTimeout(function () { + if ($this.data(self.data_attr())) { + if (settings.is_hover) { + self.close.call(self, S('#' + $this.data(self.data_attr()))); + } + } else { + if (settings.is_hover) { + self.close.call(self, $this); + } + } + }.bind(this), settings.hover_timeout); + }) + .on('click.fndtn.dropdown', function (e) { + var parent = S(e.target).closest('[' + self.attr_name() + '-content]'); + var links = parent.find('a'); + + if (links.length > 0 && parent.attr('aria-autoclose') !== 'false') { + self.close.call(self, S('[' + self.attr_name() + '-content]')); + } + + if (e.target !== document && !$.contains(document.documentElement, e.target)) { + return; + } + + if (S(e.target).closest('[' + self.attr_name() + ']').length > 0) { + return; + } + + if (!(S(e.target).data('revealId')) && + (parent.length > 0 && (S(e.target).is('[' + self.attr_name() + '-content]') || + $.contains(parent.first()[0], e.target)))) { + e.stopPropagation(); + return; + } + + self.close.call(self, S('[' + self.attr_name() + '-content]')); + }) + .on('opened.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.opened.call(this); + }) + .on('closed.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.closed.call(this); + }); + + S(window) + .off('.dropdown') + .on('resize.fndtn.dropdown', self.throttle(function () { + self.resize.call(self); + }, 50)); + + this.resize(); + }, + + close : function (dropdown) { + var self = this; + dropdown.each(function (idx) { + var original_target = $('[' + self.attr_name() + '=' + dropdown[idx].id + ']') || $('aria-controls=' + dropdown[idx].id + ']'); + original_target.attr('aria-expanded', 'false'); + if (self.S(this).hasClass(self.settings.active_class)) { + self.S(this) + .css(Foundation.rtl ? 'right' : 'left', '-99999px') + .attr('aria-hidden', 'true') + .removeClass(self.settings.active_class) + .prev('[' + self.attr_name() + ']') + .removeClass(self.settings.active_class) + .removeData('target'); + + self.S(this).trigger('closed.fndtn.dropdown', [dropdown]); + } + }); + dropdown.removeClass('f-open-' + this.attr_name(true)); + }, + + closeall : function () { + var self = this; + $.each(self.S('.f-open-' + this.attr_name(true)), function () { + self.close.call(self, self.S(this)); + }); + }, + + open : function (dropdown, target) { + this + .css(dropdown + .addClass(this.settings.active_class), target); + dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class); + dropdown.data('target', target.get(0)).trigger('opened.fndtn.dropdown', [dropdown, target]); + dropdown.attr('aria-hidden', 'false'); + target.attr('aria-expanded', 'true'); + dropdown.focus(); + dropdown.addClass('f-open-' + this.attr_name(true)); + }, + + data_attr : function () { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.name; + } + + return this.name; + }, + + toggle : function (target) { + if (target.hasClass(this.settings.disabled_class)) { + return; + } + var dropdown = this.S('#' + target.data(this.data_attr())); + if (dropdown.length === 0) { + // No dropdown found, not continuing + return; + } + + this.close.call(this, this.S('[' + this.attr_name() + '-content]').not(dropdown)); + + if (dropdown.hasClass(this.settings.active_class)) { + this.close.call(this, dropdown); + if (dropdown.data('target') !== target.get(0)) { + this.open.call(this, dropdown, target); + } + } else { + this.open.call(this, dropdown, target); + } + }, + + resize : function () { + var dropdown = this.S('[' + this.attr_name() + '-content].open'); + var target = $(dropdown.data("target")); + + if (dropdown.length && target.length) { + this.css(dropdown, target); + } + }, + + css : function (dropdown, target) { + var left_offset = Math.max((target.width() - dropdown.width()) / 2, 8), + settings = target.data(this.attr_name(true) + '-init') || this.settings, + parentOverflow = dropdown.parent().css('overflow-y') || dropdown.parent().css('overflow'); + + this.clear_idx(); + + + + if (this.small()) { + var p = this.dirs.bottom.call(dropdown, target, settings); + + dropdown.attr('style', '').removeClass('drop-left drop-right drop-top').css({ + position : 'absolute', + width : '95%', + 'max-width' : 'none', + top : p.top + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } + // detect if dropdown is in an overflow container + else if (parentOverflow !== 'visible') { + var offset = target[0].offsetTop + target[0].offsetHeight; + + dropdown.attr('style', '').css({ + position : 'absolute', + top : offset + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } + else { + + this.style(dropdown, target, settings); + } + + return dropdown; + }, + + style : function (dropdown, target, settings) { + var css = $.extend({position : 'absolute'}, + this.dirs[settings.align].call(dropdown, target, settings)); + + dropdown.attr('style', '').css(css); + }, + + // return CSS property object + // `this` is the dropdown + dirs : { + // Calculate target offset + _base : function (t, s) { + var o_p = this.offsetParent(), + o = o_p.offset(), + p = t.offset(); + + p.top -= o.top; + p.left -= o.left; + + //set some flags on the p object to pass along + p.missRight = false; + p.missTop = false; + p.missLeft = false; + p.leftRightFlag = false; + + //lets see if the panel will be off the screen + //get the actual width of the page and store it + var actualBodyWidth; + var windowWidth = window.innerWidth; + + if (document.getElementsByClassName('row')[0]) { + actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth; + } else { + actualBodyWidth = windowWidth; + } + + var actualMarginWidth = (windowWidth - actualBodyWidth) / 2; + var actualBoundary = actualBodyWidth; + + if (!this.hasClass('mega') && !s.ignore_repositioning) { + var outerWidth = this.outerWidth(); + var o_left = t.offset().left; + + //miss top + if (t.offset().top <= this.outerHeight()) { + p.missTop = true; + actualBoundary = windowWidth - actualMarginWidth; + p.leftRightFlag = true; + } + + //miss right + if (o_left + outerWidth > o_left + actualMarginWidth && o_left - actualMarginWidth > outerWidth) { + p.missRight = true; + p.missLeft = false; + } + + //miss left + if (o_left - outerWidth <= 0) { + p.missLeft = true; + p.missRight = false; + } + } + + return p; + }, + + top : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t, s); + + this.addClass('drop-top'); + + if (p.missTop == true) { + p.top = p.top + t.outerHeight() + this.outerHeight(); + this.removeClass('drop-top'); + } + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (Foundation.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), + top : p.top - this.outerHeight()}; + } + + return {left : p.left, top : p.top - this.outerHeight()}; + }, + + bottom : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t, s); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (self.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), top : p.top + t.outerHeight()}; + } + + return {left : p.left, top : p.top + t.outerHeight()}; + }, + + left : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t, s); + + this.addClass('drop-left'); + + if (p.missLeft == true) { + p.left = p.left + this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-left'); + } + + return {left : p.left - this.outerWidth(), top : p.top}; + }, + + right : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t, s); + + this.addClass('drop-right'); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-right'); + } else { + p.triggeredRight = true; + } + + var self = Foundation.libs.dropdown; + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + return {left : p.left + t.outerWidth(), top : p.top}; + } + }, + + // Insert rule to style psuedo elements + adjust_pip : function (dropdown, target, settings, position) { + var sheet = Foundation.stylesheet, + pip_offset_base = 8; + + if (dropdown.hasClass(settings.mega_class)) { + pip_offset_base = position.left + (target.outerWidth() / 2) - 8; + } else if (this.small()) { + pip_offset_base += position.left - 8; + } + + this.rule_idx = sheet.cssRules.length; + + //default + var sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + + if (position.missRight == true) { + pip_offset_base = dropdown.outerWidth() - 23; + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + } + + //just a case where right is fired, but its not missing right + if (position.triggeredRight == true) { + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left:-12px;', + css_after = 'left:-14px;'; + } + + if (sheet.insertRule) { + sheet.insertRule([sel_before, '{', css_before, '}'].join(' '), this.rule_idx); + sheet.insertRule([sel_after, '{', css_after, '}'].join(' '), this.rule_idx + 1); + } else { + sheet.addRule(sel_before, css_before, this.rule_idx); + sheet.addRule(sel_after, css_after, this.rule_idx + 1); + } + }, + + // Remove old dropdown rule index + clear_idx : function () { + var sheet = Foundation.stylesheet; + + if (typeof this.rule_idx !== 'undefined') { + sheet.deleteRule(this.rule_idx); + sheet.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(window).off('.fndtn.dropdown'); + this.S('[data-dropdown-content]').off('.fndtn.dropdown'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.equalizer.js b/js/foundation/js/foundation/foundation.equalizer.js new file mode 100644 index 0000000..a61a330 --- /dev/null +++ b/js/foundation/js/foundation/foundation.equalizer.js @@ -0,0 +1,104 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.equalizer = { + name : 'equalizer', + + version : '5.5.3', + + settings : { + use_tallest : true, + before_height_change : $.noop, + after_height_change : $.noop, + equalize_on_stack : false, + act_on_hidden_el: false + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'image_loaded'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + this.S(window).off('.equalizer').on('resize.fndtn.equalizer', function (e) { + this.reflow(); + }.bind(this)); + }, + + equalize : function (equalizer) { + var isStacked = false, + group = equalizer.data('equalizer'), + settings = equalizer.data(this.attr_name(true)+'-init') || this.settings, + vals, + firstTopOffset; + + if (settings.act_on_hidden_el) { + vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]') : equalizer.find('['+this.attr_name()+'-watch]'); + } + else { + vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]:visible') : equalizer.find('['+this.attr_name()+'-watch]:visible'); + } + + if (vals.length === 0) { + return; + } + + settings.before_height_change(); + equalizer.trigger('before-height-change.fndth.equalizer'); + vals.height('inherit'); + + if (settings.equalize_on_stack === false) { + firstTopOffset = vals.first().offset().top; + vals.each(function () { + if ($(this).offset().top !== firstTopOffset) { + isStacked = true; + return false; + } + }); + if (isStacked) { + return; + } + } + + var heights = vals.map(function () { return $(this).outerHeight(false) }).get(); + + if (settings.use_tallest) { + var max = Math.max.apply(null, heights); + vals.css('height', max); + } else { + var min = Math.min.apply(null, heights); + vals.css('height', min); + } + + settings.after_height_change(); + equalizer.trigger('after-height-change.fndtn.equalizer'); + }, + + reflow : function () { + var self = this; + + this.S('[' + this.attr_name() + ']', this.scope).each(function () { + var $eq_target = $(this), + media_query = $eq_target.data('equalizer-mq'), + ignore_media_query = true; + + if (media_query) { + media_query = 'is_' + media_query.replace(/-/g, '_'); + if (Foundation.utils.hasOwnProperty(media_query)) { + ignore_media_query = false; + } + } + + self.image_loaded(self.S('img', this), function () { + if (ignore_media_query || Foundation.utils[media_query]()) { + self.equalize($eq_target) + } else { + var vals = $eq_target.find('[' + self.attr_name() + '-watch]:visible'); + vals.css('height', 'auto'); + } + }); + }); + } + }; +})(jQuery, window, window.document); diff --git a/js/foundation/js/foundation/foundation.interchange.js b/js/foundation/js/foundation/foundation.interchange.js new file mode 100644 index 0000000..1096fad --- /dev/null +++ b/js/foundation/js/foundation/foundation.interchange.js @@ -0,0 +1,360 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.interchange = { + name : 'interchange', + + version : '5.5.3', + + cache : {}, + + images_loaded : false, + nodes_loaded : false, + + 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 (el, path, trigger) { + // The trigger argument, if called within the directive, fires + // an event named after the directive on the element, passing + // any parameters along to the event that you pass to trigger. + // + // ex. trigger(), trigger([a, b, c]), or trigger(a, b, c) + // + // This allows you to bind a callback like so: + // $('#interchangeContainer').on('replace', function (e, a, b, c) { + // console.log($(this).html(), a, b, c); + // }); + + if (el !== null && /IMG/.test(el[0].nodeName)) { + var orig_path = $.each(el, function(){this.src = path;}); + // var orig_path = el[0].src; + + if (new RegExp(path, 'i').test(orig_path)) { + return; + } + + el.attr("src", path); + + return trigger(el[0].src); + } + var last_path = el.data(this.data_attr + '-last-path'), + self = this; + + if (last_path == path) { + return; + } + + if (/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(path)) { + $(el).css('background-image', 'url(' + path + ')'); + el.data('interchange-last-path', path); + return trigger(path); + } + + return $.get(path, function (response) { + el.html(response); + el.data(self.data_attr + '-last-path', path); + trigger(); + }); + + } + } + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.data_attr = this.set_data_attr(); + $.extend(true, this.settings, method, options); + this.bindings(method, options); + this.reflow(); + }, + + get_media_hash : function () { + var mediaHash = ''; + for (var queryName in this.settings.named_queries ) { + mediaHash += matchMedia(this.settings.named_queries[queryName]).matches.toString(); + } + return mediaHash; + }, + + events : function () { + var self = this, prevMediaHash; + + $(window) + .off('.interchange') + .on('resize.fndtn.interchange', self.throttle(function () { + var currMediaHash = self.get_media_hash(); + if (currMediaHash !== prevMediaHash) { + self.resize(); + } + prevMediaHash = currMediaHash; + }, 50)); + + return this; + }, + + resize : function () { + var cache = this.cache; + + if (!this.images_loaded || !this.nodes_loaded) { + setTimeout($.proxy(this.resize, this), 50); + return; + } + + for (var uuid in cache) { + if (cache.hasOwnProperty(uuid)) { + var passed = this.results(uuid, cache[uuid]); + if (passed) { + this.settings.directives[passed + .scenario[1]].call(this, passed.el, passed.scenario[0], (function (passed) { + if (arguments[0] instanceof Array) { + var args = arguments[0]; + } else { + var args = Array.prototype.slice.call(arguments, 0); + } + + return function() { + passed.el.trigger(passed.scenario[1], args); + } + }(passed))); + } + } + } + + }, + + results : function (uuid, scenarios) { + var count = scenarios.length; + + if (count > 0) { + var el = this.S('[' + this.add_namespace('data-uuid') + '="' + uuid + '"]'); + + while (count--) { + var mq, rule = scenarios[count][2]; + if (this.settings.named_queries.hasOwnProperty(rule)) { + mq = matchMedia(this.settings.named_queries[rule]); + } else { + mq = matchMedia(rule); + } + if (mq.matches) { + return {el : el, scenario : scenarios[count]}; + } + } + } + + return false; + }, + + load : function (type, force_update) { + if (typeof this['cached_' + type] === 'undefined' || force_update) { + this['update_' + type](); + } + + return this['cached_' + type]; + }, + + update_images : function () { + var images = this.S('img[' + this.data_attr + ']'), + count = images.length, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cache = {}; + this.cached_images = []; + this.images_loaded = (count === 0); + + while (i--) { + loaded_count++; + if (images[i]) { + var str = images[i].getAttribute(data_attr) || ''; + + if (str.length > 0) { + this.cached_images.push(images[i]); + } + } + + if (loaded_count === count) { + this.images_loaded = true; + this.enhance('images'); + } + } + + return this; + }, + + update_nodes : function () { + var nodes = this.S('[' + this.data_attr + ']').not('img'), + count = nodes.length, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cached_nodes = []; + this.nodes_loaded = (count === 0); + + while (i--) { + loaded_count++; + var str = nodes[i].getAttribute(data_attr) || ''; + + if (str.length > 0) { + this.cached_nodes.push(nodes[i]); + } + + if (loaded_count === count) { + this.nodes_loaded = true; + this.enhance('nodes'); + } + } + + return this; + }, + + enhance : function (type) { + var i = this['cached_' + type].length; + + while (i--) { + this.object($(this['cached_' + type][i])); + } + + return $(window).trigger('resize.fndtn.interchange'); + }, + + convert_directive : function (directive) { + + var trimmed = this.trim(directive); + + if (trimmed.length > 0) { + return trimmed; + } + + return 'replace'; + }, + + parse_scenario : function (scenario) { + // This logic had to be made more complex since some users were using commas in the url path + // So we cannot simply just split on a comma + + var directive_match = scenario[0].match(/(.+),\s*(\w+)\s*$/), + // getting the mq has gotten a bit complicated since we started accounting for several use cases + // of URLs. For now we'll continue to match these scenarios, but we may consider having these scenarios + // as nested objects or arrays in F6. + // regex: match everything before close parenthesis for mq + media_query = scenario[1].match(/(.*)\)/); + + if (directive_match) { + var path = directive_match[1], + directive = directive_match[2]; + + } else { + var cached_split = scenario[0].split(/,\s*$/), + path = cached_split[0], + directive = ''; + } + + return [this.trim(path), this.convert_directive(directive), this.trim(media_query[1])]; + }, + + object : function (el) { + var raw_arr = this.parse_data_attr(el), + scenarios = [], + i = raw_arr.length; + + if (i > 0) { + while (i--) { + // split array between comma delimited content and mq + // regex: comma, optional space, open parenthesis + var scenario = raw_arr[i].split(/,\s?\(/); + + if (scenario.length > 1) { + var params = this.parse_scenario(scenario); + scenarios.push(params); + } + } + } + + return this.store(el, scenarios); + }, + + store : function (el, scenarios) { + var uuid = this.random_str(), + current_uuid = el.data(this.add_namespace('uuid', true)); + + if (this.cache[current_uuid]) { + return this.cache[current_uuid]; + } + + el.attr(this.add_namespace('data-uuid'), uuid); + return this.cache[uuid] = scenarios; + }, + + trim : function (str) { + + if (typeof str === 'string') { + return $.trim(str); + } + + return str; + }, + + set_data_attr : function (init) { + if (init) { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.settings.load_attr; + } + + return this.settings.load_attr; + } + + if (this.namespace.length > 0) { + return 'data-' + this.namespace + '-' + this.settings.load_attr; + } + + return 'data-' + this.settings.load_attr; + }, + + parse_data_attr : function (el) { + var raw = el.attr(this.attr_name()).split(/\[(.*?)\]/), + i = raw.length, + output = []; + + while (i--) { + if (raw[i].replace(/[\W\d]+/, '').length > 4) { + output.push(raw[i]); + } + } + + return output; + }, + + reflow : function () { + this.load('images', true); + this.load('nodes', true); + } + + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.joyride.js b/js/foundation/js/foundation/foundation.joyride.js new file mode 100644 index 0000000..f251119 --- /dev/null +++ b/js/foundation/js/foundation/foundation.joyride.js @@ -0,0 +1,935 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + var Modernizr = Modernizr || false; + + Foundation.libs.joyride = { + name : 'joyride', + + version : '5.5.3', + + defaults : { + expose : false, // turn on or off the expose feature + modal : true, // Whether to cover page with modal during the tour + keyboard : true, // enable left, right and esc keystrokes + tip_location : 'bottom', // 'top', 'bottom', 'left' or 'right' in relation to parent + nub_position : 'auto', // override on a per tooltip bases + scroll_speed : 1500, // Page scrolling speed in milliseconds, 0 = no scroll animation + scroll_animation : 'linear', // supports 'swing' and 'linear', extend with jQuery UI. + timer : 0, // 0 = no timer , all other numbers = timer in milliseconds + start_timer_on_click : true, // true or false - true requires clicking the first button start the timer + start_offset : 0, // the index of the tooltip you want to start on (index of the li) + next_button : true, // true or false to control whether a next button is used + prev_button : true, // true or false to control whether a prev button is used + tip_animation : 'fade', // 'pop' or 'fade' in each tip + pause_after : [], // array of indexes where to pause the tour after + exposed : [], // array of expose elements + tip_animation_fade_speed : 300, // when tipAnimation = 'fade' this is speed in milliseconds for the transition + cookie_monster : false, // true or false to control whether cookies are used + cookie_name : 'joyride', // Name the cookie you'll use + cookie_domain : false, // Will this cookie be attached to a domain, ie. '.notableapp.com' + cookie_expires : 365, // set when you would like the cookie to expire. + tip_container : 'body', // Where will the tip be attached + abort_on_close : true, // When true, the close event will not fire any callback + tip_location_patterns : { + top : ['bottom'], + bottom : [], // bottom should not need to be repositioned + left : ['right', 'top', 'bottom'], + right : ['left', 'top', 'bottom'] + }, + post_ride_callback : function () {}, // A method to call once the tour closes (canceled or complete) + post_step_callback : function () {}, // A method to call after each step + pre_step_callback : function () {}, // A method to call before each step + pre_ride_callback : function () {}, // A method to call before the tour starts (passed index, tip, and cloned exposed element) + post_expose_callback : function () {}, // A method to call after an element has been exposed + template : { // HTML segments for tip layout + link : '×', + timer : '
        ', + tip : '
        ', + wrapper : '
        ', + button : '', + prev_button : '', + modal : '
        ', + expose : '
        ', + expose_cover : '
        ' + }, + expose_add_class : '' // One or more space-separated class names to be added to exposed element + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.settings = this.settings || $.extend({}, this.defaults, (options || method)); + + this.bindings(method, options) + }, + + go_next : function () { + if (this.settings.$li.next().length < 1) { + this.end(); + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(); + this.startTimer(); + } else { + this.hide(); + this.show(); + } + }, + + go_prev : function () { + if (this.settings.$li.prev().length < 1) { + // Do nothing if there are no prev element + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(null, true); + this.startTimer(); + } else { + this.hide(); + this.show(null, true); + } + }, + + events : function () { + var self = this; + + $(this.scope) + .off('.joyride') + .on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) { + e.preventDefault(); + this.go_next() + }.bind(this)) + .on('click.fndtn.joyride', '.joyride-prev-tip', function (e) { + e.preventDefault(); + this.go_prev(); + }.bind(this)) + + .on('click.fndtn.joyride', '.joyride-close-tip', function (e) { + e.preventDefault(); + this.end(this.settings.abort_on_close); + }.bind(this)) + + .on('keyup.fndtn.joyride', function (e) { + // Don't do anything if keystrokes are disabled + // or if the joyride is not being shown + if (!this.settings.keyboard || !this.settings.riding) { + return; + } + + switch (e.which) { + case 39: // right arrow + e.preventDefault(); + this.go_next(); + break; + case 37: // left arrow + e.preventDefault(); + this.go_prev(); + break; + case 27: // escape + e.preventDefault(); + this.end(this.settings.abort_on_close); + } + }.bind(this)); + + $(window) + .off('.joyride') + .on('resize.fndtn.joyride', self.throttle(function () { + if ($('[' + self.attr_name() + ']').length > 0 && self.settings.$next_tip && self.settings.riding) { + if (self.settings.exposed.length > 0) { + var $els = $(self.settings.exposed); + + $els.each(function () { + var $this = $(this); + self.un_expose($this); + self.expose($this); + }); + } + + if (self.is_phone()) { + self.pos_phone(); + } else { + self.pos_default(false); + } + } + }, 100)); + }, + + start : function () { + var self = this, + $this = $('[' + this.attr_name() + ']', this.scope), + integer_settings = ['timer', 'scrollSpeed', 'startOffset', 'tipAnimationFadeSpeed', 'cookieExpires'], + int_settings_count = integer_settings.length; + + if (!$this.length > 0) { + return; + } + + if (!this.settings.init) { + this.events(); + } + + this.settings = $this.data(this.attr_name(true) + '-init'); + + // non configureable settings + this.settings.$content_el = $this; + this.settings.$body = $(this.settings.tip_container); + this.settings.body_offset = $(this.settings.tip_container).position(); + this.settings.$tip_content = this.settings.$content_el.find('> li'); + this.settings.paused = false; + this.settings.attempts = 0; + this.settings.riding = true; + + // can we create cookies? + if (typeof $.cookie !== 'function') { + this.settings.cookie_monster = false; + } + + // generate the tips and insert into dom. + if (!this.settings.cookie_monster || this.settings.cookie_monster && !$.cookie(this.settings.cookie_name)) { + this.settings.$tip_content.each(function (index) { + var $this = $(this); + this.settings = $.extend({}, self.defaults, self.data_options($this)); + + // Make sure that settings parsed from data_options are integers where necessary + var i = int_settings_count; + while (i--) { + self.settings[integer_settings[i]] = parseInt(self.settings[integer_settings[i]], 10); + } + self.create({$li : $this, index : index}); + }); + + // show first tip + if (!this.settings.start_timer_on_click && this.settings.timer > 0) { + this.show('init'); + this.startTimer(); + } else { + this.show('init'); + } + + } + }, + + resume : function () { + this.set_li(); + this.show(); + }, + + tip_template : function (opts) { + var $blank, content; + + opts.tip_class = opts.tip_class || ''; + + $blank = $(this.settings.template.tip).addClass(opts.tip_class); + content = $.trim($(opts.li).html()) + + this.prev_button_text(opts.prev_button_text, opts.index) + + this.button_text(opts.button_text) + + this.settings.template.link + + this.timer_instance(opts.index); + + $blank.append($(this.settings.template.wrapper)); + $blank.first().attr(this.add_namespace('data-index'), opts.index); + $('.joyride-content-wrapper', $blank).append(content); + + return $blank[0]; + }, + + timer_instance : function (index) { + var txt; + + if ((index === 0 && this.settings.start_timer_on_click && this.settings.timer > 0) || this.settings.timer === 0) { + txt = ''; + } else { + txt = $(this.settings.template.timer)[0].outerHTML; + } + return txt; + }, + + button_text : function (txt) { + if (this.settings.tip_settings.next_button) { + txt = $.trim(txt) || 'Next'; + txt = $(this.settings.template.button).append(txt)[0].outerHTML; + } else { + txt = ''; + } + return txt; + }, + + prev_button_text : function (txt, idx) { + if (this.settings.tip_settings.prev_button) { + txt = $.trim(txt) || 'Previous'; + + // Add the disabled class to the button if it's the first element + if (idx == 0) { + txt = $(this.settings.template.prev_button).append(txt).addClass('disabled')[0].outerHTML; + } else { + txt = $(this.settings.template.prev_button).append(txt)[0].outerHTML; + } + } else { + txt = ''; + } + return txt; + }, + + create : function (opts) { + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(opts.$li)); + var buttonText = opts.$li.attr(this.add_namespace('data-button')) || opts.$li.attr(this.add_namespace('data-text')), + prevButtonText = opts.$li.attr(this.add_namespace('data-button-prev')) || opts.$li.attr(this.add_namespace('data-prev-text')), + tipClass = opts.$li.attr('class'), + $tip_content = $(this.tip_template({ + tip_class : tipClass, + index : opts.index, + button_text : buttonText, + prev_button_text : prevButtonText, + li : opts.$li + })); + + $(this.settings.tip_container).append($tip_content); + }, + + show : function (init, is_prev) { + var $timer = null; + + // are we paused? + if (this.settings.$li === undefined || ($.inArray(this.settings.$li.index(), this.settings.pause_after) === -1)) { + + // don't go to the next li if the tour was paused + if (this.settings.paused) { + this.settings.paused = false; + } else { + this.set_li(init, is_prev); + } + + this.settings.attempts = 0; + + if (this.settings.$li.length && this.settings.$target.length > 0) { + if (init) { //run when we first start + this.settings.pre_ride_callback(this.settings.$li.index(), this.settings.$next_tip); + if (this.settings.modal) { + this.show_modal(); + } + } + + this.settings.pre_step_callback(this.settings.$li.index(), this.settings.$next_tip); + + if (this.settings.modal && this.settings.expose) { + this.expose(); + } + + this.settings.tip_settings = $.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]; + + // scroll and hide bg if not modal and not expose + if (!/body/i.test(this.settings.$target.selector) && !this.settings.expose) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (/pop/i.test(this.settings.tipAnimation)) { + joyridemodalbg.hide(); + } else { + joyridemodalbg.fadeOut(this.settings.tipAnimationFadeSpeed); + } + this.scroll_to(); + } + + if (this.is_phone()) { + this.pos_phone(true); + } else { + this.pos_default(true); + } + + $timer = this.settings.$next_tip.find('.joyride-timer-indicator'); + + if (/pop/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip.show(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.show(); + + } + + } else if (/fade/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip + .fadeIn(this.settings.tip_animation_fade_speed) + .show(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed); + } + } + + this.settings.$current_tip = this.settings.$next_tip; + + // skip non-existant targets + } else if (this.settings.$li && this.settings.$target.length < 1) { + + this.show(init, is_prev); + + } else { + + this.end(); + + } + } else { + + this.settings.paused = true; + + } + + }, + + is_phone : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + hide : function () { + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + if (!this.settings.modal) { + $('.joyride-modal-bg').hide(); + } + + // Prevent scroll bouncing...wait to remove from layout + this.settings.$current_tip.css('visibility', 'hidden'); + setTimeout($.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 (init, is_prev) { + if (init) { + this.settings.$li = this.settings.$tip_content.eq(this.settings.start_offset); + this.set_next_tip(); + this.settings.$current_tip = this.settings.$next_tip; + } else { + if (is_prev) { + this.settings.$li = this.settings.$li.prev(); + } else { + this.settings.$li = this.settings.$li.next(); + } + this.set_next_tip(); + } + + this.set_target(); + }, + + set_next_tip : function () { + this.settings.$next_tip = $('.joyride-tip-guide').eq(this.settings.$li.index()); + this.settings.$next_tip.data('closed', ''); + }, + + set_target : function () { + var cl = this.settings.$li.attr(this.add_namespace('data-class')), + id = this.settings.$li.attr(this.add_namespace('data-id')), + $sel = function () { + if (id) { + return $(document.getElementById(id)); + } else if (cl) { + return $('.' + cl).first(); + } else { + return $('body'); + } + }; + + this.settings.$target = $sel(); + }, + + scroll_to : function () { + var window_half, tipOffset; + + window_half = $(window).height() / 2; + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()); + + if (tipOffset != 0) { + $('html, body').stop().animate({ + scrollTop : tipOffset + }, this.settings.scroll_speed, 'swing'); + } + }, + + paused : function () { + return ($.inArray((this.settings.$li.index() + 1), this.settings.pause_after) === -1); + }, + + restart : function () { + this.hide(); + this.settings.$li = undefined; + this.show('init'); + }, + + pos_default : function (init) { + var $nub = this.settings.$next_tip.find('.joyride-nub'), + nub_width = Math.ceil($nub.outerWidth() / 2), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + // tip must not be "display: none" to calculate position + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0, + leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0; + + if (this.bottom()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth() + leftAdjustment}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'top'); + + } else if (this.top()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'bottom'); + + } else if (this.right()) { + + this.settings.$next_tip.css({ + top : this.settings.$target.offset().top + topAdjustment, + left : (this.settings.$target.outerWidth() + this.settings.$target.offset().left + nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'left'); + + } else if (this.left()) { + + this.settings.$next_tip.css({ + top : this.settings.$target.offset().top + topAdjustment, + left : (this.settings.$target.offset().left - this.settings.$next_tip.outerWidth() - nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'right'); + + } + + if (!this.visible(this.corners(this.settings.$next_tip)) && this.settings.attempts < this.settings.tip_settings.tip_location_pattern.length) { + + $nub.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(); + + } + + } else if (this.settings.$li.length) { + + this.pos_modal($nub); + + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + + }, + + pos_phone : function (init) { + var tip_height = this.settings.$next_tip.outerHeight(), + tip_offset = this.settings.$next_tip.offset(), + target_height = this.settings.$target.outerHeight(), + $nub = $('.joyride-nub', this.settings.$next_tip), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + + if (this.top()) { + + this.settings.$next_tip.offset({top : this.settings.$target.offset().top - tip_height - nub_height}); + $nub.addClass('bottom'); + + } else { + + this.settings.$next_tip.offset({top : this.settings.$target.offset().top + target_height + nub_height}); + $nub.addClass('top'); + + } + + } else if (this.settings.$li.length) { + this.pos_modal($nub); + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + }, + + pos_modal : function ($nub) { + this.center(); + $nub.hide(); + + this.show_modal(); + }, + + show_modal : function () { + if (!this.settings.$next_tip.data('closed')) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (joyridemodalbg.length < 1) { + var joyridemodalbg = $(this.settings.template.modal); + joyridemodalbg.appendTo('body'); + } + + if (/pop/i.test(this.settings.tip_animation)) { + joyridemodalbg.show(); + } else { + joyridemodalbg.fadeIn(this.settings.tip_animation_fade_speed); + } + } + }, + + expose : function () { + var expose, + exposeCover, + el, + origCSS, + origClasses, + randId = 'expose-' + this.random_str(6); + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) { + el = this.settings.$target; + } else { + return false; + } + + if (el.length < 1) { + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + expose = $(this.settings.template.expose); + this.settings.$body.append(expose); + expose.css({ + top : el.offset().top, + left : el.offset().left, + width : el.outerWidth(true), + height : el.outerHeight(true) + }); + + exposeCover = $(this.settings.template.expose_cover); + + origCSS = { + zIndex : el.css('z-index'), + position : el.css('position') + }; + + origClasses = el.attr('class') == null ? '' : el.attr('class'); + + el.css('z-index', parseInt(expose.css('z-index')) + 1); + + if (origCSS.position == 'static') { + el.css('position', 'relative'); + } + + el.data('expose-css', origCSS); + el.data('orig-class', origClasses); + el.attr('class', origClasses + ' ' + this.settings.expose_add_class); + + exposeCover.css({ + top : el.offset().top, + left : el.offset().left, + width : el.outerWidth(true), + height : el.outerHeight(true) + }); + + if (this.settings.modal) { + this.show_modal(); + } + + this.settings.$body.append(exposeCover); + expose.addClass(randId); + exposeCover.addClass(randId); + el.data('expose', randId); + this.settings.post_expose_callback(this.settings.$li.index(), this.settings.$next_tip, el); + this.add_exposed(el); + }, + + un_expose : function () { + var exposeId, + el, + expose, + origCSS, + origClasses, + clearAll = false; + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) { + el = this.settings.$target; + } else { + return false; + } + + if (el.length < 1) { + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + exposeId = el.data('expose'); + expose = $('.' + exposeId); + + if (arguments.length > 1) { + clearAll = arguments[1]; + } + + if (clearAll === true) { + $('.joyride-expose-wrapper,.joyride-expose-cover').remove(); + } else { + expose.remove(); + } + + origCSS = el.data('expose-css'); + + if (origCSS.zIndex == 'auto') { + el.css('z-index', ''); + } else { + el.css('z-index', origCSS.zIndex); + } + + if (origCSS.position != el.css('position')) { + if (origCSS.position == 'static') {// this is default, no need to set it. + el.css('position', ''); + } else { + el.css('position', origCSS.position); + } + } + + origClasses = el.data('orig-class'); + el.attr('class', origClasses); + el.removeData('orig-classes'); + + el.removeData('expose'); + el.removeData('expose-z-index'); + this.remove_exposed(el); + }, + + add_exposed : function (el) { + this.settings.exposed = this.settings.exposed || []; + if (el instanceof $ || typeof el === 'object') { + this.settings.exposed.push(el[0]); + } else if (typeof el == 'string') { + this.settings.exposed.push(el); + } + }, + + remove_exposed : function (el) { + var search, i; + if (el instanceof $) { + search = el[0] + } else if (typeof el == 'string') { + search = el; + } + + this.settings.exposed = this.settings.exposed || []; + i = this.settings.exposed.length; + + while (i--) { + if (this.settings.exposed[i] == search) { + this.settings.exposed.splice(i, 1); + return; + } + } + }, + + center : function () { + var $w = $(window); + + this.settings.$next_tip.css({ + top : ((($w.height() - this.settings.$next_tip.outerHeight()) / 2) + $w.scrollTop()), + left : ((($w.width() - this.settings.$next_tip.outerWidth()) / 2) + $w.scrollLeft()) + }); + + return true; + }, + + 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 (el) { + if (el.length === 0) { + return [false, false, false, false]; + } + + var w = $(window), + window_half = w.height() / 2, + //using this to calculate since scroll may not have finished yet. + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()), + right = w.width() + w.scrollLeft(), + offsetBottom = w.height() + tipOffset, + bottom = w.height() + w.scrollTop(), + top = w.scrollTop(); + + if (tipOffset < top) { + if (tipOffset < 0) { + top = 0; + } else { + top = tipOffset; + } + } + + if (offsetBottom > bottom) { + bottom = offsetBottom; + } + + return [ + el.offset().top < top, + right < el.offset().left + el.outerWidth(), + bottom < el.offset().top + el.outerHeight(), + w.scrollLeft() > el.offset().left + ]; + }, + + visible : function (hidden_corners) { + var i = hidden_corners.length; + + while (i--) { + if (hidden_corners[i]) { + return false; + } + } + + return true; + }, + + nub_position : function (nub, pos, def) { + if (pos === 'auto') { + nub.addClass(def); + } else { + nub.addClass(pos); + } + }, + + startTimer : function () { + if (this.settings.$li.length) { + this.settings.automate = setTimeout(function () { + this.hide(); + this.show(); + this.startTimer(); + }.bind(this), this.settings.timer); + } else { + clearTimeout(this.settings.automate); + } + }, + + end : function (abort) { + if (this.settings.cookie_monster) { + $.cookie(this.settings.cookie_name, 'ridden', {expires : this.settings.cookie_expires, domain : this.settings.cookie_domain}); + } + + if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + } + + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + // Unplug keystrokes listener + $(this.scope).off('keyup.joyride') + + this.settings.$next_tip.data('closed', true); + this.settings.riding = false; + + $('.joyride-modal-bg').hide(); + this.settings.$current_tip.hide(); + + if (typeof abort === 'undefined' || abort === false) { + 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); + } + + $('.joyride-tip-guide').remove(); + }, + + off : function () { + $(this.scope).off('.joyride'); + $(window).off('.joyride'); + $('.joyride-close-tip, .joyride-next-tip, .joyride-modal-bg').off('.joyride'); + $('.joyride-tip-guide, .joyride-modal-bg').remove(); + clearTimeout(this.settings.automate); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.js b/js/foundation/js/foundation/foundation.js new file mode 100644 index 0000000..c5a359d --- /dev/null +++ b/js/foundation/js/foundation/foundation.js @@ -0,0 +1,732 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2015, ZURB + * Free to use under the MIT license. + * http://www.opensource.org/licenses/mit-license.php +*/ + +(function ($, window, document, undefined) { + 'use strict'; + + var header_helpers = function (class_array) { + var head = $('head'); + head.prepend($.map(class_array, function (class_name) { + if (head.has('.' + class_name).length === 0) { + return ''; + } + })); + }; + + header_helpers([ + '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']); + + // Enable FastClick if present + + $(function () { + if (typeof FastClick !== 'undefined') { + // Don't attach to body if undefined + if (typeof document.body !== 'undefined') { + FastClick.attach(document.body); + } + } + }); + + // private Fast Selector wrapper, + // returns jQuery object. Only use where + // getElementById is not available. + var S = function (selector, context) { + if (typeof selector === 'string') { + if (context) { + var cont; + if (context.jquery) { + cont = context[0]; + if (!cont) { + return context; + } + } else { + cont = context; + } + return $(cont.querySelectorAll(selector)); + } + + return $(document.querySelectorAll(selector)); + } + + return $(selector, context); + }; + + // Namespace functions. + + var attr_name = function (init) { + var arr = []; + if (!init) { + arr.push('data'); + } + if (this.namespace.length > 0) { + arr.push(this.namespace); + } + arr.push(this.name); + + return arr.join('-'); + }; + + var add_namespace = function (str) { + var parts = str.split('-'), + i = parts.length, + arr = []; + + while (i--) { + if (i !== 0) { + arr.push(parts[i]); + } else { + if (this.namespace.length > 0) { + arr.push(this.namespace, parts[i]); + } else { + arr.push(parts[i]); + } + } + } + + return arr.reverse().join('-'); + }; + + // Event binding and data-options updating. + + var bindings = function (method, options) { + var self = this, + bind = function(){ + var $this = S(this), + should_bind_events = !$this.data(self.attr_name(true) + '-init'); + $this.data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options($this))); + + if (should_bind_events) { + self.events(this); + } + }; + + if (S(this.scope).is('[' + this.attr_name() +']')) { + bind.call(this.scope); + } else { + S('[' + this.attr_name() +']', this.scope).each(bind); + } + // # Patch to fix #5043 to move this *after* the if/else clause in order for Backbone and similar frameworks to have improved control over event binding and data-options updating. + if (typeof method === 'string') { + return this[method].call(this, options); + } + + }; + + var single_image_loaded = function (image, callback) { + function loaded () { + callback(image[0]); + } + + function bindLoad () { + this.one('load', loaded); + + if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { + var src = this.attr( 'src' ), + param = src.match( /\?/ ) ? '&' : '?'; + + param += 'random=' + (new Date()).getTime(); + this.attr('src', src + param); + } + } + + if (!image.attr('src')) { + loaded(); + return; + } + + if (image[0].complete || image[0].readyState === 4) { + loaded(); + } else { + bindLoad.call(image); + } + }; + + /*! 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 */ + + window.matchMedia || (window.matchMedia = function() { + "use strict"; + + // For browsers that support matchMedium api such as IE 9 and webkit + var styleMedia = (window.styleMedia || window.media); + + // For those that don't support matchMedium + if (!styleMedia) { + var style = document.createElement('style'), + script = document.getElementsByTagName('script')[0], + info = null; + + style.type = 'text/css'; + style.id = 'matchmediajs-test'; + + script.parentNode.insertBefore(style, script); + + // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers + info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle; + + styleMedia = { + matchMedium: function(media) { + var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; + + // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers + if (style.styleSheet) { + style.styleSheet.cssText = text; + } else { + style.textContent = text; + } + + // Test if media query is true or false + return info.width === '1px'; + } + }; + } + + return function(media) { + return { + matches: styleMedia.matchMedium(media || 'all'), + media: media || 'all' + }; + }; + }()); + + /* + * jquery.requestAnimationFrame + * https://github.com/gnarf37/jquery-requestAnimationFrame + * Requires jQuery 1.8+ + * + * Copyright (c) 2012 Corey Frang + * Licensed under the MIT license. + */ + + (function(jQuery) { + + + // requestAnimationFrame polyfill adapted from Erik Möller + // fixes from Paul Irish and Tino Zijdel + // http://paulirish.com/2011/requestanimationframe-for-smart-animating/ + // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating + + var animating, + lastTime = 0, + vendors = ['webkit', 'moz'], + requestAnimationFrame = window.requestAnimationFrame, + cancelAnimationFrame = window.cancelAnimationFrame, + jqueryFxAvailable = 'undefined' !== typeof jQuery.fx; + + for (; lastTime < vendors.length && !requestAnimationFrame; lastTime++) { + requestAnimationFrame = window[ vendors[lastTime] + 'RequestAnimationFrame' ]; + cancelAnimationFrame = cancelAnimationFrame || + window[ vendors[lastTime] + 'CancelAnimationFrame' ] || + window[ vendors[lastTime] + 'CancelRequestAnimationFrame' ]; + } + + function raf() { + if (animating) { + requestAnimationFrame(raf); + + if (jqueryFxAvailable) { + jQuery.fx.tick(); + } + } + } + + if (requestAnimationFrame) { + // use rAF + window.requestAnimationFrame = requestAnimationFrame; + window.cancelAnimationFrame = cancelAnimationFrame; + + if (jqueryFxAvailable) { + jQuery.fx.timer = function (timer) { + if (timer() && jQuery.timers.push(timer) && !animating) { + animating = true; + raf(); + } + }; + + jQuery.fx.stop = function () { + animating = false; + }; + } + } else { + // polyfill + window.requestAnimationFrame = function (callback) { + var currTime = new Date().getTime(), + timeToCall = Math.max(0, 16 - (currTime - lastTime)), + id = window.setTimeout(function () { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + + window.cancelAnimationFrame = function (id) { + clearTimeout(id); + }; + + } + + }( $ )); + + function removeQuotes (string) { + if (typeof string === 'string' || string instanceof String) { + string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, ''); + } + + return string; + } + + function MediaQuery(selector) { + this.selector = selector; + this.query = ''; + } + + MediaQuery.prototype.toString = function () { + return this.query || (this.query = S(this.selector).css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')); + }; + + window.Foundation = { + name : 'Foundation', + + version : '5.5.3', + + media_queries : { + 'small' : new MediaQuery('.foundation-mq-small'), + 'small-only' : new MediaQuery('.foundation-mq-small-only'), + 'medium' : new MediaQuery('.foundation-mq-medium'), + 'medium-only' : new MediaQuery('.foundation-mq-medium-only'), + 'large' : new MediaQuery('.foundation-mq-large'), + 'large-only' : new MediaQuery('.foundation-mq-large-only'), + 'xlarge' : new MediaQuery('.foundation-mq-xlarge'), + 'xlarge-only' : new MediaQuery('.foundation-mq-xlarge-only'), + 'xxlarge' : new MediaQuery('.foundation-mq-xxlarge') + }, + + stylesheet : $('').appendTo('head')[0].sheet, + + global : { + namespace : undefined + }, + + init : function (scope, libraries, method, options, response) { + var args = [scope, method, options, response], + responses = []; + + // check RTL + this.rtl = /rtl/i.test(S('html').attr('dir')); + + // set foundation global scope + this.scope = scope || this.scope; + + this.set_namespace(); + + if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) { + if (this.libs.hasOwnProperty(libraries)) { + responses.push(this.init_lib(libraries, args)); + } + } else { + for (var lib in this.libs) { + responses.push(this.init_lib(lib, libraries)); + } + } + + S(window).load(function () { + S(window) + .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'); + }); + + return scope; + }, + + init_lib : function (lib, args) { + if (this.libs.hasOwnProperty(lib)) { + this.patch(this.libs[lib]); + + if (args && args.hasOwnProperty(lib)) { + if (typeof this.libs[lib].settings !== 'undefined') { + $.extend(true, this.libs[lib].settings, args[lib]); + } else if (typeof this.libs[lib].defaults !== 'undefined') { + $.extend(true, this.libs[lib].defaults, args[lib]); + } + return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]); + } + + args = args instanceof Array ? args : new Array(args); + return this.libs[lib].init.apply(this.libs[lib], args); + } + + return function () {}; + }, + + patch : function (lib) { + lib.scope = this.scope; + lib.namespace = this.global.namespace; + lib.rtl = this.rtl; + lib['data_options'] = this.utils.data_options; + lib['attr_name'] = attr_name; + lib['add_namespace'] = add_namespace; + lib['bindings'] = bindings; + lib['S'] = this.utils.S; + }, + + inherit : function (scope, methods) { + var methods_arr = methods.split(' '), + i = methods_arr.length; + + while (i--) { + if (this.utils.hasOwnProperty(methods_arr[i])) { + scope[methods_arr[i]] = this.utils[methods_arr[i]]; + } + } + }, + + set_namespace : function () { + + // Description: + // Don't bother reading the namespace out of the meta tag + // if the namespace has been set globally in javascript + // + // Example: + // Foundation.global.namespace = 'my-namespace'; + // or make it an empty string: + // Foundation.global.namespace = ''; + // + // + + // If the namespace has not been set (is undefined), try to read it out of the meta element. + // Otherwise use the globally defined namespace, even if it's empty ('') + var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace; + + // Finally, if the namsepace is either undefined or false, set it to an empty string. + // Otherwise use the namespace value. + this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace; + }, + + libs : {}, + + // methods that can be inherited in libraries + utils : { + + // Description: + // Fast Selector wrapper returns jQuery object. Only use where getElementById + // is not available. + // + // Arguments: + // Selector (String): CSS selector describing the element(s) to be + // returned as a jQuery object. + // + // Scope (String): CSS selector describing the area to be searched. Default + // is document. + // + // Returns: + // Element (jQuery Object): jQuery object containing elements matching the + // selector within the scope. + S : S, + + // Description: + // Executes a function a max of once every n milliseconds + // + // Arguments: + // Func (Function): Function to be throttled. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Returns: + // Lazy_function (Function): Function with throttling applied. + throttle : function (func, delay) { + var timer = null; + + return function () { + var context = this, args = arguments; + + if (timer == null) { + timer = setTimeout(function () { + func.apply(context, args); + timer = null; + }, delay); + } + }; + }, + + // Description: + // Executes a function when it stops being invoked for n seconds + // Modified version of _.debounce() http://underscorejs.org + // + // Arguments: + // Func (Function): Function to be debounced. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Immediate (Bool): Whether the function should be called at the beginning + // of the delay instead of the end. Default is false. + // + // Returns: + // Lazy_function (Function): Function with debouncing applied. + debounce : function (func, delay, immediate) { + var timeout, result; + return function () { + var context = this, args = arguments; + var later = function () { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + } + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, delay); + if (callNow) { + result = func.apply(context, args); + } + return result; + }; + }, + + // Description: + // Parses data-options attribute + // + // Arguments: + // El (jQuery Object): Element to be parsed. + // + // Returns: + // Options (Javascript Object): Contents of the element's data-options + // attribute. + data_options : function (el, data_attr_name) { + data_attr_name = data_attr_name || 'options'; + var opts = {}, ii, p, opts_arr, + data_options = function (el) { + var namespace = Foundation.global.namespace; + + if (namespace.length > 0) { + return el.data(namespace + '-' + data_attr_name); + } + + return el.data(data_attr_name); + }; + + var cached_options = data_options(el); + + if (typeof cached_options === 'object') { + return cached_options; + } + + opts_arr = (cached_options || ':').split(';'); + ii = opts_arr.length; + + function isNumber (o) { + return !isNaN (o - 0) && o !== null && o !== '' && o !== false && o !== true; + } + + function trim (str) { + if (typeof str === 'string') { + return $.trim(str); + } + return str; + } + + while (ii--) { + p = opts_arr[ii].split(':'); + p = [p[0], p.slice(1).join(':')]; + + if (/true/i.test(p[1])) { + p[1] = true; + } + if (/false/i.test(p[1])) { + p[1] = false; + } + if (isNumber(p[1])) { + if (p[1].indexOf('.') === -1) { + p[1] = parseInt(p[1], 10); + } else { + p[1] = parseFloat(p[1]); + } + } + + if (p.length === 2 && p[0].length > 0) { + opts[trim(p[0])] = trim(p[1]); + } + } + + return opts; + }, + + // Description: + // Adds JS-recognizable media queries + // + // Arguments: + // Media (String): Key string for the media query to be stored as in + // Foundation.media_queries + // + // Class (String): Class name for the generated tag + register_media : function (media, media_class) { + if (Foundation.media_queries[media] === undefined) { + $('head').append(''); + Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family')); + } + }, + + // Description: + // Add custom CSS within a JS-defined media query + // + // Arguments: + // Rule (String): CSS rule to be appended to the document. + // + // Media (String): Optional media query string for the CSS rule to be + // nested under. + add_custom_rule : function (rule, media) { + if (media === undefined && Foundation.stylesheet) { + Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length); + } else { + var query = Foundation.media_queries[media]; + + if (query !== undefined) { + Foundation.stylesheet.insertRule('@media ' + + Foundation.media_queries[media] + '{ ' + rule + ' }', Foundation.stylesheet.cssRules.length); + } + } + }, + + // Description: + // Performs a callback function when an image is fully loaded + // + // Arguments: + // Image (jQuery Object): Image(s) to check if loaded. + // + // Callback (Function): Function to execute when image is fully loaded. + image_loaded : function (images, callback) { + var self = this, + unloaded = images.length; + + function pictures_has_height(images) { + var pictures_number = images.length; + + for (var i = pictures_number - 1; i >= 0; i--) { + if(images.attr('height') === undefined) { + return false; + }; + }; + + return true; + } + + if (unloaded === 0 || pictures_has_height(images)) { + callback(images); + } + + images.each(function () { + single_image_loaded(self.S(this), function () { + unloaded -= 1; + if (unloaded === 0) { + callback(images); + } + }); + }); + }, + + // Description: + // Returns a random, alphanumeric string + // + // Arguments: + // Length (Integer): Length of string to be generated. Defaults to random + // integer. + // + // Returns: + // Rand (String): Pseudo-random, alphanumeric string. + random_str : function () { + if (!this.fidx) { + this.fidx = 0; + } + this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-'); + + return this.prefix + (this.fidx++).toString(36); + }, + + // Description: + // Helper for window.matchMedia + // + // Arguments: + // mq (String): Media query + // + // Returns: + // (Boolean): Whether the media query passes or not + match : function (mq) { + return window.matchMedia(mq).matches; + }, + + // Description: + // Helpers for checking Foundation default media queries with JS + // + // Returns: + // (Boolean): Whether the media query passes or not + + 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(); + } + } + }; + + $.fn.foundation = function () { + var args = Array.prototype.slice.call(arguments, 0); + + return this.each(function () { + Foundation.init.apply(Foundation, [this].concat(args)); + return this; + }); + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.magellan.js b/js/foundation/js/foundation/foundation.magellan.js new file mode 100644 index 0000000..aac36a7 --- /dev/null +++ b/js/foundation/js/foundation/foundation.magellan.js @@ -0,0 +1,214 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs['magellan-expedition'] = { + name : 'magellan-expedition', + + version : '5.5.3', + + settings : { + active_class : 'active', + threshold : 0, // pixels from the top of the expedition for it to become fixes + destination_threshold : 20, // pixels from the top of destination for it to be considered active + throttle_delay : 30, // calculation throttling to increase framerate + fixed_top : 0, // top distance in pixels assigend to the fixed element on scroll + offset_by_height : true, // whether to offset the destination by the expedition height. Usually you want this to be true, unless your expedition is on the side. + duration : 700, // animation duration time + easing : 'swing' // animation easing + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + settings = self.settings; + + // initialize expedition offset + self.set_expedition_position(); + + S(self.scope) + .off('.magellan') + .on('click.fndtn.magellan', '[' + self.add_namespace('data-magellan-arrival') + '] a[href*=#]', function (e) { + var sameHost = ((this.hostname === location.hostname) || !this.hostname), + samePath = self.filterPathname(location.pathname) === self.filterPathname(this.pathname), + testHash = this.hash.replace(/(:|\.|\/)/g, '\\$1'), + anchor = this; + + if (sameHost && samePath && testHash) { + e.preventDefault(); + var expedition = $(this).closest('[' + self.attr_name() + ']'), + settings = expedition.data('magellan-expedition-init'), + hash = this.hash.split('#').join(''), + target = $('a[name="' + hash + '"]'); + + if (target.length === 0) { + target = $('#' + hash); + + } + + // Account for expedition height if fixed position + var scroll_top = target.offset().top - settings.destination_threshold + 1; + if (settings.offset_by_height) { + scroll_top = scroll_top - expedition.outerHeight(); + } + $('html, body').stop().animate({ + 'scrollTop' : scroll_top + }, settings.duration, settings.easing, function () { + if (history.pushState) { + history.pushState(null, null, anchor.pathname + anchor.search + '#' + hash); + } else { + location.hash = anchor.pathname + anchor.search + '#' + hash; + } + }); + } + }) + .on('scroll.fndtn.magellan', self.throttle(this.check_for_arrivals.bind(this), settings.throttle_delay)); + }, + + check_for_arrivals : function () { + var self = this; + self.update_arrivals(); + self.update_expedition_positions(); + }, + + set_expedition_position : function () { + var self = this; + $('[' + this.attr_name() + '=fixed]', self.scope).each(function (idx, el) { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('styles'), // save styles + top_offset, fixed_top; + + expedition.attr('style', ''); + top_offset = expedition.offset().top + settings.threshold; + + //set fixed-top by attribute + fixed_top = parseInt(expedition.data('magellan-fixed-top')); + if (!isNaN(fixed_top)) { + self.settings.fixed_top = fixed_top; + } + + expedition.data(self.data_attr('magellan-top-offset'), top_offset); + expedition.attr('style', styles); + }); + }, + + update_expedition_positions : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + '=fixed]', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('style'), // save styles + top_offset = expedition.data('magellan-top-offset'); + + //scroll to the top distance + if (window_top_offset + self.settings.fixed_top >= top_offset) { + // Placeholder allows height calculations to be consistent even when + // appearing to switch between fixed/non-fixed placement + var placeholder = expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']'); + if (placeholder.length === 0) { + placeholder = expedition.clone(); + placeholder.removeAttr(self.attr_name()); + placeholder.attr(self.add_namespace('data-magellan-expedition-clone'), ''); + expedition.before(placeholder); + } + expedition.css({position :'fixed', top : settings.fixed_top}).addClass('fixed'); + } else { + expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']').remove(); + expedition.attr('style', styles).css('position', '').css('top', '').removeClass('fixed'); + } + }); + }, + + update_arrivals : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + ']', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data(self.attr_name(true) + '-init'), + offsets = self.offsets(expedition, window_top_offset), + arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'), + active_item = false; + offsets.each(function (idx, item) { + if (item.viewport_offset >= item.top_offset) { + var arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'); + arrivals.not(item.arrival).removeClass(settings.active_class); + item.arrival.addClass(settings.active_class); + active_item = true; + return true; + } + }); + + if (!active_item) { + arrivals.removeClass(settings.active_class); + } + }); + }, + + offsets : function (expedition, window_offset) { + var self = this, + settings = expedition.data(self.attr_name(true) + '-init'), + viewport_offset = window_offset; + + return expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']').map(function (idx, el) { + var name = $(this).data(self.data_attr('magellan-arrival')), + dest = $('[' + self.add_namespace('data-magellan-destination') + '=' + name + ']'); + if (dest.length > 0) { + var top_offset = dest.offset().top - settings.destination_threshold; + if (settings.offset_by_height) { + top_offset = top_offset - expedition.outerHeight(); + } + top_offset = Math.floor(top_offset); + return { + destination : dest, + arrival : $(this), + top_offset : top_offset, + viewport_offset : viewport_offset + } + } + }).sort(function (a, b) { + if (a.top_offset < b.top_offset) { + return -1; + } + if (a.top_offset > b.top_offset) { + return 1; + } + return 0; + }); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () { + this.S(this.scope).off('.magellan'); + this.S(window).off('.magellan'); + }, + + filterPathname : function (pathname) { + pathname = pathname || ''; + return pathname + .replace(/^\//,'') + .replace(/(?:index|default).[a-zA-Z]{3,4}$/,'') + .replace(/\/$/,''); + }, + + reflow : function () { + var self = this; + // remove placeholder expeditions used for height calculation purposes + $('[' + self.add_namespace('data-magellan-expedition-clone') + ']', self.scope).remove(); + } + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.offcanvas.js b/js/foundation/js/foundation/foundation.offcanvas.js new file mode 100644 index 0000000..685e9a0 --- /dev/null +++ b/js/foundation/js/foundation/foundation.offcanvas.js @@ -0,0 +1,225 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.offcanvas = { + name : 'offcanvas', + + version : '5.5.3', + + settings : { + open_method : 'move', + close_on_click : false + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + move_class = '', + right_postfix = '', + left_postfix = '', + top_postfix = '', + bottom_postfix = ''; + + if (this.settings.open_method === 'move') { + move_class = 'move-'; + right_postfix = 'right'; + left_postfix = 'left'; + top_postfix = 'top'; + bottom_postfix = 'bottom'; + } else if (this.settings.open_method === 'overlap_single') { + move_class = 'offcanvas-overlap-'; + right_postfix = 'right'; + left_postfix = 'left'; + top_postfix = 'top'; + bottom_postfix = 'bottom'; + } else if (this.settings.open_method === 'overlap') { + move_class = 'offcanvas-overlap'; + } + + S(this.scope).off('.offcanvas') + .on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + right_postfix); + if (self.settings.open_method !== 'overlap') { + S('.left-submenu').removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + right_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + right_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.left-submenu').toggleClass(move_class + right_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of left canvas + .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + left_postfix); + if (self.settings.open_method !== 'overlap') { + S('.right-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + left_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + left_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.right-submenu').toggleClass(move_class + left_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of right canvas + .on('click.fndtn.offcanvas', '.top-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + bottom_postfix); + if (self.settings.open_method !== 'overlap') { + S('.top-submenu').removeClass(move_class + bottom_postfix); + } + $('.top-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.top-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + bottom_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + bottom_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.top-submenu').toggleClass(move_class + bottom_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + bottom_postfix); + } + $('.top-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of top canvas + .on('click.fndtn.offcanvas', '.bottom-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + top_postfix); + if (self.settings.open_method !== 'overlap') { + S('.bottom-submenu').removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.bottom-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + top_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + top_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.bottom-submenu').toggleClass(move_class + top_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of bottom + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + S('.right-submenu').removeClass(move_class + left_postfix); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + S('.left-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + $('.left-off-canvas-toggle').attr('aria-expanded', 'false'); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + $('.right-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + top_postfix); + S('.bottom-submenu').removeClass(move_class + top_postfix); + if (bottom_postfix) { + self.click_remove_class(e, move_class + bottom_postfix); + S('.top-submenu').removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + top_postfix); + $('.top-off-canvas-toggle').attr('aria-expanded', 'false'); + if (bottom_postfix) { + self.click_remove_class(e, move_class + bottom_postfix); + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }); + }, + + toggle : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + if ($off_canvas.is('.' + class_name)) { + this.hide(class_name, $off_canvas); + } else { + this.show(class_name, $off_canvas); + } + }, + + show : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('open.fndtn.offcanvas'); + $off_canvas.addClass(class_name); + }, + + hide : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('close.fndtn.offcanvas'); + $off_canvas.removeClass(class_name); + }, + + click_toggle_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.toggle(class_name, $off_canvas); + }, + + click_remove_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.hide(class_name, $off_canvas); + }, + + get_settings : function (e) { + var offcanvas = this.S(e.target).closest('[' + this.attr_name() + ']'); + return offcanvas.data(this.attr_name(true) + '-init') || this.settings; + }, + + get_wrapper : function (e) { + var $off_canvas = this.S(e ? e.target : this.scope).closest('.off-canvas-wrap'); + + if ($off_canvas.length === 0) { + $off_canvas = this.S('.off-canvas-wrap'); + } + return $off_canvas; + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.orbit.js b/js/foundation/js/foundation/foundation.orbit.js new file mode 100644 index 0000000..d88bb46 --- /dev/null +++ b/js/foundation/js/foundation/foundation.orbit.js @@ -0,0 +1,476 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + var noop = function () {}; + + var Orbit = function (el, settings) { + // Don't reinitialize plugin + if (el.hasClass(settings.slides_container_class)) { + return this; + } + + var self = this, + container, + slides_container = el, + number_container, + bullets_container, + timer_container, + idx = 0, + animate, + timer, + locked = false, + adjust_height_after = false; + + self.slides = function () { + return slides_container.children(settings.slide_selector); + }; + + self.slides().first().addClass(settings.active_slide_class); + + self.update_slide_number = function (index) { + if (settings.slide_number) { + number_container.find('span:first').text(parseInt(index) + 1); + number_container.find('span:last').text(self.slides().length); + } + if (settings.bullets) { + bullets_container.children().removeClass(settings.bullets_active_class); + $(bullets_container.children().get(index)).addClass(settings.bullets_active_class); + } + }; + + self.update_active_link = function (index) { + var link = $('[data-orbit-link="' + self.slides().eq(index).attr('data-orbit-slide') + '"]'); + link.siblings().removeClass(settings.bullets_active_class); + link.addClass(settings.bullets_active_class); + }; + + self.build_markup = function () { + slides_container.wrap('
        '); + container = slides_container.parent(); + slides_container.addClass(settings.slides_container_class); + + if (settings.stack_on_small) { + container.addClass(settings.stack_on_small_class); + } + + if (settings.navigation_arrows) { + container.append($('').addClass(settings.prev_class)); + container.append($('').addClass(settings.next_class)); + } + + if (settings.timer) { + timer_container = $('
        ').addClass(settings.timer_container_class); + timer_container.append(''); + timer_container.append($('
        ').addClass(settings.timer_progress_class)); + timer_container.addClass(settings.timer_paused_class); + container.append(timer_container); + } + + if (settings.slide_number) { + number_container = $('
        ').addClass(settings.slide_number_class); + number_container.append(' ' + settings.slide_number_text + ' '); + container.append(number_container); + } + + if (settings.bullets) { + bullets_container = $('
          ').addClass(settings.bullets_container_class); + container.append(bullets_container); + bullets_container.wrap('
          '); + self.slides().each(function (idx, el) { + var bullet = $('
        1. ').attr('data-orbit-slide', idx).on('click', self.link_bullet);; + bullets_container.append(bullet); + }); + } + + }; + + self._goto = function (next_idx, start_timer) { + // if (locked) {return false;} + if (next_idx === idx) {return false;} + if (typeof timer === 'object') {timer.restart();} + var slides = self.slides(); + + var dir = 'next'; + locked = true; + if (next_idx < idx) {dir = 'prev';} + if (next_idx >= slides.length) { + if (!settings.circular) { + return false; + } + next_idx = 0; + } else if (next_idx < 0) { + if (!settings.circular) { + return false; + } + next_idx = slides.length - 1; + } + + var current = $(slides.get(idx)); + var next = $(slides.get(next_idx)); + + current.css('zIndex', 2); + current.removeClass(settings.active_slide_class); + next.css('zIndex', 4).addClass(settings.active_slide_class); + + slides_container.trigger('before-slide-change.fndtn.orbit'); + settings.before_slide_change(); + self.update_active_link(next_idx); + + var callback = function () { + var unlock = function () { + idx = next_idx; + locked = false; + if (start_timer === true) {timer = self.create_timer(); timer.start();} + self.update_slide_number(idx); + slides_container.trigger('after-slide-change.fndtn.orbit', [{slide_number : idx, total_slides : slides.length}]); + settings.after_slide_change(idx, slides.length); + }; + if (slides_container.outerHeight() != next.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 250, 'linear', unlock); + } else { + unlock(); + } + }; + + if (slides.length === 1) {callback(); return false;} + + var start_animation = function () { + if (dir === 'next') {animate.next(current, next, callback);} + if (dir === 'prev') {animate.prev(current, next, callback);} + }; + + if (next.outerHeight() > slides_container.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 250, 'linear', start_animation); + } else { + start_animation(); + } + }; + + self.next = function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + self._goto(idx + 1); + }; + + self.prev = function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + self._goto(idx - 1); + }; + + self.link_custom = function (e) { + e.preventDefault(); + var link = $(this).attr('data-orbit-link'); + if ((typeof link === 'string') && (link = $.trim(link)) != '') { + var slide = container.find('[data-orbit-slide=' + link + ']'); + if (slide.index() != -1) {self._goto(slide.index());} + } + }; + + self.link_bullet = function (e) { + var index = $(this).attr('data-orbit-slide'); + if ((typeof index === 'string') && (index = $.trim(index)) != '') { + if (isNaN(parseInt(index))) { + var slide = container.find('[data-orbit-slide=' + index + ']'); + if (slide.index() != -1) {self._goto(slide.index() + 1);} + } else { + self._goto(parseInt(index)); + } + } + + } + + self.timer_callback = function () { + self._goto(idx + 1, true); + } + + self.compute_dimensions = function () { + var current = $(self.slides().get(idx)); + var h = current.outerHeight(); + if (!settings.variable_height) { + self.slides().each(function(){ + if ($(this).outerHeight() > h) { h = $(this).outerHeight(); } + }); + } + slides_container.height(h); + }; + + self.create_timer = function () { + var t = new Timer( + container.find('.' + settings.timer_container_class), + settings, + self.timer_callback + ); + return t; + }; + + self.stop_timer = function () { + if (typeof timer === 'object') { + timer.stop(); + } + }; + + self.toggle_timer = function () { + var t = container.find('.' + settings.timer_container_class); + if (t.hasClass(settings.timer_paused_class)) { + if (typeof timer === 'undefined') {timer = self.create_timer();} + timer.start(); + } else { + if (typeof timer === 'object') {timer.stop();} + } + }; + + self.init = function () { + self.build_markup(); + if (settings.timer) { + timer = self.create_timer(); + Foundation.utils.image_loaded(this.slides().children('img'), timer.start); + } + animate = new FadeAnimation(settings, slides_container); + if (settings.animation === 'slide') { + animate = new SlideAnimation(settings, slides_container); + } + + container.on('click', '.' + settings.next_class, self.next); + container.on('click', '.' + settings.prev_class, self.prev); + + if (settings.next_on_click) { + container.on('click', '.' + settings.slides_container_class + ' [data-orbit-slide]', self.link_bullet); + } + + container.on('click', self.toggle_timer); + if (settings.swipe) { + container.on('touchstart.fndtn.orbit', function (e) { + if (!e.touches) {e = e.originalEvent;} + var data = { + start_page_x : e.touches[0].pageX, + start_page_y : e.touches[0].pageY, + start_time : (new Date()).getTime(), + delta_x : 0, + is_scrolling : undefined + }; + container.data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.orbit', function (e) { + if (!e.touches) { + e = e.originalEvent; + } + // Ignore pinch/zoom events + if (e.touches.length > 1 || e.scale && e.scale !== 1) { + return; + } + + var data = container.data('swipe-transition'); + if (typeof data === 'undefined') {data = {};} + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if ( typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? (idx + 1) : (idx - 1); + data.active = true; + self._goto(direction); + } + }) + .on('touchend.fndtn.orbit', function (e) { + container.data('swipe-transition', {}); + e.stopPropagation(); + }) + } + container.on('mouseenter.fndtn.orbit', function (e) { + if (settings.timer && settings.pause_on_hover) { + self.stop_timer(); + } + }) + .on('mouseleave.fndtn.orbit', function (e) { + if (settings.timer && settings.resume_on_mouseout) { + timer.start(); + } + }); + + $(document).on('click', '[data-orbit-link]', self.link_custom); + $(window).on('load resize', self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), function () { + container.prev('.' + settings.preloader_class).css('display', 'none'); + self.update_slide_number(0); + self.update_active_link(0); + slides_container.trigger('ready.fndtn.orbit'); + }); + }; + + self.init(); + }; + + var Timer = function (el, settings, callback) { + var self = this, + duration = settings.timer_speed, + progress = el.find('.' + settings.timer_progress_class), + start, + timeout, + left = -1; + + this.update_progress = function (w) { + var new_progress = progress.clone(); + new_progress.attr('style', ''); + new_progress.css('width', w + '%'); + progress.replaceWith(new_progress); + progress = new_progress; + }; + + this.restart = function () { + clearTimeout(timeout); + el.addClass(settings.timer_paused_class); + left = -1; + self.update_progress(0); + }; + + this.start = function () { + if (!el.hasClass(settings.timer_paused_class)) {return true;} + left = (left === -1) ? duration : left; + el.removeClass(settings.timer_paused_class); + start = new Date().getTime(); + progress.animate({'width' : '100%'}, left, 'linear'); + timeout = setTimeout(function () { + self.restart(); + callback(); + }, left); + el.trigger('timer-started.fndtn.orbit') + }; + + this.stop = function () { + if (el.hasClass(settings.timer_paused_class)) {return true;} + clearTimeout(timeout); + el.addClass(settings.timer_paused_class); + var end = new Date().getTime(); + left = left - (end - start); + var w = 100 - ((left / duration) * 100); + self.update_progress(w); + el.trigger('timer-stopped.fndtn.orbit'); + }; + }; + + var SlideAnimation = function (settings, container) { + var duration = settings.animation_speed; + var is_rtl = ($('html[dir=rtl]').length === 1); + var margin = is_rtl ? 'marginRight' : 'marginLeft'; + var animMargin = {}; + animMargin[margin] = '0%'; + + this.next = function (current, next, callback) { + current.animate({marginLeft : '-100%'}, duration); + next.animate(animMargin, duration, function () { + current.css(margin, '100%'); + callback(); + }); + }; + + this.prev = function (current, prev, callback) { + current.animate({marginLeft : '100%'}, duration); + prev.css(margin, '-100%'); + prev.animate(animMargin, duration, function () { + current.css(margin, '100%'); + callback(); + }); + }; + }; + + var FadeAnimation = function (settings, container) { + var duration = settings.animation_speed; + var is_rtl = ($('html[dir=rtl]').length === 1); + var margin = is_rtl ? 'marginRight' : 'marginLeft'; + + this.next = function (current, next, callback) { + next.css({'margin' : '0%', 'opacity' : '0.01'}); + next.animate({'opacity' :'1'}, duration, 'linear', function () { + current.css('margin', '100%'); + callback(); + }); + }; + + this.prev = function (current, prev, callback) { + prev.css({'margin' : '0%', 'opacity' : '0.01'}); + prev.animate({'opacity' : '1'}, duration, 'linear', function () { + current.css('margin', '100%'); + callback(); + }); + }; + }; + + Foundation.libs = Foundation.libs || {}; + + Foundation.libs.orbit = { + name : 'orbit', + + version : '5.5.3', + + settings : { + animation : 'slide', + timer_speed : 10000, + pause_on_hover : true, + resume_on_mouseout : false, + next_on_click : true, + animation_speed : 500, + stack_on_small : false, + navigation_arrows : true, + slide_number : true, + 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 : true, + circular : true, + timer : true, + variable_height : false, + swipe : true, + before_slide_change : noop, + after_slide_change : noop + }, + + init : function (scope, method, options) { + var self = this; + this.bindings(method, options); + }, + + events : function (instance) { + var orbit_instance = new Orbit(this.S(instance), this.S(instance).data('orbit-init')); + this.S(instance).data(this.name + '-instance', orbit_instance); + }, + + reflow : function () { + var self = this; + + if (self.S(self.scope).is('[data-orbit]')) { + var $el = self.S(self.scope); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + } else { + self.S('[data-orbit]', self.scope).each(function (idx, el) { + var $el = self.S(el); + var opts = self.data_options($el); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + }); + } + } + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.reveal.js b/js/foundation/js/foundation/foundation.reveal.js new file mode 100644 index 0000000..08ad413 --- /dev/null +++ b/js/foundation/js/foundation/foundation.reveal.js @@ -0,0 +1,522 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + var openModals = []; + + Foundation.libs.reveal = { + name : 'reveal', + + version : '5.5.3', + + locked : false, + + settings : { + animation : 'fadeAndPop', + animation_speed : 250, + close_on_background_click : true, + close_on_esc : true, + dismiss_modal_class : 'close-reveal-modal', + multiple_opened : false, + bg_class : 'reveal-modal-bg', + root_element : 'body', + open : function(){}, + opened : function(){}, + close : function(){}, + closed : function(){}, + on_ajax_error: $.noop, + bg : $('.reveal-modal-bg'), + css : { + open : { + 'opacity' : 0, + 'visibility' : 'visible', + 'display' : 'block' + }, + close : { + 'opacity' : 1, + 'visibility' : 'hidden', + 'display' : 'none' + } + } + }, + + init : function (scope, method, options) { + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.reveal') + .on('click.fndtn.reveal', '[' + this.add_namespace('data-reveal-id') + ']:not([disabled])', function (e) { + e.preventDefault(); + + if (!self.locked) { + var element = S(this), + ajax = element.data(self.data_attr('reveal-ajax')), + replaceContentSel = element.data(self.data_attr('reveal-replace-content')); + + self.locked = true; + + if (typeof ajax === 'undefined') { + self.open.call(self, element); + } else { + var url = ajax === true ? element.attr('href') : ajax; + self.open.call(self, element, {url : url}, { replaceContentSel : replaceContentSel }); + } + } + }); + + S(document) + .on('click.fndtn.reveal', this.close_targets(), function (e) { + e.preventDefault(); + if (!self.locked) { + var settings = S('[' + self.attr_name() + '].open').data(self.attr_name(true) + '-init') || self.settings, + bg_clicked = S(e.target)[0] === S('.' + settings.bg_class)[0]; + + if (bg_clicked) { + if (settings.close_on_background_click) { + e.stopPropagation(); + } else { + return; + } + } + + self.locked = true; + self.close.call(self, bg_clicked ? S('[' + self.attr_name() + '].open:not(.toback)') : S(this).closest('[' + self.attr_name() + ']')); + } + }); + + if (S('[' + self.attr_name() + ']', this.scope).length > 0) { + S(this.scope) + // .off('.reveal') + .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); + } else { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.open) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.opened) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.open_video) + .on('close.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.close) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.closed) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.close_video); + } + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_on : function (scope) { + var self = this; + + // PATCH #1: fixing multiple keyup event trigger from single key press + self.S('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) { + var open_modal = self.S('[' + self.attr_name() + '].open'), + settings = open_modal.data(self.attr_name(true) + '-init') || self.settings ; + // PATCH #2: making sure that the close event can be called only while unlocked, + // so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window. + if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key + self.close.call(self, open_modal); + } + }); + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_off : function (scope) { + this.S('body').off('keyup.fndtn.reveal'); + return true; + }, + + open : function (target, ajax_settings) { + var self = this, + modal; + + if (target) { + if (typeof target.selector !== 'undefined') { + // Find the named node; only use the first one found, since the rest of the code assumes there's only one node + modal = self.S('#' + target.data(self.data_attr('reveal-id'))).first(); + } else { + modal = self.S(this.scope); + + ajax_settings = target; + } + } else { + modal = self.S(this.scope); + } + + var settings = modal.data(self.attr_name(true) + '-init'); + settings = settings || this.settings; + + + if (modal.hasClass('open') && target !== undefined && target.attr('data-reveal-id') == modal.attr('id')) { + return self.close(modal); + } + + if (!modal.hasClass('open')) { + var open_modal = self.S('[' + self.attr_name() + '].open'); + + if (typeof modal.data('css-top') === 'undefined') { + modal.data('css-top', parseInt(modal.css('top'), 10)) + .data('offset', this.cache_offset(modal)); + } + + modal.attr('tabindex','0').attr('aria-hidden','false'); + + this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open + + // Prevent namespace event from triggering twice + modal.on('open.fndtn.reveal', function(e) { + if (e.namespace !== 'fndtn.reveal') return; + }); + + modal.on('open.fndtn.reveal').trigger('open.fndtn.reveal'); + + if (open_modal.length < 1) { + this.toggle_bg(modal, true); + } + + if (typeof ajax_settings === 'string') { + ajax_settings = { + url : ajax_settings + }; + } + + var openModal = function() { + if(open_modal.length > 0) { + if(settings.multiple_opened) { + self.to_back(open_modal); + } else { + self.hide(open_modal, settings.css.close); + } + } + + // bl: add the open_modal that isn't already in the background to the openModals array + if(settings.multiple_opened) { + openModals.push(modal); + } + + self.show(modal, settings.css.open); + }; + + if (typeof ajax_settings === 'undefined' || !ajax_settings.url) { + openModal(); + } else { + var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null; + $.extend(ajax_settings, { + success : function (data, textStatus, jqXHR) { + if ( $.isFunction(old_success) ) { + var result = old_success(data, textStatus, jqXHR); + if (typeof result == 'string') { + data = result; + } + } + + if (typeof options !== 'undefined' && typeof options.replaceContentSel !== 'undefined') { + modal.find(options.replaceContentSel).html(data); + } else { + modal.html(data); + } + + self.S(modal).foundation('section', 'reflow'); + self.S(modal).children().foundation(); + + openModal(); + } + }); + + // check for if user initalized with error callback + if (settings.on_ajax_error !== $.noop) { + $.extend(ajax_settings, { + error : settings.on_ajax_error + }); + } + + $.ajax(ajax_settings); + } + } + self.S(window).trigger('resize'); + }, + + close : function (modal) { + var modal = modal && modal.length ? modal : this.S(this.scope), + open_modals = this.S('[' + this.attr_name() + '].open'), + settings = modal.data(this.attr_name(true) + '-init') || this.settings, + self = this; + + if (open_modals.length > 0) { + + modal.removeAttr('tabindex','0').attr('aria-hidden','true'); + + this.locked = true; + this.key_up_off(modal); // PATCH #3: turning on key up capture only when a reveal window is open + + modal.trigger('close.fndtn.reveal'); + + if ((settings.multiple_opened && open_modals.length === 1) || !settings.multiple_opened || modal.length > 1) { + self.toggle_bg(modal, false); + self.to_front(modal); + } + + if (settings.multiple_opened) { + var isCurrent = modal.is(':not(.toback)'); + self.hide(modal, settings.css.close, settings); + if(isCurrent) { + // remove the last modal since it is now closed + openModals.pop(); + } else { + // if this isn't the current modal, then find it in the array and remove it + openModals = $.grep(openModals, function(elt) { + var isThis = elt[0]===modal[0]; + if(isThis) { + // since it's not currently in the front, put it in the front now that it is hidden + // so that if it's re-opened, it won't be .toback + self.to_front(modal); + } + return !isThis; + }); + } + // finally, show the next modal in the stack, if there is one + if(openModals.length>0) { + self.to_front(openModals[openModals.length - 1]); + } + } else { + self.hide(open_modals, settings.css.close, settings); + } + } + }, + + close_targets : function () { + var base = '.' + this.settings.dismiss_modal_class; + + if (this.settings.close_on_background_click) { + return base + ', .' + this.settings.bg_class; + } + + return base; + }, + + toggle_bg : function (modal, state) { + if (this.S('.' + this.settings.bg_class).length === 0) { + this.settings.bg = $('
          ', {'class': this.settings.bg_class}) + .appendTo('body').hide(); + } + + var visible = this.settings.bg.filter(':visible').length > 0; + if ( state != visible ) { + if ( state == undefined ? visible : !state ) { + this.hide(this.settings.bg); + } else { + this.show(this.settings.bg); + } + } + }, + + show : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init') || this.settings, + root_element = settings.root_element, + context = this; + + if (el.parent(root_element).length === 0) { + var placeholder = el.wrap('
          ').parent(); + + el.on('closed.fndtn.reveal.wrapped', function () { + el.detach().appendTo(placeholder); + el.unwrap().unbind('closed.fndtn.reveal.wrapped'); + }); + + el.detach().appendTo(root_element); + } + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + css.top = $(window).scrollTop() - el.data('offset') + 'px'; + var end_css = { + top: $(window).scrollTop() + el.data('css-top') + 'px', + opacity: 1 + }; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.trigger('opened.fndtn.reveal'); + }) + .addClass('open'); + }, settings.animation_speed / 2); + } + + css.top = $(window).scrollTop() + el.data('css-top') + 'px'; + + if (animData.fade) { + var end_css = {opacity: 1}; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.trigger('opened.fndtn.reveal'); + }) + .addClass('open'); + }, settings.animation_speed / 2); + } + + return el.css(css).show().css({opacity : 1}).addClass('open').trigger('opened.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeIn(settings.animation_speed / 2); + } + + this.locked = false; + + return el.show(); + }, + + to_back : function(el) { + el.addClass('toback'); + }, + + to_front : function(el) { + el.removeClass('toback'); + }, + + hide : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init'), + context = this; + settings = settings || this.settings; + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + var end_css = { + top: - $(window).scrollTop() - el.data('offset') + 'px', + opacity: 0 + }; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.css(css).trigger('closed.fndtn.reveal'); + }) + .removeClass('open'); + }, settings.animation_speed / 2); + } + + if (animData.fade) { + var end_css = {opacity : 0}; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.css(css).trigger('closed.fndtn.reveal'); + }) + .removeClass('open'); + }, settings.animation_speed / 2); + } + + return el.hide().css(css).removeClass('open').trigger('closed.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeOut(settings.animation_speed / 2); + } + + return el.hide(); + }, + + close_video : function (e) { + var video = $('.flex-video', e.target), + iframe = $('iframe', video); + + if (iframe.length > 0) { + iframe.attr('data-src', iframe[0].src); + iframe.attr('src', iframe.attr('src')); + video.hide(); + } + }, + + open_video : function (e) { + var video = $('.flex-video', e.target), + iframe = video.find('iframe'); + + if (iframe.length > 0) { + var data_src = iframe.attr('data-src'); + if (typeof data_src === 'string') { + iframe[0].src = iframe.attr('data-src'); + } else { + var src = iframe[0].src; + iframe[0].src = undefined; + iframe[0].src = src; + } + video.show(); + } + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + cache_offset : function (modal) { + var offset = modal.show().height() + parseInt(modal.css('top'), 10) + modal.scrollY; + + modal.hide(); + + return offset; + }, + + off : function () { + $(this.scope).off('.fndtn.reveal'); + }, + + reflow : function () {} + }; + + /* + * getAnimationData('popAndFade') // {animate: true, pop: true, fade: true} + * getAnimationData('fade') // {animate: true, pop: false, fade: true} + * getAnimationData('pop') // {animate: true, pop: true, fade: false} + * getAnimationData('foo') // {animate: false, pop: false, fade: false} + * getAnimationData(null) // {animate: false, pop: false, fade: false} + */ + function getAnimationData(str) { + var fade = /fade/i.test(str); + var pop = /pop/i.test(str); + return { + animate : fade || pop, + pop : pop, + fade : fade + }; + } +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.slider.js b/js/foundation/js/foundation/foundation.slider.js new file mode 100644 index 0000000..0d71d56 --- /dev/null +++ b/js/foundation/js/foundation/foundation.slider.js @@ -0,0 +1,296 @@ +;(function ($, window, document, undefined) { + '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 : false, + trigger_input_change : false, + on_change : function () {} + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + var self = this; + $(this.scope) + .off('.slider') + .on('mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider', + '[' + self.attr_name() + ']:not(.disabled, [disabled]) .range-slider-handle', function (e) { + if (!self.cache.active) { + e.preventDefault(); + self.set_active_slider($(e.target)); + } + }) + .on('mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider', function (e) { + if (!!self.cache.active) { + e.preventDefault(); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + }) + .on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function (e) { + if(!self.cache.active) { + // if the user has just clicked into the slider without starting to drag the handle + var slider = $(e.target).attr('role') === 'slider' ? $(e.target) : $(e.target).closest('.range-slider').find("[role='slider']"); + + if (slider.length && (!slider.parent().hasClass('disabled') && !slider.parent().attr('disabled'))) { + self.set_active_slider(slider); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + } + self.remove_active_slider(); + }) + .on('change.fndtn.slider', function (e) { + self.settings.on_change(); + }); + + self.S(window) + .on('resize.fndtn.slider', self.throttle(function (e) { + self.reflow(); + }, 300)); + + // update slider value as users change input value + this.S('[' + this.attr_name() + ']').each(function () { + var slider = $(this), + handle = slider.children('.range-slider-handle')[0], + settings = self.initialize_settings(handle); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function(){ + if ($(this).attr('value')) { + $(this).off('change').on('change', function () { + slider.foundation("slider", "set_value", $(this).val()); + }); + } + }); + } + }); + }, + + get_cursor_position : function (e, xy) { + var pageXY = 'page' + xy.toUpperCase(), + clientXY = 'client' + xy.toUpperCase(), + position; + + if (typeof e[pageXY] !== 'undefined') { + position = e[pageXY]; + } else if (typeof e.originalEvent[clientXY] !== 'undefined') { + position = e.originalEvent[clientXY]; + } else if (e.originalEvent.touches && e.originalEvent.touches[0] && typeof e.originalEvent.touches[0][clientXY] !== 'undefined') { + position = e.originalEvent.touches[0][clientXY]; + } else if (e.currentPoint && typeof e.currentPoint[xy] !== 'undefined') { + position = e.currentPoint[xy]; + } + + return position; + }, + + set_active_slider : function ($handle) { + this.cache.active = $handle; + }, + + remove_active_slider : function () { + this.cache.active = null; + }, + + calculate_position : function ($handle, cursor_x) { + var self = this, + settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + handle_o = $.data($handle[0], 'handle_o'), + bar_l = $.data($handle[0], 'bar_l'), + bar_o = $.data($handle[0], 'bar_o'); + + requestAnimationFrame(function () { + var pct; + + if (Foundation.rtl && !settings.vertical) { + pct = self.limit_to(((bar_o + bar_l - cursor_x) / bar_l), 0, 1); + } else { + pct = self.limit_to(((cursor_x - bar_o) / bar_l), 0, 1); + } + + pct = settings.vertical ? 1 - pct : pct; + + var norm = self.normalized_value(pct, settings.start, settings.end, settings.step, settings.precision); + + self.set_ui($handle, norm); + }); + }, + + set_ui : function ($handle, value) { + var settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + bar_l = $.data($handle[0], 'bar_l'), + norm_pct = this.normalized_percentage(value, settings.start, settings.end), + handle_offset = norm_pct * (bar_l - handle_l) - 1, + progress_bar_length = norm_pct * 100, + $handle_parent = $handle.parent(), + $hidden_inputs = $handle.parent().children('input[type=hidden]'); + + if (Foundation.rtl && !settings.vertical) { + handle_offset = -handle_offset; + } + + handle_offset = settings.vertical ? -handle_offset + bar_l - handle_l + 1 : handle_offset; + this.set_translate($handle, handle_offset, settings.vertical); + + if (settings.vertical) { + $handle.siblings('.range-slider-active-segment').css('height', progress_bar_length + '%'); + } else { + $handle.siblings('.range-slider-active-segment').css('width', progress_bar_length + '%'); + } + + $handle_parent.attr(this.attr_name(), value).trigger('change.fndtn.slider'); + + $hidden_inputs.val(value); + if (settings.trigger_input_change) { + $hidden_inputs.trigger('change.fndtn.slider'); + } + + if (!$handle[0].hasAttribute('aria-valuemin')) { + $handle.attr({ + 'aria-valuemin' : settings.start, + 'aria-valuemax' : settings.end + }); + } + $handle.attr('aria-valuenow', value); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function () { + if (this.hasAttribute('value')) { + $(this).val(value); + } else { + $(this).text(value); + } + }); + } + + }, + + normalized_percentage : function (val, start, end) { + return Math.min(1, (val - start) / (end - start)); + }, + + normalized_value : function (val, start, end, step, precision) { + var range = end - start, + point = val * range, + mod = (point - (point % step)) / step, + rem = point % step, + round = ( rem >= step * 0.5 ? step : 0); + return ((mod * step + round) + start).toFixed(precision); + }, + + set_translate : function (ele, offset, vertical) { + if (vertical) { + $(ele) + .css('-webkit-transform', 'translateY(' + offset + 'px)') + .css('-moz-transform', 'translateY(' + offset + 'px)') + .css('-ms-transform', 'translateY(' + offset + 'px)') + .css('-o-transform', 'translateY(' + offset + 'px)') + .css('transform', 'translateY(' + offset + 'px)'); + } else { + $(ele) + .css('-webkit-transform', 'translateX(' + offset + 'px)') + .css('-moz-transform', 'translateX(' + offset + 'px)') + .css('-ms-transform', 'translateX(' + offset + 'px)') + .css('-o-transform', 'translateX(' + offset + 'px)') + .css('transform', 'translateX(' + offset + 'px)'); + } + }, + + limit_to : function (val, min, max) { + return Math.min(Math.max(val, min), max); + }, + + initialize_settings : function (handle) { + var settings = $.extend({}, this.settings, this.data_options($(handle).parent())), + decimal_places_match_result; + + if (settings.precision === null) { + decimal_places_match_result = ('' + settings.step).match(/\.([\d]*)/); + settings.precision = decimal_places_match_result && decimal_places_match_result[1] ? decimal_places_match_result[1].length : 0; + } + + if (settings.vertical) { + $.data(handle, 'bar_o', $(handle).parent().offset().top); + $.data(handle, 'bar_l', $(handle).parent().outerHeight()); + $.data(handle, 'handle_o', $(handle).offset().top); + $.data(handle, 'handle_l', $(handle).outerHeight()); + } else { + $.data(handle, 'bar_o', $(handle).parent().offset().left); + $.data(handle, 'bar_l', $(handle).parent().outerWidth()); + $.data(handle, 'handle_o', $(handle).offset().left); + $.data(handle, 'handle_l', $(handle).outerWidth()); + } + + $.data(handle, 'bar', $(handle).parent()); + return $.data(handle, 'settings', settings); + }, + + set_initial_position : function ($ele) { + var settings = $.data($ele.children('.range-slider-handle')[0], 'settings'), + initial = ((typeof settings.initial == 'number' && !isNaN(settings.initial)) ? settings.initial : Math.floor((settings.end - settings.start) * 0.5 / settings.step) * settings.step + settings.start), + $handle = $ele.children('.range-slider-handle'); + this.set_ui($handle, initial); + }, + + set_value : function (value) { + var self = this; + $('[' + self.attr_name() + ']', this.scope).each(function () { + $(this).attr(self.attr_name(), value); + }); + if (!!$(this.scope).attr(self.attr_name())) { + $(this.scope).attr(self.attr_name(), value); + } + self.reflow(); + }, + + reflow : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var handle = $(this).children('.range-slider-handle')[0], + val = $(this).attr(self.attr_name()); + self.initialize_settings(handle); + + if (val) { + self.set_ui($(handle), parseFloat(val)); + } else { + self.set_initial_position($(this)); + } + }); + } + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.tab.js b/js/foundation/js/foundation/foundation.tab.js new file mode 100644 index 0000000..4b375c1 --- /dev/null +++ b/js/foundation/js/foundation/foundation.tab.js @@ -0,0 +1,247 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tab = { + name : 'tab', + + version : '5.5.3', + + settings : { + active_class : 'active', + callback : function () {}, + deep_linking : false, + scroll_to_content : true, + is_hover : false + }, + + default_tab_hashes : [], + + init : function (scope, method, options) { + var self = this, + S = this.S; + + // Store the default active tabs which will be referenced when the + // location hash is absent, as in the case of navigating the tabs and + // returning to the first viewing via the browser Back button. + S('[' + this.attr_name() + '] > .active > a', this.scope).each(function () { + self.default_tab_hashes.push(this.hash); + }); + + this.bindings(method, options); + this.handle_location_hash_change(); + }, + + events : function () { + var self = this, + S = this.S; + + var usual_tab_behavior = function (e, target) { + var settings = S(target).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (!settings.is_hover || Modernizr.touch) { + // if user did not pressed tab key, prevent default action + var keyCode = e.keyCode || e.which; + if (keyCode !== 9) { + e.preventDefault(); + e.stopPropagation(); + } + self.toggle_active_tab(S(target).parent()); + + } + }; + + S(this.scope) + .off('.tab') + // Key event: focus/tab key + .on('keydown.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) { + var keyCode = e.keyCode || e.which; + // if user pressed tab key + if (keyCode === 13 || keyCode === 32) { // enter or space + var el = this; + usual_tab_behavior(e, el); + } + }) + // Click event: tab title + .on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) { + var el = this; + usual_tab_behavior(e, el); + }) + // Hover event: tab title + .on('mouseenter.fndtn.tab', '[' + this.attr_name() + '] > * > a', function (e) { + var settings = S(this).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (settings.is_hover) { + self.toggle_active_tab(S(this).parent()); + } + }); + + // Location hash change event + S(window).on('hashchange.fndtn.tab', function (e) { + e.preventDefault(); + self.handle_location_hash_change(); + }); + }, + + handle_location_hash_change : function () { + + var self = this, + S = this.S; + + S('[' + this.attr_name() + ']', this.scope).each(function () { + var settings = S(this).data(self.attr_name(true) + '-init'); + if (settings.deep_linking) { + // Match the location hash to a label + var hash; + if (settings.scroll_to_content) { + hash = self.scope.location.hash; + } else { + // prefix the hash to prevent anchor scrolling + hash = self.scope.location.hash.replace('fndtn-', ''); + } + if (hash != '') { + // Check whether the location hash references a tab content div or + // another element on the page (inside or outside the tab content div) + var hash_element = S(hash); + if (hash_element.hasClass('content') && hash_element.parent().hasClass('tabs-content')) { + // Tab content div + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + hash + ']').parent()); + } else { + // Not the tab content div. If inside the tab content, find the + // containing tab and toggle it as active. + var hash_tab_container_id = hash_element.closest('.content').attr('id'); + if (hash_tab_container_id != undefined) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=#' + hash_tab_container_id + ']').parent(), hash); + } + } + } else { + // Reference the default tab hashes which were initialized in the init function + for (var ind = 0; ind < self.default_tab_hashes.length; ind++) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + self.default_tab_hashes[ind] + ']').parent()); + } + } + } + }); + }, + + toggle_active_tab : function (tab, location_hash) { + var self = this, + S = self.S, + tabs = tab.closest('[' + this.attr_name() + ']'), + tab_link = tab.find('a'), + anchor = tab.children('a').first(), + target_hash = '#' + anchor.attr('href').split('#')[1], + target = S(target_hash), + siblings = tab.siblings(), + settings = tabs.data(this.attr_name(true) + '-init'), + interpret_keyup_action = function (e) { + // Light modification of Heydon Pickering's Practical ARIA Examples: http://heydonworks.com/practical_aria_examples/js/a11y.js + + // define current, previous and next (possible) tabs + + var $original = $(this); + var $prev = $(this).parents('li').prev().children('[role="tab"]'); + var $next = $(this).parents('li').next().children('[role="tab"]'); + var $target; + + // find the direction (prev or next) + + switch (e.keyCode) { + case 37: + $target = $prev; + break; + case 39: + $target = $next; + break; + default: + $target = false + break; + } + + if ($target.length) { + $original.attr({ + 'tabindex' : '-1', + 'aria-selected' : null + }); + $target.attr({ + 'tabindex' : '0', + 'aria-selected' : true + }).focus(); + } + + // Hide panels + + $('[role="tabpanel"]') + .attr('aria-hidden', 'true'); + + // Show panel which corresponds to target + + $('#' + $(document.activeElement).attr('href').substring(1)) + .attr('aria-hidden', null); + + }, + go_to_hash = function(hash) { + // This function allows correct behaviour of the browser's back button when deep linking is enabled. Without it + // the user would get continually redirected to the default hash. + var default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : 'fndtn-' + self.default_tab_hashes[0].replace('#', ''); + + if (hash !== default_hash || window.location.hash) { + window.location.hash = hash; + } + }; + + // allow usage of data-tab-content attribute instead of href + if (anchor.data('tab-content')) { + target_hash = '#' + anchor.data('tab-content').split('#')[1]; + target = S(target_hash); + } + + if (settings.deep_linking) { + + if (settings.scroll_to_content) { + + // retain current hash to scroll to content + go_to_hash(location_hash || target_hash); + + if (location_hash == undefined || location_hash == target_hash) { + tab.parent()[0].scrollIntoView(); + } else { + S(target_hash)[0].scrollIntoView(); + } + } else { + // prefix the hashes so that the browser doesn't scroll down + if (location_hash != undefined) { + go_to_hash('fndtn-' + location_hash.replace('#', '')); + } else { + go_to_hash('fndtn-' + target_hash.replace('#', '')); + } + } + } + + // WARNING: The activation and deactivation of the tab content must + // occur after the deep linking in order to properly refresh the browser + // window (notably in Chrome). + // Clean up multiple attr instances to done once + tab.addClass(settings.active_class).triggerHandler('opened'); + tab_link.attr({'aria-selected' : 'true', tabindex : 0}); + siblings.removeClass(settings.active_class) + siblings.find('a').attr({'aria-selected' : 'false'/*, tabindex : -1*/}); + target.siblings().removeClass(settings.active_class).attr({'aria-hidden' : 'true'/*, tabindex : -1*/}); + target.addClass(settings.active_class).attr('aria-hidden', 'false').removeAttr('tabindex'); + settings.callback(tab); + target.triggerHandler('toggled', [target]); + tabs.triggerHandler('toggled', [tab]); + + tab_link.off('keydown').on('keydown', interpret_keyup_action ); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.tooltip.js b/js/foundation/js/foundation/foundation.tooltip.js new file mode 100644 index 0000000..0690e25 --- /dev/null +++ b/js/foundation/js/foundation/foundation.tooltip.js @@ -0,0 +1,348 @@ +;(function ($, window, document, undefined) { + '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 : false, + hover_delay : 200, + fade_in_duration : 150, + fade_out_duration : 150, + show_on : 'all', + tip_template : function (selector, content) { + return '' + content + ''; + } + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'random_str'); + this.bindings(method, options); + }, + + should_show : function (target, tip) { + var settings = $.extend({}, this.settings, this.data_options(target)); + + if (settings.show_on === 'all') { + return true; + } else if (this.small() && settings.show_on === 'small') { + return true; + } else if (this.medium() && settings.show_on === 'medium') { + return true; + } else if (this.large() && settings.show_on === 'large') { + return true; + } + return false; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + events : function (instance) { + var self = this, + S = self.S; + + self.create(this.S(instance)); + + function _startShow(elt, $this, immediate) { + if (elt.timer) { + return; + } + + if (immediate) { + elt.timer = null; + self.showTip($this); + } else { + elt.timer = setTimeout(function () { + elt.timer = null; + self.showTip($this); + }.bind(elt), self.settings.hover_delay); + } + } + + function _startHide(elt, $this) { + if (elt.timer) { + clearTimeout(elt.timer); + elt.timer = null; + } + + self.hide($this); + } + + $(this.scope) + .off('.tooltip') + .on('mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', + '[' + this.attr_name() + ']', function (e) { + var $this = S(this), + settings = $.extend({}, self.settings, self.data_options($this)), + is_touch = false; + + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type) && S(e.target).is('a')) { + return false; + } + + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($this.hasClass('open')) { + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + } + self.hide($this); + } else { + if (settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + return; + } else if (!settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + S(settings.tooltip_class + '.open').hide(); + is_touch = true; + // close other open tooltips on touch + if ($('.open[' + self.attr_name() + ']').length > 0) { + var prevOpen = S($('.open[' + self.attr_name() + ']')[0]); + self.hide(prevOpen); + } + } + + if (/enter|over/i.test(e.type)) { + _startShow(this, $this); + + } else if (e.type === 'mouseout' || e.type === 'mouseleave') { + _startHide(this, $this); + } else { + _startShow(this, $this, true); + } + } + }) + .on('mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', '[' + this.attr_name() + '].open', function (e) { + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($(this).data('tooltip-open-event-type') == 'touch' && e.type == 'mouseleave') { + return; + } else if ($(this).data('tooltip-open-event-type') == 'mouse' && /MSPointerDown|touchstart/i.test(e.type)) { + self.convert_to_touch($(this)); + } else { + _startHide(this, $(this)); + } + }) + .on('DOMNodeRemoved DOMAttrModified', '[' + this.attr_name() + ']:not(a)', function (e) { + _startHide(this, S(this)); + }); + }, + + ie_touch : function (e) { + // How do I distinguish between IE11 and Windows Phone 8????? + return false; + }, + + showTip : function ($target) { + var $tip = this.getTip($target); + if (this.should_show($target, $tip)) { + return this.show($target); + } + return; + }, + + getTip : function ($target) { + var selector = this.selector($target), + settings = $.extend({}, this.settings, this.data_options($target)), + tip = null; + + if (selector) { + tip = this.S('span[data-selector="' + selector + '"]' + settings.tooltip_class); + } + + return (typeof tip === 'object') ? tip : false; + }, + + selector : function ($target) { + var dataSelector = $target.attr(this.attr_name()) || $target.attr('data-selector'); + + if (typeof dataSelector != 'string') { + dataSelector = this.random_str(6); + $target + .attr('data-selector', dataSelector) + .attr('aria-describedby', dataSelector); + } + + return dataSelector; + }, + + create : function ($target) { + var self = this, + settings = $.extend({}, this.settings, this.data_options($target)), + tip_template = this.settings.tip_template; + + if (typeof settings.tip_template === 'string' && window.hasOwnProperty(settings.tip_template)) { + tip_template = window[settings.tip_template]; + } + + var $tip = $(tip_template(this.selector($target), $('
          ').html($target.attr('title')).html())), + classes = this.inheritable_classes($target); + + $tip.addClass(classes).appendTo(settings.append_to); + + if (Modernizr.touch) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', function (e) { + self.hide($target); + }); + } + + $target.removeAttr('title').attr('title', ''); + }, + + reposition : function (target, tip, classes) { + var width, nub, nubHeight, nubWidth, objPos; + + tip.css('visibility', 'hidden').show(); + + width = target.data('width'); + nub = tip.children('.nub'); + nubHeight = nub.outerHeight(); + nubWidth = nub.outerWidth(); + + if (this.small()) { + tip.css({'width' : '100%'}); + } else { + tip.css({'width' : (width) ? width : 'auto'}); + } + + objPos = function (obj, top, right, bottom, left, width) { + return obj.css({ + 'top' : (top) ? top : 'auto', + 'bottom' : (bottom) ? bottom : 'auto', + 'left' : (left) ? left : 'auto', + 'right' : (right) ? right : 'auto' + }).end(); + }; + + var o_top = target.offset().top; + var o_left = target.offset().left; + var outerHeight = target.outerHeight(); + + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', o_left); + + if (this.small()) { + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', 12.5, $(this.scope).width()); + tip.addClass('tip-override'); + objPos(nub, -nubHeight, 'auto', 'auto', o_left); + } else { + + if (Foundation.rtl) { + nub.addClass('rtl'); + o_left = o_left + target.outerWidth() - tip.outerWidth(); + } + + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', o_left); + // reset nub from small styles, if they've been applied + if (nub.attr('style')) { + nub.removeAttr('style'); + } + + tip.removeClass('tip-override'); + + var tip_outerHeight = tip.outerHeight(); + + if (classes && classes.indexOf('tip-top') > -1) { + if (Foundation.rtl) { + nub.addClass('rtl'); + } + objPos(tip, (o_top - tip_outerHeight), 'auto', 'auto', o_left) + .removeClass('tip-override'); + } else if (classes && classes.indexOf('tip-left') > -1) { + objPos(tip, (o_top + (outerHeight / 2) - (tip_outerHeight / 2)), 'auto', 'auto', (o_left - tip.outerWidth() - nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } else if (classes && classes.indexOf('tip-right') > -1) { + objPos(tip, (o_top + (outerHeight / 2) - (tip_outerHeight / 2)), 'auto', 'auto', (o_left + target.outerWidth() + nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } + } + + tip.css('visibility', 'visible').hide(); + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + inheritable_classes : function ($target) { + var settings = $.extend({}, this.settings, this.data_options($target)), + inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'radius', 'round'].concat(settings.additional_inheritable_classes), + classes = $target.attr('class'), + filtered = classes ? $.map(classes.split(' '), function (el, i) { + if ($.inArray(el, inheritables) !== -1) { + return el; + } + }).join(' ') : ''; + + return $.trim(filtered); + }, + + convert_to_touch : function ($target) { + var self = this, + $tip = self.getTip($target), + settings = $.extend({}, self.settings, self.data_options($target)); + + if ($tip.find('.tap-to-close').length === 0) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose', function (e) { + self.hide($target); + }); + } + + $target.data('tooltip-open-event-type', 'touch'); + }, + + show : function ($target) { + var $tip = this.getTip($target); + if ($target.data('tooltip-open-event-type') == 'touch') { + this.convert_to_touch($target); + } + + this.reposition($target, $tip, $target.attr('class')); + $target.addClass('open'); + $tip.fadeIn(this.settings.fade_in_duration); + }, + + hide : function ($target) { + var $tip = this.getTip($target); + + $tip.fadeOut(this.settings.fade_out_duration, function () { + $tip.find('.tap-to-close').remove(); + $tip.off('click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose'); + $target.removeClass('open'); + }); + }, + + off : function () { + var self = this; + this.S(this.scope).off('.fndtn.tooltip'); + this.S(this.settings.tooltip_class).each(function (i) { + $('[' + self.attr_name() + ']').eq(i).attr('title', $(this).text()); + }).remove(); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.topbar.js b/js/foundation/js/foundation/foundation.topbar.js new file mode 100644 index 0000000..23b7c7f --- /dev/null +++ b/js/foundation/js/foundation/foundation.topbar.js @@ -0,0 +1,458 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.topbar = { + name : 'topbar', + + version : '5.5.3', + + settings : { + index : 0, + start_offset : 0, + sticky_class : 'sticky', + custom_back_text : true, + back_text : 'Back', + mobile_show_parent_link : true, + is_hover : true, + scrolltop : true, // jump to top when sticky nav menu toggle is clicked + sticky_on : 'all', + dropdown_autoclose: true + }, + + init : function (section, method, options) { + Foundation.inherit(this, 'add_custom_rule register_media throttle'); + var self = this; + + self.register_media('topbar', 'foundation-mq-topbar'); + + this.bindings(method, options); + + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + var topbar = $(this), + settings = topbar.data(self.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', this); + topbar.data('index', 0); + var topbarContainer = topbar.parent(); + if (topbarContainer.hasClass('fixed') || self.is_sticky(topbar, topbarContainer, settings) ) { + self.settings.sticky_class = settings.sticky_class; + self.settings.sticky_topbar = topbar; + topbar.data('height', topbarContainer.outerHeight()); + topbar.data('stickyoffset', topbarContainer.offset().top); + } else { + topbar.data('height', topbar.outerHeight()); + } + + if (!settings.assembled) { + self.assemble(topbar); + } + + if (settings.is_hover) { + self.S('.has-dropdown', topbar).addClass('not-click'); + } else { + self.S('.has-dropdown', topbar).removeClass('not-click'); + } + + // Pad body when sticky (scrolled) or fixed. + self.add_custom_rule('.f-topbar-fixed { padding-top: ' + topbar.data('height') + 'px }'); + + if (topbarContainer.hasClass('fixed')) { + self.S('body').addClass('f-topbar-fixed'); + } + }); + + }, + + is_sticky : function (topbar, topbarContainer, settings) { + var sticky = topbarContainer.hasClass(settings.sticky_class); + var smallMatch = matchMedia(Foundation.media_queries.small).matches; + var medMatch = matchMedia(Foundation.media_queries.medium).matches; + var lrgMatch = matchMedia(Foundation.media_queries.large).matches; + + if (sticky && settings.sticky_on === 'all') { + return true; + } + if (sticky && this.small() && settings.sticky_on.indexOf('small') !== -1) { + if (smallMatch && !medMatch && !lrgMatch) { return true; } + } + if (sticky && this.medium() && settings.sticky_on.indexOf('medium') !== -1) { + if (smallMatch && medMatch && !lrgMatch) { return true; } + } + if (sticky && this.large() && settings.sticky_on.indexOf('large') !== -1) { + if (smallMatch && medMatch && lrgMatch) { return true; } + } + + return false; + }, + + toggle : function (toggleEl) { + var self = this, + topbar; + + if (toggleEl) { + topbar = self.S(toggleEl).closest('[' + this.attr_name() + ']'); + } else { + topbar = self.S('[' + this.attr_name() + ']'); + } + + var settings = topbar.data(this.attr_name(true) + '-init'); + + var section = self.S('section, .top-bar-section', topbar); + + if (self.breakpoint()) { + if (!self.rtl) { + section.css({left : '0%'}); + $('>.name', section).css({left : '100%'}); + } else { + section.css({right : '0%'}); + $('>.name', section).css({right : '100%'}); + } + + self.S('li.moved', section).removeClass('moved'); + topbar.data('index', 0); + + topbar + .toggleClass('expanded') + .css('height', ''); + } + + if (settings.scrolltop) { + if (!topbar.hasClass('expanded')) { + if (topbar.hasClass('fixed')) { + topbar.parent().addClass('fixed'); + topbar.removeClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if (topbar.parent().hasClass('fixed')) { + if (settings.scrolltop) { + topbar.parent().removeClass('fixed'); + topbar.addClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + + window.scrollTo(0, 0); + } else { + topbar.parent().removeClass('expanded'); + } + } + } else { + if (self.is_sticky(topbar, topbar.parent(), settings)) { + topbar.parent().addClass('fixed'); + } + + if (topbar.parent().hasClass('fixed')) { + if (!topbar.hasClass('expanded')) { + topbar.removeClass('fixed'); + topbar.parent().removeClass('expanded'); + self.update_sticky_positioning(); + } else { + topbar.addClass('fixed'); + topbar.parent().addClass('expanded'); + self.S('body').addClass('f-topbar-fixed'); + } + } + } + }, + + timer : null, + + events : function (bar) { + var self = this, + S = this.S; + + S(this.scope) + .off('.topbar') + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .toggle-topbar', function (e) { + e.preventDefault(); + self.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 li = $(this).closest('li'), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-init'); + + if (settings.dropdown_autoclose && settings.is_hover) { + var hoverLi = $(this).closest('.hover'); + hoverLi.removeClass('hover'); + } + if (self.breakpoint() && !li.hasClass('back') && !li.hasClass('has-dropdown')) { + self.toggle(); + } + + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] li.has-dropdown', function (e) { + var li = S(this), + target = S(e.target), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-init'); + + if (target.data('revealId')) { + self.toggle(); + return; + } + + if (self.breakpoint()) { + return; + } + + if (settings.is_hover && !Modernizr.touch) { + return; + } + + e.stopImmediatePropagation(); + + if (li.hasClass('hover')) { + li + .removeClass('hover') + .find('li') + .removeClass('hover'); + + li.parents('li.hover') + .removeClass('hover'); + } else { + li.addClass('hover'); + + $(li).siblings().removeClass('hover'); + + if (target[0].nodeName === 'A' && target.parent().hasClass('has-dropdown')) { + e.preventDefault(); + } + } + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown>a', function (e) { + if (self.breakpoint()) { + + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + dropdownHeight = $this.next('.dropdown').outerHeight(), + $selectedLi = $this.closest('li'); + + topbar.data('index', topbar.data('index') + 1); + $selectedLi.addClass('moved'); + + if (!self.rtl) { + section.css({left : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({left : 100 * topbar.data('index') + '%'}); + } else { + section.css({right : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({right : 100 * topbar.data('index') + '%'}); + } + + topbar.css('height', $this.siblings('ul').outerHeight(true) + topbar.data('height')); + } + }); + + S(window).off('.topbar').on('resize.fndtn.topbar', self.throttle(function () { + self.resize.call(self); + }, 50)).trigger('resize.fndtn.topbar').load(function () { + // Ensure that the offset is calculated after all of the pages resources have loaded + S(this).trigger('resize.fndtn.topbar'); + }); + + S('body').off('.topbar').on('click.fndtn.topbar', function (e) { + var parent = S(e.target).closest('li').closest('li.hover'); + + if (parent.length > 0) { + return; + } + + S('[' + self.attr_name() + '] li.hover').removeClass('hover'); + }); + + // Go up a level on Click + S(this.scope).on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown .back', function (e) { + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + settings = topbar.data(self.attr_name(true) + '-init'), + $movedLi = $this.closest('li.moved'), + $previousLevelUl = $movedLi.parent(); + + topbar.data('index', topbar.data('index') - 1); + + if (!self.rtl) { + section.css({left : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({left : 100 * topbar.data('index') + '%'}); + } else { + section.css({right : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({right : 100 * topbar.data('index') + '%'}); + } + + if (topbar.data('index') === 0) { + topbar.css('height', ''); + } else { + topbar.css('height', $previousLevelUl.outerHeight(true) + topbar.data('height')); + } + + setTimeout(function () { + $movedLi.removeClass('moved'); + }, 300); + }); + + // Show dropdown menus when their items are focused + S(this.scope).find('.dropdown a') + .focus(function () { + $(this).parents('.has-dropdown').addClass('hover'); + }) + .blur(function () { + $(this).parents('.has-dropdown').removeClass('hover'); + }); + }, + + resize : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var topbar = self.S(this), + settings = topbar.data(self.attr_name(true) + '-init'); + + var stickyContainer = topbar.parent('.' + self.settings.sticky_class); + var stickyOffset; + + if (!self.breakpoint()) { + var doToggle = topbar.hasClass('expanded'); + topbar + .css('height', '') + .removeClass('expanded') + .find('li') + .removeClass('hover'); + + if (doToggle) { + self.toggle(topbar); + } + } + + if (self.is_sticky(topbar, stickyContainer, settings)) { + if (stickyContainer.hasClass('fixed')) { + // Remove the fixed to allow for correct calculation of the offset. + stickyContainer.removeClass('fixed'); + + stickyOffset = stickyContainer.offset().top; + if (self.S(document.body).hasClass('f-topbar-fixed')) { + stickyOffset -= topbar.data('height'); + } + + topbar.data('stickyoffset', stickyOffset); + stickyContainer.addClass('fixed'); + } else { + stickyOffset = stickyContainer.offset().top; + topbar.data('stickyoffset', stickyOffset); + } + } + + }); + }, + + 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 (topbar) { + var self = this, + settings = topbar.data(this.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', topbar); + + // Pull element out of the DOM for manipulation + section.detach(); + + self.S('.has-dropdown>a', section).each(function () { + var $link = self.S(this), + $dropdown = $link.siblings('.dropdown'), + url = $link.attr('href'), + $titleLi; + + if (!$dropdown.find('.title.back').length) { + + if (settings.mobile_show_parent_link == true && url) { + $titleLi = $('
        2. '); + } else { + $titleLi = $('
        3. '); + } + + // Copy link to subnav + if (settings.custom_back_text == true) { + $('h5>a', $titleLi).html(settings.back_text); + } else { + $('h5>a', $titleLi).html('« ' + $link.html()); + } + $dropdown.prepend($titleLi); + } + }); + + // Put element back in the DOM + section.appendTo(topbar); + + // check for sticky + this.sticky(); + + this.assembled(topbar); + }, + + assembled : function (topbar) { + topbar.data(this.attr_name(true), $.extend({}, topbar.data(this.attr_name(true)), {assembled : true})); + }, + + height : function (ul) { + var total = 0, + self = this; + + $('> li', ul).each(function () { + total += self.S(this).outerHeight(true); + }); + + return total; + }, + + sticky : function () { + var self = this; + + this.S(window).on('scroll', function () { + self.update_sticky_positioning(); + }); + }, + + update_sticky_positioning : function () { + var klass = '.' + this.settings.sticky_class, + $window = this.S(window), + self = this; + + if (self.settings.sticky_topbar && self.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(), this.settings)) { + var distance = this.settings.sticky_topbar.data('stickyoffset') + this.settings.start_offset; + if (!self.S(klass).hasClass('expanded')) { + if ($window.scrollTop() > (distance)) { + if (!self.S(klass).hasClass('fixed')) { + self.S(klass).addClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if ($window.scrollTop() <= distance) { + if (self.S(klass).hasClass('fixed')) { + self.S(klass).removeClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + } + } + } + } + }, + + off : function () { + this.S(this.scope).off('.fndtn.topbar'); + this.S(window).off('.fndtn.topbar'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/vendor/fastclick.js b/js/foundation/js/vendor/fastclick.js new file mode 100644 index 0000000..add0130 --- /dev/null +++ b/js/foundation/js/vendor/fastclick.js @@ -0,0 +1,8 @@ +!function(){"use strict";/** + * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs. + * + * @codingstandard ftlabs-jsv2 + * @copyright The Financial Times Limited [All Rights Reserved] + * @license MIT License (see LICENSE.txt) + */ +function a(b,d){function e(a,b){return function(){return a.apply(b,arguments)}}var f;if(d=d||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=d.touchBoundary||10,this.layer=b,this.tapDelay=d.tapDelay||200,this.tapTimeout=d.tapTimeout||700,!a.notNeeded(b)){for(var g=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],h=this,i=0,j=g.length;j>i;i++)h[g[i]]=e(h[g[i]],h);c&&(b.addEventListener("mouseover",this.onMouse,!0),b.addEventListener("mousedown",this.onMouse,!0),b.addEventListener("mouseup",this.onMouse,!0)),b.addEventListener("click",this.onClick,!0),b.addEventListener("touchstart",this.onTouchStart,!1),b.addEventListener("touchmove",this.onTouchMove,!1),b.addEventListener("touchend",this.onTouchEnd,!1),b.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(b.removeEventListener=function(a,c,d){var e=Node.prototype.removeEventListener;"click"===a?e.call(b,a,c.hijacked||c,d):e.call(b,a,c,d)},b.addEventListener=function(a,c,d){var e=Node.prototype.addEventListener;"click"===a?e.call(b,a,c.hijacked||(c.hijacked=function(a){a.propagationStopped||c(a)}),d):e.call(b,a,c,d)}),"function"==typeof b.onclick&&(f=b.onclick,b.addEventListener("click",function(a){f(a)},!1),b.onclick=null)}}var b=navigator.userAgent.indexOf("Windows Phone")>=0,c=navigator.userAgent.indexOf("Android")>0&&!b,d=/iP(ad|hone|od)/.test(navigator.userAgent)&&!b,e=d&&/OS 4_\d(_\d)?/.test(navigator.userAgent),f=d&&/OS [6-7]_\d/.test(navigator.userAgent),g=navigator.userAgent.indexOf("BB10")>0;a.prototype.needsClick=function(a){switch(a.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(a.disabled)return!0;break;case"input":if(d&&"file"===a.type||a.disabled)return!0;break;case"label":case"iframe":case"video":return!0}return/\bneedsclick\b/.test(a.className)},a.prototype.needsFocus=function(a){switch(a.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!c;case"input":switch(a.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return!1}return!a.disabled&&!a.readOnly;default:return/\bneedsfocus\b/.test(a.className)}},a.prototype.sendClick=function(a,b){var c,d;document.activeElement&&document.activeElement!==a&&document.activeElement.blur(),d=b.changedTouches[0],c=document.createEvent("MouseEvents"),c.initMouseEvent(this.determineEventType(a),!0,!0,window,1,d.screenX,d.screenY,d.clientX,d.clientY,!1,!1,!1,!1,0,null),c.forwardedTouchEvent=!0,a.dispatchEvent(c)},a.prototype.determineEventType=function(a){return c&&"select"===a.tagName.toLowerCase()?"mousedown":"click"},a.prototype.focus=function(a){var b;d&&a.setSelectionRange&&0!==a.type.indexOf("date")&&"time"!==a.type&&"month"!==a.type?(b=a.value.length,a.setSelectionRange(b,b)):a.focus()},a.prototype.updateScrollParent=function(a){var b,c;if(b=a.fastClickScrollParent,!b||!b.contains(a)){c=a;do{if(c.scrollHeight>c.offsetHeight){b=c,a.fastClickScrollParent=c;break}c=c.parentElement}while(c)}b&&(b.fastClickLastScrollTop=b.scrollTop)},a.prototype.getTargetElementFromEventTarget=function(a){return a.nodeType===Node.TEXT_NODE?a.parentNode:a},a.prototype.onTouchStart=function(a){var b,c,f;if(a.targetTouches.length>1)return!0;if(b=this.getTargetElementFromEventTarget(a.target),c=a.targetTouches[0],d){if(f=window.getSelection(),f.rangeCount&&!f.isCollapsed)return!0;if(!e){if(c.identifier&&c.identifier===this.lastTouchIdentifier)return a.preventDefault(),!1;this.lastTouchIdentifier=c.identifier,this.updateScrollParent(b)}}return this.trackingClick=!0,this.trackingClickStart=a.timeStamp,this.targetElement=b,this.touchStartX=c.pageX,this.touchStartY=c.pageY,a.timeStamp-this.lastClickTimec||Math.abs(b.pageY-this.touchStartY)>c?!0:!1},a.prototype.onTouchMove=function(a){return this.trackingClick?((this.targetElement!==this.getTargetElementFromEventTarget(a.target)||this.touchHasMoved(a))&&(this.trackingClick=!1,this.targetElement=null),!0):!0},a.prototype.findControl=function(a){return void 0!==a.control?a.control:a.htmlFor?document.getElementById(a.htmlFor):a.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")},a.prototype.onTouchEnd=function(a){var b,g,h,i,j,k=this.targetElement;if(!this.trackingClick)return!0;if(a.timeStamp-this.lastClickTimethis.tapTimeout)return!0;if(this.cancelNextClick=!1,this.lastClickTime=a.timeStamp,g=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,f&&(j=a.changedTouches[0],k=document.elementFromPoint(j.pageX-window.pageXOffset,j.pageY-window.pageYOffset)||k,k.fastClickScrollParent=this.targetElement.fastClickScrollParent),h=k.tagName.toLowerCase(),"label"===h){if(b=this.findControl(k)){if(this.focus(k),c)return!1;k=b}}else if(this.needsFocus(k))return a.timeStamp-g>100||d&&window.top!==window&&"input"===h?(this.targetElement=null,!1):(this.focus(k),this.sendClick(k,a),d&&"select"===h||(this.targetElement=null,a.preventDefault()),!1);return d&&!e&&(i=k.fastClickScrollParent,i&&i.fastClickLastScrollTop!==i.scrollTop)?!0:(this.needsClick(k)||(a.preventDefault(),this.sendClick(k,a)),!1)},a.prototype.onTouchCancel=function(){this.trackingClick=!1,this.targetElement=null},a.prototype.onMouse=function(a){return this.targetElement?a.forwardedTouchEvent?!0:a.cancelable&&(!this.needsClick(this.targetElement)||this.cancelNextClick)?(a.stopImmediatePropagation?a.stopImmediatePropagation():a.propagationStopped=!0,a.stopPropagation(),a.preventDefault(),!1):!0:!0},a.prototype.onClick=function(a){var b;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):"submit"===a.target.type&&0===a.detail?!0:(b=this.onMouse(a),b||(this.targetElement=null),b)},a.prototype.destroy=function(){var a=this.layer;c&&(a.removeEventListener("mouseover",this.onMouse,!0),a.removeEventListener("mousedown",this.onMouse,!0),a.removeEventListener("mouseup",this.onMouse,!0)),a.removeEventListener("click",this.onClick,!0),a.removeEventListener("touchstart",this.onTouchStart,!1),a.removeEventListener("touchmove",this.onTouchMove,!1),a.removeEventListener("touchend",this.onTouchEnd,!1),a.removeEventListener("touchcancel",this.onTouchCancel,!1)},a.notNeeded=function(a){var b,d,e,f;if("undefined"==typeof window.ontouchstart)return!0;if(d=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!c)return!0;if(b=document.querySelector("meta[name=viewport]")){if(-1!==b.content.indexOf("user-scalable=no"))return!0;if(d>31&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}if(g&&(e=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/),e[1]>=10&&e[2]>=3&&(b=document.querySelector("meta[name=viewport]")))){if(-1!==b.content.indexOf("user-scalable=no"))return!0;if(document.documentElement.scrollWidth<=window.outerWidth)return!0}return"none"===a.style.msTouchAction||"manipulation"===a.style.touchAction?!0:(f=+(/Firefox\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1],f>=27&&(b=document.querySelector("meta[name=viewport]"),b&&(-1!==b.content.indexOf("user-scalable=no")||document.documentElement.scrollWidth<=window.outerWidth))?!0:"none"===a.style.touchAction||"manipulation"===a.style.touchAction?!0:!1)},a.attach=function(b,c){return new a(b,c)},"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return a}):"undefined"!=typeof module&&module.exports?(module.exports=a.attach,module.exports.FastClick=a):window.FastClick=a}(); \ No newline at end of file diff --git a/js/foundation/js/vendor/jquery.cookie.js b/js/foundation/js/vendor/jquery.cookie.js new file mode 100644 index 0000000..5be813a --- /dev/null +++ b/js/foundation/js/vendor/jquery.cookie.js @@ -0,0 +1,8 @@ +/*! + * jQuery Cookie Plugin v1.4.1 + * https://github.com/carhartl/jquery-cookie + * + * Copyright 2013 Klaus Hartl + * Released under the MIT license + */ +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}}); \ No newline at end of file diff --git a/js/foundation/js/vendor/jquery.js b/js/foundation/js/vendor/jquery.js new file mode 100644 index 0000000..34b90c8 --- /dev/null +++ b/js/foundation/js/vendor/jquery.js @@ -0,0 +1,26 @@ +/*! + * jQuery JavaScript Library v2.1.4 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2015-04-28T16:01Z + */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b="length"in a&&a.length,c=_.type(a);return"function"===c||_.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return _.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c}catch(e){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("')}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;g0)for(b=0;b0;)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;i9?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;d0&&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;d0?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()% +1E40&&(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/js/modernizr/test/caniuse_files/jquery.min.js b/js/modernizr/test/caniuse_files/jquery.min.js new file mode 100644 index 0000000..b2ac174 --- /dev/null +++ b/js/modernizr/test/caniuse_files/jquery.min.js @@ -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("");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=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;ic)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(;j0)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(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?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
          a",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="
          ",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
          t
          ",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-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=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=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-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;i0?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;g0){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+~,(\[\\]+)+|[>+~])(\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;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=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 bc[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=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",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.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="

          ";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="
          ";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;g0)for(h=g;h0: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-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-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=/",""],legend:[1,"
          ","
          "],thead:[1,"","
          "],tr:[2,"","
          "],td:[3,"","
          "],col:[2,"","
          "],area:[1,"",""],_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
          ","
          "]),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>");try{for(var c=0,d=this.length;c1&&l0?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>");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]===""&&!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=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>/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("
          ").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=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
          ";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/js/modernizr/test/caniuse_files/modernizr-1.7.min.js b/js/modernizr/test/caniuse_files/modernizr-1.7.min.js new file mode 100644 index 0000000..6f54850 --- /dev/null +++ b/js/modernizr/test/caniuse_files/modernizr-1.7.min.js @@ -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;b7)},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="";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="";return a.childNodes.length!==1}()&&function(a,b){function p(a,b){var c=-1,d=a.length,e,f=[];while(++c
            '; + for (var field in Modernizr[prop]) { + str += '
          • ' + field + ': ' + Modernizr[prop][field] + '
          • '; + } + str += '
        4. '; + } else { + str += '
        5. ' + prop + ': ' + Modernizr[prop] + '
        6. '; + } + } + 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/js/modernizr/test/js/lib/detect-global.js b/js/modernizr/test/js/lib/detect-global.js new file mode 100644 index 0000000..48b4ac2 --- /dev/null +++ b/js/modernizr/test/js/lib/detect-global.js @@ -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/js/modernizr/test/js/lib/jquery-1.7b2.js b/js/modernizr/test/js/lib/jquery-1.7b2.js new file mode 100644 index 0000000..98c6d0d --- /dev/null +++ b/js/modernizr/test/js/lib/jquery-1.7b2.js @@ -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 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 = "
          a"; + + + 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 = "
          "; + support.shrinkWrapBlocks = ( div.offsetWidth !== 2 ); + } + + div.innerHTML = "
          t
          "; + 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 = "
          " + + "" + + "
          "; + + 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 = ""; + + // 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 = ""; + + 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 = "

          "; + + // 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 = "
          "; + + // 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 = /", "" ], + legend: [ 1, "
          ", "
          " ], + thead: [ 1, "", "
          " ], + tr: [ 2, "", "
          " ], + td: [ 3, "", "
          " ], + col: [ 2, "", "
          " ], + area: [ 1, "", "" ], + _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 and + diff --git a/package.json b/package.json new file mode 100644 index 0000000..c84f7ab --- /dev/null +++ b/package.json @@ -0,0 +1,14 @@ +{ + "name": "BigPowderhornLodging", + "description": "Gaslight Media", + "version": "0.0.1", + "devDependencies": { + "node-sass": "~1.2.3", + "grunt": "~0.4.5", + "grunt-contrib-watch": "~0.6.1", + "grunt-sass": "~0.17.0", + "grunt-contrib-uglify": "~0.7.0", + "grunt-contrib-concat": "~0.5.0", + "grunt-contrib-copy": "~0.7.0" + } +} \ No newline at end of file diff --git a/page.php b/page.php new file mode 100644 index 0000000..d01cf52 --- /dev/null +++ b/page.php @@ -0,0 +1,27 @@ + +
          + +
          +
          + +
          + +
          +
          + + + +

          + +
          +
          + +
          +
          +
          + + diff --git a/parts/blog-sidebar-r.php b/parts/blog-sidebar-r.php new file mode 100644 index 0000000..1cb0327 --- /dev/null +++ b/parts/blog-sidebar-r.php @@ -0,0 +1,33 @@ +
          +
          +
          +
          + +
          +
          +

          Recent Posts

          +
            + '5' ); + $recent_posts = wp_get_recent_posts( $args ); + foreach( $recent_posts as $recent ){ + echo '
          • ' . $recent["post_title"].'
          • '; + } + ?> +
          +

          Archive

          +
            'monthly', 'limit' => 12 ) ); ?>
          +

          Categories

          + +
          +
          \ No newline at end of file diff --git a/parts/bread-crumbs.php b/parts/bread-crumbs.php new file mode 100644 index 0000000..7603ea0 --- /dev/null +++ b/parts/bread-crumbs.php @@ -0,0 +1,7 @@ +"; + bcn_display(); + echo "
        "; +} +?> diff --git a/parts/client-info-footer.php b/parts/client-info-footer.php new file mode 100644 index 0000000..12e0e5c --- /dev/null +++ b/parts/client-info-footer.php @@ -0,0 +1,28 @@ + + diff --git a/parts/client-info-offcanvas.php b/parts/client-info-offcanvas.php new file mode 100644 index 0000000..24a6987 --- /dev/null +++ b/parts/client-info-offcanvas.php @@ -0,0 +1,24 @@ + +
          +
        • + +
        • +
        • , +
        • + + +
        • +
        • , +
        • + + +
        • + + +
        • + + +
        • + +
        + diff --git a/parts/glm-blocks.php b/parts/glm-blocks.php new file mode 100644 index 0000000..636ea4d --- /dev/null +++ b/parts/glm-blocks.php @@ -0,0 +1,26 @@ + + + +

        + diff --git a/parts/glm-kitchen-sink.php b/parts/glm-kitchen-sink.php new file mode 100644 index 0000000..15298dc --- /dev/null +++ b/parts/glm-kitchen-sink.php @@ -0,0 +1,293 @@ + + + +
        + +
        social +

        temporary inline style: height 32, width 32, float left.

        +
        + +
        + +
        header + + +
        search + + +
        +
        + + +

        sample Text in case there is no content

        + Yúyo tihta atalantëa wen nu. Lau nú engë rotelë, telpë ananta ré llo. San ré yávë ohtatyaro. Vén sú telpë yanen laira. Mel ehtë teren tanga nu. Hwarma tareldar at ëar, ep man norna carcassë. +

        + +

        + +
        +
        + +
        +
        + +
        slideshow +
        + +
        + +
        featured + + +
        breadcrumbs + + +
        paragraphs +
        +

        + Yúyo tihta atalantëa wen nu. Lau nú engë rotelë, telpë ananta ré llo. San ré yávë ohtatyaro. Vén sú telpë yanen laira. Mel ehtë teren tanga nu. Hwarma tareldar at ëar, ep man norna carcassë. +

        +
        + +
        glm-blocks +
        + +
        + +
        images-background +
        +
        +
        + some text on an image? +
        +
        + +
        images-captions +
        + +
        + This is alt text for the image +

        Guests and staff join for a farewell photo

        +
        +

        + Yúyo tihta atalantëa wen nu. Lau nú engë rotelë, telpë ananta ré llo. San ré yávë ohtatyaro. Vén sú telpë yanen laira. Mel ehtë teren tanga nu. Hwarma tareldar at ëar, ep man norna carcassë. +

        +
        + This is alt text for the image +

        Guests and staff join for a farewell photo

        +
        +

        + Yúyo tihta atalantëa wen nu. Lau nú engë rotelë, telpë ananta ré llo. San ré yávë ohtatyaro. Vén sú telpë yanen laira. Mel ehtë teren tanga nu. Hwarma tareldar at ëar, ep man norna carcassë. +

        +
        + This is alt text for the image +

        Guests and staff join for a farewell photo

        +
        +

        + Yúyo tihta atalantëa wen nu. Lau nú engë rotelë, telpë ananta ré llo. San ré yávë ohtatyaro. Vén sú telpë yanen laira. Mel ehtë teren tanga nu. Hwarma tareldar at ëar, ep man norna carcassë. +

        +
        + This is alt text for the image +

        Guests and staff join for a farewell photo

        +
        +

        + Yúyo tihta atalantëa wen nu. Lau nú engë rotelë, telpë ananta ré llo. San ré yávë ohtatyaro. Vén sú telpë yanen laira. Mel ehtë teren tanga nu. Hwarma tareldar at ëar, ep man norna carcassë. +

        +
        + +
        images +
        +
        + This is alt text for the image +
        +

        + Yúyo tihta atalantëa wen nu. Lau nú engë rotelë, telpë ananta ré llo. San ré yávë ohtatyaro. Vén sú telpë yanen laira. Mel ehtë teren tanga nu. Hwarma tareldar at ëar, ep man norna carcassë. +

        +
        +
        + This is alt text for the image +
        +

        + Yúyo tihta atalantëa wen nu. Lau nú engë rotelë, telpë ananta ré llo. San ré yávë ohtatyaro. Vén sú telpë yanen laira. Mel ehtë teren tanga nu. Hwarma tareldar at ëar, ep man norna carcassë. +

        +
        +
        + This is alt text for the image +
        +

        + Yúyo tihta atalantëa wen nu. Lau nú engë rotelë, telpë ananta ré llo. San ré yávë ohtatyaro. Vén sú telpë yanen laira. Mel ehtë teren tanga nu. Hwarma tareldar at ëar, ep man norna carcassë. +

        +
        +
        + This is alt text for the image +
        +

        + Yúyo tihta atalantëa wen nu. Lau nú engë rotelë, telpë ananta ré llo. San ré yávë ohtatyaro. Vén sú telpë yanen laira. Mel ehtë teren tanga nu. Hwarma tareldar at ëar, ep man norna carcassë. +

        +
        + +
        test-header-fonts +
        +

        this is a paragraph for reference. Be sure to keep an eye on the line-height below

        +

        This is a H1 element and should be large, prominent, and sparse, likely used only once on a page at the top.

        +

        this is a paragraph for reference.

        +

        This is a H2 element and should be prominent, likely used as headers for paragraphs.

        +

        this is a paragraph for reference.

        +

        This is a h3 element and should stand out, may be used as headers for paragraphs or drawing attention to certain elements

        +

        this is a paragraph for reference.

        +

        This is a h4 element and will likely not be used or be the same size as the surrounding P elements.

        +

        this is a paragraph for reference.

        +
        This is a h5 element and will likely not be used or be the same size as the surrounding P elements.
        +

        this is a paragraph for reference.

        +
        + +
        test-lists +
        + UL, bulleted +
          +
        • content
        • +
        • content
        • +
        • content
        • +
        • content
        • +
        • content
        • +
        • content
        • +
        • + oversized content oversized content oversized content oversized content oversized content oversized content oversized content oversized content oversized content oversized content oversized content oversized contented +
        • +
        +
        + OL, numbered +
          +
        1. content
        2. +
        3. content
        4. +
        5. content
        6. +
        7. content
        8. +
        9. content
        10. +
        11. content
        12. +
        13. + oversized content oversized content oversized content oversized content oversized content oversized content oversized content oversized content oversized content oversized content oversized content oversized contented +
        14. +
        +
        + +
        test-table +
        + + + + + + + + + + + + + + + + + + + + + + + +
        head data0,0head data0,1head data0,2head data0,3
        body data1,0body data1,1body data1,2body data1,3
        body data2,0body data2,1body data2,2body data2,3
        +
        + +
        ninja-form +
        + Insert ninja form here. +
        + +
        image-gallery +

        below momentarily won't work, nextgen might not use shortcodes anymore

        + + +
        video-gallery + + +
        event-calendar +
        +

        this will only work with ai1ec time.ly event calendar plugin installed

        + + +
        + +
        footer +
        + Example footer. +
        + +
        address +
        + Business Name + + 123 Lane Street, P.O. Box 321 + + Village City, MI 49586 + + 231-123-1231 + + Contact Us +
        + +
        copyright + \ No newline at end of file diff --git a/parts/off-canvas-menu.php b/parts/off-canvas-menu.php new file mode 100644 index 0000000..c9f9451 --- /dev/null +++ b/parts/off-canvas-menu.php @@ -0,0 +1,4 @@ + diff --git a/parts/search.php b/parts/search.php new file mode 100644 index 0000000..0f27490 --- /dev/null +++ b/parts/search.php @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/parts/slide-show.php b/parts/slide-show.php new file mode 100644 index 0000000..e566daa --- /dev/null +++ b/parts/slide-show.php @@ -0,0 +1,6 @@ +'; + echo do_shortcode("[metaslider id=27]"); + echo '
        '; +} +?> diff --git a/parts/top-bar.php b/parts/top-bar.php new file mode 100644 index 0000000..8e2bfb3 --- /dev/null +++ b/parts/top-bar.php @@ -0,0 +1,10 @@ + + diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..214e411 --- /dev/null +++ b/robots.txt @@ -0,0 +1,4 @@ +# www.robotstxt.org/ +# www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449 + +User-agent: * diff --git a/scss/_blog.scss b/scss/_blog.scss new file mode 100644 index 0000000..006ce89 --- /dev/null +++ b/scss/_blog.scss @@ -0,0 +1,192 @@ +#front { + padding: 20px; + .row.collapse { + h1 { + border-bottom: 1px solid #d1d2d4; + } + .row { + margin-bottom: 20px; + img { + margin-top: 5px; + border: 3px solid $white; + -webkit-box-shadow: 0px 0px 5px 0px #ababab; + -moz-box-shadow: 0px 0px 5px 0px #ababab; + -ms-box-shadow: 0px 0px 5px 0px #ababab; + box-shadow: 0px 0px 5px 0px #ababab; + } + .detail { + padding-left: 40px; + margin: 0 auto; + h2 { + margin: 0; + } + p { + font-size: rem-calc(12); + margin: 0; + } + a { + font-size: rem-calc(12); + } + } + } + .row.collapse { + img { + margin-left: 15px; + margin-top: 5px; + border: 3px solid $white; + -webkit-box-shadow: 0px 0px 5px 0px #ababab; + -moz-box-shadow: 0px 0px 5px 0px #ababab; + -ms-box-shadow: 0px 0px 5px 0px #ababab; + box-shadow: 0px 0px 5px 0px #ababab; + } + } + h4 { + line-height: 1.3; + } + ul { + list-style: none; + margin: 10px 0; + li { + font-size: rem-calc(10); + color: grey; + padding: 0 0 5px; + a { + font-size: rem-calc(11); + &.more { + color: darkblue; + font-weight: bold; + text-transform: uppercase; + } + } + } + } + #video { + padding: 0; + margin-top: 30px; + float: left; + h2 { + margin-top: 20px; + font-size: rem-calc(18); + @media #{$medium-only} { + margin-top: 15px; + } + @media #{$small-only} { + margin: 0; + } + } + a { + font-size: 12px; + } + img { + margin-left: 25px; + @media #{$small-only} { + margin: 0; + } + } + } + } +} +.home-feed-post { + padding-bottom: 25px; + @media #{$small-only} { + > * { + text-align: center; + } + } +} +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; + } + 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-bottom: 0; + } + .meta.date { + font-size: 13px; + font-weight: bold; + } + } +} +/*#searchform div input &[type="text"] { + width: 95%; +}*/ +#blog-posts-over .entry-meta { + text-align: center; + color: #757575; + font-size: 12px; +} +#blog-posts-over > div { + margin: 25px 0; +} +#blog-side-info { + #searchform { + margin-bottom: 30px; + } + 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 { + padding-right: 10px; + ul { + list-style-type: none; + } +} \ No newline at end of file diff --git a/scss/_body.scss b/scss/_body.scss new file mode 100644 index 0000000..f02e5c7 --- /dev/null +++ b/scss/_body.scss @@ -0,0 +1,15 @@ +body { + background: url(../assets/bkgrd.jpg) no-repeat fixed; + background-size: cover; + .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: 1000px; + padding-top: rem-calc(20); + } +} diff --git a/scss/_content.scss b/scss/_content.scss new file mode 100644 index 0000000..e69de29 diff --git a/scss/_copyright.scss b/scss/_copyright.scss new file mode 100644 index 0000000..c2aa849 --- /dev/null +++ b/scss/_copyright.scss @@ -0,0 +1,18 @@ +#copyright { + padding: 20px 0; + margin: 0 auto; + float: none; + p { + font-size: rem-calc(10); + } + a { + color: $black; + } +} +#footer_address span.bullet, +#copyright span.bullet { + margin: 0 5px; + @media #{$small-only} { + display: none !important; + } +} diff --git a/scss/_defaults.scss b/scss/_defaults.scss new file mode 100644 index 0000000..78383e3 --- /dev/null +++ b/scss/_defaults.scss @@ -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/scss/_left-off-canvas.scss b/scss/_left-off-canvas.scss new file mode 100644 index 0000000..4d4d599 --- /dev/null +++ b/scss/_left-off-canvas.scss @@ -0,0 +1,78 @@ +/* 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; + overflow: hidden; + position: relative; + padding: 4px 8px; +} +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 { + @include off-canvas-arrow(down, $secondary-color); + font-size: 0; + height: 0; + line-height: 0; + padding: 0; + position: absolute; + right: 10px; + top: 13px; + width: 0; +} +aside.left-off-canvas-menu li.page_item_has_children a.toggle.open { + @include off-canvas-arrow(up, $secondary-color); +} +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 { + list-style: none; + li { + a { + color: $white; + font-size: rem-calc(20); + line-height: 150%; + border-color: white; + } + a:hover { + color: black; + } + .dropdown { + list-style: none; + } + } + ul { + list-style: none; + + padding: 10px 0; + li { + a { + color: $white; + } + ul { + list-style: none; + } + } + } +} +.offcavas-social-list { + @include inline-list; + margin-left: auto; +} +/* End Mobile Menu */ diff --git a/scss/_main.scss b/scss/_main.scss new file mode 100644 index 0000000..81a7da7 --- /dev/null +++ b/scss/_main.scss @@ -0,0 +1,32 @@ +.breadcrumbs { + margin-top: 10px; +} +#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; + } + } +} diff --git a/scss/_mixins.scss b/scss/_mixins.scss new file mode 100644 index 0000000..cf454d0 --- /dev/null +++ b/scss/_mixins.scss @@ -0,0 +1,2 @@ + @import "mixins/gradient"; + @import "mixins/off-canvas-arrow"; \ No newline at end of file diff --git a/scss/_page.footer.scss b/scss/_page.footer.scss new file mode 100644 index 0000000..49194fd --- /dev/null +++ b/scss/_page.footer.scss @@ -0,0 +1,26 @@ +#connect { + padding-top: 20px; + background: #4c4d4f; + ul{ + margin: 0; + list-style: none; + li { + background: none; + padding: 0 5px; + display: inline-block; + & > a { + display: block; + font-family: Open Sans, sans-serif; + font-size: 12px; + color: #fff; + padding: 20px 18px; + line-height: 1.2; + } + a { + &#current { + background: $l-blue; + } + } + } + } +} diff --git a/scss/_page.header.scss b/scss/_page.header.scss new file mode 100644 index 0000000..0162053 --- /dev/null +++ b/scss/_page.header.scss @@ -0,0 +1,96 @@ +header { + height: auto; + & #logo { + img { + margin-bottom: 15px; + } + } + & .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 $d-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: $d-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: $d-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; + } + } + } + img { + margin-left: 5px; + } + .social { + margin-top: -25px; + padding-right: 0; + a { + float: right; + margin: 0 5px; + img { + margin: 0; + } + } + } +} diff --git a/scss/_page.wrapper.scss b/scss/_page.wrapper.scss new file mode 100644 index 0000000..e69de29 diff --git a/scss/_plugins.scss b/scss/_plugins.scss new file mode 100644 index 0000000..3b99231 --- /dev/null +++ b/scss/_plugins.scss @@ -0,0 +1 @@ + @import "plugins/nextgen"; \ No newline at end of file diff --git a/scss/_right-off-canvas.scss b/scss/_right-off-canvas.scss new file mode 100644 index 0000000..8484f3f --- /dev/null +++ b/scss/_right-off-canvas.scss @@ -0,0 +1,78 @@ +/* for the mobile menu */ +aside.right-off-canvas-menu { + background-color: $primary-color; + color: white; +} +aside.right-off-canvas-menu li.page_item { + display: block; + overflow: hidden; + position: relative; + padding: 4px 8px; +} +aside.right-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.right-off-canvas-menu li.page_item_has_children a.toggle { + @include off-canvas-arrow(down, $secondary-color); + font-size: 0; + height: 0; + line-height: 0; + padding: 0; + position: absolute; + right: 10px; + top: 13px; + width: 0; +} +aside.right-off-canvas-menu li.page_item_has_children a.toggle.open { + @include off-canvas-arrow(up, $secondary-color); +} +aside.right-off-canvas-menu ul.children { + display: none; +} +aside.right--menu .off-canvas-list ul li > ul li > a { + padding-left: 10px; + margin-left: 25px; + line-height: 18px; +} +aside.right-off-canvas-menu ul.open { + display: block; +} +.right-off-canvas-menu { + list-style: none; + li { + a { + color: $white; + font-size: rem-calc(20); + line-height: 150%; + border-color: white; + } + a:hover { + color: black; + } + .dropdown { + list-style: none; + } + } + ul { + list-style: none; + + padding: 10px 0; + li { + a { + color: $white; + } + ul { + list-style: none; + } + } + } +} +.offcavas-social-list { + @include inline-list; + margin-right: auto; +} +/* End Mobile Menu */ diff --git a/scss/_search.scss b/scss/_search.scss new file mode 100644 index 0000000..bd3e3d3 --- /dev/null +++ b/scss/_search.scss @@ -0,0 +1,51 @@ +.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); + } + } + } +} \ No newline at end of file diff --git a/scss/_settings.scss b/scss/_settings.scss new file mode 100644 index 0000000..f3999fb --- /dev/null +++ b/scss/_settings.scss @@ -0,0 +1,1475 @@ +// 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 Video +// 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: Georgia, Cambria, "Times New Roman", Times, serif; +$font-family-monospace: Consolas, "Liberation Mono", Courier, monospace; + +// 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; +$green : #008752; +$red : #d2222a; +$d-blue : #131c5f; +$l-blue : #0093d1; + +// 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(28); +$h2-font-size: rem-calc(18); +$h3-font-size: rem-calc(17); +$h4-font-size: rem-calc(16); +$h5-font-size: rem-calc(16); +// $h6-font-size: 1rem; + +// We use these to control header size reduction on small screens +$h1-font-reduction: rem-calc(5); +$h2-font-reduction: rem-calc(0); +$h3-font-reduction: rem-calc(0); +$h4-font-reduction: rem-calc(0); +$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 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 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
        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: false; +// @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: scale-color($secondary-color, $lightness: 55%); + +// 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: $primary-color; +// $crumb-font-color-current: $oil; +// $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(35); +// $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(61); +// $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: $white; +// $topbar-link-color-active: $white; +// $topbar-link-color-active-hover: $white; +// $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: scale-color($primary-color, $lightness: -14%); +// $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: true; //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/scss/_shadow.wrapper.scss b/scss/_shadow.wrapper.scss new file mode 100644 index 0000000..e69de29 diff --git a/scss/_sidebar.scss b/scss/_sidebar.scss new file mode 100644 index 0000000..b64cf19 --- /dev/null +++ b/scss/_sidebar.scss @@ -0,0 +1,131 @@ +#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; + } + } +} +.county-news { + font-weight: bold; +} +.current_page_item a { + font-weight: bold; +} \ No newline at end of file diff --git a/scss/_slideshow.scss b/scss/_slideshow.scss new file mode 100644 index 0000000..8ac6032 --- /dev/null +++ b/scss/_slideshow.scss @@ -0,0 +1,15 @@ +#slideshow { + border-bottom: 5px solid $d-blue; + margin-top: -10px; + #caption { + background: rgba(0, 0, 0, 0.75); + color: $white; + margin-top: -51px; + p { + padding: 10px 5px; + font-size: 12px; + margin: 0; + text-align: right; + } + } +} diff --git a/scss/_structure.scss b/scss/_structure.scss new file mode 100644 index 0000000..e054dfb --- /dev/null +++ b/scss/_structure.scss @@ -0,0 +1,16 @@ +//1. Body +//2. Header +//3. Fonts +//4. Top Bar +//5. Off-Canvas +//6. Main +//7. Slideshow +//8. Blog +//9. Sidebar +//10. Links +//11. Footer +//12. Copyright + +#example.element { + background-color: transparent; +} \ No newline at end of file diff --git a/scss/_topbar.scss b/scss/_topbar.scss new file mode 100644 index 0000000..002ab83 --- /dev/null +++ b/scss/_topbar.scss @@ -0,0 +1,147 @@ +.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 { + .tab-bar-section.middle { +// left: 0; +// right: 2.8125rem; + text-align: right; + } +} +.top-bar-section { + background: transparent; + float: none; + margin-left: auto; + margin-right: auto; + display: inline-block; + height: auto; + line-height: 1; + ul{ + li { + background: none; + padding: 12px 0; + border-left: 2px solid $white; + max-width: 166.5px; + line-height: 1.25; + &:first-child { + border: none; + } + &:hover { + background: $white; + } + a { + text-align: center; + padding: 0 20px; + font-size: 20px; + font-weight: bold; + color: $white; + &:hover { + color: $d-blue; + text-shadow: 0 0 1px $d-blue; + text-shadow: 1 0 1px $d-blue; + text-shadow: 0 1 1px $d-blue; + text-shadow: -1 0 1px $d-blue; + text-shadow: 0 -1 1px $d-blue; + } + } + &:not(.has-form):not(.active) { + & > a:not(.button) { + background: transparent; + } + } + &.drop-left { + ul.dropdown { + padding-left: 21px; + padding-right: 250px; + top: 74px; + background: $white; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; + min-width: 500px; + box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + -ms-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + li { + white-space: nowrap; + border-bottom: 1px solid #e7e7e8; + padding: 5px 0; + &.nav-img-container { + img { + position: absolute; + right: 20px; + top: 23px; + border: 6px solid #fdefd4; + } + border: none; + } + a { + padding-left: 0; + text-align: left; + font-size: 18px; + &:hover { + color: $d-blue; + text-shadow: 0 0 1px $green; + text-shadow: 1 0 1px $green; + text-shadow: 0 1 1px $green; + text-shadow: -1 0 1px $green; + text-shadow: 0 -1 1px $green; + } + } + } + } + } + &.drop-right { + ul.dropdown { + padding-left: 250px; + padding-right: 21px; + right: -1%; + left: auto; + top: 74px; + background: $white; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; + min-width: 500px; + box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + -ms-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.5); + li { + white-space: nowrap; + background: $white; + text-align: right; + border-bottom: 1px solid #e7e7e8; + padding: 5px 0; + &.nav-img-container { + img { + position: absolute; + left: 20px; + top: 23px; + border: 6px solid #fdefd4; + } + border: none; + } + a { + padding-left: 0; + text-align: left; + font-size: 18px; + &:hover { + color: $d-blue; + text-shadow: 0 0 1px $green; + text-shadow: 1 0 1px $green; + text-shadow: 0 1 1px $green; + text-shadow: -1 0 1px $green; + text-shadow: 0 -1 1px $green; + } + } + } + } + } + } + } +} diff --git a/scss/_wordpress.scss b/scss/_wordpress.scss new file mode 100644 index 0000000..0edb5a7 --- /dev/null +++ b/scss/_wordpress.scss @@ -0,0 +1,235 @@ +// 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); + } + } +} +#blog-side-info { + border-left: 1px solid grey; + margin-top: 30px; + padding-left: 20px; + @media #{$small-only} { + text-align: center; + } +} + +// End Search and Posts diff --git a/scss/admin/tinymce.css b/scss/admin/tinymce.css new file mode 100644 index 0000000..24e0f6a --- /dev/null +++ b/scss/admin/tinymce.css @@ -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/scss/app.scss b/scss/app.scss new file mode 100644 index 0000000..7ade1e7 --- /dev/null +++ b/scss/app.scss @@ -0,0 +1,20 @@ +@import "settings"; +@import "foundation"; +@import "mixins"; +@import "wordpress"; +@import "defaults"; +@import "body"; +@import "page.header"; +@import "topbar"; +@import "main"; +@import "slideshow"; +@import "plugins"; +@import "blog"; +@import "sidebar"; +@import "search"; +@import "page.footer"; +@import "copyright"; +@import "structure"; +@import "left-off-canvas"; +//@import "right-off-canvas"; + diff --git a/scss/mixins/_gradient.scss b/scss/mixins/_gradient.scss new file mode 100644 index 0000000..47f4364 --- /dev/null +++ b/scss/mixins/_gradient.scss @@ -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/scss/mixins/_off-canvas-arrow.scss b/scss/mixins/_off-canvas-arrow.scss new file mode 100644 index 0000000..07180f3 --- /dev/null +++ b/scss/mixins/_off-canvas-arrow.scss @@ -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/scss/plugins/_nextgen.scss b/scss/plugins/_nextgen.scss new file mode 100644 index 0000000..3bb3619 --- /dev/null +++ b/scss/plugins/_nextgen.scss @@ -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/search.php b/search.php new file mode 100644 index 0000000..12f2771 --- /dev/null +++ b/search.php @@ -0,0 +1,140 @@ + +
        + +

        Please enter a query in the search box.

        + +

        Search Results for ""

        +
        +
        + + post_type=='page')) continue; ?> +
        +
        +
        > +
        +

        + Posted on +
        + + + + @'), 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', '$0', $output)); + ?> + +

        + +

        +

        + Read this entry +

        + + + +
        + $cat->name, 'slug' => $cat->slug ); + echo ', '. $cat->name .''; + } + echo '.'; + } + ?> +
        +
        +
        +
        + + + +
        +

        +
        + +
        +
        +
        +
        +
        + +
        +
        +

        Recent Posts

        +
          + '5' ); + $recent_posts = wp_get_recent_posts( $args ); + foreach( $recent_posts as $recent ){ + echo '
        • ' . $recent["post_title"].'
        • '; + } + ?> +
        +

        Archive

        +
          'monthly', 'limit' => 12 ) ); ?>
        +

        Categories

        + +
        + +
        +
        + diff --git a/sidebar.php b/sidebar.php new file mode 100644 index 0000000..83d2421 --- /dev/null +++ b/sidebar.php @@ -0,0 +1,5 @@ +
        +
        + +
        +
        \ No newline at end of file diff --git a/single.php b/single.php new file mode 100644 index 0000000..84e3970 --- /dev/null +++ b/single.php @@ -0,0 +1,52 @@ + +
        +
        +
        + +
        +
        +
        +
        +
        > + +
        + $cat->name, 'slug' => $cat->slug ); + echo ''. $cat->name .', '; + } + } + $post_tags = wp_get_post_tags( get_the_ID() ); + $tags = array(); + if (has_tag( )) { + echo ' and tagged '; + foreach($post_tags as $t){ + $tag = get_tag( $t ); + $tags[] = array( 'name' => $tag->name, 'slug' => $tag->slug ); + echo ''. $tag->name .', '; + } + } + echo ' on '; + echo ' ' . the_time('F jS, Y') . ''; + ?> +
        +
        +
        +
        +
        +
        + + +
        +

        +
        + +
        + +
        + diff --git a/style.css b/style.css new file mode 100644 index 0000000..04ff194 --- /dev/null +++ b/style.css @@ -0,0 +1,7 @@ +/* +Theme Name: BigPowderhornLodging +Author: Gaslight Media +Author URI: http://www.gaslightmedia.com +Description: A theme for BigPowderhornLodging +Version: 1.234 +*/ -- 2.17.1