From 7103ba08d60df1e8d08811f5e14d6161df375dcb Mon Sep 17 00:00:00 2001 From: ian Date: Fri, 8 May 2015 09:40:38 -0400 Subject: [PATCH] Beginning project --- .gitignore | 3 + Gruntfile.js | 84 + README.md | 28 + archive.php | 79 + assets/enews-signup.jpg | Bin 0 -> 8017 bytes assets/facebook-icon.png | Bin 0 -> 363 bytes assets/footer-pattern.jpg | Bin 0 -> 8036 bytes assets/header-pattern.jpg | Bin 0 -> 13969 bytes assets/hours-box.png | Bin 0 -> 22301 bytes assets/logo.png | Bin 0 -> 1015 bytes assets/main-nav-hover-selected.png | Bin 0 -> 9375 bytes assets/nav-bkgrd.png | Bin 0 -> 6949 bytes assets/repeating-bkgrd-pattern.jpg | Bin 0 -> 33379 bytes assets/sample-page-image.jpg | Bin 0 -> 29751 bytes assets/sample-post-image.jpg | Bin 0 -> 28171 bytes assets/sample-slideshow-image.png | Bin 0 -> 172383 bytes assets/search_button.jpg | Bin 0 -> 1826 bytes assets/shadow.jpg | Bin 0 -> 598 bytes assets/sub-nav-hover-selected.png | Bin 0 -> 6757 bytes assets/tagline.png | Bin 0 -> 4563 bytes assets/toski-sands-logo.png | Bin 0 -> 131457 bytes bower.json | 6 + css/app.css | 1 + footer.php | 31 + front-page.php | 25 + functions.php | 184 + header.php | 32 + home.php | 85 + 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 | 6392 ++++++++++++ js/foundation/js/foundation.min.js | 5 + .../js/foundation/foundation.abide.js | 408 + .../js/foundation/foundation.accordion.js | 88 + .../js/foundation/foundation.alert.js | 43 + .../js/foundation/foundation.clearing.js | 586 ++ .../js/foundation/foundation.dropdown.js | 463 + .../js/foundation/foundation.equalizer.js | 104 + .../js/foundation/foundation.interchange.js | 359 + .../js/foundation/foundation.joyride.js | 932 ++ js/foundation/js/foundation/foundation.js | 725 ++ .../js/foundation/foundation.magellan.js | 215 + .../js/foundation/foundation.offcanvas.js | 152 + .../js/foundation/foundation.orbit.js | 476 + .../js/foundation/foundation.reveal.js | 498 + .../js/foundation/foundation.slider.js | 281 + js/foundation/js/foundation/foundation.tab.js | 249 + .../js/foundation/foundation.tooltip.js | 339 + .../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 | 27 + 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 | 55 + nggallery/gallery-glmvideos.php | 72 + package.json | 14 + page.php | 32 + parts/bread-crumbs.php | 7 + parts/glm-blocks.php | 26 + parts/glm-kitchen-sink.php | 293 + parts/off-canvas-menu.php | 3 + 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 | 9 + 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 | 1474 +++ scss/_shadow.wrapper.scss | 0 scss/_sidebar.scss | 131 + scss/_slideshow.scss | 15 + scss/_structure.scss | 16 + scss/_topbar.scss | 147 + scss/_wordpress.scss | 230 + scss/app.scss | 20 + scss/mixins/_gradient.scss | 10 + scss/mixins/_off-canvas-arrow.scss | 12 + scss/plugins/_nextgen.scss | 40 + search.php | 82 + sidebar.php | 5 + single.php | 84 + style.css | 7 + 313 files changed, 53688 insertions(+) create mode 100644 .gitignore create mode 100644 Gruntfile.js create mode 100644 README.md create mode 100644 archive.php create mode 100644 assets/enews-signup.jpg create mode 100644 assets/facebook-icon.png create mode 100644 assets/footer-pattern.jpg create mode 100644 assets/header-pattern.jpg create mode 100644 assets/hours-box.png create mode 100644 assets/logo.png create mode 100644 assets/main-nav-hover-selected.png create mode 100644 assets/nav-bkgrd.png create mode 100644 assets/repeating-bkgrd-pattern.jpg create mode 100644 assets/sample-page-image.jpg create mode 100644 assets/sample-post-image.jpg create mode 100644 assets/sample-slideshow-image.png create mode 100644 assets/search_button.jpg create mode 100644 assets/shadow.jpg create mode 100644 assets/sub-nav-hover-selected.png create mode 100644 assets/tagline.png create mode 100644 assets/toski-sands-logo.png create mode 100644 bower.json create mode 100644 css/app.css 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/bread-crumbs.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/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..753734c --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,84 @@ +module.exports = function(grunt) { + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + + sass: { + options: { + includePaths: ['bower_components/foundation/scss'] + }, + dist: { + options: { + outputStyle: 'compressed' + }, + 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..f9490a3 --- /dev/null +++ b/archive.php @@ -0,0 +1,79 @@ + +
+
id="interior"> + +
+
+
+ +
+
+
> +
+

+ Posted on +
+ +
+ $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/assets/enews-signup.jpg b/assets/enews-signup.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2b16fa9ad122f5177c9fbafe02a528dde5118022 GIT binary patch literal 8017 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 MSpNrA!mAJe0h>mvP5=M^ literal 0 HcmV?d00001 diff --git a/assets/facebook-icon.png b/assets/facebook-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..66bf7e3e876d5e14d90966a3900524d884bfd6ed GIT binary patch literal 363 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 n_OfaAB9<^=>x*{C) zo&c~!%^Xe40cPEA4BYDq;2Qt|_#fUz1SEvF4H*#u0TCGm2?-eq2?Y%W^$jR!Xc+(D zZN$XHz`*$r`2PbO0wN*`G72^t8a6%_7S{jx|L23(ZU7DnfF8IHgu?;A2@Z(x#=Y?fH~=bK zL^e@Xysy;G!R+`+Vrn!5NcnX=(`POmpskQ|6ZN+_;el`fIE4Ri_upONaNw!ffViTn zU#an&*^|_Q#b``k{{k@Hu7bw_;sAsJ&rFt81zb&DBxx2Dt352kPl+XGmo-_sX&$LQ zDF~zEpxMR^5^1={uR~N~)xF57o%&B$3G|t!8B1Y7$#55pNjaOF3HLLzL>zor+x&li zuE!5Y=8+a8P`=yH-!t&H92<&8ctEKfN|7fBC09b*3-}w4_0L?M@Ms6{XnR155elxjMKrbq#~e89;A#N$@|EzoMU$A z9;QWQK2bT9oZ+q!me$6)8-jL62g0k4=4+3H>ef7B(YZIT=B-NX=aD7k*zd_3E~A$n zXC-@b@3hk}ERr%<2pFW2O>kv-x)z!T3GNvwCRn) z?ki-#=ONOiHv{>4eEU{{I&=;8Aj@6z)vuG+mi7cJp_0`vUB-zLH|El@+-Oq2o%(#B zr%znd3(fM>bKh|r-IfzA^c2raUgie^qxhn=U!(-P=Ja5F7EVOw%U-0X#|i$n({r=b z^+Qo4NmfdjS+&Y2aH6Ox+lh5xcNU8PI)b{fMl< zz4IzKFW0>Ah$&{NQu4GSv6c#M_M1f zl+xb7g+hy?s+!v*&0esgsk~xsg(*t@th}t_v(*+hK(grXYS^idmGh%#S+54CI+oweFtw=AVaFQCd2;)R{!K z_LB{`uefx1U{RaaU?6|)V&|{_^in1lrR_N z38HKflLOtx^Q9vq^T^x|DG$>fp&hx_-t-TSc{OfxLT0+6;`G#pKy(P55l7G*TEIFV z{cMDVH9E*fWCFRuF^>5&FX#6PSxGCFjAcrzx!lIh3bMKc^*dM*-+hvhB>gL(u4bJd zd(KI(g(d}p^T-CZ|V+$z}RJUZ2uYg2%zO^}vM8n@Y*>w?HPRzeZ`Qya{`K`-7 zb^DON0*phTE`1B;It0O}ea=8+|9ZbY#fke_7;afm)D38#M@lOkg2mn`MVw}pz4 zT`OAT+^ZOolSNavZe3mh1L;p|`bcK@;E%SlimClfIbVYbCtIh&SBcV2=qzXEwF~OW z8#9e&fbjlsynG$=rC~bM(#&;VcnsdwMVTz}3)e)Bm2(A|{SXs+10q}3>R`II<=nyX zcoAjNkK`hB7KY{#1LuCib7Y}*2lt947W$h(IR&+q66y{!W>xIua_2qCi+f$pWDO!h zM))xqG(lOu=%F1=zQ@Kii!32DnQd3dEf3EupKjX+(>Hr-4H5@T!EtjZ$ZJE8y3ppb z$I5L?=m*OWW(M}_N^sri2{VG>$Z?+~{Trw{Yr1r~0v!U@1_K)VH^-!0xfC8wNRRQRRA-b-HMM`p3Abcn&s62n4l>vJDp_y<3W0x8Ul0w>{3lMNU zy;@X+s3p-*{^wBA=Sfa%4UiD}Ud!&Q8TIzqusJfrw4&C_8`bk@FmD)Kqt=ROf2VTnspHTVM)Rif#6T*0p1Ow_@N&h@0_A(6S7H5wZq@ya> z-7fz7Asj}aM=D|L0_}U)Q+~9&Lcu#S?jY?ytpdv*5{6^{9A%0$c>N`~Gcw$RYygW7Ml9lb`#v-@f1OYWjn$)J1LX(d{ zC|a9S#JMMOGDOP%yt&P7kU`^kV>gT+*Rlk483ozTPDx}!sJ+RD>$wpr*7F0SUTyts z!nUM7M?h?Dx3!Os&L)bV?x9{0Yo$&t9tHvGSIUhf8atZ?qj!#p{u)ik;N%ih-n)XH zIMji`Ihv{Y6Bc)35Z9CAQe`>v*UfaILcA9t5Ums`T67P1O)Bm_xv_4gR8 zuJ?z`F1I3P=$4n}P_)J9bqUM^f3EqW`SM#bMr;7vSK|5z~JaBt@u z?UhiY>X&K|x*Kyp3x!_HpPGZYmLdrZUl{V<)pM*HtM90=9{IcY1!AIID@qSTM5p$H zEMEa1Gm~24fc~wNdxQfI_`5GXj{EO@9F=&gnEr_!5Pt+nNb!eJ7^xS#f6LLY9Gc8y)gD>*>KFoZ2cSp?f!b;yP*mIrNRhjeIoQMpXfr?d%~O zSMS;whzbJV+8t2lc zL^#y8RwGBxq>l5{mk_bde||ktGdq}rR=9_sW<25~wV5EsHO4bvu@<+KxRL~o3Y3!i zz-OyFZbm4{z-KF57w!c`JEId$Ku&iZI;{{=qDAMW(Ef3a@@c8oyy4wFO`Ht+kdHID zQW<&0XNzfyUq_a0%qBkneo1g^34174`!|s{+aJQmbvUf+p38ekJN$k(fesHAJmWO5 zTX3@$_4Vm6;{qR^>&TMwRhr3lvEtsu!WMYJltS`DSuubOAg`Kx> zc+o^>hF-{bZ<~I1!`64x?C@s%{D@b4HMUZi8d#NUXey!t`c)ykN8V(YiT;g@_vK}r z>_zQO{N+>+)5M%+iMw8VK=&1J6L)JWBm>}$4bN?(XrlZWa1%8?en0>cg@ovrS~^JOA|Qy9dp)%{!8J;$R` zx==HTeRv{)r9i?*-pADHMpv+cFb(c48Cbq zcF{I`Aij{n!J97RArwwz{+nX6;J9f|-I&OQ3Tq8a+B2!Y0GO+oF(v?PPC6+rJ`S(7 z*c(1E;H%b}3&gMv2!*P_rgbDR%4sAAN2b}jGrd9tB1pve>oJ2;|65x5WNCc*WL7{-VqwmWPNdmMt9fy1|Jkv4C&0*UmF}g zu?b;_@NV+3u3Ww79zF3fp<&HYZlUfE@^}!<&glfIRKzWX5OUl$-njt8+@`fO$0kKr)+;M|oqet-pM9-WL^W|4D>WfpB{Pr{(S)+2Lq; z{=)h#yB0}fCgdPzK%L{{l(qNlbmit3Uyt4~t6FtZGu&QY*L~$zK-?Ew-cT@d^yI^l zGuZUKg&IaSt`rjV0SCh8CNs`f{r8(7M6zo!a)Dwi`j`h46($WxE7WU5|rC#|j}4Y~6Y zLkw;wUIIiyY!&6|_Rl`|VRg7>BTe?&t{~RTh0pDx2lo)EG)E?y`Yu~Wqauv?vfrvw z0ry_P{eA@GcZ<@>Bkeed=`E5f8g*f8P@l;>>b-i&1Xh&gPlGFk1(ROJ$_?+6P+V3^*Zo;f6bwgir_?Y~4dT4@h8M~g;5w1y zgk_}eMnF2cA8gg8E-d0971xkuolO^FBnm%c2D+gkA*uGiH3~Js>_Hw3e{YPqWYUGh z8?e;Ex6Oolm*QBS^-w?oc^a<(>Vk%z7(|(rs|XUn-!Pg*D8~ZuE%Nwm*lda~7O|7r zDY(eHqPQ})i6%Q=IjN?~Wyv`U$s^Kde!RoI?i>ipMJpXVhEd z_VldzQ7rXkw$M$@F;8>(DvC;>8qgw>F9lzH3BA`Ed%r~z;%ZH3k#ku_Fj4ZhRq3`Y z6Kx?esc{o%Yz05O0ygyHTE32;%k}&sI@SJd$AYJiM=Ji1 zdTe|C5Q5i?`?oWjp;Mg|v8M=IRtx198p=nJC&8g`}qg(;AH z(|fK;i#;7agXkB!tCnuPY}P&i41jmup%Y#EjS2S<>Cln8s-a;KLE9-F_85^csW{T? zpu+6EqTgUL*=zou1C9~Le=;TIv})$~cP2gYzRz`ipqDxQxeyJ||D`=ZBPYh<^WXLK z`I=~VRRRyD9_+S_y8}K$Ln)c!7U6}hA4D{<0Q?I9SwQX~^6-3GTQQTuWd|%>`xP(( z-b{2Ror14)-F&oi-(#9#w-iQ+9SO16!TCCtAmTpO%sXwk4_gX0JDA6&SP+NeB-B*5 zJC1YRMdr>0qiEEIc#W1flOa7~)94Rd(xg7>T}R41Y){)s{DxCVFyS(UFqKCp77;Qt zp>H&E%!M`3zo-eH78Mx|(BBj@C4=jkesk8pmmN7DNoiisjj!->+JVpi9`Q5Z2bqe% zK--jd4rePK^3vYGV7%A?s~~ae)fd3(FQ5l#G9!sTm{|q<{di`Db6Dn=T=Ti!Lmgx% zB0xie1bBd)mt9o064fU{_{vJ+>aVvn96g~g+K&(&z0tVtZ0ehqpB-k3Xap)eyT2i> z?)6Qzd@BB$-f9hgSZe*Q<3xUE_8Ea>1a_uYe;SmzzOzsKlT|LeEc-jY8;+Lt1A23a zQb{kJ%JmK zSOJ=j>{@vHysed$Y+TAC%A?`T$4nZD@CG3S`&<4`{ozG{p6bL{31!S2YBiVQ{Ny5) z&|Ulxr9iEOQQaucTI3-A1h63w@r82o@lZ-Ui0$ffM?Sz^el9ix>rV|BQ_?5JHQT<; z1%%T^={42Cn40&I>GLbVrhPKuR0Li=7yP2enZPJD#aC$(n3>o}QLKivBy7OqWZ`Ri z%Qbi$TWPzKOivf3dFE!%1SeGzx0{TTBpVnfy7J{bAxT zEv=R=TBoSbjkE=ucM3++srLLpL; zhaTKQMt^VWIk^fE;^n~c{_Ot3EG!Ot7t?uCI^{D*5^I6CRIwLmeVe&P3NJp{^%YOz zXQuT>v_~b+eR-dd2~<0g_li0?c+q;4YuY>;Vz0*;r3sZgm3RYaW+$qoPVb`U@M@;W z?3=>HF9sW222j=a_|jlovGsyWH~!}3fd~X6a(RA={aW#YL;Q!|545ypP zIX_Y{n_VCa$OvB+?JZ7V%mqcG3w8{f#ff+dEZw2!R;Mu;_IQa*p75=BA%8oA)V1Ee zAXvNV1tR?wYV+ye(}DzVvPKu6ec8}myc&OJZ(~$r;7gzxPqCXOquv$wd&i#Qz5JB9 z0J=c3O#iOQ$>52_Dul+q&0^~KQ}No}4=b<8#fNOtNb+2xL2wPfjtof<_;|gVxDq#G zL34Y!C8eb~Np}<}B;%lK;H+)AUS3ssjnq8G?Ct_Ub2;Co6~T;4-;u0-1ZrB8{_}oG zs@E<+S8{f|IRB0t+0-TQ5*vAxnAKu{E$j+#TEN|KgIR_ls(>H{9=kYx&sH2l0@X^q6069>-mKK> z)?l}VBs9$u>jM)4&MV-nQs39_pq;rrf23DHw|rtHF0D5x+zN_1Y&YVPXNoNB!8Mg^ zt$hEn@6?^Z`U#gSgxV7gy3_MwK2Q|ku9K8v%rCd*?~IerW;wC>h1r)h&LORQTp^>Q z=Je;9L7RUHaDQjoyJLzg5 z4AM9jGK#0{oeJ!CzTg%Be3|7NkE5Pt|6M&DOG8oX&lxw0DqWOSWSQK*q_aIpkP_^s z4udo~C^9!9p;_Z@*kJ2qy#km35$?SdbU=QqFWgT~_U{?ppEr!YesdLPQo`m={e>la zs08;yTxIRn!;s`_(_EqFxK=;>796a8%G_3R4niT0JDf!`VXh)^HfQV|Nt6<%DeFVH z)@EX$VMH+{Q+6if+;tBsS~h zg0SdER9d#B9taw@2LespKB!lB&Z<)|GbKjfllVS!5twVyTLB%Q3&&i;to6w#gTV>p ze*3yJyBRH-dXTHnhSr+&1%uRO-|6mPKO3e+$WfKy-Pa;|tpl`ojP*ZXVt2!S2<|W_Q?;;%dWtXjnOP_VffJlg_;@z z0A2u0OKS@`B=Q>5g`YZ%XUy453_#(x{|HMxEy_$hlQDT-W+*iMR;WGaSxgvP)x{_L z(D^Qi89%o*>>6Mb6JsO#k#VVuy+jYcPn=bm`+zmgK9-w- zB(vuYl^&0IFaha`NG5LCitM5?|BUL{h%CyE^Kn^q)fc!ZOnt);_mj#6_CI|M-0Pir zWP<*52YCXUizXH)`UVw16e>g7>`2qN%h=N@?@l%L?kZP>O~fn*Zt1!*%?7Yhqt zdtP6{wZ|jYA5@=xA&_xZCI#>Ipc4RjL!+q5d{=}TfzdtsIpzAsLOV;~!u`d9JSfM; zz3?xgUQZ0Z+V4vy`H4!5@)?H5jNDz-!;K$l({vDG(Z*tz1uU%{uLUl}==>oxwkzTl zHt+l@jvvnQx>5Gr+IOPEWi)y3Z@5Ryp96dBVu3^D5A|9+G#4X4Uw&bvpRBcoj$8k#q=jGcE<|JN(B zN9js&KdZIR#13kp&6x4@G;?C@%Q1emlFx|?l?gr`qf zB|9HOsFEy;>%>w&(=L(4MjWLM4x`*4Z)p9S_Xz4|l4hA0-hq)W;-)hsYoT8cxW#aX z1*PxLoa{$2iE?5P5(!EFbJDX*XyJWo@>zfp5;VFtA1dq4E@Wd1xvY9Z_57PR^cN}= z-1^T{&S|2^rC0;mib7fEKWa1gbJTFgh2q}=b$DD%j!))Ke=ZlGN9gwxQ4;Zz;%a?ES>t1gaeAgVhiFvR7jJDT;ad zOBT>TMhO`zDQPNLh&x)7o|%2v@yTra`LG%dN$gWxAEnR=!|Zj3eF3QV^CQBa+~cfw zMiB#`-DZ@*xGOEk0XV2q4cK87Q-G1@lP4WwCx{sg^cotO?^0Z~7Y11*(H zK0)eZaOFz2?k+?g5_>%73Bba&A0_s0-zV8$X!sB2!|&_3^d`V`YG1jE@Ez( zIKIM_({O(sSXJ@Q-tAe2)Ovz$So(tVaz;*zSi4SwZMeQC>A+;7Yo+eEn3nPnU zsPv&YL%u%yS_N_#(_)3+AIq_oK1aQ0t)O9ZPynm|NxbIikA1pp5MCN8!>?vVIk#!B z^8gpZnLy$+-UkP5y&z$DEmO`hP#DNeiT|lcQ2G_HDCGWoK-uKC`f$%=Y~*(i=IV`CBcMR7E3<9L|wz+L%>G73hob%g2rR_3uPp+yMe zeM$D``n)Ji`6v-Lnuy)D6Z{HLttdAzg>Q~( z`lUxxoy7CG9~WgofpqsbHqVNBjl6fzTc};Df(im|Lc-g2n}8r4n6ECFf$(EoOioG= zirw9W`}D+h`3TPZFn3{OL;aU!jAiMS0YAs9Ih#ue#;68umbOtbPNgGp;zb>;SFTED z+oGc0I3nHhH;Ij%<7PX_U_8hTTfe{)>gUtPjHYZ9`DA>57*Mz zFE8qKn0VP31HgF8 zu$BFjIGcX%^YYBJ=I}fa#OpJh-%s&XRtEYCoR5(J#!qK7O_dyxH>>I zD+rC^8bUUAy}bu246En~D#Q2f2#*>+v&J(Z>G1$^`(oq1e8B!_TDN-muxt-D(aVH_ z2whyCih}0}$~33gU0(rfn)d}-vF|@}ubQ6G=(jBmkgbd9N_`q{V|J09O7BIa=X-n~ z34R__~5L zFnB0R$2A?j?ZREp%^?wG7}UUxY9f6B-BY!X)k$dj39&r-OLOVGGYAOTn1>h`cn9mc zD3wa&(sJ|Yglpu&jEK_$f?32Yj?07%>nbsk-b>rxlCvVQJ-JU6Ute@0PV=VG)~4<8 zbf6=ce8Gx2y(Ugy_h8ei!qcp=@unJc7?1$OO9tdU*j%M%2kVRtZO}9X_p#9dVF%UR zyYafOfG-9%<6gt64P?6#U)c2Ju>slHD3E)6ikZlS-Bt}CypQNS;Uax^tjGOf?dB?<7N!eVTvMF$d%Hf?MKtv)MGQU%cXIu@qS z=}FJ-~fJKg5H0Pk+TpAfZInrDzG(W0s#LPn4SWC|&%fzW(ahTxN+N z`Nra_$|pyvv_jI}-1#?Jxriz@BYWUHkxXuHkWwlzz6g_8VV@Q9LA!qL(5wR?M<>`q z3s9`FiBsK9U-;9}WZbnfrIKojvodS**RfUL;ccCOAIC@G`*Og@Y(={8n}i zaxJf}qQ^xbSSFQ;6)ziUy@V*4(jYgu%r9VCNF|p3+3TKe%3h*0nq5R*Je$e*$)Ei* z3N~aEL+T=mIe0mrEBy}+>YA6zuBfKdDj}uG4tC82v5}Ce$Mh;-Om)rAmzYGUofM_% z5$)w7(@4*&g^E)%{D3F&9)Q~QG9=wWT+OXaDLHCYWG#3Q9_k*fEL==-49v5i@+wCt z%WfKYyV<#qgE(LnjQn4%bnx7=azTmCY34nX*ODQEe*S+Is^aR_d+UD8(`#yIzi58q zIZiVO-q_ISSSc;T%}ADJ&LyeaIJ=&+kO~=}ScrXgDo?`s1V9r(YrSx-__a7DQpSr@ zk(qC^X}&|Pt#L#`E>)sXdXLUrSGPWkiSo93(f!+KGuj_b3E$q_r?kQD!lAz;?=?-+ z8YpP^Fz3!GN^wd{9Zzr}fmsR4bSIQhC*^m`%Ng^ z#dUD$UNr_68l@BRwQV%Ea131pTCWCq@`n^m0l21SDz5rQdp`AHuWZDRh@D@bh!G6| zDY1DT4wX7{29Q1+`3!A!knzRqW$pG*o((3;oHswn&t81PKf^7tHjG;>Zvcm3$f#fA zCCUd_D(V%U=ZUKI2UI_+{~fKPWD{svnI+!?*B2OOv~dW^b@YRtgEde*90=c3Xv$ry z8Z%WQe?it~tf@Ehh56FXvS*-Ir9@Z>Dd}O&V5wSGiAfQyJUnSCx0Qm#%qDHu+D7E> zM}yMqswU$AEo6Zpf%t&z!!H#|$YMva5m;y~b%cDv56j^EA)z_O{;2yF!S}(6FyFGZ#pdVC z_n=r)mJq`8bBN}eK`L63c$wGn^~GF+Y4j(tVlax)Ads(yjw`&odvfXebUt8&QP^9Kyhvc>!NLdEt7#c z{1?>=0{tVS!IWI$8u?!m!PGw7v|52(2=CQ9MT8BcT$7?ZYAofBy|zQx$&_3~NTq9O zG&|##I;Gi%^dRhP{^o)hWYpmO^ z!WK~LnBNoYz<}e4;gNyNam|CU(#l;7_2yIcB5jL^Q_7Eh1nMWQunJvUMYLwuB-VHd z4@0>^+#laCU9hxHer5O)Zb$!?1fy86#O@ISOlP$Y+^u9ZG8xhFG!tbFrQ(f9BNkN^ zOXw|=zk`=OkT!#qgddfk2NRK2G0gnkbq$89$a@0#@e2-x2;!hr0WQ)w*MprQ?d}&= z_lSS5Z5ISYE&kQtgN$Q+jt{D4vr5(JhiBYRNvVlO_!H4xFtknSfEs?~SN-X7$Mh`d z@C1QL+AgD}iBHa@>z&#|tMBcGvH51$*Q!~yO+SBFJmdstYcEGzFJ0eKh0&58AL%iL zrmf~2zQ7!zGG?cjE$YyC$`}&7KAiT@>$yPt@L+nFZY{aCi8sF4FSzEC-QQvHZjF>( z)<0|e7#SQW&zb#9HFh=D6)k{`6`1@pqCmf-YF1ffgal%}`HyDw~2XP zxh?7==VRKXTX>W-{JF2Dv#t8cYkoO2BS&oE?zR>(qP%l=ZKG2D^Dz{4rXX5j+2;wO{YFE*55P z)4-hvDPQeqc6?O`_J`LhLmZJ^GJyR1!8Z2ZvC;WO-`{PdY(bCX5!hz^SSrEE)WDcH z!+}NRyw6G2QPWREZ}J>Q-rfXaZFvP)(%jd}Q&1)-SUc(#;$O(=?8S3Ofy|?B-4M>{ zV5Ll)`A8s}@9H*B_MD_|y~~-aEwwkZi`jL>nEf+`Sq;l@VD;}ygQo%lJ1fLYX;~@! z6v}Jsbt>vf5raWQ-H#dAL{t8HDptdSs;i07+6j~x2e^sDTgc9Nc*SH9Dtx8@G|*OG z@8HSaX>}L)9ARsCY!epiTJfPweT>;#l_Uq z4%-Qu+`>JNf5#Ff)drbHA0N56PkL+{4edMI53UXxRp3PL2JC$5^Dp?5P@Ox|4n~lY zIJusl=^~KIPE|Ag6fl$D@zO5u3a-Z(VHlrQN!CtAjrB%IL(Zlsoi}1^31_aSJ=~~o zJOkz2k!9HV-#)~N&0lPqLG2xM?!ww9)WCoAP+M39xH;Ez?Y+r*)U4jWO*r_`e zJ{RwN>u~-~bThL^WMSee^)+2)30g)Y^a?OgEG3qQ&>EK8xC}d|4si_Yw4M{L0QvU} zNau+s`phz_m6c=_d3Cu!K~i7HGv~lr4oJ)GKj*%i1SV}IYrX>h3GM07@pAsmb=KW8 z0%^TJN*)U6o@~JI_2+U(bsr0~R(vmix43D}bGL(j%RuhpKJPm_%$Yes`Iw3bl_gY#=GwbdrCRFvHWX+FjX1MLis3s0OzF-C+S-j~$*AzkzFm{VFzwJPiJWmS zC{vmTEVd`qRgf~FN~sZL>;U3w^L%U;_p7vJH1ce^r181%YVW-j@G=M~$an0oC5LG# zlQJ1c=ca7Q%*HH@t2ejim*b(>3YJQ+T}1`47Em-(3@|NZ+{Ad@<%pH!LbckrRZdLh zp6V4~lEnibFeTC^M3gNQb46Ut$Ak1u62;^=@GED*7P2RWgU9(XMETD(hINl(JDST9 z1IAG_J|1ymAKR_a--=z$v;Jg^=y~S)fmeVZ%gs>dj{Ye&5FhtyD&s`tC>8qkG2?r8 zpwUiwg_LHeC@{Uo{UlkZG`L7&!0VjIw3e@^#vl(goX#K9Y@2mKuoo-3wv}RiHM936iBX6C^ zikh6laIA~o&~pdLS5FG@%579)JRDU2?g%z30CDowLsEW?Gx=AKc{jMc7;|Zs>DQWX z%JnI(EX9wCO<%)q8mk)K`9Ww5a|YmZP(7{>MA=!`zZm^Sf(m6H`s3=N;rikU*y1O1 zh~?&^@&FGCJsjbJ2M(&Ml-K=>Q1-e>TaEm`95%{!kfc-{@fF3?j#N;QFs#XA1o>YU zyEU;}Cw_U9H%KzdjnsIi4+YW<&#a#e$SBYd{KHQr8ii{)pApB%uABy)3&17_j1Bw; z>Z3S5-7fm9aGAuHX{C~usm3!UARCZXY1T3-M5$1$_CGg#Sw)S+NC(d9UoQ%*U5vQ$ z70^;g`s96P>_yfy5U0-zBtPMod6bISi5*aPu#Zh%F?AFzzuK>YFI07iW^_Vba4~a7 znOH&-QU>$Y9LOrq;o=^>_pynFXvB}`MZIgz`?j6rvVV1)S9~<+31;CYaw)1*@5W{ECOsPw*%H#!k4`7p< z*%ualDE;aPJe~rl{bOCC!s{k1f9iS>g>x`0jl3z%``51`#1k*>7ko9{ls<(U2wH(ujZRmp zJ8xsjh=y#$7umK1Cx1w<%G$42#FI*R(2ljd+vjT}VqQ2X9i7XrACY*{35Dk=BS#Wu i0lQXI4mBiW$7Hf) literal 0 HcmV?d00001 diff --git a/assets/hours-box.png b/assets/hours-box.png new file mode 100644 index 0000000000000000000000000000000000000000..79c5af3b78bf934621afcd4b6242324beeadd091 GIT binary patch literal 22301 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 literal 0 HcmV?d00001 diff --git a/assets/repeating-bkgrd-pattern.jpg b/assets/repeating-bkgrd-pattern.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a1cffa0e1de3391a687a31a5033765fa16f1b6a GIT binary patch literal 33379 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 VVBCL~YLMhXl2Iai$8Ao*e*nzT=e_^{ literal 0 HcmV?d00001 diff --git a/assets/shadow.jpg b/assets/shadow.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1227bfba73e89b68a709bba57dc09fa818471cb0 GIT binary patch literal 598 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 literal 0 HcmV?d00001 diff --git a/assets/toski-sands-logo.png b/assets/toski-sands-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..50088ec0328beec22f49fc2d5ac74ca4271f88a4 GIT binary patch literal 131457 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 z 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 Y`W542;)Anz;eeNtyqes18PnkZ0>UtBi2wiq 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..7c72560 --- /dev/null +++ b/css/app.css @@ -0,0 +1 @@ +meta.foundation-version{font-family:"/5.5.2/"}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%}html{box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}html,body{font-size:100%}body{background:#fff;color:#000000;cursor:auto;font-family:Arial;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:60rem;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}.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}.accordion .accordion-navigation>a,.accordion dd>a{background:#EFEFEF;color:#222222;display:block;font-family:Arial;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}[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:Arial;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-left:0;padding-right:0;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;}.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-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}}.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.radius{border-radius:3px}.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.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}form{margin:0 0 1rem}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{color:#4d4d4d;cursor:pointer;display:block;font-size:0.875rem;font-weight:normal;line-height:1.5;margin-bottom:0}label.right{float:none !important;text-align:right}label.inline{margin:0 0 1rem 0;padding:0.5625rem 0}label small{text-transform:capitalize;color:#676767}.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}.postfix.button{border-color:true}.prefix.button{border:none;padding-left:0;padding-right:0;padding-bottom:0;padding-top:0;text-align:center}.prefix.button.radius{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.postfix.button.radius{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.prefix.button.round{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.postfix.button.round{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}span.prefix,label.prefix{background:#f2f2f2;border-right:none;color:#333333;border-color:#cccccc}span.postfix,label.postfix{background:#f2f2f2;color:#333333;border-color:#cccccc}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[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[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[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[type="text"].radius,input[type="password"].radius,input[type="date"].radius,input[type="datetime"].radius,input[type="datetime-local"].radius,input[type="month"].radius,input[type="week"].radius,input[type="email"].radius,input[type="number"].radius,input[type="search"].radius,input[type="tel"].radius,input[type="time"].radius,input[type="url"].radius,input[type="color"].radius,textarea.radius{border-radius:3px}form .row .prefix-radius.row.collapse input,form .row .prefix-radius.row.collapse textarea,form .row .prefix-radius.row.collapse select,form .row .prefix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-radius.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse input,form .row .postfix-radius.row.collapse textarea,form .row .postfix-radius.row.collapse select,form .row .postfix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-round.row.collapse input,form .row .prefix-round.row.collapse textarea,form .row .prefix-round.row.collapse select,form .row .prefix-round.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}form .row .prefix-round.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse input,form .row .postfix-round.row.collapse textarea,form .row .postfix-round.row.collapse select,form .row .postfix-round.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}input[type="submit"]{-webkit-appearance:none;-moz-appearance:none;border-radius:0}textarea[rows]{height:auto}textarea{max-width:100%}::-webkit-input-placeholder{color:#cccccc}:-moz-placeholder{color:#cccccc}::-moz-placeholder{color:#cccccc}:-ms-input-placeholder{color:#cccccc}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:hover{background-color:#f3f3f3;border-color:#999999}select:disabled{background-color:#DDDDDD;cursor:default}select[multiple]{height:auto}input[type="file"],input[type="checkbox"],input[type="radio"],select{margin:0 0 1rem 0}input[type="checkbox"]+label,input[type="radio"]+label{display:inline-block;margin-left:0.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}input[type="file"]{width:100%}fieldset{border:1px solid #DDDDDD;margin:1.125rem 0;padding:1.25rem}fieldset legend{background:#FFFFFF;font-weight:bold;margin-left:-0.1875rem;margin:0;padding:0 0.1875rem}[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-left:-1.375rem;margin-right:0;margin:0 auto 1.0625rem auto;overflow:hidden;padding:0}.inline-list>li{display:block;float:left;list-style:none;margin-left:1.375rem}.inline-list>li>*{display:block}.joyride-list{display:none}.joyride-tip-guide{background:#333333;color:#FFFFFF;display:none;font-family:inherit;font-weight:normal;position:absolute;top:0;width:95%;z-index:101;left:2.5%}.lt-ie9 .joyride-tip-guide{margin-left:-400px;max-width:800px;left:50%}.joyride-content-wrapper{padding:1.125rem 1.25rem 1.5rem;width:100%}.joyride-content-wrapper .button{margin-bottom:0 !important}.joyride-content-wrapper .joyride-prev-tip{margin-right:10px}.joyride-tip-guide .joyride-nub{border:10px solid #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}.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}@media only screen and (min-width:40.063em){.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:Arial;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)}}.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}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-centered{text-align:center}.pagination-centered ul.pagination li{display:inline-block;float:none}.panel{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#f2f2f2;color:#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-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:Arial;font-size:1rem;font-weight:normal;padding:0.9375rem 1.25rem;text-align:center}.pricing-table .price{background-color:#F6F6F6;color:#333333;font-family:Arial;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{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%}.progress.secondary .meter{background:#e7e7e7;display:block;height:100%}.progress.success .meter{background:#43AC6A;display:block;height:100%}.progress.alert .meter{background:#f04124;display:block;height:100%}.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:60rem;right:0;width:80%;}}@media only screen and (min-width:40.063em){.reveal-modal{top:6.25rem;}}.reveal-modal.radius{border-radius:3px}.reveal-modal.round{border-radius:1000px}.reveal-modal.collapse{padding:0}@media only screen and (min-width:40.063em){.reveal-modal.tiny{left:0;margin:0 auto;max-width:60rem;right:0;width:30%;}}@media only screen and (min-width:40.063em){.reveal-modal.small{left:0;margin:0 auto;max-width:60rem;right:0;width:40%;}}@media only screen and (min-width:40.063em){.reveal-modal.medium{left:0;margin:0 auto;max-width:60rem;right:0;width:60%;}}@media only screen and (min-width:40.063em){.reveal-modal.large{left:0;margin:0 auto;max-width:60rem;right:0;width:70%;}}@media only screen and (min-width:40.063em){.reveal-modal.xlarge{left:0;margin:0 auto;max-width:60rem;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:60rem;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:Arial;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:Arial;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:Arial;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:Arial;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}.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}.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-color:transparent transparent #333333 transparent;border:solid 5px;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 and (min-width:40.063em){.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}.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:Arial;font-size:1rem;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:1rem;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:1rem;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.expanded{background:#333333}.contain-to-grid .top-bar{margin-bottom:0;margin:0 auto;max-width:60rem}.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:#dbd39a;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:#dbd39a;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}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}a{color:#008CBA;line-height:inherit;text-decoration:none}a:hover,a:focus{color:#0078a0}a img{border:none}p{font-family:inherit;font-size: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}h1,h2,h3,h4,h5,h6{color:#222222;font-family:Arial;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.6875rem}h2{font-size:1.375rem}h3{font-size:1.25rem}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}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}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}ul.no-bullet{margin-left:0}ul.no-bullet li ul,ul.no-bullet li ol{margin-left:1.25rem;margin-bottom:0;list-style:none}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}ul.no-bullet{list-style:none}ol{margin-left:1.4rem}ol li ul,ol li ol{margin-left:1.25rem;margin-bottom:0}dl dt{margin-bottom:0.3rem;font-weight:bold}dl dd{margin-bottom:0.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#000000;cursor:help}abbr{text-transform:none}abbr[title]{border-bottom:1px dotted #DDDDDD}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}.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:2rem}h2{font-size:1.375rem}h3{font-size:1.25rem}h4{font-size:1rem}h5{font-size:1rem}h6{font-size:1rem}}.off-canvas-wrap{-webkit-backface-visibility:hidden;position:relative;width:100%;overflow:hidden}.off-canvas-wrap.move-right,.off-canvas-wrap.move-left{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;top:0;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);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left: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;top:0;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);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0}.right-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);-ms-transform:translate3d(15.625rem, 0, 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);-ms-transform:translate3d(-15.625rem, 0, 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)}}.offcanvas-overlap .left-off-canvas-menu,.offcanvas-overlap .right-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)}}.no-csstransforms .left-off-canvas-menu{left:-15.625rem}.no-csstransforms .right-off-canvas-menu{right:-15.625rem}.no-csstransforms .move-left>.inner-wrap{right:15.625rem}.no-csstransforms .move-right>.inner-wrap{left:15.625rem}.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;z-index:1002;-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate(-100%, 0);-ms-transform:translate3d(-100%, 0, 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);-ms-transform:translate3d(0%, 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;z-index:1002;-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate(100%, 0);-ms-transform:translate3d(100%, 0, 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);-ms-transform:translate3d(0%, 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}@media only screen{.show-for-small-only,.show-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.hide-for-small-only,.hide-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.visible-for-small-only,.visible-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.hidden-for-small-only,.hidden-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.show-for-small-only,table.show-for-small-up,table.show-for-small,table.show-for-small-down,table.hide-for-medium-only,table.hide-for-medium-up,table.hide-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.show-for-small-only,thead.show-for-small-up,thead.show-for-small,thead.show-for-small-down,thead.hide-for-medium-only,thead.hide-for-medium-up,thead.hide-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.show-for-small-only,tbody.show-for-small-up,tbody.show-for-small,tbody.show-for-small-down,tbody.hide-for-medium-only,tbody.hide-for-medium-up,tbody.hide-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.show-for-small-only,tr.show-for-small-up,tr.show-for-small,tr.show-for-small-down,tr.hide-for-medium-only,tr.hide-for-medium-up,tr.hide-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.show-for-small-only,td.show-for-small-only,th.show-for-small-up,td.show-for-small-up,th.show-for-small,td.show-for-small,th.show-for-small-down,td.show-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.hide-for-medium-up,td.hide-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width:40.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.show-for-medium-only,table.show-for-medium-up,table.show-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.show-for-medium-only,thead.show-for-medium-up,thead.show-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.show-for-medium-only,tbody.show-for-medium-up,tbody.show-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.show-for-medium-only,tr.show-for-medium-up,tr.show-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.show-for-medium-only,td.show-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.show-for-medium,td.show-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width:64.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.show-for-large-only,table.show-for-large-up,table.show-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.show-for-large-only,thead.show-for-large-up,thead.show-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.show-for-large-only,tbody.show-for-large-up,tbody.show-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.show-for-large-only,tr.show-for-large-up,tr.show-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.show-for-large-only,td.show-for-large-only,th.show-for-large-up,td.show-for-large-up,th.show-for-large,td.show-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width:90.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.show-for-xlarge-only,table.show-for-xlarge-up,table.show-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.show-for-xlarge-only,thead.show-for-xlarge-up,thead.show-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.show-for-xlarge-only,tbody.show-for-xlarge-up,tbody.show-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.show-for-xlarge-only,tr.show-for-xlarge-up,tr.show-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.show-for-xlarge-only,td.show-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.show-for-xlarge,td.show-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width:120.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.hide-for-xlarge-only,.show-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.show-for-xlarge-only,.hide-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.hidden-for-xlarge-only,.visible-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.visible-for-xlarge-only,.hidden-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.hide-for-xlarge-only,table.show-for-xlarge-up,table.hide-for-xlarge,table.hide-for-xlarge-down,table.show-for-xxlarge-only,table.show-for-xxlarge-up,table.show-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.hide-for-xlarge-only,thead.show-for-xlarge-up,thead.hide-for-xlarge,thead.hide-for-xlarge-down,thead.show-for-xxlarge-only,thead.show-for-xxlarge-up,thead.show-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.hide-for-xlarge-only,tbody.show-for-xlarge-up,tbody.hide-for-xlarge,tbody.hide-for-xlarge-down,tbody.show-for-xxlarge-only,tbody.show-for-xxlarge-up,tbody.show-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.hide-for-xlarge-only,tr.show-for-xlarge-up,tr.hide-for-xlarge,tr.hide-for-xlarge-down,tr.show-for-xxlarge-only,tr.show-for-xxlarge-up,tr.show-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.hide-for-xlarge-down,td.hide-for-xlarge-down,th.show-for-xxlarge-only,td.show-for-xxlarge-only,th.show-for-xxlarge-up,td.show-for-xxlarge-up,th.show-for-xxlarge,td.show-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.hide-for-landscape,table.show-for-portrait{display:table !important}thead.hide-for-landscape,thead.show-for-portrait{display:table-header-group !important}tbody.hide-for-landscape,tbody.show-for-portrait{display:table-row-group !important}tr.hide-for-landscape,tr.show-for-portrait{display:table-row !important}td.hide-for-landscape,td.show-for-portrait,th.hide-for-landscape,th.show-for-portrait{display:table-cell !important}@media only screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.show-for-landscape,table.hide-for-portrait{display:table !important}thead.show-for-landscape,thead.hide-for-portrait{display:table-header-group !important}tbody.show-for-landscape,tbody.hide-for-portrait{display:table-row-group !important}tr.show-for-landscape,tr.hide-for-portrait{display:table-row !important}td.show-for-landscape,td.hide-for-portrait,th.show-for-landscape,th.hide-for-portrait{display:table-cell !important}}@media only screen and (orientation: portrait){.show-for-portrait,.hide-for-landscape{display:inherit !important}.hide-for-portrait,.show-for-landscape{display:none !important}table.show-for-portrait,table.hide-for-landscape{display:table !important}thead.show-for-portrait,thead.hide-for-landscape{display:table-header-group !important}tbody.show-for-portrait,tbody.hide-for-landscape{display:table-row-group !important}tr.show-for-portrait,tr.hide-for-landscape{display:table-row !important}td.show-for-portrait,td.hide-for-landscape,th.show-for-portrait,th.hide-for-landscape{display:table-cell !important}}.show-for-touch{display:none !important}.hide-for-touch{display:inherit !important}.touch .show-for-touch{display:inherit !important}.touch .hide-for-touch{display:none !important}table.hide-for-touch{display:table !important}.touch table.show-for-touch{display:table !important}thead.hide-for-touch{display:table-header-group !important}.touch thead.show-for-touch{display:table-header-group !important}tbody.hide-for-touch{display:table-row-group !important}.touch tbody.show-for-touch{display:table-row-group !important}tr.hide-for-touch{display:table-row !important}.touch tr.show-for-touch{display:table-row !important}td.hide-for-touch{display:table-cell !important}.touch td.show-for-touch{display:table-cell !important}th.hide-for-touch{display:table-cell !important}.touch th.show-for-touch{display:table-cell !important}.show-for-sr{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus:focus,.show-on-focus:active{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.print-only{display:none !important}@media print{*{background:transparent !important;box-shadow:none !important;color:#000000 !important;text-shadow:none !important}.show-for-print{display:block}.hide-for-print{display:none}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}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}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm;}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.hide-on-print{display:none !important}.print-only{display:block !important}.hide-for-print{display:none !important}.show-for-print{display:inherit !important}}@media print{.show-for-print{display:block}.hide-for-print{display:none}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}}@media not print{.show-for-print{display:none !important}}img.aligncenter{display:block;clear:both;float:none;padding:0;margin-left:auto;margin-right:auto}img.alignright{padding:0;margin:0 0 6px 11px;display:inline}blockquote.alignleft,img.alignleft,.wp-caption.alignleft{margin: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,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{background:#fff;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-gradient(linear, left top, left bottom, color-stop(0.05, #1999ce), color-stop(1, #107098));background:-moz-linear-gradient(center top, #1999ce 5%, #107098 100%);filter:progid:DXIm-ageTransform.Microsoft.gradient(startColorstr='#1999ce', endColorstr'#107098')}#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;}}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;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}.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-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:Arial;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}#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}#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}#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;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}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-left:-1.375rem;margin-right:0;margin:0 auto 1.0625rem auto;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} \ No newline at end of file diff --git a/footer.php b/footer.php new file mode 100644 index 0000000..c2c2dbe --- /dev/null +++ b/footer.php @@ -0,0 +1,31 @@ +

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

+ +
+
+ +
+
+
+ diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..9765bde --- /dev/null +++ b/functions.php @@ -0,0 +1,184 @@ + __('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"; +} + + +function SearchFilter($query) { + if(isset($_GET['searchType'])) { + $searchType = $_GET['searchType']; + if ($searchType == 'blog' && !is_admin()) { + $query->set('post_type', 'post'); + } + } + return $query; +} +add_filter('pre_get_posts','SearchFilter'); + +/** + * 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'); +?> diff --git a/header.php b/header.php new file mode 100644 index 0000000..63a6dba --- /dev/null +++ b/header.php @@ -0,0 +1,32 @@ + + + + + + <?php wp_title(); ?> + + + + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    + +
    diff --git a/home.php b/home.php new file mode 100644 index 0000000..cfc46d3 --- /dev/null +++ b/home.php @@ -0,0 +1,85 @@ + +
    + +
    +
    + +
    +
    +
    > +
    +

    + Posted on +
    + + + +
    + $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/index.html b/index.html new file mode 100644 index 0000000..0c3cfb4 --- /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..501680c --- /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}var f=function(b){for(var c=b.length,d=a("head");c--;)0===d.has("."+b[c]).length&&d.append('')};f(["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 g=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)},h=function(a){var b=[];return a||b.push("data"),this.namespace.length>0&&b.push(this.namespace),b.push(this.name),b.join("-")},i=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("-")},j=function(b,c){var d=this,e=function(){var e=g(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 g(this.scope).is("["+this.attr_name()+"]")?e.call(this.scope):g("["+this.attr_name()+"]",this.scope).each(e),"string"==typeof b?this[b].call(this,c):void 0},k=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 h=[a,d,e,f],i=[];if(this.rtl=/rtl/i.test(g("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,h));else for(var j in this.libs)i.push(this.init_lib(j,c));return g(b).load(function(){g(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=h,a.add_namespace=i,a.bindings=j,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:g,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 a.data(b.length>0?b+"-"+c: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(){k(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.2",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){f.validate_on_blur&&f.validate_on_blur===!0&&c(this,a),"change"===f.validate_on&&c(this,a)}).on("keydown.fndtn.abide",function(a){f.live_validate&&f.live_validate===!0&&9!=a.which&&c(this,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=[],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(q.push(b[c][1].test(j)&&p||!i&&h.value.length<1||a(h).attr("disabled")?!0:!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.2",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).children("a").attr("aria-expanded","true"),f.multi_expand&&b.attr("aria-multiselectable","true")},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.alert={name:"alert",version:"5.5.2",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.2",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 b.css(!this.rtl&&b.length>0?{marginLeft:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10}:{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");return c?a.html(c).show():a.text("").hide(),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.2",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){var d=this.offsetParent(),e=d.offset(),f=a.offset();f.top-=e.top,f.left-=e.left,f.missRight=!1,f.missTop=!1,f.missLeft=!1,f.leftRightFlag=!1;var g;g=c.getElementsByClassName("row")[0]?c.getElementsByClassName("row")[0].clientWidth:b.innerWidth;var h=(b.innerWidth-g)/2,i=g;return this.hasClass("mega")||(a.offset().top<=this.outerHeight()&&(f.missTop=!0,i=b.innerWidth-h,f.leftRightFlag=!0),a.offset().left+this.outerWidth()>a.offset().left+h&&a.offset().left-h>this.outerWidth()&&(f.missRight=!0,f.missLeft=!1),a.offset().left-this.outerWidth()<=0&&(f.missLeft=!0,f.missRight=!1)),f},top:function(a,b){var c=Foundation.libs.dropdown,d=c.dirs._base.call(this,a);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=matchMedia(this.settings.named_queries.hasOwnProperty(f)?this.settings.named_queries[f]: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.2",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)){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.settings.$next_tip.css(this.rtl?{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}:{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.settings.$next_tip.css(this.rtl?{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()}:{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){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){a.addClass("auto"===b?c: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),this.settings={}},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs["magellan-expedition"]={name:"magellan-expedition",version:"5.5.2",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+"#"+j):location.hash=g.pathname+"#"+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.2",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="";"move"===this.settings.open_method?(d="move-",e="right",f="left"):"overlap_single"===this.settings.open_method?(d="offcanvas-overlap-",e="right",f="left"):"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",".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"))})},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,d){var e,f=this;c?"undefined"!=typeof c.selector?e=f.S("#"+c.data(f.data_attr("reveal-id"))).first():(e=f.S(this.scope),d=c):e=f.S(this.scope);var g=e.data(f.attr_name(!0)+"-init");if(g=g||this.settings,e.hasClass("open")&&c.attr("data-reveal-id")==e.attr("id"))return f.close(e);if(!e.hasClass("open")){var h=f.S("["+f.attr_name()+"].open");if("undefined"==typeof e.data("css-top")&&e.data("css-top",parseInt(e.css("top"),10)).data("offset",this.cache_offset(e)),e.attr("tabindex","0").attr("aria-hidden","false"),this.key_up_on(e),e.on("open.fndtn.reveal",function(a){"fndtn.reveal"!==a.namespace}),e.on("open.fndtn.reveal").trigger("open.fndtn.reveal"),h.length<1&&this.toggle_bg(e,!0),"string"==typeof d&&(d={url:d}),"undefined"!=typeof d&&d.url){var i="undefined"!=typeof d.success?d.success:null;a.extend(d,{success:function(b,c,d){if(a.isFunction(i)){var j=i(b,c,d);"string"==typeof j&&(b=j)}"undefined"!=typeof options&&"undefined"!=typeof options.replaceContentSel?e.find(options.replaceContentSel).html(b):e.html(b),f.S(e).foundation("section","reflow"),f.S(e).children().foundation(),h.length>0&&(g.multiple_opened?f.to_back(h):f.hide(h,g.css.close)),f.show(e,g.css.open)}}),g.on_ajax_error!==a.noop&&a.extend(d,{error:g.on_ajax_error}),a.ajax(d)}else h.length>0&&(g.multiple_opened?f.to_back(h):f.hide(h,g.css.close)),this.show(e,g.css.open)}f.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;c.length>0&&(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?(e.hide(b,d.css.close,d),e.to_front(a(a.makeArray(c).reverse()[1]))):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(j.fade){d.top=a(b).scrollTop()+c.data("css-top")+"px";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.2",settings:{start:0,end:100,step:1,precision:null,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(a){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(){this.hasOwnProperty("value")&&a(this).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.2",settings:{active_class:"active",callback:function(){},deep_linking:!1,scroll_to_content:!0,is_hover:!1},default_tab_hashes:[],init:function(a,c,d){var e=this,f=this.S;f("["+this.attr_name()+"] > .active > a",this.scope).each(function(){e.default_tab_hashes.push(this.hash)}),e.entry_location=b.location.href,this.bindings(c,d),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");(!e.is_hover||Modernizr.touch)&&(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=this,c=a.keyCode||a.which;9==c&&(a.preventDefault(),d(a,b))}).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=b.location.href===g.entry_location,d=o.scroll_to_content?g.default_tab_hashes[0]:c?b.location.hash:"fndtn-"+g.default_tab_hashes[0].replace("#","");c&&a===d||(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",tabindex:-1}),m.siblings().removeClass(o.active_class).attr({"aria-hidden":"true",tabindex:-1}),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.2",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,hover_delay:200,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;if(c.css("visibility","hidden").show(),e=b.data("width"),f=c.children(".nub"),g=f.outerHeight(),h=f.outerHeight(),c.css(this.small()?{width:"100%"}:{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()},i(c,b.offset().top+b.outerHeight()+10,"auto","auto",b.offset().left),this.small())i(c,b.offset().top+b.outerHeight()+10,"auto","auto",12.5,a(this.scope).width()),c.addClass("tip-override"),i(f,-g,"auto","auto",b.offset().left);else{var j=b.offset().left;Foundation.rtl&&(f.addClass("rtl"),j=b.offset().left+b.outerWidth()-c.outerWidth()),i(c,b.offset().top+b.outerHeight()+10,"auto","auto",j),f.attr("style")&&f.removeAttr("style"),c.removeClass("tip-override"),d&&d.indexOf("tip-top")>-1?(Foundation.rtl&&f.addClass("rtl"),i(c,b.offset().top-c.outerHeight(),"auto","auto",j).removeClass("tip-override")):d&&d.indexOf("tip-left")>-1?(i(c,b.offset().top+b.outerHeight()/2-c.outerHeight()/2,"auto","auto",b.offset().left-c.outerWidth()-g).removeClass("tip-override"),f.removeClass("rtl")):d&&d.indexOf("tip-right")>-1&&(i(c,b.offset().top+b.outerHeight()/2-c.outerHeight()/2,"auto","auto",b.offset().left+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(150)},hide:function(a){var b=this.getTip(a);b.fadeOut(150,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.2",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. '),a("h5>a",b).html(1==d.custom_back_text?d.back_text:"« "+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..6a1450c --- /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..5561864 --- /dev/null +++ b/js/foundation/js/foundation.js @@ -0,0 +1,6392 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2014, 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 i = class_array.length; + var head = $('head'); + + while (i--) { + if (head.has('.' + class_array[i]).length === 0) { + head.append(''); + } + } + }; + + 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; + } + + window.Foundation = { + name : 'Foundation', + + version : '5.5.2', + + media_queries : { + 'small' : S('.foundation-mq-small').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'small-only' : S('.foundation-mq-small-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'medium' : S('.foundation-mq-medium').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'medium-only' : S('.foundation-mq-medium-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'large' : S('.foundation-mq-large').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'large-only' : S('.foundation-mq-large-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xlarge' : S('.foundation-mq-xlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xlarge-only' : S('.foundation-mq-xlarge-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xxlarge' : S('.foundation-mq-xxlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '') + }, + + 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.2', + + settings : { + live_validate : true, + validate_on_blur : true, + // validate_on: 'tab', // tab (when user tabs between fields), change (input changes), manual (call custom events) + focus_on_invalid : true, + error_labels : true, // labels with a for="inputId" will recieve an `error` class + error_class : 'error', + 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) { + // old settings fallback + // will be deprecated with F6 release + if (settings.validate_on_blur && settings.validate_on_blur === true) { + validate(this, e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('keydown.fndtn.abide', function (e) { + // old settings fallback + // will be deprecated with F6 release + if (settings.live_validate && settings.live_validate === true && e.which != 9) { + validate(this, 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 = [], + 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.2', + + 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).children('a').attr('aria-expanded','true'); + + if (settings.multi_expand) { + $instance.attr('aria-multiselectable','true'); + } + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.alert = { + name : 'alert', + + version : '5.5.2', + + 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.2', + + 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 initializers 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) { + container + .html(caption) + .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.2', + + 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) { + 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; + if (document.getElementsByClassName('row')[0]) { + actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth; + } else { + actualBodyWidth = window.innerWidth; + } + + var actualMarginWidth = (window.innerWidth - actualBodyWidth) / 2; + var actualBoundary = actualBodyWidth; + + if (!this.hasClass('mega')) { + //miss top + if (t.offset().top <= this.outerHeight()) { + p.missTop = true; + actualBoundary = window.innerWidth - actualMarginWidth; + p.leftRightFlag = true; + } + + //miss right + if (t.offset().left + this.outerWidth() > t.offset().left + actualMarginWidth && t.offset().left - actualMarginWidth > this.outerWidth()) { + p.missRight = true; + p.missLeft = false; + } + + //miss left + if (t.offset().left - this.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); + + 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); + + 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); + + 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); + + 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.2', + + 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.2', + + 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 = 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.2', + + 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' or 'bottom' 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 + if (!/body/i.test(this.settings.$target.selector)) { + 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) { + 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); + this.settings = {}; + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs['magellan-expedition'] = { + name : 'magellan-expedition', + + version : '5.5.2', + + 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 + '#' + hash); + } + else { + location.hash = anchor.pathname + '#' + 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.2', + + 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 = ''; + + if (this.settings.open_method === 'move') { + move_class = 'move-'; + right_postfix = 'right'; + left_postfix = 'left'; + } else if (this.settings.open_method === 'overlap_single') { + move_class = 'offcanvas-overlap-'; + right_postfix = 'right'; + left_postfix = 'left'; + } 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'); + }) + .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'); + }) + .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'); + } + }); + }, + + 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.2', + + 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'; + + Foundation.libs.reveal = { + name : 'reveal', + + version : '5.5.2', + + 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.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 + }; + } + + if (typeof ajax_settings === 'undefined' || !ajax_settings.url) { + if (open_modal.length > 0) { + if (settings.multiple_opened) { + self.to_back(open_modal); + } else { + self.hide(open_modal, settings.css.close); + } + } + + this.show(modal, settings.css.open); + } 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(); + + if (open_modal.length > 0) { + if (settings.multiple_opened) { + self.to_back(open_modal); + } else { + self.hide(open_modal, settings.css.close); + } + } + self.show(modal, settings.css.open); + } + }); + + // 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) { + self.hide(modal, settings.css.close, settings); + self.to_front($($.makeArray(open_modals).reverse()[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); + } + + if (animData.fade) { + css.top = $(window).scrollTop() + el.data('css-top') + 'px'; + 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.2', + + settings : { + start : 0, + end : 100, + step : 1, + precision : null, + 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) { + 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.hasOwnProperty('value')) { + $(this).change(function(){ + // is there a better way to do this? + 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.2', + + 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); + }); + + // store the initial href, which is used to allow correct behaviour of the + // browser back button when deep linking is turned on. + self.entry_location = window.location.href; + + 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) { + 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 el = this; + var keyCode = e.keyCode || e.which; + // if user pressed tab key + if (keyCode == 9) { + e.preventDefault(); + // TODO: Change usual_tab_behavior into accessibility function? + 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 is_entry_location = window.location.href === self.entry_location, + default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : is_entry_location ? window.location.hash :'fndtn-' + self.default_tab_hashes[0].replace('#', '') + + if (!(is_entry_location && hash === default_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.2', + + settings : { + additional_inheritable_classes : [], + tooltip_class : '.tooltip', + append_to : 'body', + touch_close_text : 'Tap To Close', + disable_for_touch : false, + hover_delay : 200, + 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, column, objPos; + + tip.css('visibility', 'hidden').show(); + + width = target.data('width'); + nub = tip.children('.nub'); + nubHeight = nub.outerHeight(); + nubWidth = nub.outerHeight(); + + 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(); + }; + + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', target.offset().left); + + if (this.small()) { + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', 12.5, $(this.scope).width()); + tip.addClass('tip-override'); + objPos(nub, -nubHeight, 'auto', 'auto', target.offset().left); + } else { + var left = target.offset().left; + if (Foundation.rtl) { + nub.addClass('rtl'); + left = target.offset().left + target.outerWidth() - tip.outerWidth(); + } + + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', left); + // reset nub from small styles, if they've been applied + if (nub.attr('style')) { + nub.removeAttr('style'); + } + + tip.removeClass('tip-override'); + if (classes && classes.indexOf('tip-top') > -1) { + if (Foundation.rtl) { + nub.addClass('rtl'); + } + objPos(tip, (target.offset().top - tip.outerHeight()), 'auto', 'auto', left) + .removeClass('tip-override'); + } else if (classes && classes.indexOf('tip-left') > -1) { + objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left - tip.outerWidth() - nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } else if (classes && classes.indexOf('tip-right') > -1) { + objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().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(150); + }, + + hide : function ($target) { + var $tip = this.getTip($target); + $tip.fadeOut(150, 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.2', + + 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..ea8e52c --- /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}var f=function(b){for(var c=b.length,d=a("head");c--;)0===d.has("."+b[c]).length&&d.append('')};f(["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 g=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)},h=function(a){var b=[];return a||b.push("data"),this.namespace.length>0&&b.push(this.namespace),b.push(this.name),b.join("-")},i=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("-")},j=function(b,c){var d=this,e=function(){var e=g(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 g(this.scope).is("["+this.attr_name()+"]")?e.call(this.scope):g("["+this.attr_name()+"]",this.scope).each(e),"string"==typeof b?this[b].call(this,c):void 0},k=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 h=[a,d,e,f],i=[];if(this.rtl=/rtl/i.test(g("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,h));else for(var j in this.libs)i.push(this.init_lib(j,c));return g(b).load(function(){g(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=h,a.add_namespace=i,a.bindings=j,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:g,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 a.data(b.length>0?b+"-"+c: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(){k(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.2",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){f.validate_on_blur&&f.validate_on_blur===!0&&c(this,a),"change"===f.validate_on&&c(this,a)}).on("keydown.fndtn.abide",function(a){f.live_validate&&f.live_validate===!0&&9!=a.which&&c(this,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=[],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(q.push(b[c][1].test(j)&&p||!i&&h.value.length<1||a(h).attr("disabled")?!0:!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.2",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).children("a").attr("aria-expanded","true"),f.multi_expand&&b.attr("aria-multiselectable","true")},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.alert={name:"alert",version:"5.5.2",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.2",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 b.css(!this.rtl&&b.length>0?{marginLeft:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10}:{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");return c?a.html(c).show():a.text("").hide(),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.2",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){var d=this.offsetParent(),e=d.offset(),f=a.offset();f.top-=e.top,f.left-=e.left,f.missRight=!1,f.missTop=!1,f.missLeft=!1,f.leftRightFlag=!1;var g;g=c.getElementsByClassName("row")[0]?c.getElementsByClassName("row")[0].clientWidth:b.innerWidth;var h=(b.innerWidth-g)/2,i=g;return this.hasClass("mega")||(a.offset().top<=this.outerHeight()&&(f.missTop=!0,i=b.innerWidth-h,f.leftRightFlag=!0),a.offset().left+this.outerWidth()>a.offset().left+h&&a.offset().left-h>this.outerWidth()&&(f.missRight=!0,f.missLeft=!1),a.offset().left-this.outerWidth()<=0&&(f.missLeft=!0,f.missRight=!1)),f},top:function(a,b){var c=Foundation.libs.dropdown,d=c.dirs._base.call(this,a);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=matchMedia(this.settings.named_queries.hasOwnProperty(f)?this.settings.named_queries[f]: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.2",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)){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.settings.$next_tip.css(this.rtl?{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}:{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.settings.$next_tip.css(this.rtl?{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()}:{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){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){a.addClass("auto"===b?c: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),this.settings={}},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs["magellan-expedition"]={name:"magellan-expedition",version:"5.5.2",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+"#"+j):location.hash=g.pathname+"#"+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.2",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="";"move"===this.settings.open_method?(d="move-",e="right",f="left"):"overlap_single"===this.settings.open_method?(d="offcanvas-overlap-",e="right",f="left"):"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",".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"))})},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,d){var e,f=this;c?"undefined"!=typeof c.selector?e=f.S("#"+c.data(f.data_attr("reveal-id"))).first():(e=f.S(this.scope),d=c):e=f.S(this.scope);var g=e.data(f.attr_name(!0)+"-init");if(g=g||this.settings,e.hasClass("open")&&c.attr("data-reveal-id")==e.attr("id"))return f.close(e);if(!e.hasClass("open")){var h=f.S("["+f.attr_name()+"].open");if("undefined"==typeof e.data("css-top")&&e.data("css-top",parseInt(e.css("top"),10)).data("offset",this.cache_offset(e)),e.attr("tabindex","0").attr("aria-hidden","false"),this.key_up_on(e),e.on("open.fndtn.reveal",function(a){"fndtn.reveal"!==a.namespace}),e.on("open.fndtn.reveal").trigger("open.fndtn.reveal"),h.length<1&&this.toggle_bg(e,!0),"string"==typeof d&&(d={url:d}),"undefined"!=typeof d&&d.url){var i="undefined"!=typeof d.success?d.success:null;a.extend(d,{success:function(b,c,d){if(a.isFunction(i)){var j=i(b,c,d);"string"==typeof j&&(b=j)}"undefined"!=typeof options&&"undefined"!=typeof options.replaceContentSel?e.find(options.replaceContentSel).html(b):e.html(b),f.S(e).foundation("section","reflow"),f.S(e).children().foundation(),h.length>0&&(g.multiple_opened?f.to_back(h):f.hide(h,g.css.close)),f.show(e,g.css.open)}}),g.on_ajax_error!==a.noop&&a.extend(d,{error:g.on_ajax_error}),a.ajax(d)}else h.length>0&&(g.multiple_opened?f.to_back(h):f.hide(h,g.css.close)),this.show(e,g.css.open)}f.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;c.length>0&&(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?(e.hide(b,d.css.close,d),e.to_front(a(a.makeArray(c).reverse()[1]))):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(j.fade){d.top=a(b).scrollTop()+c.data("css-top")+"px";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.2",settings:{start:0,end:100,step:1,precision:null,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(a){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(){this.hasOwnProperty("value")&&a(this).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.2",settings:{active_class:"active",callback:function(){},deep_linking:!1,scroll_to_content:!0,is_hover:!1},default_tab_hashes:[],init:function(a,c,d){var e=this,f=this.S;f("["+this.attr_name()+"] > .active > a",this.scope).each(function(){e.default_tab_hashes.push(this.hash)}),e.entry_location=b.location.href,this.bindings(c,d),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");(!e.is_hover||Modernizr.touch)&&(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=this,c=a.keyCode||a.which;9==c&&(a.preventDefault(),d(a,b))}).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=b.location.href===g.entry_location,d=o.scroll_to_content?g.default_tab_hashes[0]:c?b.location.hash:"fndtn-"+g.default_tab_hashes[0].replace("#","");c&&a===d||(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",tabindex:-1}),m.siblings().removeClass(o.active_class).attr({"aria-hidden":"true",tabindex:-1}),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.2",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,hover_delay:200,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;if(c.css("visibility","hidden").show(),e=b.data("width"),f=c.children(".nub"),g=f.outerHeight(),h=f.outerHeight(),c.css(this.small()?{width:"100%"}:{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()},i(c,b.offset().top+b.outerHeight()+10,"auto","auto",b.offset().left),this.small())i(c,b.offset().top+b.outerHeight()+10,"auto","auto",12.5,a(this.scope).width()),c.addClass("tip-override"),i(f,-g,"auto","auto",b.offset().left);else{var j=b.offset().left;Foundation.rtl&&(f.addClass("rtl"),j=b.offset().left+b.outerWidth()-c.outerWidth()),i(c,b.offset().top+b.outerHeight()+10,"auto","auto",j),f.attr("style")&&f.removeAttr("style"),c.removeClass("tip-override"),d&&d.indexOf("tip-top")>-1?(Foundation.rtl&&f.addClass("rtl"),i(c,b.offset().top-c.outerHeight(),"auto","auto",j).removeClass("tip-override")):d&&d.indexOf("tip-left")>-1?(i(c,b.offset().top+b.outerHeight()/2-c.outerHeight()/2,"auto","auto",b.offset().left-c.outerWidth()-g).removeClass("tip-override"),f.removeClass("rtl")):d&&d.indexOf("tip-right")>-1&&(i(c,b.offset().top+b.outerHeight()/2-c.outerHeight()/2,"auto","auto",b.offset().left+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(150)},hide:function(a){var b=this.getTip(a);b.fadeOut(150,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.2",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. '),a("h5>a",b).html(1==d.custom_back_text?d.back_text:"« "+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..c84960c --- /dev/null +++ b/js/foundation/js/foundation/foundation.abide.js @@ -0,0 +1,408 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.abide = { + name : 'abide', + + version : '5.5.2', + + settings : { + live_validate : true, + validate_on_blur : true, + // validate_on: 'tab', // tab (when user tabs between fields), change (input changes), manual (call custom events) + focus_on_invalid : true, + error_labels : true, // labels with a for="inputId" will recieve an `error` class + error_class : 'error', + 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) { + // old settings fallback + // will be deprecated with F6 release + if (settings.validate_on_blur && settings.validate_on_blur === true) { + validate(this, e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('keydown.fndtn.abide', function (e) { + // old settings fallback + // will be deprecated with F6 release + if (settings.live_validate && settings.live_validate === true && e.which != 9) { + validate(this, 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 = [], + 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..898ae85 --- /dev/null +++ b/js/foundation/js/foundation/foundation.accordion.js @@ -0,0 +1,88 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.accordion = { + name : 'accordion', + + version : '5.5.2', + + 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).children('a').attr('aria-expanded','true'); + + if (settings.multi_expand) { + $instance.attr('aria-multiselectable','true'); + } + }, + + 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..c37f950 --- /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.2', + + 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..78fe364 --- /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.2', + + 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 initializers 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) { + container + .html(caption) + .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..5c2e5bb --- /dev/null +++ b/js/foundation/js/foundation/foundation.dropdown.js @@ -0,0 +1,463 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.dropdown = { + name : 'dropdown', + + version : '5.5.2', + + 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) { + 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; + if (document.getElementsByClassName('row')[0]) { + actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth; + } else { + actualBodyWidth = window.innerWidth; + } + + var actualMarginWidth = (window.innerWidth - actualBodyWidth) / 2; + var actualBoundary = actualBodyWidth; + + if (!this.hasClass('mega')) { + //miss top + if (t.offset().top <= this.outerHeight()) { + p.missTop = true; + actualBoundary = window.innerWidth - actualMarginWidth; + p.leftRightFlag = true; + } + + //miss right + if (t.offset().left + this.outerWidth() > t.offset().left + actualMarginWidth && t.offset().left - actualMarginWidth > this.outerWidth()) { + p.missRight = true; + p.missLeft = false; + } + + //miss left + if (t.offset().left - this.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); + + 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); + + 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); + + 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); + + 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..23ab105 --- /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.2', + + 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..7ec2ad1 --- /dev/null +++ b/js/foundation/js/foundation/foundation.interchange.js @@ -0,0 +1,359 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.interchange = { + name : 'interchange', + + version : '5.5.2', + + 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 = 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..5433bf7 --- /dev/null +++ b/js/foundation/js/foundation/foundation.joyride.js @@ -0,0 +1,932 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + var Modernizr = Modernizr || false; + + Foundation.libs.joyride = { + name : 'joyride', + + version : '5.5.2', + + 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' or 'bottom' 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 + if (!/body/i.test(this.settings.$target.selector)) { + 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) { + 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); + this.settings = {}; + }, + + 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..122ddc2 --- /dev/null +++ b/js/foundation/js/foundation/foundation.js @@ -0,0 +1,725 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2014, 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 i = class_array.length; + var head = $('head'); + + while (i--) { + if (head.has('.' + class_array[i]).length === 0) { + head.append(''); + } + } + }; + + 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; + } + + window.Foundation = { + name : 'Foundation', + + version : '5.5.2', + + media_queries : { + 'small' : S('.foundation-mq-small').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'small-only' : S('.foundation-mq-small-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'medium' : S('.foundation-mq-medium').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'medium-only' : S('.foundation-mq-medium-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'large' : S('.foundation-mq-large').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'large-only' : S('.foundation-mq-large-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xlarge' : S('.foundation-mq-xlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xlarge-only' : S('.foundation-mq-xlarge-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xxlarge' : S('.foundation-mq-xxlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '') + }, + + 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..614923a --- /dev/null +++ b/js/foundation/js/foundation/foundation.magellan.js @@ -0,0 +1,215 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs['magellan-expedition'] = { + name : 'magellan-expedition', + + version : '5.5.2', + + 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 + '#' + hash); + } + else { + location.hash = anchor.pathname + '#' + 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..e73faaf --- /dev/null +++ b/js/foundation/js/foundation/foundation.offcanvas.js @@ -0,0 +1,152 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.offcanvas = { + name : 'offcanvas', + + version : '5.5.2', + + 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 = ''; + + if (this.settings.open_method === 'move') { + move_class = 'move-'; + right_postfix = 'right'; + left_postfix = 'left'; + } else if (this.settings.open_method === 'overlap_single') { + move_class = 'offcanvas-overlap-'; + right_postfix = 'right'; + left_postfix = 'left'; + } 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'); + }) + .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'); + }) + .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'); + } + }); + }, + + 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..51e2a04 --- /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.2', + + 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..f049f80 --- /dev/null +++ b/js/foundation/js/foundation/foundation.reveal.js @@ -0,0 +1,498 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.reveal = { + name : 'reveal', + + version : '5.5.2', + + 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.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 + }; + } + + if (typeof ajax_settings === 'undefined' || !ajax_settings.url) { + if (open_modal.length > 0) { + if (settings.multiple_opened) { + self.to_back(open_modal); + } else { + self.hide(open_modal, settings.css.close); + } + } + + this.show(modal, settings.css.open); + } 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(); + + if (open_modal.length > 0) { + if (settings.multiple_opened) { + self.to_back(open_modal); + } else { + self.hide(open_modal, settings.css.close); + } + } + self.show(modal, settings.css.open); + } + }); + + // 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) { + self.hide(modal, settings.css.close, settings); + self.to_front($($.makeArray(open_modals).reverse()[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); + } + + if (animData.fade) { + css.top = $(window).scrollTop() + el.data('css-top') + 'px'; + 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..5c8a40f --- /dev/null +++ b/js/foundation/js/foundation/foundation.slider.js @@ -0,0 +1,281 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.slider = { + name : 'slider', + + version : '5.5.2', + + settings : { + start : 0, + end : 100, + step : 1, + precision : null, + 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) { + 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.hasOwnProperty('value')) { + $(this).change(function(){ + // is there a better way to do this? + 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..7875dbe --- /dev/null +++ b/js/foundation/js/foundation/foundation.tab.js @@ -0,0 +1,249 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tab = { + name : 'tab', + + version : '5.5.2', + + 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); + }); + + // store the initial href, which is used to allow correct behaviour of the + // browser back button when deep linking is turned on. + self.entry_location = window.location.href; + + 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) { + 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 el = this; + var keyCode = e.keyCode || e.which; + // if user pressed tab key + if (keyCode == 9) { + e.preventDefault(); + // TODO: Change usual_tab_behavior into accessibility function? + 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 is_entry_location = window.location.href === self.entry_location, + default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : is_entry_location ? window.location.hash :'fndtn-' + self.default_tab_hashes[0].replace('#', '') + + if (!(is_entry_location && hash === default_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..c69f26c --- /dev/null +++ b/js/foundation/js/foundation/foundation.tooltip.js @@ -0,0 +1,339 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tooltip = { + name : 'tooltip', + + version : '5.5.2', + + settings : { + additional_inheritable_classes : [], + tooltip_class : '.tooltip', + append_to : 'body', + touch_close_text : 'Tap To Close', + disable_for_touch : false, + hover_delay : 200, + 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, column, objPos; + + tip.css('visibility', 'hidden').show(); + + width = target.data('width'); + nub = tip.children('.nub'); + nubHeight = nub.outerHeight(); + nubWidth = nub.outerHeight(); + + 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(); + }; + + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', target.offset().left); + + if (this.small()) { + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', 12.5, $(this.scope).width()); + tip.addClass('tip-override'); + objPos(nub, -nubHeight, 'auto', 'auto', target.offset().left); + } else { + var left = target.offset().left; + if (Foundation.rtl) { + nub.addClass('rtl'); + left = target.offset().left + target.outerWidth() - tip.outerWidth(); + } + + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', left); + // reset nub from small styles, if they've been applied + if (nub.attr('style')) { + nub.removeAttr('style'); + } + + tip.removeClass('tip-override'); + if (classes && classes.indexOf('tip-top') > -1) { + if (Foundation.rtl) { + nub.addClass('rtl'); + } + objPos(tip, (target.offset().top - tip.outerHeight()), 'auto', 'auto', left) + .removeClass('tip-override'); + } else if (classes && classes.indexOf('tip-left') > -1) { + objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left - tip.outerWidth() - nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } else if (classes && classes.indexOf('tip-right') > -1) { + objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().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(150); + }, + + hide : function ($target) { + var $tip = this.getTip($target); + $tip.fadeOut(150, 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..c3b0ed6 --- /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.2', + + 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..2b1d25d --- /dev/null +++ b/js/foundation/js/vendor/jquery.js @@ -0,0 +1,27 @@ +/*! + * 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..8f18453 --- /dev/null +++ b/package.json @@ -0,0 +1,14 @@ +{ + "name": "ToskiSands", + "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..e13eb37 --- /dev/null +++ b/page.php @@ -0,0 +1,32 @@ + +
          + +
          +
          + +
          +
          + +
          + +
          +
          + + + +

          + +
          +
          + +
          +
          +
          + + 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/glm-blocks.php b/parts/glm-blocks.php new file mode 100644 index 0000000..b326991 --- /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..d7a1783 --- /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..82fba5c --- /dev/null +++ b/parts/off-canvas-menu.php @@ -0,0 +1,3 @@ + 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..accd6a7 --- /dev/null +++ b/scss/_defaults.scss @@ -0,0 +1,9 @@ +// 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). + +/* 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..ae370e6 --- /dev/null +++ b/scss/_settings.scss @@ -0,0 +1,1474 @@ +// 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(960); +$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 : #a60409; +$d-blue : #131c5f; +$l-blue : #0093d1; +$blue : #1c3949; +$tan : #dbd39a; +$dark-red : #700d11; + +// 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: Arial; +$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)})"; + +$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)})"; + +$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(32); +$h2-font-size: rem-calc(22); +$h3-font-size: rem-calc(20); +$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(16); +// $topbar-link-hover-lightness: -10%; // Darken by 10% + $topbar-link-bg: $tan; + $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..68382c4 --- /dev/null +++ b/scss/_wordpress.scss @@ -0,0 +1,230 @@ +// 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, 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 { + 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/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..51b9bd7 --- /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-gradient(linear, left top, left bottom, color-stop(0.05, $from), color-stop(1, $to)); + background: -moz-linear-gradient(center top, $from 5%, $to 100%); + filter: progid:DXIm-ageTransform.Microsoft.gradient(startColorstr='#{$from}', endColorstr'#{$to}'); +} diff --git a/scss/mixins/_off-canvas-arrow.scss b/scss/mixins/_off-canvas-arrow.scss new file mode 100644 index 0000000..4beb816 --- /dev/null +++ b/scss/mixins/_off-canvas-arrow.scss @@ -0,0 +1,12 @@ +@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; + } +} \ 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..9a03e76 --- /dev/null +++ b/search.php @@ -0,0 +1,82 @@ + +
        + +

        Please enter a query in the search box.

        + +

        Search Results for ""

        +
        +
        + +
        +
        +
        > +
        +

        + Posted on +
        + +
        + $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

        + +
        + +
        +
        + \ No newline at end of file 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..95e681c --- /dev/null +++ b/single.php @@ -0,0 +1,84 @@ + +
        +
        +
        + +
        +
        +
        +
        +
        > + +
        + $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') . ''; + ?> +
        +
        +
        +
        +
        +
        + + +
        +

        +
        + +
        +
        +
        +
        +
        + +
        +
        +

        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/style.css b/style.css new file mode 100644 index 0000000..e9be49f --- /dev/null +++ b/style.css @@ -0,0 +1,7 @@ +/* +Theme Name: ToskiSands +Author: Gaslight Media +Author URI: http://www.gaslightmedia.com +Description: A theme for ToskiSands +Version: 1.234 +*/ -- 2.17.1