From bc7515101d03ad76ee5315859a46f48af4605c26 Mon Sep 17 00:00:00 2001 From: Ian Weller Date: Fri, 11 Nov 2016 08:52:54 -0500 Subject: [PATCH 1/1] first commit The first commit for Butterfly House --- .gitignore | 3 + Gruntfile.js | 84 + README.md | 28 + archive.php | 43 + bower.json | 6 + comments.php | 89 + css/app.css | 1 + css/app.css.map | 71 + favicon.ico | Bin 0 -> 1150 bytes footer.php | 56 + front-page.php | 22 + functions.php | 144 + header.php | 51 + home.php | 50 + index.php | 22 + js/app.js | 88 + js/custom/pageSetup.js | 79 + js/dollarsign.js | 6 + js/fastclick/lib/fastclick.js | 841 ++ js/foundation/css/foundation.css.map | 7 + js/foundation/css/normalize.css.map | 7 + js/foundation/js/foundation.js | 6581 ++++++++++ js/foundation/js/foundation.min.js | 5 + .../js/foundation/foundation.abide.js | 426 + .../js/foundation/foundation.accordion.js | 125 + .../js/foundation/foundation.alert.js | 43 + .../js/foundation/foundation.clearing.js | 586 + .../js/foundation/foundation.dropdown.js | 468 + .../js/foundation/foundation.equalizer.js | 104 + .../js/foundation/foundation.interchange.js | 360 + .../js/foundation/foundation.joyride.js | 935 ++ js/foundation/js/foundation/foundation.js | 732 ++ .../js/foundation/foundation.magellan.js | 214 + .../js/foundation/foundation.offcanvas.js | 225 + .../js/foundation/foundation.orbit.js | 476 + .../js/foundation/foundation.reveal.js | 522 + .../js/foundation/foundation.slider.js | 296 + js/foundation/js/foundation/foundation.tab.js | 247 + .../js/foundation/foundation.tooltip.js | 348 + .../js/foundation/foundation.topbar.js | 458 + js/foundation/js/vendor/fastclick.js | 8 + js/foundation/js/vendor/jquery.cookie.js | 8 + js/foundation/js/vendor/jquery.js | 26 + js/foundation/js/vendor/modernizr.js | 8 + js/foundation/js/vendor/placeholder.js | 2 + js/imageMapResizer.min.js | 8 + js/jquery-placeholder/jquery.placeholder.js | 192 + js/jquery.cookie/jquery.cookie.js | 117 + js/jquery/dist/core.js | 482 + js/jquery/dist/jquery.js | 10220 ++++++++++++++++ js/jquery/dist/jquery.min.js | 4 + js/jquery/dist/jquery.min.map | 1 + js/jquery/dist/jquery.slim.js | 8107 ++++++++++++ js/jquery/dist/jquery.slim.min.js | 4 + js/jquery/dist/jquery.slim.min.map | 1 + js/jquery/external/sizzle/dist/sizzle.js | 2272 ++++ js/jquery/external/sizzle/dist/sizzle.min.js | 3 + js/jquery/external/sizzle/dist/sizzle.min.map | 1 + js/jquery/src/ajax.js | 855 ++ js/jquery/src/ajax/jsonp.js | 102 + js/jquery/src/ajax/load.js | 76 + js/jquery/src/ajax/parseJSON.js | 13 + js/jquery/src/ajax/parseXML.js | 30 + js/jquery/src/ajax/script.js | 77 + js/jquery/src/ajax/var/location.js | 5 + js/jquery/src/ajax/var/nonce.js | 7 + js/jquery/src/ajax/var/rquery.js | 5 + js/jquery/src/ajax/xhr.js | 169 + js/jquery/src/attributes.js | 13 + js/jquery/src/attributes/attr.js | 140 + js/jquery/src/attributes/classes.js | 174 + js/jquery/src/attributes/prop.js | 143 + js/jquery/src/attributes/support.js | 33 + js/jquery/src/attributes/val.js | 188 + js/jquery/src/callbacks.js | 234 + js/jquery/src/core.js | 482 + js/jquery/src/core/DOMEval.js | 16 + js/jquery/src/core/access.js | 70 + js/jquery/src/core/init.js | 127 + js/jquery/src/core/parseHTML.js | 65 + js/jquery/src/core/ready-no-deferred.js | 105 + js/jquery/src/core/ready.js | 95 + js/jquery/src/core/readyException.js | 13 + js/jquery/src/core/stripAndCollapse.js | 14 + js/jquery/src/core/support.js | 20 + js/jquery/src/core/var/rsingleTag.js | 6 + js/jquery/src/css.js | 426 + js/jquery/src/css/addGetHookIf.js | 26 + js/jquery/src/css/adjustCSS.js | 71 + js/jquery/src/css/curCSS.js | 59 + js/jquery/src/css/defaultDisplay.js | 72 + js/jquery/src/css/hiddenVisibleSelectors.js | 15 + js/jquery/src/css/showHide.js | 105 + js/jquery/src/css/support.js | 89 + js/jquery/src/css/var/cssExpand.js | 5 + js/jquery/src/css/var/getStyles.js | 17 + js/jquery/src/css/var/isHidden.js | 16 + js/jquery/src/css/var/isHiddenWithinTree.js | 34 + js/jquery/src/css/var/rmargin.js | 5 + js/jquery/src/css/var/rnumnonpx.js | 7 + js/jquery/src/css/var/swap.js | 26 + js/jquery/src/data.js | 179 + js/jquery/src/data/Data.js | 161 + js/jquery/src/data/accepts.js | 20 + js/jquery/src/data/support.js | 23 + js/jquery/src/data/var/acceptData.js | 19 + js/jquery/src/data/var/dataPriv.js | 7 + js/jquery/src/data/var/dataUser.js | 7 + js/jquery/src/deferred.js | 389 + js/jquery/src/deferred/exceptionHook.js | 21 + js/jquery/src/deprecated.js | 30 + js/jquery/src/dimensions.js | 56 + js/jquery/src/effects.js | 693 ++ js/jquery/src/effects/Tween.js | 123 + js/jquery/src/effects/animatedSelector.js | 15 + js/jquery/src/effects/support.js | 58 + js/jquery/src/event.js | 745 ++ js/jquery/src/event/ajax.js | 22 + js/jquery/src/event/alias.js | 29 + js/jquery/src/event/focusin.js | 55 + js/jquery/src/event/support.js | 11 + js/jquery/src/event/trigger.js | 185 + js/jquery/src/exports/amd.js | 26 + js/jquery/src/exports/global.js | 34 + js/jquery/src/intro.js | 44 + js/jquery/src/jquery.js | 41 + js/jquery/src/manipulation.js | 486 + js/jquery/src/manipulation/_evalUrl.js | 23 + js/jquery/src/manipulation/buildFragment.js | 104 + .../src/manipulation/createSafeFragment.js | 20 + js/jquery/src/manipulation/getAll.js | 31 + js/jquery/src/manipulation/setGlobalEval.js | 22 + js/jquery/src/manipulation/support.js | 35 + js/jquery/src/manipulation/var/nodeNames.js | 5 + .../src/manipulation/var/rcheckableType.js | 5 + .../manipulation/var/rleadingWhitespace.js | 3 + js/jquery/src/manipulation/var/rscriptType.js | 5 + js/jquery/src/manipulation/var/rtagName.js | 5 + js/jquery/src/manipulation/wrapMap.js | 29 + js/jquery/src/offset.js | 232 + js/jquery/src/outro.js | 2 + js/jquery/src/queue.js | 145 + js/jquery/src/queue/delay.js | 24 + js/jquery/src/selector-native.js | 237 + js/jquery/src/selector-sizzle.js | 19 + js/jquery/src/selector.js | 3 + js/jquery/src/serialize.js | 130 + js/jquery/src/support.js | 63 + js/jquery/src/traversing.js | 178 + js/jquery/src/traversing/findFilter.js | 106 + js/jquery/src/traversing/var/dir.js | 22 + js/jquery/src/traversing/var/rneedsContext.js | 8 + js/jquery/src/traversing/var/siblings.js | 17 + js/jquery/src/var/ObjectFunctionString.js | 7 + js/jquery/src/var/arr.js | 5 + js/jquery/src/var/class2type.js | 6 + js/jquery/src/var/concat.js | 7 + js/jquery/src/var/deletedIds.js | 3 + js/jquery/src/var/document.js | 5 + js/jquery/src/var/documentElement.js | 7 + js/jquery/src/var/fnToString.js | 7 + js/jquery/src/var/getProto.js | 5 + js/jquery/src/var/hasOwn.js | 7 + js/jquery/src/var/indexOf.js | 7 + js/jquery/src/var/pnum.js | 5 + js/jquery/src/var/push.js | 7 + js/jquery/src/var/rcssNum.js | 9 + js/jquery/src/var/rnothtmlwhite.js | 8 + js/jquery/src/var/rnotwhite.js | 3 + js/jquery/src/var/slice.js | 7 + js/jquery/src/var/support.js | 6 + js/jquery/src/var/toString.js | 7 + js/jquery/src/wrap.js | 77 + 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 + lib/menu-walker.php | 81 + lib/navigation.php | 189 + mobile-map.php | 269 + nggallery/album-glmalbums.php | 60 + nggallery/gallery-glmphotos-8.php | 55 + nggallery/gallery-glmphotos-narrow.php | 55 + nggallery/gallery-glmphotos.php | 66 + nggallery/gallery-glmvideos.php | 72 + package.json | 14 + parts/blog-sidebar-r.php | 33 + parts/bread-crumbs.php | 8 + parts/client-info-footer.php | 49 + parts/client-info-offcanvas.php | 24 + parts/glm-blocks.php | 30 + parts/glm-kitchen-sink.php | 293 + parts/off-canvas-menu.php | 46 + parts/search.php | 6 + parts/slide-show.php | 6 + parts/top-bar.php | 10 + robots.txt | 4 + screenshot.png | Bin 0 -> 489593 bytes scss/_blog.scss | 136 + scss/_body.scss | 13 + scss/_content.scss | 0 scss/_copyright.scss | 18 + scss/_defaults.scss | 55 + scss/_left-off-canvas.scss | 94 + scss/_main.scss | 269 + scss/_mixins.scss | 2 + scss/_page.footer.scss | 167 + scss/_page.header.scss | 119 + scss/_page.wrapper.scss | 0 scss/_plugins.scss | 2 + scss/_right-off-canvas.scss | 78 + scss/_search.scss | 77 + scss/_settings.scss | 1479 +++ scss/_shadow.wrapper.scss | 0 scss/_sidebar.scss | 131 + scss/_slideshow.scss | 15 + scss/_structure.scss | 42 + scss/_topbar.scss | 217 + scss/_wordpress.scss | 239 + scss/admin/tinymce.css | 35 + scss/app.scss | 20 + scss/mixins/_gradient.scss | 10 + scss/mixins/_off-canvas-arrow.scss | 42 + scss/plugins/_gravityForms.scss | 14 + scss/plugins/_nextgen.scss | 40 + search.php | 112 + sidebar.php | 6 + single.php | 51 + style.css | 7 + 345 files changed, 66776 insertions(+) create mode 100644 .gitignore create mode 100644 Gruntfile.js create mode 100644 README.md create mode 100644 archive.php create mode 100644 bower.json create mode 100644 comments.php create mode 100644 css/app.css create mode 100644 css/app.css.map create mode 100644 favicon.ico 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.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/imageMapResizer.min.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/core.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/dist/jquery.slim.js create mode 100644 js/jquery/dist/jquery.slim.min.js create mode 100644 js/jquery/dist/jquery.slim.min.map create mode 100644 js/jquery/external/sizzle/dist/sizzle.js create mode 100644 js/jquery/external/sizzle/dist/sizzle.min.js create mode 100644 js/jquery/external/sizzle/dist/sizzle.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/location.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/DOMEval.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-no-deferred.js create mode 100644 js/jquery/src/core/ready.js create mode 100644 js/jquery/src/core/readyException.js create mode 100644 js/jquery/src/core/stripAndCollapse.js create mode 100644 js/jquery/src/core/support.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/adjustCSS.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/showHide.js create mode 100644 js/jquery/src/css/support.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/isHiddenWithinTree.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/css/var/swap.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/support.js create mode 100644 js/jquery/src/data/var/acceptData.js create mode 100644 js/jquery/src/data/var/dataPriv.js create mode 100644 js/jquery/src/data/var/dataUser.js create mode 100644 js/jquery/src/deferred.js create mode 100644 js/jquery/src/deferred/exceptionHook.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/effects/support.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/focusin.js create mode 100644 js/jquery/src/event/support.js create mode 100644 js/jquery/src/event/trigger.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/buildFragment.js create mode 100644 js/jquery/src/manipulation/createSafeFragment.js create mode 100644 js/jquery/src/manipulation/getAll.js create mode 100644 js/jquery/src/manipulation/setGlobalEval.js create mode 100644 js/jquery/src/manipulation/support.js create mode 100644 js/jquery/src/manipulation/var/nodeNames.js create mode 100644 js/jquery/src/manipulation/var/rcheckableType.js create mode 100644 js/jquery/src/manipulation/var/rleadingWhitespace.js create mode 100644 js/jquery/src/manipulation/var/rscriptType.js create mode 100644 js/jquery/src/manipulation/var/rtagName.js create mode 100644 js/jquery/src/manipulation/wrapMap.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/support.js 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/dir.js create mode 100644 js/jquery/src/traversing/var/rneedsContext.js create mode 100644 js/jquery/src/traversing/var/siblings.js create mode 100644 js/jquery/src/var/ObjectFunctionString.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/deletedIds.js create mode 100644 js/jquery/src/var/document.js create mode 100644 js/jquery/src/var/documentElement.js create mode 100644 js/jquery/src/var/fnToString.js create mode 100644 js/jquery/src/var/getProto.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/rcssNum.js create mode 100644 js/jquery/src/var/rnothtmlwhite.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/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 lib/menu-walker.php create mode 100644 lib/navigation.php create mode 100644 mobile-map.php 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 parts/blog-sidebar-r.php create mode 100644 parts/bread-crumbs.php create mode 100644 parts/client-info-footer.php create mode 100644 parts/client-info-offcanvas.php create mode 100644 parts/glm-blocks.php create mode 100644 parts/glm-kitchen-sink.php create mode 100644 parts/off-canvas-menu.php create mode 100644 parts/search.php create mode 100644 parts/slide-show.php create mode 100644 parts/top-bar.php create mode 100644 robots.txt create mode 100644 screenshot.png create mode 100644 scss/_blog.scss create mode 100644 scss/_body.scss create mode 100644 scss/_content.scss create mode 100644 scss/_copyright.scss create mode 100644 scss/_defaults.scss create mode 100644 scss/_left-off-canvas.scss create mode 100644 scss/_main.scss create mode 100644 scss/_mixins.scss create mode 100644 scss/_page.footer.scss create mode 100644 scss/_page.header.scss create mode 100644 scss/_page.wrapper.scss create mode 100644 scss/_plugins.scss create mode 100644 scss/_right-off-canvas.scss create mode 100644 scss/_search.scss create mode 100644 scss/_settings.scss create mode 100644 scss/_shadow.wrapper.scss create mode 100644 scss/_sidebar.scss create mode 100644 scss/_slideshow.scss create mode 100644 scss/_structure.scss create mode 100644 scss/_topbar.scss create mode 100644 scss/_wordpress.scss create mode 100644 scss/admin/tinymce.css create mode 100644 scss/app.scss create mode 100644 scss/mixins/_gradient.scss create mode 100644 scss/mixins/_off-canvas-arrow.scss create mode 100644 scss/plugins/_gravityForms.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..f8ed44e --- /dev/null +++ b/archive.php @@ -0,0 +1,43 @@ + +
+
+
+ + ID); ?> +
+ + ID, 'blog-feed-front'); ?> +
+ +
+ '; + } else { + echo '
'; + } + ?> +
> +

+
+ Posted on +
+ +
+ +
+
+ + + +
+

+
+ +
+ +
+ 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/comments.php b/comments.php new file mode 100644 index 0000000..353cd14 --- /dev/null +++ b/comments.php @@ -0,0 +1,89 @@ + 1 && get_option( 'page_comments' ) ) : +?> + + + +
+ + +

+ +

+ + + +
    + 'ol', + 'short_ping' => true, + 'avatar_size' => 56, + ) ); + ?> +
+ + + + + + +

+ + + 'button' + ) +); ?> + +
diff --git a/css/app.css b/css/app.css new file mode 100644 index 0000000..a987c68 --- /dev/null +++ b/css/app.css @@ -0,0 +1 @@ +meta.foundation-version{font-family:"/5.5.3/"}meta.foundation-mq-small{font-family:"/only screen/";width:0em}meta.foundation-mq-small-only{font-family:"/only screen and (max-width: 40em)/";width:0em}meta.foundation-mq-medium{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}meta.foundation-mq-medium-only{font-family:"/only screen and (min-width:40.063em) and (max-width:64em)/";width:40.063em}meta.foundation-mq-large{font-family:"/only screen and (min-width:64.063em)/";width:64.063em}meta.foundation-mq-large-only{font-family:"/only screen and (min-width:64.063em) and (max-width:90em)/";width:64.063em}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:90.063em)/";width:90.063em}meta.foundation-mq-xlarge-only{font-family:"/only screen and (min-width:90.063em) and (max-width:120em)/";width:90.063em}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:120.063em)/";width:120.063em}meta.foundation-data-attribute-namespace{font-family:false}html,body{height:100%}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body{font-size:100%}body{background:url(../assets/background.jpg) no-repeat center center fixed;color:#000000;cursor:auto;font-family:"Open Sans",sans-serif;font-style:normal;font-weight:normal;line-height:150%;margin:0;padding:0;position:relative}a:hover{cursor:pointer}img{max-width:100%;height:auto}img{-ms-interpolation-mode:bicubic}#map_canvas img,#map_canvas embed,#map_canvas object,.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}.left{float:left !important}.right{float:right !important}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.hide{display:none}.invisible{visibility:hidden}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px}select{width:100%}.row{margin:0 auto;max-width:62.5rem;width:100%}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row.collapse .row{margin-left:0;margin-right:0}.row .row{margin:0 -0.9375rem;max-width:none;width:auto}.row .row:before,.row .row:after{content:" ";display:table}.row .row:after{clear:both}.row .row.collapse{margin:0;max-width:none;width:auto}.row .row.collapse:before,.row .row.collapse:after{content:" ";display:table}.row .row.collapse:after{clear:both}.column,.columns{padding-left:0.9375rem;padding-right:0.9375rem;width:100%;float:left}.column+.column:last-child,.columns+.columns:last-child{float:right}.column+.column.end,.columns+.columns.end{float:left}@media only screen{.small-push-0{position:relative;left:0;right:auto}.small-pull-0{position:relative;right:0;left:auto}.small-push-1{position:relative;left:8.3333333333%;right:auto}.small-pull-1{position:relative;right:8.3333333333%;left:auto}.small-push-2{position:relative;left:16.6666666667%;right:auto}.small-pull-2{position:relative;right:16.6666666667%;left:auto}.small-push-3{position:relative;left:25%;right:auto}.small-pull-3{position:relative;right:25%;left:auto}.small-push-4{position:relative;left:33.3333333333%;right:auto}.small-pull-4{position:relative;right:33.3333333333%;left:auto}.small-push-5{position:relative;left:41.6666666667%;right:auto}.small-pull-5{position:relative;right:41.6666666667%;left:auto}.small-push-6{position:relative;left:50%;right:auto}.small-pull-6{position:relative;right:50%;left:auto}.small-push-7{position:relative;left:58.3333333333%;right:auto}.small-pull-7{position:relative;right:58.3333333333%;left:auto}.small-push-8{position:relative;left:66.6666666667%;right:auto}.small-pull-8{position:relative;right:66.6666666667%;left:auto}.small-push-9{position:relative;left:75%;right:auto}.small-pull-9{position:relative;right:75%;left:auto}.small-push-10{position:relative;left:83.3333333333%;right:auto}.small-pull-10{position:relative;right:83.3333333333%;left:auto}.small-push-11{position:relative;left:91.6666666667%;right:auto}.small-pull-11{position:relative;right:91.6666666667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.small-1{width:8.3333333333%}.small-2{width:16.6666666667%}.small-3{width:25%}.small-4{width:33.3333333333%}.small-5{width:41.6666666667%}.small-6{width:50%}.small-7{width:58.3333333333%}.small-8{width:66.6666666667%}.small-9{width:75%}.small-10{width:83.3333333333%}.small-11{width:91.6666666667%}.small-12{width:100%}.small-offset-0{margin-left:0 !important}.small-offset-1{margin-left:8.3333333333% !important}.small-offset-2{margin-left:16.6666666667% !important}.small-offset-3{margin-left:25% !important}.small-offset-4{margin-left:33.3333333333% !important}.small-offset-5{margin-left:41.6666666667% !important}.small-offset-6{margin-left:50% !important}.small-offset-7{margin-left:58.3333333333% !important}.small-offset-8{margin-left:66.6666666667% !important}.small-offset-9{margin-left:75% !important}.small-offset-10{margin-left:83.3333333333% !important}.small-offset-11{margin-left:91.6666666667% !important}.small-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.small-centered,.columns.small-centered{margin-left:auto;margin-right:auto;float:none}.column.small-uncentered,.columns.small-uncentered{float:left;margin-left:0;margin-right:0}.column.small-centered:last-child,.columns.small-centered:last-child{float:none}.column.small-uncentered:last-child,.columns.small-uncentered:last-child{float:left}.column.small-uncentered.opposite,.columns.small-uncentered.opposite{float:right}.row.small-collapse>.column,.row.small-collapse>.columns{padding-left:0;padding-right:0}.row.small-collapse .row{margin-left:0;margin-right:0}.row.small-uncollapse>.column,.row.small-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}}@media only screen and (min-width:40.063em){.medium-push-0{position:relative;left:0;right:auto}.medium-pull-0{position:relative;right:0;left:auto}.medium-push-1{position:relative;left:8.3333333333%;right:auto}.medium-pull-1{position:relative;right:8.3333333333%;left:auto}.medium-push-2{position:relative;left:16.6666666667%;right:auto}.medium-pull-2{position:relative;right:16.6666666667%;left:auto}.medium-push-3{position:relative;left:25%;right:auto}.medium-pull-3{position:relative;right:25%;left:auto}.medium-push-4{position:relative;left:33.3333333333%;right:auto}.medium-pull-4{position:relative;right:33.3333333333%;left:auto}.medium-push-5{position:relative;left:41.6666666667%;right:auto}.medium-pull-5{position:relative;right:41.6666666667%;left:auto}.medium-push-6{position:relative;left:50%;right:auto}.medium-pull-6{position:relative;right:50%;left:auto}.medium-push-7{position:relative;left:58.3333333333%;right:auto}.medium-pull-7{position:relative;right:58.3333333333%;left:auto}.medium-push-8{position:relative;left:66.6666666667%;right:auto}.medium-pull-8{position:relative;right:66.6666666667%;left:auto}.medium-push-9{position:relative;left:75%;right:auto}.medium-pull-9{position:relative;right:75%;left:auto}.medium-push-10{position:relative;left:83.3333333333%;right:auto}.medium-pull-10{position:relative;right:83.3333333333%;left:auto}.medium-push-11{position:relative;left:91.6666666667%;right:auto}.medium-pull-11{position:relative;right:91.6666666667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.medium-1{width:8.3333333333%}.medium-2{width:16.6666666667%}.medium-3{width:25%}.medium-4{width:33.3333333333%}.medium-5{width:41.6666666667%}.medium-6{width:50%}.medium-7{width:58.3333333333%}.medium-8{width:66.6666666667%}.medium-9{width:75%}.medium-10{width:83.3333333333%}.medium-11{width:91.6666666667%}.medium-12{width:100%}.medium-offset-0{margin-left:0 !important}.medium-offset-1{margin-left:8.3333333333% !important}.medium-offset-2{margin-left:16.6666666667% !important}.medium-offset-3{margin-left:25% !important}.medium-offset-4{margin-left:33.3333333333% !important}.medium-offset-5{margin-left:41.6666666667% !important}.medium-offset-6{margin-left:50% !important}.medium-offset-7{margin-left:58.3333333333% !important}.medium-offset-8{margin-left:66.6666666667% !important}.medium-offset-9{margin-left:75% !important}.medium-offset-10{margin-left:83.3333333333% !important}.medium-offset-11{margin-left:91.6666666667% !important}.medium-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.medium-centered,.columns.medium-centered{margin-left:auto;margin-right:auto;float:none}.column.medium-uncentered,.columns.medium-uncentered{float:left;margin-left:0;margin-right:0}.column.medium-centered:last-child,.columns.medium-centered:last-child{float:none}.column.medium-uncentered:last-child,.columns.medium-uncentered:last-child{float:left}.column.medium-uncentered.opposite,.columns.medium-uncentered.opposite{float:right}.row.medium-collapse>.column,.row.medium-collapse>.columns{padding-left:0;padding-right:0}.row.medium-collapse .row{margin-left:0;margin-right:0}.row.medium-uncollapse>.column,.row.medium-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}.push-0{position:relative;left:0;right:auto}.pull-0{position:relative;right:0;left:auto}.push-1{position:relative;left:8.3333333333%;right:auto}.pull-1{position:relative;right:8.3333333333%;left:auto}.push-2{position:relative;left:16.6666666667%;right:auto}.pull-2{position:relative;right:16.6666666667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.3333333333%;right:auto}.pull-4{position:relative;right:33.3333333333%;left:auto}.push-5{position:relative;left:41.6666666667%;right:auto}.pull-5{position:relative;right:41.6666666667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.3333333333%;right:auto}.pull-7{position:relative;right:58.3333333333%;left:auto}.push-8{position:relative;left:66.6666666667%;right:auto}.pull-8{position:relative;right:66.6666666667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.3333333333%;right:auto}.pull-10{position:relative;right:83.3333333333%;left:auto}.push-11{position:relative;left:91.6666666667%;right:auto}.pull-11{position:relative;right:91.6666666667%;left:auto}}@media only screen and (min-width:64.063em){.large-push-0{position:relative;left:0;right:auto}.large-pull-0{position:relative;right:0;left:auto}.large-push-1{position:relative;left:8.3333333333%;right:auto}.large-pull-1{position:relative;right:8.3333333333%;left:auto}.large-push-2{position:relative;left:16.6666666667%;right:auto}.large-pull-2{position:relative;right:16.6666666667%;left:auto}.large-push-3{position:relative;left:25%;right:auto}.large-pull-3{position:relative;right:25%;left:auto}.large-push-4{position:relative;left:33.3333333333%;right:auto}.large-pull-4{position:relative;right:33.3333333333%;left:auto}.large-push-5{position:relative;left:41.6666666667%;right:auto}.large-pull-5{position:relative;right:41.6666666667%;left:auto}.large-push-6{position:relative;left:50%;right:auto}.large-pull-6{position:relative;right:50%;left:auto}.large-push-7{position:relative;left:58.3333333333%;right:auto}.large-pull-7{position:relative;right:58.3333333333%;left:auto}.large-push-8{position:relative;left:66.6666666667%;right:auto}.large-pull-8{position:relative;right:66.6666666667%;left:auto}.large-push-9{position:relative;left:75%;right:auto}.large-pull-9{position:relative;right:75%;left:auto}.large-push-10{position:relative;left:83.3333333333%;right:auto}.large-pull-10{position:relative;right:83.3333333333%;left:auto}.large-push-11{position:relative;left:91.6666666667%;right:auto}.large-pull-11{position:relative;right:91.6666666667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.large-1{width:8.3333333333%}.large-2{width:16.6666666667%}.large-3{width:25%}.large-4{width:33.3333333333%}.large-5{width:41.6666666667%}.large-6{width:50%}.large-7{width:58.3333333333%}.large-8{width:66.6666666667%}.large-9{width:75%}.large-10{width:83.3333333333%}.large-11{width:91.6666666667%}.large-12{width:100%}.large-offset-0{margin-left:0 !important}.large-offset-1{margin-left:8.3333333333% !important}.large-offset-2{margin-left:16.6666666667% !important}.large-offset-3{margin-left:25% !important}.large-offset-4{margin-left:33.3333333333% !important}.large-offset-5{margin-left:41.6666666667% !important}.large-offset-6{margin-left:50% !important}.large-offset-7{margin-left:58.3333333333% !important}.large-offset-8{margin-left:66.6666666667% !important}.large-offset-9{margin-left:75% !important}.large-offset-10{margin-left:83.3333333333% !important}.large-offset-11{margin-left:91.6666666667% !important}.large-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.large-centered,.columns.large-centered{margin-left:auto;margin-right:auto;float:none}.column.large-uncentered,.columns.large-uncentered{float:left;margin-left:0;margin-right:0}.column.large-centered:last-child,.columns.large-centered:last-child{float:none}.column.large-uncentered:last-child,.columns.large-uncentered:last-child{float:left}.column.large-uncentered.opposite,.columns.large-uncentered.opposite{float:right}.row.large-collapse>.column,.row.large-collapse>.columns{padding-left:0;padding-right:0}.row.large-collapse .row{margin-left:0;margin-right:0}.row.large-uncollapse>.column,.row.large-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}.push-0{position:relative;left:0;right:auto}.pull-0{position:relative;right:0;left:auto}.push-1{position:relative;left:8.3333333333%;right:auto}.pull-1{position:relative;right:8.3333333333%;left:auto}.push-2{position:relative;left:16.6666666667%;right:auto}.pull-2{position:relative;right:16.6666666667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.3333333333%;right:auto}.pull-4{position:relative;right:33.3333333333%;left:auto}.push-5{position:relative;left:41.6666666667%;right:auto}.pull-5{position:relative;right:41.6666666667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.3333333333%;right:auto}.pull-7{position:relative;right:58.3333333333%;left:auto}.push-8{position:relative;left:66.6666666667%;right:auto}.pull-8{position:relative;right:66.6666666667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.3333333333%;right:auto}.pull-10{position:relative;right:83.3333333333%;left:auto}.push-11{position:relative;left:91.6666666667%;right:auto}.pull-11{position:relative;right:91.6666666667%;left:auto}}.accordion{margin-bottom:0;margin-left:0}.accordion:before,.accordion:after{content:" ";display:table}.accordion:after{clear:both}.accordion .accordion-navigation,.accordion dd{display:block;margin-bottom:0 !important}.accordion .accordion-navigation.active>a,.accordion dd.active>a{background:#e8e8e8;color:#222222}.accordion .accordion-navigation>a,.accordion dd>a{background:#EFEFEF;color:#222222;display:block;font-family:"Open Sans",sans-serif;font-size:1rem;padding:1rem}.accordion .accordion-navigation>a:hover,.accordion dd>a:hover{background:#e3e3e3}.accordion .accordion-navigation>.content,.accordion dd>.content{display:none;padding:0.9375rem}.accordion .accordion-navigation>.content.active,.accordion dd>.content.active{background:#FFFFFF;display:block}.alert-box{border-style:solid;border-width:1px;display:block;font-size:0.8125rem;font-weight:normal;margin-bottom:1.25rem;padding:0.875rem 1.5rem 0.875rem 0.875rem;position:relative;transition:opacity 300ms ease-out;background-color:#008CBA;border-color:#0078a0;color:#FFFFFF}.alert-box .close{right:0.25rem;background:inherit;color:#333333;font-size:1.375rem;line-height:.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:0px;display:block;list-style:none;margin-left:0;overflow:hidden;padding:0.5625rem 0.875rem 0.5625rem;background-color:transparent;border-color:transparent;border-radius:3px}.breadcrumbs>*{color:#000000;float:left;font-size:0.875rem;line-height:0.875rem;margin:0;text-transform:none}.breadcrumbs>*:hover a,.breadcrumbs>*:focus a{text-decoration:none}.breadcrumbs>* a{color:#000000}.breadcrumbs>*.current{color:#797c25;cursor:default}.breadcrumbs>*.current a{color:#797c25;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:false;text-decoration:none}.breadcrumbs>*:before{color:#000000;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:"Open Sans",sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;background-color:#008CBA;border-color:#007095;color:#FFFFFF;transition:background-color 300ms ease-out}button:hover,button:focus,.button:hover,.button:focus{background-color:#007095}button:hover,button:focus,.button:hover,.button:focus{color:#FFFFFF}button.secondary,.button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333333}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{background-color:#b9b9b9}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{color:#333333}button.success,.button.success{background-color:#43AC6A;border-color:#368a55;color:#FFFFFF}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{background-color:#368a55}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{color:#FFFFFF}button.alert,.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#FFFFFF}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{background-color:#cf2a0e}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{color:#FFFFFF}button.warning,.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#FFFFFF}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{background-color:#cf6e0e}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{color:#FFFFFF}button.info,.button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333333}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{background-color:#61b6d9}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{color:#FFFFFF}button.large,.button.large{padding:1.125rem 2.25rem 1.1875rem 2.25rem;font-size:1.25rem}button.small,.button.small{padding:0.875rem 1.75rem 0.9375rem 1.75rem;font-size:0.8125rem}button.tiny,.button.tiny{padding:0.625rem 1.25rem 0.6875rem 1.25rem;font-size:0.6875rem}button.expand,.button.expand{padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;padding-bottom:1.0625rem;padding-top:1rem;padding-left:1rem;padding-right:1rem;width:100%}button.left-align,.button.left-align{text-align:left;text-indent:0.75rem}button.right-align,.button.right-align{text-align:right;padding-right:0.75rem}button.radius,.button.radius{border-radius:3px}button.round,.button.round{border-radius:1000px}button.disabled,button[disabled],.button.disabled,.button[disabled]{background-color:#008CBA;border-color:#007095;color:#FFFFFF;box-shadow:none;cursor:default;opacity:0.7}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#007095}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{color:#FFFFFF}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#008CBA}button.disabled.secondary,button[disabled].secondary,.button.disabled.secondary,.button[disabled].secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333333;box-shadow:none;cursor:default;opacity:0.7}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#b9b9b9}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{color:#333333}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#e7e7e7}button.disabled.success,button[disabled].success,.button.disabled.success,.button[disabled].success{background-color:#43AC6A;border-color:#368a55;color:#FFFFFF;box-shadow:none;cursor:default;opacity:0.7}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#368a55}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{color:#FFFFFF}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#43AC6A}button.disabled.alert,button[disabled].alert,.button.disabled.alert,.button[disabled].alert{background-color:#f04124;border-color:#cf2a0e;color:#FFFFFF;box-shadow:none;cursor:default;opacity:0.7}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#cf2a0e}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{color:#FFFFFF}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#f04124}button.disabled.warning,button[disabled].warning,.button.disabled.warning,.button[disabled].warning{background-color:#f08a24;border-color:#cf6e0e;color:#FFFFFF;box-shadow:none;cursor:default;opacity:0.7}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#cf6e0e}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{color:#FFFFFF}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#f08a24}button.disabled.info,button[disabled].info,.button.disabled.info,.button[disabled].info{background-color:#a0d3e8;border-color:#61b6d9;color:#333333;box-shadow:none;cursor:default;opacity:0.7}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#61b6d9}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{color:#FFFFFF}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#a0d3e8}button::-moz-focus-inner{border:0;padding:0}@media only screen and (min-width:40.063em){button,.button{display:inline-block}}.button-group{list-style:none;margin:0;left:0}.button-group:before,.button-group:after{content:" ";display:table}.button-group:after{clear:both}.button-group.even-2 li{display:inline-block;margin:0 -2px;width:50%}.button-group.even-2 li>button,.button-group.even-2 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-2 li:first-child button,.button-group.even-2 li:first-child .button{border-left:0}.button-group.even-2 li button,.button-group.even-2 li .button{width:100%}.button-group.even-3 li{display:inline-block;margin:0 -2px;width:33.3333333333%}.button-group.even-3 li>button,.button-group.even-3 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-3 li:first-child button,.button-group.even-3 li:first-child .button{border-left:0}.button-group.even-3 li button,.button-group.even-3 li .button{width:100%}.button-group.even-4 li{display:inline-block;margin:0 -2px;width:25%}.button-group.even-4 li>button,.button-group.even-4 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-4 li:first-child button,.button-group.even-4 li:first-child .button{border-left:0}.button-group.even-4 li button,.button-group.even-4 li .button{width:100%}.button-group.even-5 li{display:inline-block;margin:0 -2px;width:20%}.button-group.even-5 li>button,.button-group.even-5 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-5 li:first-child button,.button-group.even-5 li:first-child .button{border-left:0}.button-group.even-5 li button,.button-group.even-5 li .button{width:100%}.button-group.even-6 li{display:inline-block;margin:0 -2px;width:16.6666666667%}.button-group.even-6 li>button,.button-group.even-6 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-6 li:first-child button,.button-group.even-6 li:first-child .button{border-left:0}.button-group.even-6 li button,.button-group.even-6 li .button{width:100%}.button-group.even-7 li{display:inline-block;margin:0 -2px;width:14.2857142857%}.button-group.even-7 li>button,.button-group.even-7 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-7 li:first-child button,.button-group.even-7 li:first-child .button{border-left:0}.button-group.even-7 li button,.button-group.even-7 li .button{width:100%}.button-group.even-8 li{display:inline-block;margin:0 -2px;width:12.5%}.button-group.even-8 li>button,.button-group.even-8 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-8 li:first-child button,.button-group.even-8 li:first-child .button{border-left:0}.button-group.even-8 li button,.button-group.even-8 li .button{width:100%}.button-group>li{display:inline-block;margin:0 -2px}.button-group>li>button,.button-group>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group>li:first-child button,.button-group>li:first-child .button{border-left:0}.button-group.stack>li{display:block;margin:0;float:none}.button-group.stack>li>button,.button-group.stack>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-left:0}.button-group.stack>li>button,.button-group.stack>li .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.stack>li>button{width:100%}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-top:0}.button-group.stack-for-small>li{display:inline-block;margin:0 -2px}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}@media only screen and (max-width: 40em){.button-group.stack-for-small>li{display:block;margin:0;width:100%;}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.stack-for-small>li>button{width:100%}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-top:0}}.button-group.radius>*{display:inline-block;margin:0 -2px}.button-group.radius>*>button,.button-group.radius>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius>*:first-child button,.button-group.radius>*:first-child .button{border-left:0}.button-group.radius>*,.button-group.radius>*>a,.button-group.radius>*>button,.button-group.radius>*>.button{border-radius:0}.button-group.radius>*:first-child,.button-group.radius>*:first-child>a,.button-group.radius>*:first-child>button,.button-group.radius>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius>*:last-child,.button-group.radius>*:last-child>a,.button-group.radius>*:last-child>button,.button-group.radius>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*{display:block;margin:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-left:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.radius.stack>*>button{width:100%}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-top:0}.button-group.radius.stack>*,.button-group.radius.stack>*>a,.button-group.radius.stack>*>button,.button-group.radius.stack>*>.button{border-radius:0}.button-group.radius.stack>*:first-child,.button-group.radius.stack>*:first-child>a,.button-group.radius.stack>*:first-child>button,.button-group.radius.stack>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*:last-child,.button-group.radius.stack>*:last-child>a,.button-group.radius.stack>*:last-child>button,.button-group.radius.stack>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}@media only screen and (min-width:40.063em){.button-group.radius.stack-for-small>*{display:inline-block;margin:0 -2px;}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}}@media only screen and (max-width: 40em){.button-group.radius.stack-for-small>*{display:block;margin:0;}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.radius.stack-for-small>*>button{width:100%}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-top:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}}.button-group.round>*{display:inline-block;margin:0 -2px}.button-group.round>*>button,.button-group.round>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round>*:first-child button,.button-group.round>*:first-child .button{border-left:0}.button-group.round>*,.button-group.round>*>a,.button-group.round>*>button,.button-group.round>*>.button{border-radius:0}.button-group.round>*:first-child,.button-group.round>*:first-child>a,.button-group.round>*:first-child>button,.button-group.round>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round>*:last-child,.button-group.round>*:last-child>a,.button-group.round>*:last-child>button,.button-group.round>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.button-group.round.stack>*{display:block;margin:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-left:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.round.stack>*>button{width:100%}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-top:0}.button-group.round.stack>*,.button-group.round.stack>*>a,.button-group.round.stack>*>button,.button-group.round.stack>*>.button{border-radius:0}.button-group.round.stack>*:first-child,.button-group.round.stack>*:first-child>a,.button-group.round.stack>*:first-child>button,.button-group.round.stack>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack>*:last-child,.button-group.round.stack>*:last-child>a,.button-group.round.stack>*:last-child>button,.button-group.round.stack>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}@media only screen and (min-width:40.063em){.button-group.round.stack-for-small>*{display:inline-block;margin:0 -2px;}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}}@media only screen and (max-width: 40em){.button-group.round.stack-for-small>*{display:block;margin:0;}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.round.stack-for-small>*>button{width:100%}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-top:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}}.button-bar:before,.button-bar:after{content:" ";display:table}.button-bar:after{clear:both}.button-bar .button-group{float:left;margin-right:0.625rem}.button-bar .button-group div{overflow:hidden}.clearing-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:.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:.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:.3}.clearing-assembled .clearing-container .carousel{background:rgba(51,51,51,0.8);height:120px;margin-top:10px;text-align:center}.clearing-assembled .clearing-container .carousel>ul{display:inline-block;z-index:999;height:100%;position:relative;float:none}.clearing-assembled .clearing-container .carousel>ul li{clear:none;cursor:pointer;display:block;float:left;margin-right:0;min-height:inherit;opacity:.4;overflow:hidden;padding:0;position:relative;width:120px}.clearing-assembled .clearing-container .carousel>ul li.fix-height img{height:100%;max-width:none}.clearing-assembled .clearing-container .carousel>ul li a.th{border:none;box-shadow:none;display:block}.clearing-assembled .clearing-container .carousel>ul li img{cursor:pointer !important;width:100% !important}.clearing-assembled .clearing-container .carousel>ul li.visible{opacity:1}.clearing-assembled .clearing-container .carousel>ul li:hover{opacity:.8}.clearing-assembled .clearing-container .visible-img{background:#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 a{display:block;padding:0.5rem;color:#555555}.f-dropdown.content{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;height:auto;max-height:none;padding:1rem;width:100%;z-index:89;max-width:200px}.f-dropdown.content.open{display:block}.f-dropdown.content>*:first-child{margin-top:0}.f-dropdown.content>*:last-child{margin-bottom:0}.f-dropdown.radius{border-radius:3px}.f-dropdown.tiny{max-width:200px}.f-dropdown.small{max-width:300px}.f-dropdown.medium{max-width:500px}.f-dropdown.large{max-width:800px}.f-dropdown.mega{width:100% !important;max-width:100% !important}.f-dropdown.mega.open{left:0 !important}.dropdown.button,button.dropdown{position:relative;padding-right:3.5625rem}.dropdown.button::after,button.dropdown::after{border-color:#FFFFFF transparent transparent transparent;border-style:solid;content:"";display:block;height:0;position:absolute;top:50%;width:0}.dropdown.button::after,button.dropdown::after{border-width:0.375rem;right:1.40625rem;margin-top:-0.15625rem}.dropdown.button::after,button.dropdown::after{border-color:#FFFFFF transparent transparent transparent}.dropdown.button.tiny,button.dropdown.tiny{padding-right:2.625rem}.dropdown.button.tiny:after,button.dropdown.tiny:after{border-width:0.375rem;right:1.125rem;margin-top:-0.125rem}.dropdown.button.tiny::after,button.dropdown.tiny::after{border-color:#FFFFFF transparent transparent transparent}.dropdown.button.small,button.dropdown.small{padding-right:3.0625rem}.dropdown.button.small::after,button.dropdown.small::after{border-width:0.4375rem;right:1.3125rem;margin-top:-0.15625rem}.dropdown.button.small::after,button.dropdown.small::after{border-color:#FFFFFF transparent transparent transparent}.dropdown.button.large,button.dropdown.large{padding-right:3.625rem}.dropdown.button.large::after,button.dropdown.large::after{border-width:0.3125rem;right:1.71875rem;margin-top:-0.15625rem}.dropdown.button.large::after,button.dropdown.large::after{border-color:#FFFFFF transparent transparent transparent}.dropdown.button.secondary:after,button.dropdown.secondary:after{border-color:#333333 transparent transparent transparent}.flex-video{height:0;margin-bottom:1rem;overflow:hidden;padding-bottom:67.5%;padding-top:1.5625rem;position:relative}.flex-video.widescreen{padding-bottom:56.34%}.flex-video.vimeo{padding-top:0}.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{height:100%;position:absolute;top:0;width:100%;left:0}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:none;padding-left:0;padding-right:0;padding-bottom:0;padding-top:0;text-align:center}.prefix.button{border:none;padding-left:0;padding-right:0;padding-bottom:0;padding-top:0;text-align:center}.prefix.button.radius{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.postfix.button.radius{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.prefix.button.round{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.postfix.button.round{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}span.prefix,label.prefix{background:#f2f2f2;border-right:none;color:#333333;border-color:#cccccc}span.postfix,label.postfix{background:#f2f2f2;border-left:none;color:#333333;border-color:#cccccc}input:not([type]),input[type="text"],input[type="password"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],input[type="color"],textarea{-webkit-appearance:none;-moz-appearance:none;border-radius:0;background-color:#FFFFFF;border-style:solid;border-width:1px;border-color:#cccccc;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);color:rgba(0,0,0,0.75);display:block;font-family:inherit;font-size:0.875rem;height:2.3125rem;margin:0 0 1rem 0;padding:0.5rem;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color 0.15s linear,background 0.15s linear;-moz-transition:border-color 0.15s linear,background 0.15s linear;-ms-transition:border-color 0.15s linear,background 0.15s linear;-o-transition:border-color 0.15s linear,background 0.15s linear;transition:border-color 0.15s linear,background 0.15s linear}input:not([type]):focus,input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="week"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input[type="color"]:focus,textarea:focus{background:#fafafa;border-color:#999999;outline:none}input:not([type]):disabled,input[type="text"]:disabled,input[type="password"]:disabled,input[type="date"]:disabled,input[type="datetime"]:disabled,input[type="datetime-local"]:disabled,input[type="month"]:disabled,input[type="week"]:disabled,input[type="email"]:disabled,input[type="number"]:disabled,input[type="search"]:disabled,input[type="tel"]:disabled,input[type="time"]:disabled,input[type="url"]:disabled,input[type="color"]:disabled,textarea:disabled{background-color:#DDDDDD;cursor:default}input:not([type])[disabled],input:not([type])[readonly],fieldset[disabled] input:not([type]),input[type="text"][disabled],input[type="text"][readonly],fieldset[disabled] input[type="text"],input[type="password"][disabled],input[type="password"][readonly],fieldset[disabled] input[type="password"],input[type="date"][disabled],input[type="date"][readonly],fieldset[disabled] input[type="date"],input[type="datetime"][disabled],input[type="datetime"][readonly],fieldset[disabled] input[type="datetime"],input[type="datetime-local"][disabled],input[type="datetime-local"][readonly],fieldset[disabled] input[type="datetime-local"],input[type="month"][disabled],input[type="month"][readonly],fieldset[disabled] input[type="month"],input[type="week"][disabled],input[type="week"][readonly],fieldset[disabled] input[type="week"],input[type="email"][disabled],input[type="email"][readonly],fieldset[disabled] input[type="email"],input[type="number"][disabled],input[type="number"][readonly],fieldset[disabled] input[type="number"],input[type="search"][disabled],input[type="search"][readonly],fieldset[disabled] input[type="search"],input[type="tel"][disabled],input[type="tel"][readonly],fieldset[disabled] input[type="tel"],input[type="time"][disabled],input[type="time"][readonly],fieldset[disabled] input[type="time"],input[type="url"][disabled],input[type="url"][readonly],fieldset[disabled] input[type="url"],input[type="color"][disabled],input[type="color"][readonly],fieldset[disabled] input[type="color"],textarea[disabled],textarea[readonly],fieldset[disabled] textarea{background-color:#DDDDDD;cursor:default}input:not([type]).radius,input[type="text"].radius,input[type="password"].radius,input[type="date"].radius,input[type="datetime"].radius,input[type="datetime-local"].radius,input[type="month"].radius,input[type="week"].radius,input[type="email"].radius,input[type="number"].radius,input[type="search"].radius,input[type="tel"].radius,input[type="time"].radius,input[type="url"].radius,input[type="color"].radius,textarea.radius{border-radius:3px}form .row .prefix-radius.row.collapse input,form .row .prefix-radius.row.collapse textarea,form .row .prefix-radius.row.collapse select,form .row .prefix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-radius.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse input,form .row .postfix-radius.row.collapse textarea,form .row .postfix-radius.row.collapse select,form .row .postfix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-round.row.collapse input,form .row .prefix-round.row.collapse textarea,form .row .prefix-round.row.collapse select,form .row .prefix-round.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}form .row .prefix-round.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse input,form .row .postfix-round.row.collapse textarea,form .row .postfix-round.row.collapse select,form .row .postfix-round.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}input[type="submit"]{-webkit-appearance:none;-moz-appearance:none;border-radius:0}textarea[rows]{height:auto}textarea{max-width:100%}::-webkit-input-placeholder{color:#666666}:-moz-placeholder{color:#666666}::-moz-placeholder{color:#666666}:-ms-input-placeholder{color:#666666}select{-webkit-appearance:none !important;-moz-appearance:none !important;background-color:#FAFAFA;border-radius:0;background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+');background-position:100% center;background-repeat:no-repeat;border-style:solid;border-width:1px;border-color:#cccccc;color:rgba(0,0,0,0.75);font-family:inherit;font-size:0.875rem;line-height:normal;padding:0.5rem;border-radius:0;height:2.3125rem}select::-ms-expand{display:none}select.radius{border-radius:3px}select:focus{background-color:#f3f3f3;border-color:#999999}select:disabled{background-color:#DDDDDD;cursor:default}select[multiple]{height:auto}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{font-weight:bold;margin:0;margin-left:-0.1875rem;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:.0625rem}.icon-bar>* i{font-size:1.875rem;vertical-align:middle}.icon-bar>* img{height:1.875rem;width:1.875rem}.icon-bar.label-right>* i,.icon-bar.label-right>* img{display:inline-block;margin:0 .0625rem 0 0}.icon-bar.label-right>* i+label,.icon-bar.label-right>* img+label{margin-top:0}.icon-bar.label-right>* label{display:inline-block}.icon-bar.vertical.label-right>*{text-align:left}.icon-bar.vertical,.icon-bar.small-vertical{height:100%;width:auto}.icon-bar.vertical .item,.icon-bar.small-vertical .item{float:none;margin:auto;width:auto}@media only screen and (min-width:40.063em){.icon-bar.medium-vertical{height:100%;width:auto;}.icon-bar.medium-vertical .item{float:none;margin:auto;width:auto}}@media only screen and (min-width:64.063em){.icon-bar.large-vertical{height:100%;width:auto;}.icon-bar.large-vertical .item{float:none;margin:auto;width:auto}}.icon-bar>*{font-size:1rem;padding:1.25rem}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem;font-size:1rem}.icon-bar>* i{font-size:1.875rem}.icon-bar>* img{height:1.875rem;width:1.875rem}.icon-bar>* label{color:#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:false;opacity:0.7;pointer-events:none}.icon-bar .item.disabled>*{opacity:0.7;cursor:false}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.two-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.two-up.large-vertical .item{width:auto;}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.three-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.three-up.large-vertical .item{width:auto;}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.four-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.four-up.large-vertical .item{width:auto;}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.five-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.five-up.large-vertical .item{width:auto;}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.six-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.six-up.large-vertical .item{width:auto;}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.seven-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.seven-up.large-vertical .item{width:auto;}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.eight-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.eight-up.large-vertical .item{width:auto;}}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.two-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.two-up.large-vertical .item{width:auto;}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.three-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.three-up.large-vertical .item{width:auto;}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.four-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.four-up.large-vertical .item{width:auto;}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.five-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.five-up.large-vertical .item{width:auto;}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.six-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.six-up.large-vertical .item{width:auto;}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.seven-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.seven-up.large-vertical .item{width:auto;}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.eight-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.eight-up.large-vertical .item{width:auto;}}.inline-list{list-style:none;margin-top:0;margin-bottom:1.0625rem;margin-left:-1.375rem;margin-right:0;overflow:hidden;padding:0}.inline-list>li{display:block;float:left;list-style:none;margin-left:1.375rem}.inline-list>li>*{display:block}.joyride-list{display:none}.joyride-tip-guide{background:#333333;color:#FFFFFF;display:none;font-family:inherit;font-weight:normal;position:absolute;top:0;width:95%;z-index:103;left:2.5%}.lt-ie9 .joyride-tip-guide{margin-left:-400px;max-width:800px;left:50%}.joyride-content-wrapper{padding:1.125rem 1.25rem 1.5rem;width:100%}.joyride-content-wrapper .button{margin-bottom:0 !important}.joyride-content-wrapper .joyride-prev-tip{margin-right:10px}.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:.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{.joyride-tip-guide{width:300px;left:inherit}.joyride-tip-guide .joyride-nub.bottom{border-color:#333333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{border-color:#333333 !important;border-right-color:transparent !important;border-bottom-color:transparent !important;border-top-color:transparent !important;left:auto;right:-20px;top:22px}.joyride-tip-guide .joyride-nub.left{border-color:#333333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-top-color:transparent !important;left:-20px;right:auto;top:22px}}.keystroke,kbd{background-color:#ededed;border-color:#dddddd;color:#222222;border-style:solid;border-width:1px;font-family:"Consolas","Menlo","Courier",monospace;font-size:inherit;margin:0;padding:0.125rem 0.25rem 0;border-radius:3px}.label{display:inline-block;font-family:"Open Sans",sans-serif;font-weight:normal;line-height:1;margin-bottom:auto;position:relative;text-align:center;text-decoration:none;white-space:nowrap;padding:0.25rem 0.5rem 0.25rem;font-size:0.6875rem;background-color:#008CBA;color:#FFFFFF}.label.radius{border-radius:3px}.label.round{border-radius:1000px}.label.alert{background-color:#f04124;color:#FFFFFF}.label.warning{background-color:#f08a24;color:#FFFFFF}.label.success{background-color:#43AC6A;color:#FFFFFF}.label.secondary{background-color:#e7e7e7;color:#333333}.label.info{background-color:#a0d3e8;color:#333333}[data-magellan-expedition],[data-magellan-expedition-clone]{background:#FFFFFF;min-width:100%;padding:10px;z-index:50}[data-magellan-expedition] .sub-nav,[data-magellan-expedition-clone] .sub-nav{margin-bottom:0}[data-magellan-expedition] .sub-nav dd,[data-magellan-expedition-clone] .sub-nav dd{margin-bottom:0}[data-magellan-expedition] .sub-nav a,[data-magellan-expedition-clone] .sub-nav a{line-height:1.8em}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}.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:transparent;color:#FFFFFF;font-size:12px;position:absolute;top:10px;z-index:10}.orbit-container .orbit-slide-number span{font-weight:700;padding:0.3125rem}.orbit-container .orbit-timer{position:absolute;top:12px;right:10px;height:6px;width:100px;z-index:10}.orbit-container .orbit-timer .orbit-progress{height:3px;background-color:rgba(255,255,255,0.3);display:block;width:0;position:relative;right:20px;top:5px}.orbit-container .orbit-timer>span{border:solid 4px #FFFFFF;border-bottom:none;border-top:none;display:none;height:14px;position:absolute;top:0;width:11px;right:0}.orbit-container .orbit-timer.paused>span{top:0;width:11px;height:14px;border:inset 8px;border-left-style:solid;border-color:transparent;border-left-color:#FFFFFF;right:-4px}.orbit-container .orbit-timer.paused>span.dark{border-left-color:#333333}.orbit-container:hover .orbit-timer>span{display:block}.orbit-container .orbit-prev,.orbit-container .orbit-next{background-color:transparent;color:white;height:60px;line-height:50px;margin-top:-25px;position:absolute;text-indent:-9999px !important;top:45%;width:36px;z-index:10}.orbit-container .orbit-prev:hover,.orbit-container .orbit-next:hover{background-color:rgba(0,0,0,0.3)}.orbit-container .orbit-prev>span,.orbit-container .orbit-next>span{border:inset 10px;display:block;height:0;margin-top:-10px;position:absolute;top:50%;width:0}.orbit-container .orbit-prev{left:0}.orbit-container .orbit-prev>span{border-right-style:solid;border-color:transparent;border-right-color:#FFFFFF}.orbit-container .orbit-prev:hover>span{border-right-color:#FFFFFF}.orbit-container .orbit-next{right:0}.orbit-container .orbit-next>span{border-color:transparent;border-left-style:solid;border-left-color:#FFFFFF;left:50%;margin-left:-4px}.orbit-container .orbit-next:hover>span{border-left-color:#FFFFFF}.orbit-bullets-container{text-align:center}.orbit-bullets{display:block;float:none;margin:0 auto 30px auto;overflow:hidden;position:relative;text-align:center;top:10px}.orbit-bullets li{background:#CCCCCC;cursor:pointer;display:inline-block;float:none;height:0.5625rem;margin-right:6px;width:0.5625rem;border-radius:1000px}.orbit-bullets li.active{background:#999999}.orbit-bullets li:last-child{margin-right:0}.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:none}.touch .orbit-bullets{display:none}@media only screen and (min-width:40.063em){.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:inherit}.touch .orbit-bullets{display:block}}@media only screen and (max-width: 40em){.orbit-stack-on-small .orbit-slides-container{height:auto !important}.orbit-stack-on-small .orbit-slides-container>*{margin:0 !important;opacity:1 !important;position:relative}.orbit-stack-on-small .orbit-slide-number{display:none}.orbit-timer{display:none}.orbit-next,.orbit-prev{display:none}.orbit-bullets{display:none}}ul.pagination{display:block;margin-left:-0.3125rem;min-height:1.5rem}ul.pagination li{color:#222222;font-size:0.875rem;height:1.5rem;margin-left:0.3125rem}ul.pagination li a,ul.pagination li button{border-radius:3px;transition:background-color 300ms ease-out;background:none;color:#999999;display:block;font-size:1em;font-weight:normal;line-height:inherit;padding:0.0625rem 0.625rem 0.0625rem}ul.pagination li:hover a,ul.pagination li a:focus,ul.pagination li:hover button,ul.pagination li button:focus{background:#e6e6e6}ul.pagination li.unavailable a,ul.pagination li.unavailable button{cursor:default;color:#999999;pointer-events:none}ul.pagination li.unavailable:hover a,ul.pagination li.unavailable a:focus,ul.pagination li.unavailable:hover button,ul.pagination li.unavailable button:focus{background:transparent}ul.pagination li.current a,ul.pagination li.current button{background:#008CBA;color:#FFFFFF;cursor:default;font-weight:bold}ul.pagination li.current a:hover,ul.pagination li.current a:focus,ul.pagination li.current button:hover,ul.pagination li.current button:focus{background:#008CBA}ul.pagination li{display:block;float:left}.pagination-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:"Open Sans",sans-serif;font-size:1rem;font-weight:normal;padding:0.9375rem 1.25rem;text-align:center}.pricing-table .price{background-color:#F6F6F6;color:#333333;font-family:"Open Sans",sans-serif;font-size:2rem;font-weight:normal;padding:0.9375rem 1.25rem;text-align:center}.pricing-table .description{background-color:#FFFFFF;border-bottom:dotted 1px #DDDDDD;color:#777777;font-size:0.75rem;font-weight:normal;line-height:1.4;padding:0.9375rem;text-align:center}.pricing-table .bullet-item{background-color:#FFFFFF;border-bottom:dotted 1px #DDDDDD;color:#333333;font-size:0.875rem;font-weight:normal;padding:0.9375rem;text-align:center}.pricing-table .cta-button{background-color:#FFFFFF;padding:1.25rem 1.25rem 0;text-align:center}.progress{background-color:#F6F6F6;border:1px solid white;height:1.5625rem;margin-bottom:0.625rem;padding:0.125rem}.progress .meter{background:#008CBA;display:block;height:100%;float:left;width:0%}.progress .meter.secondary{background:#e7e7e7;display:block;height:100%;float:left;width:0%}.progress .meter.success{background:#43AC6A;display:block;height:100%;float:left;width:0%}.progress .meter.alert{background:#f04124;display:block;height:100%;float:left;width:0%}.progress.secondary .meter{background:#e7e7e7;display:block;height:100%;float:left;width:0%}.progress.success .meter{background:#43AC6A;display:block;height:100%;float:left;width:0%}.progress.alert .meter{background:#f04124;display:block;height:100%;float:left;width:0%}.progress.radius{border-radius:3px}.progress.radius .meter{border-radius:2px}.progress.round{border-radius:1000px}.progress.round .meter{border-radius:999px}.range-slider{border:1px solid #DDDDDD;margin:1.25rem 0;position:relative;-ms-touch-action:none;touch-action:none;display:block;height:1rem;width:100%;background:#FAFAFA}.range-slider.vertical-range{border:1px solid #DDDDDD;margin:1.25rem 0;position:relative;-ms-touch-action:none;touch-action:none;display:inline-block;height:12.5rem;width:1rem}.range-slider.vertical-range .range-slider-handle{bottom:-10.5rem;margin-left:-0.5rem;margin-top:0;position:absolute}.range-slider.vertical-range .range-slider-active-segment{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;border-top-left-radius:initial;bottom:0;height:auto;width:0.875rem}.range-slider.radius{background:#FAFAFA;border-radius:3px}.range-slider.radius .range-slider-handle{background:#008CBA;border-radius:3px}.range-slider.radius .range-slider-handle:hover{background:#007ba4}.range-slider.round{background:#FAFAFA;border-radius:1000px}.range-slider.round .range-slider-handle{background:#008CBA;border-radius:1000px}.range-slider.round .range-slider-handle:hover{background:#007ba4}.range-slider.disabled,.range-slider[disabled]{background:#FAFAFA;cursor:false;opacity:0.7}.range-slider.disabled .range-slider-handle,.range-slider[disabled] .range-slider-handle{background:#008CBA;cursor:default;opacity:0.7}.range-slider.disabled .range-slider-handle:hover,.range-slider[disabled] .range-slider-handle:hover{background:#007ba4}.range-slider-active-segment{background:#e5e5e5;border-bottom-left-radius:inherit;border-top-left-radius:inherit;display:inline-block;height:0.875rem;position:absolute}.range-slider-handle{border:1px solid none;cursor:pointer;display:inline-block;height:1.375rem;position:absolute;top:-0.3125rem;width:2rem;z-index:1;-ms-touch-action:manipulation;touch-action:manipulation;background:#008CBA}.range-slider-handle:hover{background:#007ba4}.reveal-modal-bg{background:#000000;background:rgba(0,0,0,0.45);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1004;left:0}.reveal-modal{border-radius:3px;display:none;position:absolute;top:0;visibility:hidden;width:100%;z-index:1005;left:0;background-color:#FFFFFF;padding:1.875rem;border:solid 1px #666666;box-shadow:0 0 10px rgba(0,0,0,0.4)}@media only screen and (max-width: 40em){.reveal-modal{min-height:100vh;}}.reveal-modal .column,.reveal-modal .columns{min-width:0}.reveal-modal>:first-child{margin-top:0}.reveal-modal>:last-child{margin-bottom:0}@media only screen and (min-width:40.063em){.reveal-modal{left:0;margin:0 auto;max-width:62.5rem;right:0;width:80%;}}@media only screen and (min-width:40.063em){.reveal-modal{top:6.25rem;}}.reveal-modal.radius{box-shadow:none;border-radius:3px}.reveal-modal.round{box-shadow:none;border-radius:1000px}.reveal-modal.collapse{padding:0;box-shadow:none}@media only screen and (min-width:40.063em){.reveal-modal.tiny{left:0;margin:0 auto;max-width:62.5rem;right:0;width:30%;}}@media only screen and (min-width:40.063em){.reveal-modal.small{left:0;margin:0 auto;max-width:62.5rem;right:0;width:40%;}}@media only screen and (min-width:40.063em){.reveal-modal.medium{left:0;margin:0 auto;max-width:62.5rem;right:0;width:60%;}}@media only screen and (min-width:40.063em){.reveal-modal.large{left:0;margin:0 auto;max-width:62.5rem;right:0;width:70%;}}@media only screen and (min-width:40.063em){.reveal-modal.xlarge{left:0;margin:0 auto;max-width:62.5rem;right:0;width:95%;}}.reveal-modal.full{height:100vh;height:100%;left:0;margin-left:0 !important;max-width:none !important;min-height:100vh;top:0}@media only screen and (min-width:40.063em){.reveal-modal.full{left:0;margin:0 auto;max-width:62.5rem;right:0;width:100%;}}.reveal-modal.toback{z-index:1003}.reveal-modal .close-reveal-modal{color:#AAAAAA;cursor:pointer;font-size:2.5rem;font-weight:bold;line-height:1;position:absolute;top:0.625rem;right:1.375rem}.side-nav{display:block;font-family:"Open Sans",sans-serif;list-style-position:outside;list-style-type:none;margin:0;padding:0.875rem 0}.side-nav li{font-size:0.875rem;font-weight:normal;margin:0 0 0.4375rem 0}.side-nav li a:not(.button){color:#008CBA;display:block;margin:0;padding:0.4375rem 0.875rem}.side-nav li a:not(.button):hover,.side-nav li a:not(.button):focus{background:rgba(0,0,0,0.025);color:#1cc7ff}.side-nav li a:not(.button):active{color:#1cc7ff}.side-nav li.active>a:first-child:not(.button){color:#1cc7ff;font-family:"Open Sans",sans-serif;font-weight:normal}.side-nav li.divider{border-top:1px solid;height:0;list-style:none;padding:0;border-top-color:#e6e6e6}.side-nav li.heading{color:#008CBA;font-size:0.875rem;font-weight:bold;text-transform:uppercase}.split.button{position:relative;padding-right:5.0625rem}.split.button span{display:block;height:100%;position:absolute;right:0;top:0;border-left:solid 1px}.split.button span:after{position:absolute;content:"";width:0;height:0;display:block;border-style:inset;top:50%;left:50%}.split.button span:active{background-color:rgba(0,0,0,0.1)}.split.button span{border-left-color:rgba(255,255,255,0.5)}.split.button span{width:3.09375rem}.split.button span:after{border-top-style:solid;border-width:0.375rem;margin-left:-0.375rem;top:48%}.split.button span:after{border-color:#FFFFFF transparent transparent transparent}.split.button.secondary span{border-left-color:rgba(255,255,255,0.5)}.split.button.secondary span:after{border-color:#FFFFFF transparent transparent transparent}.split.button.alert span{border-left-color:rgba(255,255,255,0.5)}.split.button.success span{border-left-color:rgba(255,255,255,0.5)}.split.button.tiny{padding-right:3.75rem}.split.button.tiny span{width:2.25rem}.split.button.tiny span:after{border-top-style:solid;border-width:0.375rem;margin-left:-0.375rem;top:48%}.split.button.small{padding-right:4.375rem}.split.button.small span{width:2.625rem}.split.button.small span:after{border-top-style:solid;border-width:0.4375rem;margin-left:-0.375rem;top:48%}.split.button.large{padding-right:5.5rem}.split.button.large span{width:3.4375rem}.split.button.large span:after{border-top-style:solid;border-width:0.3125rem;margin-left:-0.375rem;top:48%}.split.button.expand{padding-left:2rem}.split.button.secondary span:after{border-color:#333333 transparent transparent transparent}.split.button.radius span{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.split.button.round span{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.split.button.no-pip span:before{border-style:none}.split.button.no-pip span:after{border-style:none}.split.button.no-pip span>i{display:block;left:50%;margin-left:-0.28889em;margin-top:-0.48889em;position:absolute;top:50%}.sub-nav{display:block;margin:-0.25rem 0 1.125rem;overflow:hidden;padding-top:0.25rem;width:auto}.sub-nav dt{text-transform:uppercase}.sub-nav dt,.sub-nav dd,.sub-nav li{color:#999999;float:left;font-family:"Open Sans",sans-serif;font-size:0.875rem;font-weight:normal;margin-left:1rem;margin-bottom:0}.sub-nav dt a,.sub-nav dd a,.sub-nav li a{color:#999999;padding:0.1875rem 1rem;text-decoration:none}.sub-nav dt a:hover,.sub-nav dd a:hover,.sub-nav li a:hover{color:#737373}.sub-nav dt.active a,.sub-nav dd.active a,.sub-nav li.active a{border-radius:3px;background:#008CBA;color:#FFFFFF;cursor:default;font-weight:normal;padding:0.1875rem 1rem}.sub-nav dt.active a:hover,.sub-nav dd.active a:hover,.sub-nav li.active a:hover{background:#0078a0}.switch{border:none;margin-bottom:1.5rem;outline:0;padding:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{background:#DDDDDD;color:transparent;cursor:pointer;display:block;margin-bottom:1rem;position:relative;text-indent:100%;width:4rem;height:2rem;transition:left 0.15s ease-out}.switch input{left:10px;opacity:0;padding:0;position:absolute;top:9px}.switch input+label{margin-left:0;margin-right:0}.switch label:after{background:#FFFFFF;content:"";display:block;height:1.5rem;left:.25rem;position:absolute;top:.25rem;width:1.5rem;-webkit-transition:left 0.15s ease-out;-moz-transition:left 0.15s ease-out;-o-transition:translate3d(0, 0, 0);transition:left 0.15s ease-out;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.switch input:checked+label{background:#008CBA}.switch input:checked+label:after{left:2.25rem}.switch label{height:2rem;width:4rem}.switch label:after{height:1.5rem;width:1.5rem}.switch input:checked+label:after{left:2.25rem}.switch label{color:transparent;background:#DDDDDD}.switch label:after{background:#FFFFFF}.switch input:checked+label{background:#008CBA}.switch.large label{height:2.5rem;width:5rem}.switch.large label:after{height:2rem;width:2rem}.switch.large input:checked+label:after{left:2.75rem}.switch.small label{height:1.75rem;width:3.5rem}.switch.small label:after{height:1.25rem;width:1.25rem}.switch.small input:checked+label:after{left:2rem}.switch.tiny label{height:1.5rem;width:3rem}.switch.tiny label:after{height:1rem;width:1rem}.switch.tiny input:checked+label:after{left:1.75rem}.switch.radius label{border-radius:4px}.switch.radius label:after{border-radius:3px}.switch.round{border-radius:1000px}.switch.round label{border-radius:2rem}.switch.round label:after{border-radius:2rem}table{background:#FFFFFF;border:solid 1px #DDDDDD;margin-bottom:1.25rem;table-layout:auto}table caption{background:transparent;color:#222222;font-size:1rem;font-weight:bold}table thead{background:#F5F5F5}table thead tr th,table thead tr td{color:#222222;font-size:0.875rem;font-weight:bold;padding:0.5rem 0.625rem 0.625rem}table tfoot{background:#F5F5F5}table tfoot tr th,table tfoot tr td{color:#222222;font-size:0.875rem;font-weight:bold;padding:0.5rem 0.625rem 0.625rem}table tr th,table tr td{color:#222222;font-size:0.875rem;padding:0.5625rem 0.625rem;text-align:left}table tr.even,table tr.alt,table tr:nth-of-type(even){background:#F9F9F9}table thead tr th,table tfoot tr th,table tfoot tr td,table tbody tr th,table tbody tr td,table tr td{display:table-cell;line-height:1.125rem}.tabs{margin-bottom:0 !important;margin-left:0}.tabs:before,.tabs:after{content:" ";display:table}.tabs:after{clear:both}.tabs dd,.tabs .tab-title{float:left;list-style:none;margin-bottom:0 !important;position:relative}.tabs dd>a,.tabs .tab-title>a{display:block;background-color:#EFEFEF;color:#222222;font-family:"Open Sans",sans-serif;font-size:1rem;padding:1rem 2rem}.tabs dd>a:hover,.tabs .tab-title>a:hover{background-color:#e1e1e1}.tabs dd.active>a,.tabs .tab-title.active>a{background-color:#FFFFFF;color:#222222}.tabs.radius dd:first-child a,.tabs.radius .tab:first-child a{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.tabs.radius dd:last-child a,.tabs.radius .tab:last-child a{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.tabs.vertical dd,.tabs.vertical .tab-title{position:inherit;float:none;display:block;top:auto}.tabs-content{margin-bottom:1.5rem;width:100%}.tabs-content:before,.tabs-content:after{content:" ";display:table}.tabs-content:after{clear:both}.tabs-content>.content{display:none;float:left;padding:0.9375rem 0;width:100%}.tabs-content>.content.active{display:block;float:none}.tabs-content>.content.contained{padding:0.9375rem}.tabs-content.vertical{display:block}.tabs-content.vertical>.content{padding:0 0.9375rem}@media only screen and (min-width:40.063em){.tabs.vertical{float:left;margin:0;margin-bottom:1.25rem !important;max-width:20%;width:20%}.tabs-content.vertical{float:left;margin-left:-1px;max-width:80%;padding-left:1rem;width:80%}}.no-js .tabs-content>.content{display:block;float:none}.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:solid 5px;border-color:transparent transparent #333333 transparent;display:block;height:0;pointer-events:none;position:absolute;top:-10px;width:0;left:5px}.tooltip>.nub.rtl{left:auto;right:5px}.tooltip.radius{border-radius:3px}.tooltip.round{border-radius:1000px}.tooltip.round>.nub{left:2rem}.tooltip.opened{border-bottom:dotted 1px #003f54 !important;color:#008CBA !important}.tap-to-close{color:#777777;display:block;font-size:0.625rem;font-weight:normal}@media only screen{.tooltip>.nub{border-color:transparent transparent #333333 transparent;top:-10px}.tooltip.tip-top>.nub{border-color:#333333 transparent transparent transparent;bottom:-10px;top:auto}.tooltip.tip-left,.tooltip.tip-right{float:none !important}.tooltip.tip-left>.nub{border-color:transparent transparent transparent #333333;left:auto;margin-top:-5px;right:-10px;top:50%}.tooltip.tip-right>.nub{border-color:transparent #333333 transparent transparent;left:-10px;margin-top:-5px;right:auto;top:50%}}meta.foundation-mq-topbar{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}.contain-to-grid{width:100%;background:#797c25}.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.75rem;z-index:98}.top-bar{background:#797c25;height:3.75rem;line-height:3.75rem;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:.35rem;padding-top:.35rem}.top-bar .button,.top-bar button{font-size:0.75rem;margin-bottom:0;padding-bottom:.4125rem;padding-top:.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.75rem;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.75rem;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.25rem;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.75rem;line-height:3.75rem;padding:0 1.25rem;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.8125rem 0 1.25rem;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.25rem;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:#797c25}.top-bar.expanded .toggle-topbar a{color:#888888}.top-bar.expanded .toggle-topbar a span::after{box-shadow:0 0 0 1px #888888,0 7px 0 1px #888888,0 14px 0 1px #888888}@media screen and (-webkit-min-device-pixel-ratio: 0){.top-bar.expanded .top-bar-section .has-dropdown.moved>.dropdown,.top-bar.expanded .top-bar-section .dropdown{clip:initial}.top-bar.expanded .top-bar-section .has-dropdown:not(.moved)>ul{padding:0}}.top-bar-section{left:0;position:relative;width:auto;transition:left 300ms ease-out}.top-bar-section ul{display:block;font-size:16px;height:auto;margin:0;padding:0;width:100%}.top-bar-section .divider,.top-bar-section [role="separator"]{border-top:solid 1px #1a1a1a;clear:both;height:1px;width:100%}.top-bar-section ul li{background:#FFFFFF}.top-bar-section ul li>a{color:#FFFFFF;display:block;font-family:"Open Sans",sans-serif;font-size:1.3125rem;font-weight:normal;padding-left:1.25rem;padding:12px 0 12px 1.25rem;text-transform:none;width:100%}.top-bar-section ul li>a.button{font-size:1.3125rem;padding-left:1.25rem;padding-right:1.25rem;background-color:#008CBA;border-color:#007095;color:#FFFFFF}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{background-color:#007095}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{color:#FFFFFF}.top-bar-section ul li>a.button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333333}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{background-color:#b9b9b9}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{color:#333333}.top-bar-section ul li>a.button.success{background-color:#43AC6A;border-color:#368a55;color:#FFFFFF}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{background-color:#368a55}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{color:#FFFFFF}.top-bar-section ul li>a.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#FFFFFF}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{color:#FFFFFF}.top-bar-section ul li>a.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#FFFFFF}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{color:#FFFFFF}.top-bar-section ul li>a.button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333333}.top-bar-section ul li>a.button.info:hover,.top-bar-section ul li>a.button.info:focus{background-color:#61b6d9}.top-bar-section ul li>a.button.info:hover,.top-bar-section ul li>a.button.info:focus{color:#FFFFFF}.top-bar-section ul li>button{font-size:1.3125rem;padding-left:1.25rem;padding-right:1.25rem;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:#797c25;color:#f28728;background:#797c25}.top-bar-section ul li.active>a{background:#797c25;color:#FFFFFF}.top-bar-section ul li.active>a:hover{background:#797c25;color:#f28728}.top-bar-section .has-form{padding:1.25rem}.top-bar-section .has-dropdown{position:relative}.top-bar-section .has-dropdown>a:after{margin-right:1.25rem;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.25rem}.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.25rem}.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.25rem 2px;text-transform:uppercase}.js-generated{display:block}@media only screen and (min-width:40.063em){.top-bar{background:#797c25;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:1rem}.top-bar .has-form>.button,.top-bar .has-form>button{font-size:0.875rem;height:1.75rem;position:relative;top:1rem}.top-bar.expanded{background:#797c25}.contain-to-grid .top-bar{margin:0 auto;margin-bottom:0;max-width:62.5rem}.top-bar-section{transition:none 0 0;left:0 !important}.top-bar-section ul{display:inline;height:auto !important;width:auto}.top-bar-section ul li{float:left}.top-bar-section ul li .js-generated{display:none}.top-bar-section li.hover>a:not(.button){background-color:#797c25;background:#797c25;color:#f28728}.top-bar-section li:not(.has-form) a:not(.button){background:#797c25;line-height:3.75rem;padding:0 1.25rem}.top-bar-section li:not(.has-form) a:not(.button):hover{background-color:#797c25;background:#797c25}.top-bar-section li.active:not(.has-form) a:not(.button){background:#797c25;color:#FFFFFF;line-height:3.75rem;padding:0 1.25rem}.top-bar-section li.active:not(.has-form) a:not(.button):hover{background:#797c25;color:#f28728}.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:#797c25;color:#FFFFFF;line-height:3.75rem;padding:12px 1.25rem;white-space:nowrap}.top-bar-section .dropdown li:not(.has-form):not(.active)>a:not(.button){background:#797c25;color:#FFFFFF}.top-bar-section .dropdown li:not(.has-form):not(.active):hover>a:not(.button){background-color:#797c25;color:#f28728;background:#797c25}.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.75rem;width:0}.top-bar-section .has-form{background:#797c25;height:3.75rem;padding:0 1.25rem}.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:#797c25;background:#797c25;color:#f28728}.no-js .top-bar-section ul li:active>a{background:#797c25;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:#f28728;line-height:inherit;text-decoration:none}a:hover,a:focus{color:#797c25}a img{border:none}p{font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.6;margin-bottom:1.25rem;text-rendering:optimizeLegibility}p.lead{font-size:1.21875rem;line-height:1.6}p aside{font-size:0.875rem;font-style:italic;line-height:1.35}h1,h2,h3,h4,h5,h6{color:#000000;font-family:"Open Sans",sans-serif;font-style:normal;font-weight:normal;line-height:1.4;margin-bottom:0.5rem;margin-top:0.2rem;text-rendering:optimizeLegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#595959;font-size:60%;line-height:0}h1{font-size:1.625rem}h2{font-size:0.875rem}h3{font-size:1.1875rem}h4{font-size:0.8125rem}h5{font-size:1rem}h6{font-size:1rem}.subheader{line-height:1.4;color:#595959;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:1rem;line-height:1.6;list-style-position:outside;margin-bottom:1.25rem}ul{margin-left:1.1rem}ul li ul,ul li ol{margin-left:1.25rem;margin-bottom:0}ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}ul.square{list-style-type:square;margin-left:1.1rem}ul.circle{list-style-type:circle;margin-left:1.1rem}ul.disc{list-style-type:disc;margin-left:1.1rem}ol{margin-left:1.4rem}ol li ul,ol li ol{margin-left:1.25rem;margin-bottom:0}.no-bullet{list-style-type:none;margin-left:0}.no-bullet li ul,.no-bullet li ol{margin-left:1.25rem;margin-bottom:0;list-style:none}dl dt{margin-bottom: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:#3b3b3b}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#3b3b3b}blockquote,blockquote p{line-height:1.6;color:#595959}.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:2.25rem}h2{font-size:1.5rem}h3{font-size:1.5rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:1rem}}@media print{*{background:transparent !important;color:#000000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.34in;}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.off-canvas-wrap{-webkit-backface-visibility:hidden;position:relative;width:100%;overflow:hidden}.off-canvas-wrap.move-right,.off-canvas-wrap.move-left,.off-canvas-wrap.move-bottom,.off-canvas-wrap.move-top{min-height:100%;-webkit-overflow-scrolling:touch}.inner-wrap{position:relative;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.inner-wrap:before,.inner-wrap:after{content:" ";display:table}.inner-wrap:after{clear:both}.tab-bar{-webkit-backface-visibility:hidden;background:#797c25;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 #3c3e12;left:0}.right-small{height:2.8125rem;position:absolute;top:0;width:2.8125rem;border-left:solid 1px #3c3e12;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:3.125rem;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:#797c25;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate(-100%, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0;top:0}.left-off-canvas-menu *{-webkit-backface-visibility:hidden}.right-off-canvas-menu{-webkit-backface-visibility:hidden;background:#797c25;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate(100%, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0;top:0}.right-off-canvas-menu *{-webkit-backface-visibility:hidden}.top-off-canvas-menu{-webkit-backface-visibility:hidden;background:#797c25;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(0, -100%, 0);-moz-transform:translate3d(0, -100%, 0);-ms-transform:translate(0, -100%);-o-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);top:0;width:100%;height:18.75rem}.top-off-canvas-menu *{-webkit-backface-visibility:hidden}.bottom-off-canvas-menu{-webkit-backface-visibility:hidden;background:#797c25;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(0, 100%, 0);-moz-transform:translate3d(0, 100%, 0);-ms-transform:translate(0, 100%);-o-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);bottom:0;width:100%;height:18.75rem}.bottom-off-canvas-menu *{-webkit-backface-visibility:hidden}ul.off-canvas-list{list-style-type:none;margin:0;padding:0}ul.off-canvas-list li label{background:#444444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999999;display:block;font-size:0.75rem;font-weight:bold;margin:0;padding:.3rem 0.9375rem;text-transform:uppercase}ul.off-canvas-list li a{border-bottom:0px solid #5b5d1c;color:#000000;display:block;padding:0.6666666667rem;transition:background 300ms ease}ul.off-canvas-list li a:hover{background:#55571a}ul.off-canvas-list li a:active{background:#55571a}.move-right>.inner-wrap{-webkit-transform:translate3d(15.625rem, 0, 0);-moz-transform:translate3d(15.625rem, 0, 0);-ms-transform:translate(15.625rem, 0);-o-transform:translate3d(15.625rem, 0, 0);transform:translate3d(15.625rem, 0, 0)}.move-right .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width:40.063em){.move-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-left>.inner-wrap{-webkit-transform:translate3d(-15.625rem, 0, 0);-moz-transform:translate3d(-15.625rem, 0, 0);-ms-transform:translate(-15.625rem, 0);-o-transform:translate3d(-15.625rem, 0, 0);transform:translate3d(-15.625rem, 0, 0)}.move-left .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width:40.063em){.move-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-top>.inner-wrap{-webkit-transform:translate3d(0, -18.75rem, 0);-moz-transform:translate3d(0, -18.75rem, 0);-ms-transform:translate(0, -18.75rem);-o-transform:translate3d(0, -18.75rem, 0);transform:translate3d(0, -18.75rem, 0)}.move-top .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width:40.063em){.move-top .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-bottom>.inner-wrap{-webkit-transform:translate3d(0, 18.75rem, 0);-moz-transform:translate3d(0, 18.75rem, 0);-ms-transform:translate(0, 18.75rem);-o-transform:translate3d(0, 18.75rem, 0);transform:translate3d(0, 18.75rem, 0)}.move-bottom .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width:40.063em){.move-bottom .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap .left-off-canvas-menu,.offcanvas-overlap .right-off-canvas-menu,.offcanvas-overlap .top-off-canvas-menu,.offcanvas-overlap .bottom-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width:40.063em){.offcanvas-overlap .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-left .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-left .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width:40.063em){.offcanvas-overlap-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-right .left-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-right .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width:40.063em){.offcanvas-overlap-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-top .bottom-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-top .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width:40.063em){.offcanvas-overlap-top .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-bottom .top-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-bottom .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width:40.063em){.offcanvas-overlap-bottom .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.no-csstransforms .left-off-canvas-menu{left:-15.625rem}.no-csstransforms .right-off-canvas-menu{right:-15.625rem}.no-csstransforms .top-off-canvas-menu{top:-18.75rem}.no-csstransforms .bottom-off-canvas-menu{bottom:-18.75rem}.no-csstransforms .move-left>.inner-wrap{right:15.625rem}.no-csstransforms .move-right>.inner-wrap{left:15.625rem}.no-csstransforms .move-top>.inner-wrap{right:18.75rem}.no-csstransforms .move-bottom>.inner-wrap{left:18.75rem}.left-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#797c25;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;height:18.75rem;z-index:1002;-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate(-100%, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.left-submenu *{-webkit-backface-visibility:hidden}.left-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999999;font-weight:bold;padding:.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:.5rem;display:inline}.left-submenu.move-right,.left-submenu.offcanvas-overlap-right,.left-submenu.offcanvas-overlap{-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate(0%, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.right-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#797c25;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;height:18.75rem;z-index:1002;-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate(100%, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.right-submenu *{-webkit-backface-visibility:hidden}.right-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999999;font-weight:bold;padding:.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:.5rem;display:inline}.right-submenu.move-left,.right-submenu.offcanvas-overlap-left,.right-submenu.offcanvas-overlap{-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate(0%, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.top-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#797c25;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;height:18.75rem;z-index:1002;-webkit-transform:translate3d(0, -100%, 0);-moz-transform:translate3d(0, -100%, 0);-ms-transform:translate(0, -100%);-o-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);top:0;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.top-submenu *{-webkit-backface-visibility:hidden}.top-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999999;font-weight:bold;padding:.3rem 0.9375rem;text-transform:uppercase;margin:0}.top-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.top-submenu.move-bottom,.top-submenu.offcanvas-overlap-bottom,.top-submenu.offcanvas-overlap{-webkit-transform:translate3d(0, 0%, 0);-moz-transform:translate3d(0, 0%, 0);-ms-transform:translate(0, 0%);-o-transform:translate3d(0, 0%, 0);transform:translate3d(0, 0%, 0)}.bottom-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#797c25;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;height:18.75rem;z-index:1002;-webkit-transform:translate3d(0, 100%, 0);-moz-transform:translate3d(0, 100%, 0);-ms-transform:translate(0, 100%);-o-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);bottom:0;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.bottom-submenu *{-webkit-backface-visibility:hidden}.bottom-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999999;font-weight:bold;padding:.3rem 0.9375rem;text-transform:uppercase;margin:0}.bottom-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.bottom-submenu.move-top,.bottom-submenu.offcanvas-overlap-top,.bottom-submenu.offcanvas-overlap{-webkit-transform:translate3d(0, 0%, 0);-moz-transform:translate3d(0, 0%, 0);-ms-transform:translate(0, 0%);-o-transform:translate3d(0, 0%, 0);transform:translate3d(0, 0%, 0)}.left-off-canvas-menu ul.off-canvas-list li.has-submenu>a:after{content:"\BB";margin-left:.5rem;display:inline}.right-off-canvas-menu ul.off-canvas-list li.has-submenu>a:before{content:"\AB";margin-right:.5rem;display:inline}@media only screen{.show-for-small-only,.show-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.hide-for-small-only,.hide-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.visible-for-small-only,.visible-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.hidden-for-small-only,.hidden-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.show-for-small-only,table.show-for-small-up,table.show-for-small,table.show-for-small-down,table.hide-for-medium-only,table.hide-for-medium-up,table.hide-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.show-for-small-only,thead.show-for-small-up,thead.show-for-small,thead.show-for-small-down,thead.hide-for-medium-only,thead.hide-for-medium-up,thead.hide-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.show-for-small-only,tbody.show-for-small-up,tbody.show-for-small,tbody.show-for-small-down,tbody.hide-for-medium-only,tbody.hide-for-medium-up,tbody.hide-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.show-for-small-only,tr.show-for-small-up,tr.show-for-small,tr.show-for-small-down,tr.hide-for-medium-only,tr.hide-for-medium-up,tr.hide-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.show-for-small-only,td.show-for-small-only,th.show-for-small-up,td.show-for-small-up,th.show-for-small,td.show-for-small,th.show-for-small-down,td.show-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.hide-for-medium-up,td.hide-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width:40.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.show-for-medium-only,table.show-for-medium-up,table.show-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.show-for-medium-only,thead.show-for-medium-up,thead.show-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.show-for-medium-only,tbody.show-for-medium-up,tbody.show-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.show-for-medium-only,tr.show-for-medium-up,tr.show-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.show-for-medium-only,td.show-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.show-for-medium,td.show-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width:64.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.show-for-large-only,table.show-for-large-up,table.show-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.show-for-large-only,thead.show-for-large-up,thead.show-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.show-for-large-only,tbody.show-for-large-up,tbody.show-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.show-for-large-only,tr.show-for-large-up,tr.show-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.show-for-large-only,td.show-for-large-only,th.show-for-large-up,td.show-for-large-up,th.show-for-large,td.show-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width:90.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.show-for-xlarge-only,table.show-for-xlarge-up,table.show-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.show-for-xlarge-only,thead.show-for-xlarge-up,thead.show-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.show-for-xlarge-only,tbody.show-for-xlarge-up,tbody.show-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.show-for-xlarge-only,tr.show-for-xlarge-up,tr.show-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.show-for-xlarge-only,td.show-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.show-for-xlarge,td.show-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width:120.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.hide-for-xlarge-only,.show-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.show-for-xlarge-only,.hide-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.hidden-for-xlarge-only,.visible-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.visible-for-xlarge-only,.hidden-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.hide-for-xlarge-only,table.show-for-xlarge-up,table.hide-for-xlarge,table.hide-for-xlarge-down,table.show-for-xxlarge-only,table.show-for-xxlarge-up,table.show-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.hide-for-xlarge-only,thead.show-for-xlarge-up,thead.hide-for-xlarge,thead.hide-for-xlarge-down,thead.show-for-xxlarge-only,thead.show-for-xxlarge-up,thead.show-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.hide-for-xlarge-only,tbody.show-for-xlarge-up,tbody.hide-for-xlarge,tbody.hide-for-xlarge-down,tbody.show-for-xxlarge-only,tbody.show-for-xxlarge-up,tbody.show-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.hide-for-xlarge-only,tr.show-for-xlarge-up,tr.hide-for-xlarge,tr.hide-for-xlarge-down,tr.show-for-xxlarge-only,tr.show-for-xxlarge-up,tr.show-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.hide-for-xlarge-down,td.hide-for-xlarge-down,th.show-for-xxlarge-only,td.show-for-xxlarge-only,th.show-for-xxlarge-up,td.show-for-xxlarge-up,th.show-for-xxlarge,td.show-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.hide-for-landscape,table.show-for-portrait{display:table !important}thead.hide-for-landscape,thead.show-for-portrait{display:table-header-group !important}tbody.hide-for-landscape,tbody.show-for-portrait{display:table-row-group !important}tr.hide-for-landscape,tr.show-for-portrait{display:table-row !important}td.hide-for-landscape,td.show-for-portrait,th.hide-for-landscape,th.show-for-portrait{display:table-cell !important}@media only screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.show-for-landscape,table.hide-for-portrait{display:table !important}thead.show-for-landscape,thead.hide-for-portrait{display:table-header-group !important}tbody.show-for-landscape,tbody.hide-for-portrait{display:table-row-group !important}tr.show-for-landscape,tr.hide-for-portrait{display:table-row !important}td.show-for-landscape,td.hide-for-portrait,th.show-for-landscape,th.hide-for-portrait{display:table-cell !important}}@media only screen and (orientation: portrait){.show-for-portrait,.hide-for-landscape{display:inherit !important}.hide-for-portrait,.show-for-landscape{display:none !important}table.show-for-portrait,table.hide-for-landscape{display:table !important}thead.show-for-portrait,thead.hide-for-landscape{display:table-header-group !important}tbody.show-for-portrait,tbody.hide-for-landscape{display:table-row-group !important}tr.show-for-portrait,tr.hide-for-landscape{display:table-row !important}td.show-for-portrait,td.hide-for-landscape,th.show-for-portrait,th.hide-for-landscape{display:table-cell !important}}.show-for-touch{display:none !important}.hide-for-touch{display:inherit !important}.touch .show-for-touch{display:inherit !important}.touch .hide-for-touch{display:none !important}table.hide-for-touch{display:table !important}.touch table.show-for-touch{display:table !important}thead.hide-for-touch{display:table-header-group !important}.touch thead.show-for-touch{display:table-header-group !important}tbody.hide-for-touch{display:table-row-group !important}.touch tbody.show-for-touch{display:table-row-group !important}tr.hide-for-touch{display:table-row !important}.touch tr.show-for-touch{display:table-row !important}td.hide-for-touch{display:table-cell !important}.touch td.show-for-touch{display:table-cell !important}th.hide-for-touch{display:table-cell !important}.touch th.show-for-touch{display:table-cell !important}.show-for-sr{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus:focus,.show-on-focus:active{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.print-only,.show-for-print{display:none !important}@media print{.print-only,.show-for-print{display:block !important}.hide-on-print,.hide-for-print{display:none !important}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}}img.aligncenter{display:block;clear:both;float:none;padding:0;margin-left:auto;margin-right:auto}img.alignright{padding:0;margin:0 0 6px 11px;display:inline}blockquote.alignleft,img.alignleft,.wp-caption.alignleft{margin:0.4375rem 2.1875rem 0.4375rem 0}blockquote.alignright,img.alignright,.wp-caption.alignright{margin:0.4375rem 0 0.4375rem 2.1875rem}img.alignleft{padding:0;display:inline}img.alignleft,img.alignright,img.aligncenter,img.alignnone,div.wp-caption img{border:4px solid #FFFFFF;box-shadow:3px 3px 2px 0px rgba(0,0,0,0.3);-webkit-box-shadow:3px 3px 2px 0px rgba(0,0,0,0.3);-moz-box-shadow:3px 3px 2px 0px rgba(0,0,0,0.3);-ms-box-shadow:3px 3px 2px 0px rgba(0,0,0,0.3)}.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:transparent;text-align:center}.wp-caption img{width:100%}.wp-caption p.wp-caption-text{padding:5px;width:100%;margin:0;color:#797c25;font-size:14px}.wp-caption.aligncenter{margin:10px auto}@media only screen and (max-width: 40em){#blog-posts-over{padding:0 !important;margin:0 !important}}.blog-posts-container{margin:30px 0 30px}.blog-posts-container embed,.blog-posts-container iframe,.blog-posts-container object,.blog-posts-container video{max-width:100%}.blog-posts-container a{text-decoration:none}.blog-posts-container header.entry-header h2.entry-title a{color:#222;margin-left:0}.blog-posts-container .wp-caption .wp-caption-text,.blog-posts-container .gallery-caption,.blog-posts-container .entry-caption{overflow:hidden;color:#757575;font-size:0.857143rem;font-style:italic;line-height:2}.blog-posts-container .date{font-size:12px}.blog-posts-container footer.entry-meta{color:#757575;font-size:0.928571rem;line-height:1.84615;margin-top:1.71429rem;clear:both;float:none;margin-right:auto}.blog-posts-container footer{background:none;clear:both;padding:15px 0 0;position:relative;text-align:center}#content-wrapper h1,#content-wrapper h2,#content-wrapper h3,#content-wrapper h4,#content-wrapper h5,#content-wrapper h6{clear:both}.content{background:#fff;box-shadow:3px 3px 8px -1px darkgrey}#searchform_container{margin-top:20px}#searchform{max-width:100%;text-align:center}#searchform div input.blogbutton{background:-webkit-linear-gradient(left, #1999ce 5%, #107098 100%);background:-moz-linear-gradient(center top, #1999ce 5%, #107098 100%);background:-ms-linear-gradient(left, #1999ce 5%, #107098 100%)}#blog-side-info{border-left:1px solid grey;margin-top:30px;padding-left:20px}@media only screen and (max-width: 40em){#blog-side-info{text-align:center;}}h1,h2,h3,h4,h5,h6{clear:both}.gallery li a img{display:block;width:100%}.ngg-gallery-thumbnail,.ngg-gallery-thumbnail-box{float:none !important}.ngg-album-compact h4 .ngg-album-desc{height:auto !important;font-family:Georgia,Cambria,"Times New Roman",Times,serif;font-weight:400}.ngg-album-compact .album-meta-wrapper h4 a{font-style:normal}.album-meta-wrapper{display:block;height:54px;margin-bottom:20px}.ngg-glmalbums{margin:10px 0;min-height:260px}@media only screen and (max-width: 40em){.ngg-glmalbums{min-height:180px;}}.ngg-album-link{text-align:center}.ninja-forms-form-wrap{max-width:600px;margin:0 auto}.ninja-forms-form-wrap input[type=submit]{-webkit-appearance:none;-moz-appearance:none;border-radius:0;border-style:solid;border-width:0;cursor:pointer;font-family:"Open Sans",sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;background-color:#008CBA;border-color:#007095;color:#FFFFFF;transition:background-color 300ms ease-out;display:block;margin:0 auto}.ninja-forms-form-wrap input[type=submit]:hover,.ninja-forms-form-wrap input[type=submit]:focus{background-color:#007095}.ninja-forms-form-wrap input[type=submit]:hover,.ninja-forms-form-wrap input[type=submit]:focus{color:#FFFFFF}a[href^=tel]{color:inherit;text-decoration:none}body{background-size:cover}body .shadow-wrapper{border-radius:10px;margin:-1px auto 140px;background:#f3ebd7;box-shadow:0 0 15px 0px rgba(0,0,0,0.5);-ms-box-shadow:0 0 15px 0px rgba(0,0,0,0.5);-moz-box-shadow:0 0 15px 0px rgba(0,0,0,0.5);-webkit-box-shadow:0 0 15px 0px rgba(0,0,0,0.5);max-width:1000px}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.main{margin-top:15px}header.main a#big-logo{padding-left:15px}header.main a#contact{color:#FFFFFF;text-decoration:underline;font-weight:bold}header.main a#contact:hover{color:#f28728}header.main #under{margin-top:20px}header.main .social{padding-left:12px !important}header.main .social a{position:relative;margin:0 5px}header.main .social a img{margin:0}header.main span#phone{font-size:1.5rem;color:#FFFFFF;font-weight:bold;padding-right:20px;letter-spacing:0.1em}.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{border-top-left-radius:10px;border-top-right-radius:9px}.top-bar-section{border-top-left-radius:10px;border-top-right-radius:9px;background:#797c25;float:none;margin-left:auto;margin-right:auto;display:inline-block;height:45px;width:100%;line-height:1}.top-bar-section ul li a{letter-spacing:0.055em}.top-bar-section ul li:first-child{border-top-left-radius:10px}.top-bar-section ul li:first-child a{border-top-left-radius:8px}.top-bar-section ul li.active:not(.has-form) a:not(.button){line-height:60px}.top-bar-section ul li ul.dropdown{border-bottom:4px solid #f28728;margin-top:-1px}.top-bar-section ul li ul.dropdown li{border-radius:0;border-top:1px solid #FFFFFF;height:35px}.top-bar-section ul li ul.dropdown li a{border-radius:0;font-size:1rem;height:35px}.top-bar-section ul li ul.dropdown li:not(.has-form) a:not(.button){line-height:2rem}.top-bar-section>ul>li{position:relative}.top-bar-section>ul>li:before{color:#FFFFFF;content:"|";position:absolute;top:13px;left:-15px;font-size:21px;display:block;padding:0 10px}.top-bar-section>ul>li:first-child:before{content:none}.top-bar-section li:not(.has-form) a:not(.button){padding:0 1.25rem}.breadcrumbs span a span{color:#000000}.breadcrumbs span span{color:#797c25}.blocks{padding:0 15px}.blocks .blocks{padding:36px 15px}.blocks .blocks img{border:4px solid #FFFFFF;box-shadow:3px 3px 2px 0px rgba(0,0,0,0.3);-webkit-box-shadow:3px 3px 2px 0px rgba(0,0,0,0.3);-moz-box-shadow:3px 3px 2px 0px rgba(0,0,0,0.3);-ms-box-shadow:3px 3px 2px 0px rgba(0,0,0,0.3)}.blocks .blocks h1{margin-top:10px}.blocks .blocks a.blocks-readmore{padding:5px 12px;background:transparent;color:#f28728;border:1px solid #797c25;display:inline-block;transition:background 0.5s,color 0.5s;-webkit-transition:background 0.5s,color 0.5s;-moz-transition:background 0.5s,color 0.5s;-ms-transition:background 0.5s,color 0.5s}.blocks .blocks a.blocks-readmore:hover{background:#797c25;color:#FFFFFF}main.page-inside #content-wrapper{padding:0 16px}#content-bulk #con{margin:0}#content-bulk h2{text-transform:uppercase;font-size:25px}#content-bulk footer{margin:35px 0}#content-bulk footer #address{margin-top:25px}#content-bulk footer #address p{font-size:12px;margin-top:5px}#content-bulk footer #address img{margin:0;padding-right:5px}#content-bulk footer #address a{font-size:12px}#content-bulk footer img{box-shadow:none}.st_sharethis{float:right;margin-top:10px;width:58px}#content-wrapper .stButton .sharethis{background-image:url("../assets/share-icon.png") !important;width:52px;height:22px}.ngg-imagebrowser h3{font-style:italic}.tool-tip{display:none;position:fixed;width:470px;height:auto;background:white;border:2px #F28728 solid;border-radius:4px;z-index:9999}@media only screen and (max-width: 40em){.tool-tip{width:300px;height:auto}}.full-content-tool-tip{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:370px;height:auto;background:white;border:2px #F28728 solid;border-radius:4px;z-index:9999}.tool-tip-container{position:relative}.exit-button{position:absolute;top:-17px;right:-10px}.exit-button span{display:inline-block;border:1px gray solid;border-radius:20px;width:25px;height:25px;text-align:center;background:white;color:gray}.exit-button span:hover{cursor:pointer}.site-image{margin:15px auto 5px auto;height:195px;width:90%}.full-site-name{text-align:center;font-family:"Open Sans",sans-serif;color:#797C25;font-weight:bold;margin-bottom:-15px;font-size:18px}#cabin-map-container{float:left}map-bottom-container{overflow:auto}#map-preview{width:373px;float:right}@media (max-width: 1000px){#map-preview{text-align:center;width:100%}.map-preview-headline{padding-top:15px}}#petosega_loop{width:200px !important}.tool-text .site-name{color:#797C25}.map-headline,.map-preview-headline{font-weight:normal;font-family:"Open Sans",sans-serif}.mobile-map-site-details,.mobile-map-site-details-bottom{position:relative;display:none;width:100%;height:auto;border:1px #F28728 dashed}.site-list{text-align:center;width:100%;-webkit-column-count:4;-moz-column-count:4;column-count:4}.exit-button-mobile span{display:inline-block;float:right;position:absolute;top:-1px;right:-1px;border:2px #F28728 solid;height:15px;width:25px;text-align:center;color:#F28728;font-weight:bold;padding-bottom:25px}.exit-button-mobile span:hover{cursor:pointer}.site-number{margin-bottom:10px}.mobile-site-image{height:200px;width:50%;float:left}.info-container{width:50%;float:left;height:100%}.info{margin-left:10px;font-family:"Open Sans",sans-serif;font-size:14px}.mobile-site-name{padding-bottom:5px;text-transform:uppercase;color:#797C25;font-size:18px;text-decoration:underline}.info:not(.mobile-site-name){padding:3px;line-height:1.1}.site-links{color:#797C25}.full-site-water,.full-site-sewer{float:right}.full-site-info-right{padding-right:50px}.full-site-info-left{padding-left:20px}.full-site-campers{display:inline-block;padding-left:20px}#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:"Open Sans",sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;background-color:#008CBA;border-color:#007095;color:#FFFFFF;transition:background-color 300ms ease-out;display:block;margin:0 auto}.ninja-forms-form-wrap input[type=submit]:hover,.ninja-forms-form-wrap input[type=submit]:focus{background-color:#007095}.ninja-forms-form-wrap input[type=submit]:hover,.ninja-forms-form-wrap input[type=submit]:focus{color:#FFFFFF}#field_4_5{margin-top:1em}#field_3_5{margin-top:1em}#field_1_5{margin-top:15px}@media only screen and (max-width: 40em){#input_3_41,#input_3_24,#input_3_37{width:73%}}.home-feed-post{padding-bottom:25px}@media only screen and (max-width: 40em){.home-feed-post>*{text-align:center}}input[type="submit"].blogbutton{background:#797c25;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 #addthis_wrapper{margin-top:-25px}#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}#blog-side-info ul li{padding-bottom:10px}#searchform div input.blogbutton{background:#797c25;border:solid 2px transparent;transition:background 0.5s,color 0.5s;-webkit-transition:background 0.5s,color 0.5s;-moz-transition:background 0.5s,color 0.5s}#searchform div input.blogbutton:hover{background:#FFFFFF;border:solid 2px transparent;color:#797c25}#commentform .form-submit #submit{background:#797c25;border:solid 2px transparent;transition:background 0.5s,color 0.5s;-webkit-transition:background 0.5s,color 0.5s;-moz-transition:background 0.5s,color 0.5s}#commentform .form-submit #submit:hover{background:#FFFFFF;border:solid 2px transparent;color:#797c25}#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 input.search-button{width:16px;height:13px;top:8px;right:7px;position:absolute;padding:0;margin-bottom:0}.search-top input[type=text]{height:25px;width:152px;padding:0 8px;margin:0 0 15px 0;border-radius:2px;font-size:12px;color:#000000;display:inline-block;border:none;box-shadow:inset 0 0 2px 1px rgba(0,0,0,0.5)}.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)}aside.left-off-canvas-menu .searchform{text-align:left;display:inline-block;position:relative;float:none;margin:0 auto;width:100%}aside.left-off-canvas-menu .searchform input.search-button{width:16px;height:13px;top:8px;right:7px;position:absolute;padding:0;margin-bottom:0}aside.left-off-canvas-menu input.search-input{width:100%}footer.main #res{background:#797c25;height:238px;margin-bottom:36px;padding:10px 12px;position:relative}@media only screen and (max-width: 40em){footer.main #res{height:auto;}}footer.main #res #request{border:3px dashed #f28728;padding:9px 0;display:block;height:218px;position:relative}@media only screen and (max-width: 40em){footer.main #res #request{height:auto;}}footer.main #res #res-content h1{padding-left:28px;color:#e8d8af;font-size:3.5rem;position:relative;z-index:1;margin:0}footer.main #res #res-content p{padding-left:28px;color:#FFFFFF}footer.main #res #res-content a#request-but{margin-left:28px;padding:2.5px 13px;border:2px solid #FFFFFF;color:#FFFFFF;background:transparent;display:inline-block;transition:background 0.5s,color 0.5s;-webkit-transition:background 0.5s,color 0.5s;-moz-transition:background 0.5s,color 0.5s;-ms-transition:background 0.5s,color 0.5s}footer.main #res #res-content a#request-but:hover{color:#797c25;background:#FFFFFF}footer.main #res #lantern{position:absolute;top:42px;left:30px}footer.main #res #camp{position:absolute;top:20px;right:30px}@media screen and (max-width: 744px){footer.main #res #camp{display:none;}}footer.main img#map{padding-top:5px;display:inline-block}footer.main .address{padding-top:4px}footer.main img#compass{padding-top:5px;display:inline-block}footer.main .dir-contact{padding-top:5px}footer.main .dir-contact a{text-decoration:underline}#connect{padding-top:20px;background:transparent}#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:blue}#connect{position:fixed;padding-top:20px;bottom:0;max-width:1000px;z-index:99;left:50%;transform:translateX(-50%)}#connect #emmet{max-width:300px;float:none;margin:0 auto;background:#797c25;border-radius:8px 8px 0 0;padding:12px 15px 2px}#connect #sitelist{height:0;padding:0}#connect #sitelist ul{margin:0;list-style:none;background:#797c25}#connect #sitelist ul li{background:none;padding:0 5px;display:inline-block}#connect #sitelist ul li>a{display:block;font-family:Open Sans, sans-serif;font-size:12px;color:#fff;padding:12px 18px;line-height:1.2}#connect #sitelist ul li a#current{background:#f28728}#connect #sitelist ul li a:hover{background-color:#f28728}#compass{float:right}#ui-datepicker-div{display:none}#copyright{padding:35px 0 5px;margin:0 auto -40px;float:none}#copyright span{font-size:0.75rem}#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;}}.off-canvas-wrap{min-height:100%}.off-canvas-wrap .inner-wrap{min-height:100vh;height:100%}#example.element{background-color:transparent}h1{font-family:"Dancing Script";font-weight:bold;color:#f28728}h2{color:#797c25}h3{color:#797c25;font-weight:bold}h4{color:#f28728;font-weight:bold}h5{font-weight:bold}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{padding:0;position:absolute;right:20px;top:15px;width:0;text-decoration:none}aside.left-off-canvas-menu li.page_item_has_children a.toggle:before{content:'>';transform:rotate(0deg);color:#FFFFFF;height:17px;width:17px;font-size:17px;font-weight:bold;display:block}aside.left-off-canvas-menu li.page_item_has_children a.toggle.open{text-decoration:none;top:22px}aside.left-off-canvas-menu li.page_item_has_children a.toggle.open:before{content:'>';transform:rotate(90deg);color:#FFFFFF;height:17px;width:17px;font-size:17px;font-weight:bold;display:block}aside.left-off-canvas-menu ul.children{display:none}aside.left-off-canvas-menu .off-canvas-list ul li>ul li>a{padding-left:10px;margin-left:25px;line-height:18px}aside.left-off-canvas-menu ul.open{display:block}.left-off-canvas-menu{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:#f28728}.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;background:transparent}.left-off-canvas-menu ul li ul{list-style:none}.left-off-canvas-menu ul li ul li a{width:85%;display:block;white-space:pre-wrap}.social-contact{background:#f3ebd7}.offcavas-social-list{list-style:none;margin-top:0;margin-bottom:1.0625rem;margin-left:-1.375rem;margin-right:0;overflow:hidden;padding:0;margin-left:auto;margin-bottom:0}.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/css/app.css.map b/css/app.css.map new file mode 100644 index 0000000..53a79c1 --- /dev/null +++ b/css/app.css.map @@ -0,0 +1,71 @@ +{ + "version": 3, + "file": "app.css", + "sources": [ + "../app.scss", + "../_settings.scss", + "../../bower_components/foundation/scss/foundation.scss", + "../_mixins.scss", + "../_wordpress.scss", + "../_defaults.scss", + "../_body.scss", + "../_page.header.scss", + "../_topbar.scss", + "../_main.scss", + "../_slideshow.scss", + "../_plugins.scss", + "../_blog.scss", + "../_sidebar.scss", + "../_search.scss", + "../_page.footer.scss", + "../_copyright.scss", + "../_structure.scss", + "../_left-off-canvas.scss", + "../_gravityForms.scss", + "../../bower_components/foundation/scss/foundation/_functions.scss", + "../../bower_components/foundation/scss/foundation/components/_grid.scss", + "../../bower_components/foundation/scss/foundation/components/_accordion.scss", + "../../bower_components/foundation/scss/foundation/components/_alert-boxes.scss", + "../../bower_components/foundation/scss/foundation/components/_block-grid.scss", + "../../bower_components/foundation/scss/foundation/components/_breadcrumbs.scss", + "../../bower_components/foundation/scss/foundation/components/_button-groups.scss", + "../../bower_components/foundation/scss/foundation/components/_buttons.scss", + "../../bower_components/foundation/scss/foundation/components/_clearing.scss", + "../../bower_components/foundation/scss/foundation/components/_dropdown.scss", + "../../bower_components/foundation/scss/foundation/components/_dropdown-buttons.scss", + "../../bower_components/foundation/scss/foundation/components/_flex-video.scss", + "../../bower_components/foundation/scss/foundation/components/_forms.scss", + "../../bower_components/foundation/scss/foundation/components/_icon-bar.scss", + "../../bower_components/foundation/scss/foundation/components/_inline-lists.scss", + "../../bower_components/foundation/scss/foundation/components/_joyride.scss", + "../../bower_components/foundation/scss/foundation/components/_keystrokes.scss", + "../../bower_components/foundation/scss/foundation/components/_labels.scss", + "../../bower_components/foundation/scss/foundation/components/_magellan.scss", + "../../bower_components/foundation/scss/foundation/components/_orbit.scss", + "../../bower_components/foundation/scss/foundation/components/_pagination.scss", + "../../bower_components/foundation/scss/foundation/components/_panels.scss", + "../../bower_components/foundation/scss/foundation/components/_pricing-tables.scss", + "../../bower_components/foundation/scss/foundation/components/_progress-bars.scss", + "../../bower_components/foundation/scss/foundation/components/_range-slider.scss", + "../../bower_components/foundation/scss/foundation/components/_reveal.scss", + "../../bower_components/foundation/scss/foundation/components/_side-nav.scss", + "../../bower_components/foundation/scss/foundation/components/_split-buttons.scss", + "../../bower_components/foundation/scss/foundation/components/_sub-nav.scss", + "../../bower_components/foundation/scss/foundation/components/_switches.scss", + "../../bower_components/foundation/scss/foundation/components/_tables.scss", + "../../bower_components/foundation/scss/foundation/components/_tabs.scss", + "../../bower_components/foundation/scss/foundation/components/_thumbs.scss", + "../../bower_components/foundation/scss/foundation/components/_tooltips.scss", + "../../bower_components/foundation/scss/foundation/components/_top-bar.scss", + "../../bower_components/foundation/scss/foundation/components/_type.scss", + "../../bower_components/foundation/scss/foundation/components/_offcanvas.scss", + "../../bower_components/foundation/scss/foundation/components/_visibility.scss", + "../mixins/_gradient.scss", + "../mixins/_off-canvas-arrow.scss", + "../plugins/_nextgen.scss", + "../../bower_components/foundation/scss/foundation/components/_global.scss" + ], + "sourcesContent": [], + "mappings": "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", + "names": [] +} \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..73d898510972ff2d67ba9785593291addaefdde0 GIT binary patch literal 1150 zcmaixdq`7p6vuy(=yX0Nn)ygKbuV9KQ2!Xw3laY-$iQ%$C8f=^&39|g&E^t`s35U) z+GCi2V^EVPQg1;JtT~Ik(cC&TU;n6Z~C1_uSw4p6|K8doCeCcnJgq z?;=teOh`N-M2=tzGl4t?atO6pegJmQF0r;>fdDd#SdcvdW&NG6vPXq0?W%B|Hc#3WZ@-kf6JshU&-nYJUV3(%pKbop`j3%GE z4Z`zxAVXsZiLMJo7kVH?eIIem3ak2#Z1iGZ6~C;vg;&}!%sX{`F6_+XHKLe?nDX}^ zQIA1d#WRrW9gtmT2YIz)UZ#K8jAs>deb74|QgQ?M%3Bbnc?U^NJ}`{}*j@pM3_eIy zQxISJ8In#n2%9J<>U2S-m4T6uKF~gOgP@jjp}#I%2t7_r9$ zqG9ui7wJi%iH1}o4e^b11DiuFmW^92tcw(z8K<;`fxFXQD8_TdHPFYl@^L!)^CT7q z1T_@QEdGKoo>fRP(601mI+Ux~ETZoO(t*UWGvsM0Fpe&R7yrlZHU?6RTl&+``x7ZZ z-o(^WQ1QqOH{Y(XGq}dS6Z7SWY_s?O)$>u`i741_*xT-e3^OytYIvsOnD-$6{lAU< zuqG(W$_$B2bRDN*PK@MndoG4f;1f<}EE?lBE=!07bAOm2WKu +
+ + + +
+
+
+ +
+
+

Request A Reservation

+

Your perfect site is waiting...
Request a reservation now!

+ Request Now! +
+
+ +
+
+ +
+
+
+
+ + +
+
+ +
+
+ + + + + + + + + + + + + + diff --git a/front-page.php b/front-page.php new file mode 100644 index 0000000..d73a337 --- /dev/null +++ b/front-page.php @@ -0,0 +1,22 @@ + +
+
+ +
+
+
+
+ + + +

+ +
+
+
+ +
+
+ diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..e3ecef4 --- /dev/null +++ b/functions.php @@ -0,0 +1,144 @@ + __('Right Sidebar'), + 'id' => 'sidebar-r', + 'description' => __('Appears in Right Sidebar') + )); + //register_sidebar(array( + // 'name' => __('Footer'), + // 'id' => 'sidebar-f', + // 'description' => __('Appears in Footer Area') + //)); + } + +} + +/** + * Return the client info option for the given key + * + * @param type $name Name of the client info option to return + * + * @return string Option + */ +if (!function_exists('glm_get_clientinfo_option')) { + function glm_get_clientinfo_option($name) + { + $settings = get_option('glmclientinfo_settings'); + $states = get_option('glmclientinfo_states'); + if ($name == 'stateFull' && $settings['state']) { + return $states[$settings['state']]; + } + if ($name == 'state2Full' && $settings['state2']) { + return $states[$settings['state2']]; + } + return ($settings && $settings[$name]) + ? $settings[$name] + : null; + } +} + +add_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 + ); + wp_enqueue_script('jquery-ui-datepicker'); + wp_enqueue_style('jquery-style', '//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css'); + + // enqueue imagemapster scripts +// wp_enqueue_script( +// get_template_directory_uri() . '/js/campgroundMap/jquery.imagemapster.js', +// 'jquery' +// ); + wp_enqueue_script('imageResize', get_template_directory_uri() . '/js/imageMapResizer.min.js'); + +} +add_image_size("glm_block_size", 292, 200, true); + +/* 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 '
'; + +add_action('wp_enqueue_scripts', 'glm_site_scripts'); + + +// Start of the Contextual/Highlight Search functions +function mytheme_init() { + remove_action('thematic_searchloop', 'thematic_search_loop'); +} + +add_action('init', 'mytheme_init', 10); + +function mytheme_search_loop() { + while ( have_posts() ) : the_post(); ?> + +
+ +
+ + +
+ +
+ + diff --git a/header.php b/header.php new file mode 100644 index 0000000..bbde13d --- /dev/null +++ b/header.php @@ -0,0 +1,51 @@ + + + + + + <?php wp_title(); ?> + + + + + + + +
+
+
+
+
+
+ +
+
+
+
+
+
+ Contact +
+
+ +
+
+
+
+
+
+ +
+ +
+
+
+
+
+ + diff --git a/home.php b/home.php new file mode 100644 index 0000000..1ded112 --- /dev/null +++ b/home.php @@ -0,0 +1,50 @@ + +
+ +
+
+ + ID); ?> +
+ ID, 'blog-feed-front'); ?> +
+ +
+ '; + } else { + echo '
'; + } + ?> +
> +

+
+ Posted on +
+ + +
+
+
+ + + + +
+

+
+ + +
+ +
+ + + + diff --git a/index.php b/index.php new file mode 100644 index 0000000..03e7d0d --- /dev/null +++ b/index.php @@ -0,0 +1,22 @@ + +
+
+ +
+
+
+ +
+
+
+ + + +

+ +
+
+
+ diff --git a/js/app.js b/js/app.js new file mode 100644 index 0000000..16405d0 --- /dev/null +++ b/js/app.js @@ -0,0 +1,88 @@ +/* + * To avoid conflicts, Wordpress tends to prefer jQuery being used over $. + * As long as this file is included, no such conflicts should arise. Ensure it + * is called before other .js files using $. + */ +var $=jQuery.noConflict();;!function(a,b,c,d){"use strict";function e(a){return("string"==typeof a||a instanceof String)&&(a=a.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g,"")),a}function f(a){this.selector=a,this.query=""}var g=function(b){var c=a("head");c.prepend(a.map(b,function(a){return 0===c.has("."+a).length?'':void 0}))};g(["foundation-mq-small","foundation-mq-small-only","foundation-mq-medium","foundation-mq-medium-only","foundation-mq-large","foundation-mq-large-only","foundation-mq-xlarge","foundation-mq-xlarge-only","foundation-mq-xxlarge","foundation-data-attribute-namespace"]),a(function(){"undefined"!=typeof FastClick&&"undefined"!=typeof c.body&&FastClick.attach(c.body)});var h=function(b,d){if("string"==typeof b){if(d){var e;if(d.jquery){if(e=d[0],!e)return d}else e=d;return a(e.querySelectorAll(b))}return a(c.querySelectorAll(b))}return a(b,d)},i=function(a){var b=[];return a||b.push("data"),this.namespace.length>0&&b.push(this.namespace),b.push(this.name),b.join("-")},j=function(a){for(var b=a.split("-"),c=b.length,d=[];c--;)0!==c?d.push(b[c]):this.namespace.length>0?d.push(this.namespace,b[c]):d.push(b[c]);return d.reverse().join("-")},k=function(b,c){var d=this,e=function(){var e=h(this),f=!e.data(d.attr_name(!0)+"-init");e.data(d.attr_name(!0)+"-init",a.extend({},d.settings,c||b,d.data_options(e))),f&&d.events(this)};return h(this.scope).is("["+this.attr_name()+"]")?e.call(this.scope):h("["+this.attr_name()+"]",this.scope).each(e),"string"==typeof b?this[b].call(this,c):void 0},l=function(a,b){function c(){b(a[0])}function d(){if(this.one("load",c),/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var a=this.attr("src"),b=a.match(/\?/)?"&":"?";b+="random="+(new Date).getTime(),this.attr("src",a+b)}}return a.attr("src")?void(a[0].complete||4===a[0].readyState?c():d.call(a)):void c()};/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */ +b.matchMedia||(b.matchMedia=function(){var a=b.styleMedia||b.media;if(!a){var d=c.createElement("style"),e=c.getElementsByTagName("script")[0],f=null;d.type="text/css",d.id="matchmediajs-test",e.parentNode.insertBefore(d,e),f="getComputedStyle"in b&&b.getComputedStyle(d,null)||d.currentStyle,a={matchMedium:function(a){var b="@media "+a+"{ #matchmediajs-test { width: 1px; } }";return d.styleSheet?d.styleSheet.cssText=b:d.textContent=b,"1px"===f.width}}}return function(b){return{matches:a.matchMedium(b||"all"),media:b||"all"}}}()),function(a){function c(){d&&(g(c),i&&a.fx.tick())}for(var d,e=0,f=["webkit","moz"],g=b.requestAnimationFrame,h=b.cancelAnimationFrame,i="undefined"!=typeof a.fx;e").appendTo("head")[0].sheet,global:{namespace:d},init:function(a,c,d,e,f){var g=[a,d,e,f],i=[];if(this.rtl=/rtl/i.test(h("html").attr("dir")),this.scope=a||this.scope,this.set_namespace(),c&&"string"==typeof c&&!/reflow/i.test(c))this.libs.hasOwnProperty(c)&&i.push(this.init_lib(c,g));else for(var j in this.libs)i.push(this.init_lib(j,c));return h(b).load(function(){h(b).trigger("resize.fndtn.clearing").trigger("resize.fndtn.dropdown").trigger("resize.fndtn.equalizer").trigger("resize.fndtn.interchange").trigger("resize.fndtn.joyride").trigger("resize.fndtn.magellan").trigger("resize.fndtn.topbar").trigger("resize.fndtn.slider")}),a},init_lib:function(b,c){return this.libs.hasOwnProperty(b)?(this.patch(this.libs[b]),c&&c.hasOwnProperty(b)?("undefined"!=typeof this.libs[b].settings?a.extend(!0,this.libs[b].settings,c[b]):"undefined"!=typeof this.libs[b].defaults&&a.extend(!0,this.libs[b].defaults,c[b]),this.libs[b].init.apply(this.libs[b],[this.scope,c[b]])):(c=c instanceof Array?c:new Array(c),this.libs[b].init.apply(this.libs[b],c))):function(){}},patch:function(a){a.scope=this.scope,a.namespace=this.global.namespace,a.rtl=this.rtl,a.data_options=this.utils.data_options,a.attr_name=i,a.add_namespace=j,a.bindings=k,a.S=this.utils.S},inherit:function(a,b){for(var c=b.split(" "),d=c.length;d--;)this.utils.hasOwnProperty(c[d])&&(a[c[d]]=this.utils[c[d]])},set_namespace:function(){var b=this.global.namespace===d?a(".foundation-data-attribute-namespace").css("font-family"):this.global.namespace;this.global.namespace=b===d||/false/i.test(b)?"":b},libs:{},utils:{S:h,throttle:function(a,b){var c=null;return function(){var d=this,e=arguments;null==c&&(c=setTimeout(function(){a.apply(d,e),c=null},b))}},debounce:function(a,b,c){var d,e;return function(){var f=this,g=arguments,h=function(){d=null,c||(e=a.apply(f,g))},i=c&&!d;return clearTimeout(d),d=setTimeout(h,b),i&&(e=a.apply(f,g)),e}},data_options:function(b,c){function d(a){return!isNaN(a-0)&&null!==a&&""!==a&&a!==!1&&a!==!0}function e(b){return"string"==typeof b?a.trim(b):b}c=c||"options";var f,g,h,i={},j=function(a){var b=Foundation.global.namespace;return b.length>0?a.data(b+"-"+c):a.data(c)},k=j(b);if("object"==typeof k)return k;for(h=(k||":").split(";"),f=h.length;f--;)g=h[f].split(":"),g=[g[0],g.slice(1).join(":")],/true/i.test(g[1])&&(g[1]=!0),/false/i.test(g[1])&&(g[1]=!1),d(g[1])&&(-1===g[1].indexOf(".")?g[1]=parseInt(g[1],10):g[1]=parseFloat(g[1])),2===g.length&&g[0].length>0&&(i[e(g[0])]=e(g[1]));return i},register_media:function(b,c){Foundation.media_queries[b]===d&&(a("head").append(''),Foundation.media_queries[b]=e(a("."+c).css("font-family")))},add_custom_rule:function(a,b){if(b===d&&Foundation.stylesheet)Foundation.stylesheet.insertRule(a,Foundation.stylesheet.cssRules.length);else{var c=Foundation.media_queries[b];c!==d&&Foundation.stylesheet.insertRule("@media "+Foundation.media_queries[b]+"{ "+a+" }",Foundation.stylesheet.cssRules.length)}},image_loaded:function(a,b){function c(a){for(var b=a.length,c=b-1;c>=0;c--)if(a.attr("height")===d)return!1;return!0}var e=this,f=a.length;(0===f||c(a))&&b(a),a.each(function(){l(e.S(this),function(){f-=1,0===f&&b(a)})})},random_str:function(){return this.fidx||(this.fidx=0),this.prefix=this.prefix||[this.name||"F",(+new Date).toString(36)].join("-"),this.prefix+(this.fidx++).toString(36)},match:function(a){return b.matchMedia(a).matches},is_small_up:function(){return this.match(Foundation.media_queries.small)},is_medium_up:function(){return this.match(Foundation.media_queries.medium)},is_large_up:function(){return this.match(Foundation.media_queries.large)},is_xlarge_up:function(){return this.match(Foundation.media_queries.xlarge)},is_xxlarge_up:function(){return this.match(Foundation.media_queries.xxlarge)},is_small_only:function(){return!(this.is_medium_up()||this.is_large_up()||this.is_xlarge_up()||this.is_xxlarge_up())},is_medium_only:function(){return this.is_medium_up()&&!this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_large_only:function(){return this.is_medium_up()&&this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xxlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&this.is_xxlarge_up()}}},a.fn.foundation=function(){var a=Array.prototype.slice.call(arguments,0);return this.each(function(){return Foundation.init.apply(Foundation,[this].concat(a)),this})}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.abide={name:"abide",version:"5.5.3",settings:{live_validate:!0,validate_on_blur:!0,focus_on_invalid:!0,error_labels:!0,error_class:"error",timeout:1e3,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/},validators:{equalTo:function(a,b,d){var e=c.getElementById(a.getAttribute(this.add_namespace("data-equalto"))).value,f=a.value,g=e===f;return g}}},timer:null,init:function(a,b,c){this.bindings(b,c)},events:function(b){function c(a,b){clearTimeout(d.timer),d.timer=setTimeout(function(){d.validate([a],b)}.bind(a),f.timeout)}var d=this,e=d.S(b).attr("novalidate","novalidate"),f=e.data(this.attr_name(!0)+"-init")||{};this.invalid_attr=this.add_namespace("data-invalid"),e.off(".abide").on("submit.fndtn.abide",function(a){var b=/ajax/i.test(d.S(this).attr(d.attr_name()));return d.validate(d.S(this).find("input, textarea, select").not(":hidden, [data-abide-ignore]").get(),a,b)}).on("validate.fndtn.abide",function(a){"manual"===f.validate_on&&d.validate([a.target],a)}).on("reset",function(b){return d.reset(a(this),b)}).find("input, textarea, select").not(":hidden, [data-abide-ignore]").off(".abide").on("blur.fndtn.abide change.fndtn.abide",function(a){var b=this.getAttribute("id"),d=e.find('[data-equalto="'+b+'"]');f.validate_on_blur&&f.validate_on_blur===!0&&c(this,a),"undefined"!=typeof d.get(0)&&d.val().length&&c(d.get(0),a),"change"===f.validate_on&&c(this,a)}).on("keydown.fndtn.abide",function(a){var b=this.getAttribute("id"),d=e.find('[data-equalto="'+b+'"]');f.live_validate&&f.live_validate===!0&&9!=a.which&&c(this,a),"undefined"!=typeof d.get(0)&&d.val().length&&c(d.get(0),a),"tab"===f.validate_on&&9===a.which?c(this,a):"change"===f.validate_on&&c(this,a)}).on("focus",function(b){navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)&&a("html, body").animate({scrollTop:a(b.target).offset().top},100)})},reset:function(b,c){var d=this;b.removeAttr(d.invalid_attr),a("["+d.invalid_attr+"]",b).removeAttr(d.invalid_attr),a("."+d.settings.error_class,b).not("small").removeClass(d.settings.error_class),a(":input",b).not(":button, :submit, :reset, :hidden, [data-abide-ignore]").val("").removeAttr(d.invalid_attr)},validate:function(a,b,c){for(var d=this.parse_patterns(a),e=d.length,f=this.S(a[0]).closest("form"),g=/submit/.test(b.type),h=0;e>h;h++)if(!d[h]&&(g||c))return this.settings.focus_on_invalid&&a[h].focus(),f.trigger("invalid.fndtn.abide"),this.S(a[h]).closest("form").attr(this.invalid_attr,""),!1;return(g||c)&&f.trigger("valid.fndtn.abide"),f.removeAttr(this.invalid_attr),c?!1:!0},parse_patterns:function(a){for(var b=a.length,c=[];b--;)c.push(this.pattern(a[b]));return this.check_validation_and_apply_styles(c)},pattern:function(a){var b=a.getAttribute("type"),c="string"==typeof a.getAttribute("required"),d=a.getAttribute("pattern")||"";return this.settings.patterns.hasOwnProperty(d)&&d.length>0?[a,this.settings.patterns[d],c]:d.length>0?[a,new RegExp(d),c]:this.settings.patterns.hasOwnProperty(b)?[a,this.settings.patterns[b],c]:(d=/.*/,[a,d,c])},check_validation_and_apply_styles:function(b){var c=b.length,d=[];if(0==c)return d;var e=this.S(b[0][0]).closest("[data-"+this.attr_name(!0)+"]");for(e.data(this.attr_name(!0)+"-init")||{};c--;){var f,g,h=b[c][0],i=b[c][2],j=h.value.trim(),k=this.S(h).parent(),l=h.getAttribute(this.add_namespace("data-abide-validator")),m="radio"===h.type,n="checkbox"===h.type,o=this.S('label[for="'+h.getAttribute("id")+'"]'),p=i?h.value.length>0:!0,q=[];if(h.getAttribute(this.add_namespace("data-equalto"))&&(l="equalTo"),f=k.is("label")?k.parent():k,m&&i)q.push(this.valid_radio(h,i));else if(n&&i)q.push(this.valid_checkbox(h,i));else if(l){for(var r=l.split(" "),s=!0,t=!0,u=0;u0&&this.settings.error_labels&&o.removeClass(this.settings.error_class).removeAttr("role"),a(h).triggerHandler("valid")):(this.S(h).attr(this.invalid_attr,""),f.addClass("error"),o.length>0&&this.settings.error_labels&&o.addClass(this.settings.error_class).attr("role","alert"),a(h).triggerHandler("invalid"))}else if(b[c][1].test(j)&&p||!i&&h.value.length<1||a(h).attr("disabled")?q.push(!0):q.push(!1),q=[q.every(function(a){return a})],q[0])this.S(h).removeAttr(this.invalid_attr),h.setAttribute("aria-invalid","false"),h.removeAttribute("aria-describedby"),f.removeClass(this.settings.error_class),o.length>0&&this.settings.error_labels&&o.removeClass(this.settings.error_class).removeAttr("role"),a(h).triggerHandler("valid");else{this.S(h).attr(this.invalid_attr,""),h.setAttribute("aria-invalid","true");var v=f.find("small."+this.settings.error_class,"span."+this.settings.error_class),w=v.length>0?v[0].id:"";w.length>0&&h.setAttribute("aria-describedby",w),f.addClass(this.settings.error_class),o.length>0&&this.settings.error_labels&&o.addClass(this.settings.error_class).attr("role","alert"),a(h).triggerHandler("invalid")}d=d.concat(q)}return d},valid_checkbox:function(b,c){var b=this.S(b),d=b.is(":checked")||!c||b.get(0).getAttribute("disabled");return d?(b.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),a(b).triggerHandler("valid")):(b.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),a(b).triggerHandler("invalid")),d},valid_radio:function(b,c){for(var d=b.getAttribute("name"),e=this.S(b).closest("[data-"+this.attr_name(!0)+"]").find("[name='"+d+"']"),f=e.length,g=!1,h=!1,i=0;f>i;i++)e[i].getAttribute("disabled")?(h=!0,g=!0):e[i].checked?g=!0:h&&(g=!1);for(var i=0;f>i;i++)g?(this.S(e[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),a(e[i]).triggerHandler("valid")):(this.S(e[i]).attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),a(e[i]).triggerHandler("invalid"));return g},valid_equal:function(a,b,d){var e=c.getElementById(a.getAttribute(this.add_namespace("data-equalto"))).value,f=a.value,g=e===f;return g?(this.S(a).removeAttr(this.invalid_attr),d.removeClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.removeClass(this.settings.error_class)):(this.S(a).attr(this.invalid_attr,""),d.addClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.addClass(this.settings.error_class)),g},valid_oneof:function(a,b,c,d){var a=this.S(a),e=this.S("["+this.add_namespace("data-oneof")+"]"),f=e.filter(":checked").length>0;if(f?a.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class):a.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),!d){var g=this;e.each(function(){g.valid_oneof.call(g,this,null,null,!0)})}return f},reflow:function(a,b){var c=this,d=c.S("["+this.attr_name()+"]").attr("novalidate","novalidate");c.S(d).each(function(a,b){c.events(b)})}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.accordion={name:"accordion",version:"5.5.3",settings:{content_class:"content",active_class:"active",multi_expand:!1,toggleable:!0,callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(b){var c=this,d=this.S;c.create(this.S(b)),d(this.scope).off(".fndtn.accordion").on("click.fndtn.accordion","["+this.attr_name()+"] > dd > a, ["+this.attr_name()+"] > li > a",function(b){var e=d(this).closest("["+c.attr_name()+"]"),f=c.attr_name()+"="+e.attr(c.attr_name()),g=e.data(c.attr_name(!0)+"-init")||c.settings,h=d("#"+this.href.split("#")[1]),i=a("> dd, > li",e),j=i.children("."+g.content_class),k=j.filter("."+g.active_class);return b.preventDefault(),e.attr(c.attr_name())&&(j=j.add("["+f+"] dd > ."+g.content_class+", ["+f+"] li > ."+g.content_class),i=i.add("["+f+"] dd, ["+f+"] li")),g.toggleable&&h.is(k)?(h.parent("dd, li").toggleClass(g.active_class,!1),h.toggleClass(g.active_class,!1),d(this).attr("aria-expanded",function(a,b){return"true"===b?"false":"true"}),g.callback(h),h.triggerHandler("toggled",[e]),void e.triggerHandler("toggled",[h])):(g.multi_expand||(j.removeClass(g.active_class),i.removeClass(g.active_class),i.children("a").attr("aria-expanded","false")),h.addClass(g.active_class).parent().addClass(g.active_class),g.callback(h),h.triggerHandler("toggled",[e]),e.triggerHandler("toggled",[h]),void d(this).attr("aria-expanded","true"))})},create:function(b){var c=this,d=b,e=a("> .accordion-navigation",d),f=d.data(c.attr_name(!0)+"-init")||c.settings;e.children("a").attr("aria-expanded","false"),e.has("."+f.content_class+"."+f.active_class).addClass(f.active_class).children("a").attr("aria-expanded","true"),f.multi_expand&&b.attr("aria-multiselectable","true")},toggle:function(a){var a="undefined"!=typeof a?a:{},c="undefined"!=typeof a.selector?a.selector:"",d="undefined"!=typeof a.toggle_state?a.toggle_state:"",e="undefined"!=typeof a.$accordion?a.$accordion:this.S(this.scope).closest("["+this.attr_name()+"]"),f=e.find("> dd"+c+", > li"+c);if(f.length<1)return b.console&&console.error("Selection not found.",c),!1;var g=this.S,h=this.settings.active_class;f.each(function(){var a=g(this),b=a.hasClass(h);(b&&"close"===d||!b&&"open"===d||""===d)&&a.find("> a").trigger("click.fndtn.accordion")})},open:function(a){var a="undefined"!=typeof a?a:{};a.toggle_state="open",this.toggle(a)},close:function(a){var a="undefined"!=typeof a?a:{};a.toggle_state="close",this.toggle(a)},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.alert={name:"alert",version:"5.5.3",settings:{callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this,c=this.S;a(this.scope).off(".alert").on("click.fndtn.alert","["+this.attr_name()+"] .close",function(a){var d=c(this).closest("["+b.attr_name()+"]"),e=d.data(b.attr_name(!0)+"-init")||b.settings;a.preventDefault(),Modernizr.csstransitions?(d.addClass("alert-close"),d.on("transitionend webkitTransitionEnd oTransitionEnd",function(a){c(this).trigger("close.fndtn.alert").remove(),e.callback()})):d.fadeOut(300,function(){c(this).trigger("close.fndtn.alert").remove(),e.callback()})})},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.clearing={name:"clearing",version:"5.5.3",settings:{templates:{viewing:'×'},close_selectors:".clearing-close, div.clearing-blackout",open_selectors:"",skip_selector:"",touch_label:"",init:!1,locked:!1},init:function(a,b,c){var d=this;Foundation.inherit(this,"throttle image_loaded"),this.bindings(b,c),d.S(this.scope).is("["+this.attr_name()+"]")?this.assemble(d.S("li",this.scope)):d.S("["+this.attr_name()+"]",this.scope).each(function(){d.assemble(d.S("li",this))})},events:function(d){var e=this,f=e.S,g=a(".scroll-container");g.length>0&&(this.scope=g),f(this.scope).off(".clearing").on("click.fndtn.clearing","ul["+this.attr_name()+"] li "+this.settings.open_selectors,function(a,b,c){var b=b||f(this),c=c||b,d=b.next("li"),g=b.closest("["+e.attr_name()+"]").data(e.attr_name(!0)+"-init"),h=f(a.target);a.preventDefault(),g||(e.init(),g=b.closest("["+e.attr_name()+"]").data(e.attr_name(!0)+"-init")),c.hasClass("visible")&&b[0]===c[0]&&d.length>0&&e.is_open(b)&&(c=d,h=f("img",c)),e.open(h,b,c),e.update_paddles(c)}).on("click.fndtn.clearing",".clearing-main-next",function(a){e.nav(a,"next")}).on("click.fndtn.clearing",".clearing-main-prev",function(a){e.nav(a,"prev")}).on("click.fndtn.clearing",this.settings.close_selectors,function(a){Foundation.libs.clearing.close(a,this)}),a(c).on("keydown.fndtn.clearing",function(a){e.keydown(a)}),f(b).off(".clearing").on("resize.fndtn.clearing",function(){e.resize()}),this.swipe_events(d)},swipe_events:function(a){var b=this,c=b.S;c(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(a){a.touches||(a=a.originalEvent);var b={start_page_x:a.touches[0].pageX,start_page_y:a.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};c(this).data("swipe-transition",b),a.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(a){if(a.touches||(a=a.originalEvent),!(a.touches.length>1||a.scale&&1!==a.scale)){var d=c(this).data("swipe-transition");if("undefined"==typeof d&&(d={}),d.delta_x=a.touches[0].pageX-d.start_page_x,Foundation.rtl&&(d.delta_x=-d.delta_x),"undefined"==typeof d.is_scrolling&&(d.is_scrolling=!!(d.is_scrolling||Math.abs(d.delta_x)
');var d=c.detach(),e="";if(null!=d[0]){e=d[0].outerHTML;var f=this.S("#foundationClearingHolder"),g=c.data(this.attr_name(!0)+"-init"),h={grid:'",viewing:g.templates.viewing},i='
'+h.viewing+h.grid+"
",j=this.settings.touch_label;Modernizr.touch&&(i=a(i).find(".clearing-touch-label").html(j).end()),f.after(i).remove()}}},open:function(b,d,e){function f(){setTimeout(function(){this.image_loaded(m,function(){1!==m.outerWidth()||o?g.call(this,m):f.call(this)}.bind(this))}.bind(this),100)}function g(b){var c=a(b);c.css("visibility","visible"),c.trigger("imageVisible"),i.css("overflow","hidden"),j.addClass("clearing-blackout"),k.addClass("clearing-container"),l.show(),this.fix_height(e).caption(h.S(".clearing-caption",l),h.S("img",e)).center_and_label(b,n).shift(d,e,function(){e.closest("li").siblings().removeClass("visible"),e.closest("li").addClass("visible")}),l.trigger("opened.fndtn.clearing")}var h=this,i=a(c.body),j=e.closest(".clearing-assembled"),k=h.S("div",j).first(),l=h.S(".visible-img",k),m=h.S("img",l).not(b),n=h.S(".clearing-touch-label",k),o=!1,p={};a("body").on("touchmove",function(a){a.preventDefault()}),m.error(function(){o=!0}),this.locked()||(l.trigger("open.fndtn.clearing"),p=this.load(b),p.interchange?m.attr("data-interchange",p.interchange).foundation("interchange","reflow"):m.attr("src",p.src).attr("data-interchange",""),m.css("visibility","hidden"),f.call(this))},close:function(b,d){b.preventDefault();var e,f,g=function(a){return/blackout/.test(a.selector)?a:a.closest(".clearing-blackout")}(a(d)),h=a(c.body);return d===b.target&&g&&(h.css("overflow",""),e=a("div",g).first(),f=a(".visible-img",e),f.trigger("close.fndtn.clearing"),this.settings.prev_index=0,a("ul["+this.attr_name()+"]",g).attr("style","").closest(".clearing-blackout").removeClass("clearing-blackout"),e.removeClass("clearing-container"),f.hide(),f.trigger("closed.fndtn.clearing")),a("body").off("touchmove"),!1},is_open:function(a){return a.parent().prop("style").length>0},keydown:function(b){var c=a(".clearing-blackout ul["+this.attr_name()+"]"),d=this.rtl?37:39,e=this.rtl?39:37,f=27;b.which===d&&this.go(c,"next"),b.which===e&&this.go(c,"prev"),b.which===f&&this.S("a.clearing-close").trigger("click.fndtn.clearing")},nav:function(b,c){var d=a("ul["+this.attr_name()+"]",".clearing-blackout");b.preventDefault(),this.go(d,c)},resize:function(){var b=a("img",".clearing-blackout .visible-img"),c=a(".clearing-touch-label",".clearing-blackout");b.length&&(this.center_and_label(b,c),b.trigger("resized.fndtn.clearing"))},fix_height:function(a){var b=a.parent().children(),c=this;return b.each(function(){var a=c.S(this),b=a.find("img");a.height()>b.outerHeight()&&a.addClass("fix-height")}).closest("ul").width(100*b.length+"%"),this},update_paddles:function(a){a=a.closest("li");var b=a.closest(".carousel").siblings(".visible-img");a.next().length>0?this.S(".clearing-main-next",b).removeClass("disabled"):this.S(".clearing-main-next",b).addClass("disabled"),a.prev().length>0?this.S(".clearing-main-prev",b).removeClass("disabled"):this.S(".clearing-main-prev",b).addClass("disabled")},center_and_label:function(a,b){return!this.rtl&&b.length>0?b.css({marginLeft:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10}):b.css({marginRight:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10,left:"auto",right:"50%"}),this},load:function(a){var b,c,d;return"A"===a[0].nodeName?(b=a.attr("href"),c=a.data("clearing-interchange")):(d=a.closest("a"),b=d.attr("href"),c=d.data("clearing-interchange")),this.preload(a),{src:b?b:a.attr("src"),interchange:b?c:a.data("clearing-interchange")}},preload:function(a){this.img(a.closest("li").next(),"next").img(a.closest("li").prev(),"prev")},img:function(b,c){if(b.length){var d,e,f,g=a(".clearing-preload-"+c),h=this.S("a",b);h.length?(d=h.attr("href"),e=h.data("clearing-interchange")):(f=this.S("img",b),d=f.attr("src"),e=f.data("clearing-interchange")),e?g.attr("data-interchange",e):(g.attr("src",d),g.attr("data-interchange",""))}return this},caption:function(a,b){var c=b.attr("data-caption");if(c){var d=a.get(0);d.innerHTML=c,a.show()}else a.text("").hide();return this},go:function(a,b){var c=this.S(".visible",a),d=c[b]();this.settings.skip_selector&&0!=d.find(this.settings.skip_selector).length&&(d=d[b]()),d.length&&this.S("img",d).trigger("click.fndtn.clearing",[c,d]).trigger("change.fndtn.clearing")},shift:function(a,b,c){var d,e=b.parent(),f=this.settings.prev_index||b.index(),g=this.direction(e,a,b),h=this.rtl?"right":"left",i=parseInt(e.css("left"),10),j=b.outerWidth(),k={};b.index()===f||/skip/.test(g)?/skip/.test(g)&&(d=b.index()-this.settings.up_count,this.lock(),d>0?(k[h]=-(d*j),e.animate(k,300,this.unlock())):(k[h]=0,e.animate(k,300,this.unlock()))):/left/.test(g)?(this.lock(),k[h]=i+j,e.animate(k,300,this.unlock())):/right/.test(g)&&(this.lock(),k[h]=i-j,e.animate(k,300,this.unlock())),c()},direction:function(a,b,c){var d,e=this.S("li",a),f=e.outerWidth()+e.outerWidth()/4,g=Math.floor(this.S(".clearing-container").outerWidth()/f)-1,h=e.index(c);return this.settings.up_count=g,d=this.adjacent(this.settings.prev_index,h)?h>g&&h>this.settings.prev_index?"right":h>g-1&&h<=this.settings.prev_index?"left":!1:"skip",this.settings.prev_index=h,d},adjacent:function(a,b){for(var c=b+1;c>=b-1;c--)if(c===a)return!0;return!1},lock:function(){this.settings.locked=!0},unlock:function(){this.settings.locked=!1},locked:function(){return this.settings.locked},off:function(){this.S(this.scope).off(".fndtn.clearing"),this.S(b).off(".fndtn.clearing")},reflow:function(){this.init()}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.dropdown={name:"dropdown",version:"5.5.3",settings:{active_class:"open",disabled_class:"disabled",mega_class:"mega",align:"bottom",is_hover:!1,hover_timeout:150,opened:function(){},closed:function(){}},init:function(b,c,d){Foundation.inherit(this,"throttle"),a.extend(!0,this.settings,c,d),this.bindings(c,d)},events:function(d){var e=this,f=e.S;f(this.scope).off(".dropdown").on("click.fndtn.dropdown","["+this.attr_name()+"]",function(b){var c=f(this).data(e.attr_name(!0)+"-init")||e.settings;(!c.is_hover||Modernizr.touch)&&(b.preventDefault(),f(this).parent("[data-reveal-id]").length&&b.stopPropagation(),e.toggle(a(this)))}).on("mouseenter.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(a){var b,c,d=f(this);clearTimeout(e.timeout),d.data(e.data_attr())?(b=f("#"+d.data(e.data_attr())),c=d):(b=d,c=f("["+e.attr_name()+'="'+b.attr("id")+'"]'));var g=c.data(e.attr_name(!0)+"-init")||e.settings;f(a.currentTarget).data(e.data_attr())&&g.is_hover&&e.closeall.call(e),g.is_hover&&e.open.apply(e,[b,c])}).on("mouseleave.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(a){var b,c=f(this);if(c.data(e.data_attr()))b=c.data(e.data_attr(!0)+"-init")||e.settings;else var d=f("["+e.attr_name()+'="'+f(this).attr("id")+'"]'),b=d.data(e.attr_name(!0)+"-init")||e.settings;e.timeout=setTimeout(function(){c.data(e.data_attr())?b.is_hover&&e.close.call(e,f("#"+c.data(e.data_attr()))):b.is_hover&&e.close.call(e,c)}.bind(this),b.hover_timeout)}).on("click.fndtn.dropdown",function(b){var d=f(b.target).closest("["+e.attr_name()+"-content]"),g=d.find("a");return g.length>0&&"false"!==d.attr("aria-autoclose")&&e.close.call(e,f("["+e.attr_name()+"-content]")),b.target!==c&&!a.contains(c.documentElement,b.target)||f(b.target).closest("["+e.attr_name()+"]").length>0?void 0:!f(b.target).data("revealId")&&d.length>0&&(f(b.target).is("["+e.attr_name()+"-content]")||a.contains(d.first()[0],b.target))?void b.stopPropagation():void e.close.call(e,f("["+e.attr_name()+"-content]"))}).on("opened.fndtn.dropdown","["+e.attr_name()+"-content]",function(){e.settings.opened.call(this)}).on("closed.fndtn.dropdown","["+e.attr_name()+"-content]",function(){e.settings.closed.call(this)}),f(b).off(".dropdown").on("resize.fndtn.dropdown",e.throttle(function(){e.resize.call(e)},50)),this.resize()},close:function(b){var c=this;b.each(function(d){var e=a("["+c.attr_name()+"="+b[d].id+"]")||a("aria-controls="+b[d].id+"]");e.attr("aria-expanded","false"),c.S(this).hasClass(c.settings.active_class)&&(c.S(this).css(Foundation.rtl?"right":"left","-99999px").attr("aria-hidden","true").removeClass(c.settings.active_class).prev("["+c.attr_name()+"]").removeClass(c.settings.active_class).removeData("target"),c.S(this).trigger("closed.fndtn.dropdown",[b]))}),b.removeClass("f-open-"+this.attr_name(!0))},closeall:function(){var b=this;a.each(b.S(".f-open-"+this.attr_name(!0)),function(){b.close.call(b,b.S(this))})},open:function(a,b){this.css(a.addClass(this.settings.active_class),b),a.prev("["+this.attr_name()+"]").addClass(this.settings.active_class),a.data("target",b.get(0)).trigger("opened.fndtn.dropdown",[a,b]),a.attr("aria-hidden","false"),b.attr("aria-expanded","true"),a.focus(),a.addClass("f-open-"+this.attr_name(!0))},data_attr:function(){return this.namespace.length>0?this.namespace+"-"+this.name:this.name},toggle:function(a){if(!a.hasClass(this.settings.disabled_class)){var b=this.S("#"+a.data(this.data_attr()));0!==b.length&&(this.close.call(this,this.S("["+this.attr_name()+"-content]").not(b)),b.hasClass(this.settings.active_class)?(this.close.call(this,b),b.data("target")!==a.get(0)&&this.open.call(this,b,a)):this.open.call(this,b,a))}},resize:function(){var b=this.S("["+this.attr_name()+"-content].open"),c=a(b.data("target"));b.length&&c.length&&this.css(b,c)},css:function(a,b){var c=Math.max((b.width()-a.width())/2,8),d=b.data(this.attr_name(!0)+"-init")||this.settings,e=a.parent().css("overflow-y")||a.parent().css("overflow");if(this.clear_idx(),this.small()){var f=this.dirs.bottom.call(a,b,d);a.attr("style","").removeClass("drop-left drop-right drop-top").css({position:"absolute",width:"95%","max-width":"none",top:f.top}),a.css(Foundation.rtl?"right":"left",c)}else if("visible"!==e){var g=b[0].offsetTop+b[0].offsetHeight;a.attr("style","").css({position:"absolute",top:g}),a.css(Foundation.rtl?"right":"left",c)}else this.style(a,b,d);return a},style:function(b,c,d){var e=a.extend({position:"absolute"},this.dirs[d.align].call(b,c,d));b.attr("style","").css(e)},dirs:{_base:function(a,d){var e=this.offsetParent(),f=e.offset(),g=a.offset();g.top-=f.top,g.left-=f.left,g.missRight=!1,g.missTop=!1,g.missLeft=!1,g.leftRightFlag=!1;var h,i=b.innerWidth;h=c.getElementsByClassName("row")[0]?c.getElementsByClassName("row")[0].clientWidth:i;var j=(i-h)/2,k=h;if(!this.hasClass("mega")&&!d.ignore_repositioning){var l=this.outerWidth(),m=a.offset().left;a.offset().top<=this.outerHeight()&&(g.missTop=!0,k=i-j,g.leftRightFlag=!0),m+l>m+j&&m-j>l&&(g.missRight=!0,g.missLeft=!1),0>=m-l&&(g.missLeft=!0,g.missRight=!1)}return g},top:function(a,b){var c=Foundation.libs.dropdown,d=c.dirs._base.call(this,a,b);return this.addClass("drop-top"),1==d.missTop&&(d.top=d.top+a.outerHeight()+this.outerHeight(), +this.removeClass("drop-top")),1==d.missRight&&(d.left=d.left-this.outerWidth()+a.outerWidth()),(a.outerWidth()0)for(var d=this.S("["+this.add_namespace("data-uuid")+'="'+a+'"]');c--;){var e,f=b[c][2];if(e=this.settings.named_queries.hasOwnProperty(f)?matchMedia(this.settings.named_queries[f]):matchMedia(f),e.matches)return{el:d,scenario:b[c]}}return!1},load:function(a,b){return("undefined"==typeof this["cached_"+a]||b)&&this["update_"+a](),this["cached_"+a]},update_images:function(){var a=this.S("img["+this.data_attr+"]"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cache={},this.cached_images=[],this.images_loaded=0===b;c--;){if(d++,a[c]){var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_images.push(a[c])}d===b&&(this.images_loaded=!0,this.enhance("images"))}return this},update_nodes:function(){var a=this.S("["+this.data_attr+"]").not("img"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cached_nodes=[],this.nodes_loaded=0===b;c--;){d++;var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_nodes.push(a[c]),d===b&&(this.nodes_loaded=!0,this.enhance("nodes"))}return this},enhance:function(c){for(var d=this["cached_"+c].length;d--;)this.object(a(this["cached_"+c][d]));return a(b).trigger("resize.fndtn.interchange")},convert_directive:function(a){var b=this.trim(a);return b.length>0?b:"replace"},parse_scenario:function(a){var b=a[0].match(/(.+),\s*(\w+)\s*$/),c=a[1].match(/(.*)\)/);if(b)var d=b[1],e=b[2];else var f=a[0].split(/,\s*$/),d=f[0],e="";return[this.trim(d),this.convert_directive(e),this.trim(c[1])]},object:function(a){var b=this.parse_data_attr(a),c=[],d=b.length;if(d>0)for(;d--;){var e=b[d].split(/,\s?\(/);if(e.length>1){var f=this.parse_scenario(e);c.push(f)}}return this.store(a,c)},store:function(a,b){var c=this.random_str(),d=a.data(this.add_namespace("uuid",!0));return this.cache[d]?this.cache[d]:(a.attr(this.add_namespace("data-uuid"),c),this.cache[c]=b)},trim:function(b){return"string"==typeof b?a.trim(b):b},set_data_attr:function(a){return a?this.namespace.length>0?this.namespace+"-"+this.settings.load_attr:this.settings.load_attr:this.namespace.length>0?"data-"+this.namespace+"-"+this.settings.load_attr:"data-"+this.settings.load_attr},parse_data_attr:function(a){for(var b=a.attr(this.attr_name()).split(/\[(.*?)\]/),c=b.length,d=[];c--;)b[c].replace(/[\W\d]+/,"").length>4&&d.push(b[c]);return d},reflow:function(){this.load("images",!0),this.load("nodes",!0)}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.joyride={name:"joyride",version:"5.5.3",defaults:{expose:!1,modal:!0,keyboard:!0,tip_location:"bottom",nub_position:"auto",scroll_speed:1500,scroll_animation:"linear",timer:0,start_timer_on_click:!0,start_offset:0,next_button:!0,prev_button:!0,tip_animation:"fade",pause_after:[],exposed:[],tip_animation_fade_speed:300,cookie_monster:!1,cookie_name:"joyride",cookie_domain:!1,cookie_expires:365,tip_container:"body",abort_on_close:!0,tip_location_patterns:{top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},post_ride_callback:function(){},post_step_callback:function(){},pre_step_callback:function(){},pre_ride_callback:function(){},post_expose_callback:function(){},template:{link:'×',timer:'
',tip:'
',wrapper:'
',button:'',prev_button:'',modal:'
',expose:'
',expose_cover:'
'},expose_add_class:""},init:function(b,c,d){Foundation.inherit(this,"throttle random_str"),this.settings=this.settings||a.extend({},this.defaults,d||c),this.bindings(c,d)},go_next:function(){this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())},go_prev:function(){this.settings.$li.prev().length<1||(this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(null,!0),this.startTimer()):(this.hide(),this.show(null,!0)))},events:function(){var c=this;a(this.scope).off(".joyride").on("click.fndtn.joyride",".joyride-next-tip, .joyride-modal-bg",function(a){a.preventDefault(),this.go_next()}.bind(this)).on("click.fndtn.joyride",".joyride-prev-tip",function(a){a.preventDefault(),this.go_prev()}.bind(this)).on("click.fndtn.joyride",".joyride-close-tip",function(a){a.preventDefault(),this.end(this.settings.abort_on_close)}.bind(this)).on("keyup.fndtn.joyride",function(a){if(this.settings.keyboard&&this.settings.riding)switch(a.which){case 39:a.preventDefault(),this.go_next();break;case 37:a.preventDefault(),this.go_prev();break;case 27:a.preventDefault(),this.end(this.settings.abort_on_close)}}.bind(this)),a(b).off(".joyride").on("resize.fndtn.joyride",c.throttle(function(){if(a("["+c.attr_name()+"]").length>0&&c.settings.$next_tip&&c.settings.riding){if(c.settings.exposed.length>0){var b=a(c.settings.exposed);b.each(function(){var b=a(this);c.un_expose(b),c.expose(b)})}c.is_phone()?c.pos_phone():c.pos_default(!1)}},100))},start:function(){var b=this,c=a("["+this.attr_name()+"]",this.scope),d=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],e=d.length;!c.length>0||(this.settings.init||this.events(),this.settings=c.data(this.attr_name(!0)+"-init"),this.settings.$content_el=c,this.settings.$body=a(this.settings.tip_container),this.settings.body_offset=a(this.settings.tip_container).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,this.settings.riding=!0,"function"!=typeof a.cookie&&(this.settings.cookie_monster=!1),(!this.settings.cookie_monster||this.settings.cookie_monster&&!a.cookie(this.settings.cookie_name))&&(this.settings.$tip_content.each(function(c){var f=a(this);this.settings=a.extend({},b.defaults,b.data_options(f));for(var g=e;g--;)b.settings[d[g]]=parseInt(b.settings[d[g]],10);b.create({$li:f,index:c})}),!this.settings.start_timer_on_click&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")))},resume:function(){this.set_li(),this.show()},tip_template:function(b){var c,d;return b.tip_class=b.tip_class||"",c=a(this.settings.template.tip).addClass(b.tip_class),d=a.trim(a(b.li).html())+this.prev_button_text(b.prev_button_text,b.index)+this.button_text(b.button_text)+this.settings.template.link+this.timer_instance(b.index),c.append(a(this.settings.template.wrapper)),c.first().attr(this.add_namespace("data-index"),b.index),a(".joyride-content-wrapper",c).append(d),c[0]},timer_instance:function(b){var c;return c=0===b&&this.settings.start_timer_on_click&&this.settings.timer>0||0===this.settings.timer?"":a(this.settings.template.timer)[0].outerHTML},button_text:function(b){return this.settings.tip_settings.next_button?(b=a.trim(b)||"Next",b=a(this.settings.template.button).append(b)[0].outerHTML):b="",b},prev_button_text:function(b,c){return this.settings.tip_settings.prev_button?(b=a.trim(b)||"Previous",b=0==c?a(this.settings.template.prev_button).append(b).addClass("disabled")[0].outerHTML:a(this.settings.template.prev_button).append(b)[0].outerHTML):b="",b},create:function(b){this.settings.tip_settings=a.extend({},this.settings,this.data_options(b.$li));var c=b.$li.attr(this.add_namespace("data-button"))||b.$li.attr(this.add_namespace("data-text")),d=b.$li.attr(this.add_namespace("data-button-prev"))||b.$li.attr(this.add_namespace("data-prev-text")),e=b.$li.attr("class"),f=a(this.tip_template({tip_class:e,index:b.index,button_text:c,prev_button_text:d,li:b.$li}));a(this.settings.tip_container).append(f)},show:function(b,c){var e=null;if(this.settings.$li===d||-1===a.inArray(this.settings.$li.index(),this.settings.pause_after))if(this.settings.paused?this.settings.paused=!1:this.set_li(b,c),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0){if(b&&(this.settings.pre_ride_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.pre_step_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tip_settings=a.extend({},this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tip_settings.tip_location_pattern=this.settings.tip_location_patterns[this.settings.tip_settings.tip_location],!/body/i.test(this.settings.$target.selector)&&!this.settings.expose){var f=a(".joyride-modal-bg");/pop/i.test(this.settings.tipAnimation)?f.hide():f.fadeOut(this.settings.tipAnimationFadeSpeed),this.scroll_to()}this.is_phone()?this.pos_phone(!0):this.pos_default(!0),e=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tip_animation)?(e.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tip_animation)&&(e.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed).show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed)),this.settings.$current_tip=this.settings.$next_tip}else this.settings.$li&&this.settings.$target.length<1?this.show(b,c):this.end();else this.settings.paused=!0},is_phone:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||a(".joyride-modal-bg").hide(),this.settings.$current_tip.css("visibility","hidden"),setTimeout(a.proxy(function(){this.hide(),this.css("visibility","visible")},this.settings.$current_tip),0),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(a,b){a?(this.settings.$li=this.settings.$tip_content.eq(this.settings.start_offset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(b?this.settings.$li=this.settings.$li.prev():this.settings.$li=this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=a(".joyride-tip-guide").eq(this.settings.$li.index()),this.settings.$next_tip.data("closed","")},set_target:function(){var b=this.settings.$li.attr(this.add_namespace("data-class")),d=this.settings.$li.attr(this.add_namespace("data-id")),e=function(){return d?a(c.getElementById(d)):b?a("."+b).first():a("body")};this.settings.$target=e()},scroll_to:function(){var c,d;c=a(b).height()/2,d=Math.ceil(this.settings.$target.offset().top-c+this.settings.$next_tip.outerHeight()),0!=d&&a("html, body").stop().animate({scrollTop:d},this.settings.scroll_speed,"swing")},paused:function(){return-1===a.inArray(this.settings.$li.index()+1,this.settings.pause_after)},restart:function(){this.hide(),this.settings.$li=d,this.show("init")},pos_default:function(a){var b=this.settings.$next_tip.find(".joyride-nub"),c=Math.ceil(b.outerWidth()/2),d=Math.ceil(b.outerHeight()/2),e=a||!1;if(e&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),/body/i.test(this.settings.$target.selector))this.settings.$li.length&&this.pos_modal(b);else{var f=this.settings.tip_settings.tipAdjustmentY?parseInt(this.settings.tip_settings.tipAdjustmentY):0,g=this.settings.tip_settings.tipAdjustmentX?parseInt(this.settings.tip_settings.tipAdjustmentX):0;this.bottom()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()+g}):this.settings.$next_tip.css({top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"top")):this.top()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()}):this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"bottom")):this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.outerWidth()+this.settings.$target.offset().left+c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.offset().left-this.settings.$next_tip.outerWidth()-c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"right")),!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts0&&arguments[0]instanceof a)e=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;e=this.settings.$target}return e.length<1?(b.console&&console.error("element not valid",e),!1):(c=a(this.settings.template.expose),this.settings.$body.append(c),c.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),d=a(this.settings.template.expose_cover),f={zIndex:e.css("z-index"),position:e.css("position")},g=null==e.attr("class")?"":e.attr("class"),e.css("z-index",parseInt(c.css("z-index"))+1),"static"==f.position&&e.css("position","relative"),e.data("expose-css",f),e.data("orig-class",g),e.attr("class",g+" "+this.settings.expose_add_class),d.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),this.settings.modal&&this.show_modal(),this.settings.$body.append(d),c.addClass(h),d.addClass(h),e.data("expose",h),this.settings.post_expose_callback(this.settings.$li.index(),this.settings.$next_tip,e),void this.add_exposed(e))},un_expose:function(){var c,d,e,f,g,h=!1;if(arguments.length>0&&arguments[0]instanceof a)d=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;d=this.settings.$target}return d.length<1?(b.console&&console.error("element not valid",d),!1):(c=d.data("expose"),e=a("."+c),arguments.length>1&&(h=arguments[1]),h===!0?a(".joyride-expose-wrapper,.joyride-expose-cover").remove():e.remove(),f=d.data("expose-css"),"auto"==f.zIndex?d.css("z-index",""):d.css("z-index",f.zIndex),f.position!=d.css("position")&&("static"==f.position?d.css("position",""):d.css("position",f.position)),g=d.data("orig-class"),d.attr("class",g),d.removeData("orig-classes"),d.removeData("expose"),d.removeData("expose-z-index"),void this.remove_exposed(d))},add_exposed:function(b){this.settings.exposed=this.settings.exposed||[],b instanceof a||"object"==typeof b?this.settings.exposed.push(b[0]):"string"==typeof b&&this.settings.exposed.push(b)},remove_exposed:function(b){var c,d;for(b instanceof a?c=b[0]:"string"==typeof b&&(c=b),this.settings.exposed=this.settings.exposed||[],d=this.settings.exposed.length;d--;)if(this.settings.exposed[d]==c)return void this.settings.exposed.splice(d,1)},center:function(){var c=a(b);return this.settings.$next_tip.css({top:(c.height()-this.settings.$next_tip.outerHeight())/2+c.scrollTop(),left:(c.width()-this.settings.$next_tip.outerWidth())/2+c.scrollLeft()}),!0},bottom:function(){return/bottom/i.test(this.settings.tip_settings.tip_location)},top:function(){return/top/i.test(this.settings.tip_settings.tip_location)},right:function(){return/right/i.test(this.settings.tip_settings.tip_location)},left:function(){return/left/i.test(this.settings.tip_settings.tip_location)},corners:function(c){if(0===c.length)return[!1,!1,!1,!1];var d=a(b),e=d.height()/2,f=Math.ceil(this.settings.$target.offset().top-e+this.settings.$next_tip.outerHeight()),g=d.width()+d.scrollLeft(),h=d.height()+f,i=d.height()+d.scrollTop(),j=d.scrollTop();return j>f&&(j=0>f?0:f),h>i&&(i=h),[c.offset().topc.offset().left]},visible:function(a){for(var b=a.length;b--;)if(a[b])return!1;return!0},nub_position:function(a,b,c){"auto"===b?a.addClass(c):a.addClass(b)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(b){this.settings.cookie_monster&&a.cookie(this.settings.cookie_name,"ridden",{expires:this.settings.cookie_expires,domain:this.settings.cookie_domain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),a(this.scope).off("keyup.joyride"),this.settings.$next_tip.data("closed",!0),this.settings.riding=!1,a(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),("undefined"==typeof b||b===!1)&&(this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip),this.settings.post_ride_callback(this.settings.$li.index(),this.settings.$current_tip)),a(".joyride-tip-guide").remove()},off:function(){a(this.scope).off(".joyride"),a(b).off(".joyride"),a(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),a(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate)},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs["magellan-expedition"]={name:"magellan-expedition",version:"5.5.3",settings:{active_class:"active",threshold:0,destination_threshold:20,throttle_delay:30,fixed_top:0,offset_by_height:!0,duration:700,easing:"swing"},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c)},events:function(){var b=this,c=b.S,d=b.settings;b.set_expedition_position(),c(b.scope).off(".magellan").on("click.fndtn.magellan","["+b.add_namespace("data-magellan-arrival")+"] a[href*=#]",function(c){var d=this.hostname===location.hostname||!this.hostname,e=b.filterPathname(location.pathname)===b.filterPathname(this.pathname),f=this.hash.replace(/(:|\.|\/)/g,"\\$1"),g=this;if(d&&e&&f){c.preventDefault();var h=a(this).closest("["+b.attr_name()+"]"),i=h.data("magellan-expedition-init"),j=this.hash.split("#").join(""),k=a('a[name="'+j+'"]');0===k.length&&(k=a("#"+j));var l=k.offset().top-i.destination_threshold+1;i.offset_by_height&&(l-=h.outerHeight()),a("html, body").stop().animate({scrollTop:l},i.duration,i.easing,function(){history.pushState?history.pushState(null,null,g.pathname+g.search+"#"+j):location.hash=g.pathname+g.search+"#"+j})}}).on("scroll.fndtn.magellan",b.throttle(this.check_for_arrivals.bind(this),d.throttle_delay))},check_for_arrivals:function(){var a=this;a.update_arrivals(),a.update_expedition_positions()},set_expedition_position:function(){var b=this;a("["+this.attr_name()+"=fixed]",b.scope).each(function(c,d){var e,f,g=a(this),h=g.data("magellan-expedition-init"),i=g.attr("styles");g.attr("style",""),e=g.offset().top+h.threshold,f=parseInt(g.data("magellan-fixed-top")),isNaN(f)||(b.settings.fixed_top=f),g.data(b.data_attr("magellan-top-offset"),e),g.attr("style",i)})},update_expedition_positions:function(){var c=this,d=a(b).scrollTop();a("["+this.attr_name()+"=fixed]",c.scope).each(function(){var b=a(this),e=b.data("magellan-expedition-init"),f=b.attr("style"),g=b.data("magellan-top-offset");if(d+c.settings.fixed_top>=g){var h=b.prev("["+c.add_namespace("data-magellan-expedition-clone")+"]");0===h.length&&(h=b.clone(),h.removeAttr(c.attr_name()),h.attr(c.add_namespace("data-magellan-expedition-clone"),""),b.before(h)),b.css({position:"fixed",top:e.fixed_top}).addClass("fixed")}else b.prev("["+c.add_namespace("data-magellan-expedition-clone")+"]").remove(),b.attr("style",f).css("position","").css("top","").removeClass("fixed")})},update_arrivals:function(){var c=this,d=a(b).scrollTop();a("["+this.attr_name()+"]",c.scope).each(function(){var b=a(this),e=b.data(c.attr_name(!0)+"-init"),f=c.offsets(b,d),g=b.find("["+c.add_namespace("data-magellan-arrival")+"]"),h=!1;f.each(function(a,d){if(d.viewport_offset>=d.top_offset){var f=b.find("["+c.add_namespace("data-magellan-arrival")+"]");return f.not(d.arrival).removeClass(e.active_class),d.arrival.addClass(e.active_class),h=!0,!0}}),h||g.removeClass(e.active_class)})},offsets:function(b,c){var d=this,e=b.data(d.attr_name(!0)+"-init"),f=c;return b.find("["+d.add_namespace("data-magellan-arrival")+"]").map(function(c,g){var h=a(this).data(d.data_attr("magellan-arrival")),i=a("["+d.add_namespace("data-magellan-destination")+"="+h+"]");if(i.length>0){var j=i.offset().top-e.destination_threshold;return e.offset_by_height&&(j-=b.outerHeight()),j=Math.floor(j),{destination:i,arrival:a(this),top_offset:j,viewport_offset:f}}}).sort(function(a,b){return a.top_offsetb.top_offset?1:0})},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},off:function(){this.S(this.scope).off(".magellan"),this.S(b).off(".magellan")},filterPathname:function(a){return a=a||"",a.replace(/^\//,"").replace(/(?:index|default).[a-zA-Z]{3,4}$/,"").replace(/\/$/,"")},reflow:function(){var b=this;a("["+b.add_namespace("data-magellan-expedition-clone")+"]",b.scope).remove()}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.offcanvas={name:"offcanvas",version:"5.5.3",settings:{open_method:"move",close_on_click:!1},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this,c=b.S,d="",e="",f="",g="",h="";"move"===this.settings.open_method?(d="move-",e="right",f="left",g="top",h="bottom"):"overlap_single"===this.settings.open_method?(d="offcanvas-overlap-",e="right",f="left",g="top",h="bottom"):"overlap"===this.settings.open_method&&(d="offcanvas-overlap"),c(this.scope).off(".offcanvas").on("click.fndtn.offcanvas",".left-off-canvas-toggle",function(f){b.click_toggle_class(f,d+e),"overlap"!==b.settings.open_method&&c(".left-submenu").removeClass(d+e),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".left-off-canvas-menu a",function(f){var g=b.get_settings(f),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(f.preventDefault(),c(this).siblings(".left-submenu").toggleClass(d+e)):h.hasClass("back")&&(f.preventDefault(),h.parent().removeClass(d+e)):(b.hide.call(b,d+e,b.get_wrapper(f)),h.parent().removeClass(d+e)),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-toggle",function(e){b.click_toggle_class(e,d+f),"overlap"!==b.settings.open_method&&c(".right-submenu").removeClass(d+f),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-menu a",function(e){var g=b.get_settings(e),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".right-submenu").toggleClass(d+f)):h.hasClass("back")&&(e.preventDefault(),h.parent().removeClass(d+f)):(b.hide.call(b,d+f,b.get_wrapper(e)),h.parent().removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true"); +}).on("click.fndtn.offcanvas",".top-off-canvas-toggle",function(e){b.click_toggle_class(e,d+h),"overlap"!==b.settings.open_method&&c(".top-submenu").removeClass(d+h),a(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".top-off-canvas-menu a",function(e){var f=b.get_settings(e),g=c(this).parent();!f.close_on_click||g.hasClass("has-submenu")||g.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".top-submenu").toggleClass(d+h)):g.hasClass("back")&&(e.preventDefault(),g.parent().removeClass(d+h)):(b.hide.call(b,d+h,b.get_wrapper(e)),g.parent().removeClass(d+h)),a(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-toggle",function(e){b.click_toggle_class(e,d+g),"overlap"!==b.settings.open_method&&c(".bottom-submenu").removeClass(d+g),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-menu a",function(e){var f=b.get_settings(e),h=c(this).parent();!f.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".bottom-submenu").toggleClass(d+g)):h.hasClass("back")&&(e.preventDefault(),h.parent().removeClass(d+g)):(b.hide.call(b,d+g,b.get_wrapper(e)),h.parent().removeClass(d+g)),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(g){b.click_remove_class(g,d+f),c(".right-submenu").removeClass(d+f),e&&(b.click_remove_class(g,d+e),c(".left-submenu").removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(c){b.click_remove_class(c,d+f),a(".left-off-canvas-toggle").attr("aria-expanded","false"),e&&(b.click_remove_class(c,d+e),a(".right-off-canvas-toggle").attr("aria-expanded","false"))}).on("click.fndtn.offcanvas",".exit-off-canvas",function(e){b.click_remove_class(e,d+g),c(".bottom-submenu").removeClass(d+g),h&&(b.click_remove_class(e,d+h),c(".top-submenu").removeClass(d+g)),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(c){b.click_remove_class(c,d+g),a(".top-off-canvas-toggle").attr("aria-expanded","false"),h&&(b.click_remove_class(c,d+h),a(".bottom-off-canvas-toggle").attr("aria-expanded","false"))})},toggle:function(a,b){b=b||this.get_wrapper(),b.is("."+a)?this.hide(a,b):this.show(a,b)},show:function(a,b){b=b||this.get_wrapper(),b.trigger("open.fndtn.offcanvas"),b.addClass(a)},hide:function(a,b){b=b||this.get_wrapper(),b.trigger("close.fndtn.offcanvas"),b.removeClass(a)},click_toggle_class:function(a,b){a.preventDefault();var c=this.get_wrapper(a);this.toggle(b,c)},click_remove_class:function(a,b){a.preventDefault();var c=this.get_wrapper(a);this.hide(b,c)},get_settings:function(a){var b=this.S(a.target).closest("["+this.attr_name()+"]");return b.data(this.attr_name(!0)+"-init")||this.settings},get_wrapper:function(a){var b=this.S(a?a.target:this.scope).closest(".off-canvas-wrap");return 0===b.length&&(b=this.S(".off-canvas-wrap")),b},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";var e=function(){},f=function(e,f){if(e.hasClass(f.slides_container_class))return this;var j,k,l,m,n,o,p=this,q=e,r=0,s=!1;p.slides=function(){return q.children(f.slide_selector)},p.slides().first().addClass(f.active_slide_class),p.update_slide_number=function(b){f.slide_number&&(k.find("span:first").text(parseInt(b)+1),k.find("span:last").text(p.slides().length)),f.bullets&&(l.children().removeClass(f.bullets_active_class),a(l.children().get(b)).addClass(f.bullets_active_class))},p.update_active_link=function(b){var c=a('[data-orbit-link="'+p.slides().eq(b).attr("data-orbit-slide")+'"]');c.siblings().removeClass(f.bullets_active_class),c.addClass(f.bullets_active_class)},p.build_markup=function(){q.wrap('
'),j=q.parent(),q.addClass(f.slides_container_class),f.stack_on_small&&j.addClass(f.stack_on_small_class),f.navigation_arrows&&(j.append(a('').addClass(f.prev_class)),j.append(a('').addClass(f.next_class))),f.timer&&(m=a("
").addClass(f.timer_container_class),m.append(""),m.append(a("
").addClass(f.timer_progress_class)),m.addClass(f.timer_paused_class),j.append(m)),f.slide_number&&(k=a("
").addClass(f.slide_number_class),k.append(" "+f.slide_number_text+" "),j.append(k)),f.bullets&&(l=a("
    ").addClass(f.bullets_container_class),j.append(l),l.wrap('
    '),p.slides().each(function(b,c){var d=a("
  1. ").attr("data-orbit-slide",b).on("click",p.link_bullet);l.append(d)}))},p._goto=function(b,c){if(b===r)return!1;"object"==typeof o&&o.restart();var d=p.slides(),e="next";if(s=!0,r>b&&(e="prev"),b>=d.length){if(!f.circular)return!1;b=0}else if(0>b){if(!f.circular)return!1;b=d.length-1}var g=a(d.get(r)),h=a(d.get(b));g.css("zIndex",2),g.removeClass(f.active_slide_class),h.css("zIndex",4).addClass(f.active_slide_class),q.trigger("before-slide-change.fndtn.orbit"),f.before_slide_change(),p.update_active_link(b);var i=function(){var a=function(){r=b,s=!1,c===!0&&(o=p.create_timer(),o.start()),p.update_slide_number(r),q.trigger("after-slide-change.fndtn.orbit",[{slide_number:r,total_slides:d.length}]),f.after_slide_change(r,d.length)};q.outerHeight()!=h.outerHeight()&&f.variable_height?q.animate({height:h.outerHeight()},250,"linear",a):a()};if(1===d.length)return i(),!1;var j=function(){"next"===e&&n.next(g,h,i),"prev"===e&&n.prev(g,h,i)};h.outerHeight()>q.outerHeight()&&f.variable_height?q.animate({height:h.outerHeight()},250,"linear",j):j()},p.next=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r+1)},p.prev=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r-1)},p.link_custom=function(b){b.preventDefault();var c=a(this).attr("data-orbit-link");if("string"==typeof c&&""!=(c=a.trim(c))){var d=j.find("[data-orbit-slide="+c+"]");-1!=d.index()&&p._goto(d.index())}},p.link_bullet=function(b){var c=a(this).attr("data-orbit-slide");if("string"==typeof c&&""!=(c=a.trim(c)))if(isNaN(parseInt(c))){var d=j.find("[data-orbit-slide="+c+"]");-1!=d.index()&&p._goto(d.index()+1)}else p._goto(parseInt(c))},p.timer_callback=function(){p._goto(r+1,!0)},p.compute_dimensions=function(){var b=a(p.slides().get(r)),c=b.outerHeight();f.variable_height||p.slides().each(function(){a(this).outerHeight()>c&&(c=a(this).outerHeight())}),q.height(c)},p.create_timer=function(){var a=new g(j.find("."+f.timer_container_class),f,p.timer_callback);return a},p.stop_timer=function(){"object"==typeof o&&o.stop()},p.toggle_timer=function(){var a=j.find("."+f.timer_container_class);a.hasClass(f.timer_paused_class)?("undefined"==typeof o&&(o=p.create_timer()),o.start()):"object"==typeof o&&o.stop()},p.init=function(){p.build_markup(),f.timer&&(o=p.create_timer(),Foundation.utils.image_loaded(this.slides().children("img"),o.start)),n=new i(f,q),"slide"===f.animation&&(n=new h(f,q)),j.on("click","."+f.next_class,p.next),j.on("click","."+f.prev_class,p.prev),f.next_on_click&&j.on("click","."+f.slides_container_class+" [data-orbit-slide]",p.link_bullet),j.on("click",p.toggle_timer),f.swipe&&j.on("touchstart.fndtn.orbit",function(a){a.touches||(a=a.originalEvent);var b={start_page_x:a.touches[0].pageX,start_page_y:a.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};j.data("swipe-transition",b),a.stopPropagation()}).on("touchmove.fndtn.orbit",function(a){if(a.touches||(a=a.originalEvent),!(a.touches.length>1||a.scale&&1!==a.scale)){var b=j.data("swipe-transition");if("undefined"==typeof b&&(b={}),b.delta_x=a.touches[0].pageX-b.start_page_x,"undefined"==typeof b.is_scrolling&&(b.is_scrolling=!!(b.is_scrolling||Math.abs(b.delta_x)0?d(this.scope).on("open.fndtn.reveal",this.settings.open).on("opened.fndtn.reveal",this.settings.opened).on("opened.fndtn.reveal",this.open_video).on("close.fndtn.reveal",this.settings.close).on("closed.fndtn.reveal",this.settings.closed).on("closed.fndtn.reveal",this.close_video):d(this.scope).on("open.fndtn.reveal","["+b.attr_name()+"]",this.settings.open).on("opened.fndtn.reveal","["+b.attr_name()+"]",this.settings.opened).on("opened.fndtn.reveal","["+b.attr_name()+"]",this.open_video).on("close.fndtn.reveal","["+b.attr_name()+"]",this.settings.close).on("closed.fndtn.reveal","["+b.attr_name()+"]",this.settings.closed).on("closed.fndtn.reveal","["+b.attr_name()+"]",this.close_video),!0},key_up_on:function(a){var b=this;return b.S("body").off("keyup.fndtn.reveal").on("keyup.fndtn.reveal",function(a){var c=b.S("["+b.attr_name()+"].open"),d=c.data(b.attr_name(!0)+"-init")||b.settings;d&&27===a.which&&d.close_on_esc&&!b.locked&&b.close.call(b,c)}),!0},key_up_off:function(a){return this.S("body").off("keyup.fndtn.reveal"),!0},open:function(c,e){var g,h=this;c?"undefined"!=typeof c.selector?g=h.S("#"+c.data(h.data_attr("reveal-id"))).first():(g=h.S(this.scope),e=c):g=h.S(this.scope);var i=g.data(h.attr_name(!0)+"-init");if(i=i||this.settings,g.hasClass("open")&&c!==d&&c.attr("data-reveal-id")==g.attr("id"))return h.close(g);if(!g.hasClass("open")){var j=h.S("["+h.attr_name()+"].open");"undefined"==typeof g.data("css-top")&&g.data("css-top",parseInt(g.css("top"),10)).data("offset",this.cache_offset(g)),g.attr("tabindex","0").attr("aria-hidden","false"),this.key_up_on(g),g.on("open.fndtn.reveal",function(a){"fndtn.reveal"!==a.namespace}),g.on("open.fndtn.reveal").trigger("open.fndtn.reveal"),j.length<1&&this.toggle_bg(g,!0),"string"==typeof e&&(e={url:e});var k=function(){j.length>0&&(i.multiple_opened?h.to_back(j):h.hide(j,i.css.close)),i.multiple_opened&&f.push(g),h.show(g,i.css.open)};if("undefined"!=typeof e&&e.url){var l="undefined"!=typeof e.success?e.success:null;a.extend(e,{success:function(b,c,d){if(a.isFunction(l)){var e=l(b,c,d);"string"==typeof e&&(b=e)}"undefined"!=typeof options&&"undefined"!=typeof options.replaceContentSel?g.find(options.replaceContentSel).html(b):g.html(b),h.S(g).foundation("section","reflow"),h.S(g).children().foundation(),k()}}),i.on_ajax_error!==a.noop&&a.extend(e,{error:i.on_ajax_error}),a.ajax(e)}else k()}h.S(b).trigger("resize")},close:function(b){var b=b&&b.length?b:this.S(this.scope),c=this.S("["+this.attr_name()+"].open"),d=b.data(this.attr_name(!0)+"-init")||this.settings,e=this;if(c.length>0)if(b.removeAttr("tabindex","0").attr("aria-hidden","true"),this.locked=!0,this.key_up_off(b),b.trigger("close.fndtn.reveal"),(d.multiple_opened&&1===c.length||!d.multiple_opened||b.length>1)&&(e.toggle_bg(b,!1),e.to_front(b)),d.multiple_opened){var g=b.is(":not(.toback)");e.hide(b,d.css.close,d),g?f.pop():f=a.grep(f,function(a){var c=a[0]===b[0];return c&&e.to_front(b),!c}),f.length>0&&e.to_front(f[f.length-1])}else e.hide(c,d.css.close,d)},close_targets:function(){var a="."+this.settings.dismiss_modal_class;return this.settings.close_on_background_click?a+", ."+this.settings.bg_class:a},toggle_bg:function(b,c){0===this.S("."+this.settings.bg_class).length&&(this.settings.bg=a("
    ",{"class":this.settings.bg_class}).appendTo("body").hide());var e=this.settings.bg.filter(":visible").length>0;c!=e&&((c==d?e:!c)?this.hide(this.settings.bg):this.show(this.settings.bg))},show:function(c,d){if(d){var f=c.data(this.attr_name(!0)+"-init")||this.settings,g=f.root_element,h=this;if(0===c.parent(g).length){var i=c.wrap('
    ').parent();c.on("closed.fndtn.reveal.wrapped",function(){c.detach().appendTo(i),c.unwrap().unbind("closed.fndtn.reveal.wrapped")}),c.detach().appendTo(g)}var j=e(f.animation);if(j.animate||(this.locked=!1),j.pop){d.top=a(b).scrollTop()-c.data("offset")+"px";var k={top:a(b).scrollTop()+c.data("css-top")+"px",opacity:1};return setTimeout(function(){return c.css(d).animate(k,f.animation_speed,"linear",function(){h.locked=!1,c.trigger("opened.fndtn.reveal")}).addClass("open")},f.animation_speed/2)}if(d.top=a(b).scrollTop()+c.data("css-top")+"px",j.fade){var k={opacity:1};return setTimeout(function(){return c.css(d).animate(k,f.animation_speed,"linear",function(){h.locked=!1,c.trigger("opened.fndtn.reveal")}).addClass("open")},f.animation_speed/2)}return c.css(d).show().css({opacity:1}).addClass("open").trigger("opened.fndtn.reveal")}var f=this.settings;return e(f.animation).fade?c.fadeIn(f.animation_speed/2):(this.locked=!1,c.show())},to_back:function(a){a.addClass("toback")},to_front:function(a){a.removeClass("toback")},hide:function(c,d){if(d){var f=c.data(this.attr_name(!0)+"-init"),g=this;f=f||this.settings;var h=e(f.animation);if(h.animate||(this.locked=!1),h.pop){var i={top:-a(b).scrollTop()-c.data("offset")+"px",opacity:0};return setTimeout(function(){return c.animate(i,f.animation_speed,"linear",function(){g.locked=!1,c.css(d).trigger("closed.fndtn.reveal")}).removeClass("open")},f.animation_speed/2)}if(h.fade){var i={opacity:0};return setTimeout(function(){return c.animate(i,f.animation_speed,"linear",function(){g.locked=!1,c.css(d).trigger("closed.fndtn.reveal")}).removeClass("open")},f.animation_speed/2)}return c.hide().css(d).removeClass("open").trigger("closed.fndtn.reveal")}var f=this.settings;return e(f.animation).fade?c.fadeOut(f.animation_speed/2):c.hide()},close_video:function(b){var c=a(".flex-video",b.target),d=a("iframe",c);d.length>0&&(d.attr("data-src",d[0].src),d.attr("src",d.attr("src")),c.hide())},open_video:function(b){var c=a(".flex-video",b.target),e=c.find("iframe");if(e.length>0){var f=e.attr("data-src");if("string"==typeof f)e[0].src=e.attr("data-src");else{var g=e[0].src;e[0].src=d,e[0].src=g}c.show()}},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},cache_offset:function(a){var b=a.show().height()+parseInt(a.css("top"),10)+a.scrollY;return a.hide(),b},off:function(){a(this.scope).off(".fndtn.reveal")},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.slider={name:"slider",version:"5.5.3",settings:{start:0,end:100,step:1,precision:2,initial:null,display_selector:"",vertical:!1,trigger_input_change:!1,on_change:function(){}},cache:{},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c),this.reflow()},events:function(){var c=this;a(this.scope).off(".slider").on("mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider","["+c.attr_name()+"]:not(.disabled, [disabled]) .range-slider-handle",function(b){c.cache.active||(b.preventDefault(),c.set_active_slider(a(b.target)))}).on("mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider",function(d){if(c.cache.active)if(d.preventDefault(),a.data(c.cache.active[0],"settings").vertical){var e=0;d.pageY||(e=b.scrollY),c.calculate_position(c.cache.active,c.get_cursor_position(d,"y")+e)}else c.calculate_position(c.cache.active,c.get_cursor_position(d,"x"))}).on("mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider",function(d){if(!c.cache.active){var e="slider"===a(d.target).attr("role")?a(d.target):a(d.target).closest(".range-slider").find("[role='slider']");if(e.length&&!e.parent().hasClass("disabled")&&!e.parent().attr("disabled"))if(c.set_active_slider(e),a.data(c.cache.active[0],"settings").vertical){var f=0;d.pageY||(f=b.scrollY),c.calculate_position(c.cache.active,c.get_cursor_position(d,"y")+f)}else c.calculate_position(c.cache.active,c.get_cursor_position(d,"x"))}c.remove_active_slider()}).on("change.fndtn.slider",function(a){c.settings.on_change()}),c.S(b).on("resize.fndtn.slider",c.throttle(function(a){c.reflow()},300)),this.S("["+this.attr_name()+"]").each(function(){var b=a(this),d=b.children(".range-slider-handle")[0],e=c.initialize_settings(d);""!=e.display_selector&&a(e.display_selector).each(function(){a(this).attr("value")&&a(this).off("change").on("change",function(){b.foundation("slider","set_value",a(this).val())})})})},get_cursor_position:function(a,b){var c,d="page"+b.toUpperCase(),e="client"+b.toUpperCase();return"undefined"!=typeof a[d]?c=a[d]:"undefined"!=typeof a.originalEvent[e]?c=a.originalEvent[e]:a.originalEvent.touches&&a.originalEvent.touches[0]&&"undefined"!=typeof a.originalEvent.touches[0][e]?c=a.originalEvent.touches[0][e]:a.currentPoint&&"undefined"!=typeof a.currentPoint[b]&&(c=a.currentPoint[b]),c},set_active_slider:function(a){this.cache.active=a},remove_active_slider:function(){this.cache.active=null},calculate_position:function(b,c){var d=this,e=a.data(b[0],"settings"),f=(a.data(b[0],"handle_l"),a.data(b[0],"handle_o"),a.data(b[0],"bar_l")),g=a.data(b[0],"bar_o");requestAnimationFrame(function(){var a;a=Foundation.rtl&&!e.vertical?d.limit_to((g+f-c)/f,0,1):d.limit_to((c-g)/f,0,1),a=e.vertical?1-a:a;var h=d.normalized_value(a,e.start,e.end,e.step,e.precision);d.set_ui(b,h)})},set_ui:function(b,c){var d=a.data(b[0],"settings"),e=a.data(b[0],"handle_l"),f=a.data(b[0],"bar_l"),g=this.normalized_percentage(c,d.start,d.end),h=g*(f-e)-1,i=100*g,j=b.parent(),k=b.parent().children("input[type=hidden]");Foundation.rtl&&!d.vertical&&(h=-h),h=d.vertical?-h+f-e+1:h,this.set_translate(b,h,d.vertical),d.vertical?b.siblings(".range-slider-active-segment").css("height",i+"%"):b.siblings(".range-slider-active-segment").css("width",i+"%"),j.attr(this.attr_name(),c).trigger("change.fndtn.slider"),k.val(c),d.trigger_input_change&&k.trigger("change.fndtn.slider"),b[0].hasAttribute("aria-valuemin")||b.attr({"aria-valuemin":d.start,"aria-valuemax":d.end}),b.attr("aria-valuenow",c),""!=d.display_selector&&a(d.display_selector).each(function(){this.hasAttribute("value")?a(this).val(c):a(this).text(c)})},normalized_percentage:function(a,b,c){return Math.min(1,(a-b)/(c-b))},normalized_value:function(a,b,c,d,e){var f=c-b,g=a*f,h=(g-g%d)/d,i=g%d,j=i>=.5*d?d:0;return(h*d+j+b).toFixed(e)},set_translate:function(b,c,d){d?a(b).css("-webkit-transform","translateY("+c+"px)").css("-moz-transform","translateY("+c+"px)").css("-ms-transform","translateY("+c+"px)").css("-o-transform","translateY("+c+"px)").css("transform","translateY("+c+"px)"):a(b).css("-webkit-transform","translateX("+c+"px)").css("-moz-transform","translateX("+c+"px)").css("-ms-transform","translateX("+c+"px)").css("-o-transform","translateX("+c+"px)").css("transform","translateX("+c+"px)")},limit_to:function(a,b,c){return Math.min(Math.max(a,b),c)},initialize_settings:function(b){var c,d=a.extend({},this.settings,this.data_options(a(b).parent()));return null===d.precision&&(c=(""+d.step).match(/\.([\d]*)/),d.precision=c&&c[1]?c[1].length:0),d.vertical?(a.data(b,"bar_o",a(b).parent().offset().top),a.data(b,"bar_l",a(b).parent().outerHeight()),a.data(b,"handle_o",a(b).offset().top),a.data(b,"handle_l",a(b).outerHeight())):(a.data(b,"bar_o",a(b).parent().offset().left),a.data(b,"bar_l",a(b).parent().outerWidth()),a.data(b,"handle_o",a(b).offset().left),a.data(b,"handle_l",a(b).outerWidth())),a.data(b,"bar",a(b).parent()),a.data(b,"settings",d)},set_initial_position:function(b){var c=a.data(b.children(".range-slider-handle")[0],"settings"),d="number"!=typeof c.initial||isNaN(c.initial)?Math.floor(.5*(c.end-c.start)/c.step)*c.step+c.start:c.initial,e=b.children(".range-slider-handle");this.set_ui(e,d)},set_value:function(b){var c=this;a("["+c.attr_name()+"]",this.scope).each(function(){a(this).attr(c.attr_name(),b)}),a(this.scope).attr(c.attr_name())&&a(this.scope).attr(c.attr_name(),b),c.reflow()},reflow:function(){var b=this;b.S("["+this.attr_name()+"]").each(function(){var c=a(this).children(".range-slider-handle")[0],d=a(this).attr(b.attr_name());b.initialize_settings(c),d?b.set_ui(a(c),parseFloat(d)):b.set_initial_position(a(this))})}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.tab={name:"tab",version:"5.5.3",settings:{active_class:"active",callback:function(){},deep_linking:!1,scroll_to_content:!0,is_hover:!1},default_tab_hashes:[],init:function(a,b,c){var d=this,e=this.S;e("["+this.attr_name()+"] > .active > a",this.scope).each(function(){d.default_tab_hashes.push(this.hash)}),this.bindings(b,c),this.handle_location_hash_change()},events:function(){var a=this,c=this.S,d=function(b,d){var e=c(d).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");if(!e.is_hover||Modernizr.touch){var f=b.keyCode||b.which;9!==f&&(b.preventDefault(),b.stopPropagation()),a.toggle_active_tab(c(d).parent())}};c(this.scope).off(".tab").on("keydown.fndtn.tab","["+this.attr_name()+"] > * > a",function(a){var b=a.keyCode||a.which;if(13===b||32===b){var c=this;d(a,c)}}).on("click.fndtn.tab","["+this.attr_name()+"] > * > a",function(a){var b=this;d(a,b)}).on("mouseenter.fndtn.tab","["+this.attr_name()+"] > * > a",function(b){var d=c(this).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");d.is_hover&&a.toggle_active_tab(c(this).parent())}),c(b).on("hashchange.fndtn.tab",function(b){b.preventDefault(),a.handle_location_hash_change()})},handle_location_hash_change:function(){var b=this,c=this.S;c("["+this.attr_name()+"]",this.scope).each(function(){var e=c(this).data(b.attr_name(!0)+"-init");if(e.deep_linking){var f;if(f=e.scroll_to_content?b.scope.location.hash:b.scope.location.hash.replace("fndtn-",""),""!=f){var g=c(f);if(g.hasClass("content")&&g.parent().hasClass("tabs-content"))b.toggle_active_tab(a("["+b.attr_name()+"] > * > a[href="+f+"]").parent());else{var h=g.closest(".content").attr("id");h!=d&&b.toggle_active_tab(a("["+b.attr_name()+"] > * > a[href=#"+h+"]").parent(),f)}}else for(var i=0;i * > a[href="+b.default_tab_hashes[i]+"]").parent())}})},toggle_active_tab:function(e,f){var g=this,h=g.S,i=e.closest("["+this.attr_name()+"]"),j=e.find("a"),k=e.children("a").first(),l="#"+k.attr("href").split("#")[1],m=h(l),n=e.siblings(),o=i.data(this.attr_name(!0)+"-init"),p=function(b){var d,e=a(this),f=a(this).parents("li").prev().children('[role="tab"]'),g=a(this).parents("li").next().children('[role="tab"]');switch(b.keyCode){case 37:d=f;break;case 39:d=g;break;default:d=!1}d.length&&(e.attr({tabindex:"-1","aria-selected":null}),d.attr({tabindex:"0","aria-selected":!0}).focus()),a('[role="tabpanel"]').attr("aria-hidden","true"),a("#"+a(c.activeElement).attr("href").substring(1)).attr("aria-hidden",null)},q=function(a){var c=o.scroll_to_content?g.default_tab_hashes[0]:"fndtn-"+g.default_tab_hashes[0].replace("#","");(a!==c||b.location.hash)&&(b.location.hash=a)};k.data("tab-content")&&(l="#"+k.data("tab-content").split("#")[1],m=h(l)),o.deep_linking&&(o.scroll_to_content?(q(f||l),f==d||f==l?e.parent()[0].scrollIntoView():h(l)[0].scrollIntoView()):q(f!=d?"fndtn-"+f.replace("#",""):"fndtn-"+l.replace("#",""))),e.addClass(o.active_class).triggerHandler("opened"),j.attr({"aria-selected":"true",tabindex:0}),n.removeClass(o.active_class),n.find("a").attr({"aria-selected":"false"}),m.siblings().removeClass(o.active_class).attr({"aria-hidden":"true"}),m.addClass(o.active_class).attr("aria-hidden","false").removeAttr("tabindex"),o.callback(e),m.triggerHandler("toggled",[m]),i.triggerHandler("toggled",[e]),j.off("keydown").on("keydown",p)},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.tooltip={name:"tooltip",version:"5.5.3",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,hover_delay:200,fade_in_duration:150,fade_out_duration:150,show_on:"all",tip_template:function(a,b){return''+b+''}},cache:{},init:function(a,b,c){Foundation.inherit(this,"random_str"),this.bindings(b,c)},should_show:function(b,c){var d=a.extend({},this.settings,this.data_options(b));return"all"===d.show_on?!0:this.small()&&"small"===d.show_on?!0:this.medium()&&"medium"===d.show_on?!0:this.large()&&"large"===d.show_on?!0:!1},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},events:function(b){function c(a,b,c){a.timer||(c?(a.timer=null,e.showTip(b)):a.timer=setTimeout(function(){a.timer=null,e.showTip(b)}.bind(a),e.settings.hover_delay))}function d(a,b){a.timer&&(clearTimeout(a.timer),a.timer=null),e.hide(b)}var e=this,f=e.S;e.create(this.S(b)),a(this.scope).off(".tooltip").on("mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"]",function(b){var g=f(this),h=a.extend({},e.settings,e.data_options(g)),i=!1;if(Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&f(b.target).is("a"))return!1;if(/mouse/i.test(b.type)&&e.ie_touch(b))return!1;if(g.hasClass("open"))Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&b.preventDefault(),e.hide(g);else{if(h.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type))return;if(!h.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&(b.preventDefault(),f(h.tooltip_class+".open").hide(),i=!0,a(".open["+e.attr_name()+"]").length>0)){var j=f(a(".open["+e.attr_name()+"]")[0]);e.hide(j)}/enter|over/i.test(b.type)?c(this,g):"mouseout"===b.type||"mouseleave"===b.type?d(this,g):c(this,g,!0)}}).on("mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"].open",function(b){return/mouse/i.test(b.type)&&e.ie_touch(b)?!1:void(("touch"!=a(this).data("tooltip-open-event-type")||"mouseleave"!=b.type)&&("mouse"==a(this).data("tooltip-open-event-type")&&/MSPointerDown|touchstart/i.test(b.type)?e.convert_to_touch(a(this)):d(this,a(this))))}).on("DOMNodeRemoved DOMAttrModified","["+this.attr_name()+"]:not(a)",function(a){d(this,f(this))})},ie_touch:function(a){return!1},showTip:function(a){var b=this.getTip(a);return this.should_show(a,b)?this.show(a):void 0},getTip:function(b){var c=this.selector(b),d=a.extend({},this.settings,this.data_options(b)),e=null;return c&&(e=this.S('span[data-selector="'+c+'"]'+d.tooltip_class)),"object"==typeof e?e:!1},selector:function(a){var b=a.attr(this.attr_name())||a.attr("data-selector");return"string"!=typeof b&&(b=this.random_str(6),a.attr("data-selector",b).attr("aria-describedby",b)),b},create:function(c){var d=this,e=a.extend({},this.settings,this.data_options(c)),f=this.settings.tip_template;"string"==typeof e.tip_template&&b.hasOwnProperty(e.tip_template)&&(f=b[e.tip_template]); +var g=a(f(this.selector(c),a("
    ").html(c.attr("title")).html())),h=this.inheritable_classes(c);g.addClass(h).appendTo(e.append_to),Modernizr.touch&&(g.append(''+e.touch_close_text+""),g.on("touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip",function(a){d.hide(c)})),c.removeAttr("title").attr("title","")},reposition:function(b,c,d){var e,f,g,h,i;c.css("visibility","hidden").show(),e=b.data("width"),f=c.children(".nub"),g=f.outerHeight(),h=f.outerWidth(),this.small()?c.css({width:"100%"}):c.css({width:e?e:"auto"}),i=function(a,b,c,d,e,f){return a.css({top:b?b:"auto",bottom:d?d:"auto",left:e?e:"auto",right:c?c:"auto"}).end()};var j=b.offset().top,k=b.offset().left,l=b.outerHeight();if(i(c,j+l+10,"auto","auto",k),this.small())i(c,j+l+10,"auto","auto",12.5,a(this.scope).width()),c.addClass("tip-override"),i(f,-g,"auto","auto",k);else{Foundation.rtl&&(f.addClass("rtl"),k=k+b.outerWidth()-c.outerWidth()),i(c,j+l+10,"auto","auto",k),f.attr("style")&&f.removeAttr("style"),c.removeClass("tip-override");var m=c.outerHeight();d&&d.indexOf("tip-top")>-1?(Foundation.rtl&&f.addClass("rtl"),i(c,j-m,"auto","auto",k).removeClass("tip-override")):d&&d.indexOf("tip-left")>-1?(i(c,j+l/2-m/2,"auto","auto",k-c.outerWidth()-g).removeClass("tip-override"),f.removeClass("rtl")):d&&d.indexOf("tip-right")>-1&&(i(c,j+l/2-m/2,"auto","auto",k+b.outerWidth()+g).removeClass("tip-override"),f.removeClass("rtl"))}c.css("visibility","visible").hide()},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},inheritable_classes:function(b){var c=a.extend({},this.settings,this.data_options(b)),d=["tip-top","tip-left","tip-bottom","tip-right","radius","round"].concat(c.additional_inheritable_classes),e=b.attr("class"),f=e?a.map(e.split(" "),function(b,c){return-1!==a.inArray(b,d)?b:void 0}).join(" "):"";return a.trim(f)},convert_to_touch:function(b){var c=this,d=c.getTip(b),e=a.extend({},c.settings,c.data_options(b));0===d.find(".tap-to-close").length&&(d.append(''+e.touch_close_text+""),d.on("click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose",function(a){c.hide(b)})),b.data("tooltip-open-event-type","touch")},show:function(a){var b=this.getTip(a);"touch"==a.data("tooltip-open-event-type")&&this.convert_to_touch(a),this.reposition(a,b,a.attr("class")),a.addClass("open"),b.fadeIn(this.settings.fade_in_duration)},hide:function(a){var b=this.getTip(a);b.fadeOut(this.settings.fade_out_duration,function(){b.find(".tap-to-close").remove(),b.off("click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose"),a.removeClass("open")})},off:function(){var b=this;this.S(this.scope).off(".fndtn.tooltip"),this.S(this.settings.tooltip_class).each(function(c){a("["+b.attr_name()+"]").eq(c).attr("title",a(this).text())}).remove()},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.topbar={name:"topbar",version:"5.5.3",settings:{index:0,start_offset:0,sticky_class:"sticky",custom_back_text:!0,back_text:"Back",mobile_show_parent_link:!0,is_hover:!0,scrolltop:!0,sticky_on:"all",dropdown_autoclose:!0},init:function(b,c,d){Foundation.inherit(this,"add_custom_rule register_media throttle");var e=this;e.register_media("topbar","foundation-mq-topbar"),this.bindings(c,d),e.S("["+this.attr_name()+"]",this.scope).each(function(){var b=a(this),c=b.data(e.attr_name(!0)+"-init");e.S("section, .top-bar-section",this);b.data("index",0);var d=b.parent();d.hasClass("fixed")||e.is_sticky(b,d,c)?(e.settings.sticky_class=c.sticky_class,e.settings.sticky_topbar=b,b.data("height",d.outerHeight()),b.data("stickyoffset",d.offset().top)):b.data("height",b.outerHeight()),c.assembled||e.assemble(b),c.is_hover?e.S(".has-dropdown",b).addClass("not-click"):e.S(".has-dropdown",b).removeClass("not-click"),e.add_custom_rule(".f-topbar-fixed { padding-top: "+b.data("height")+"px }"),d.hasClass("fixed")&&e.S("body").addClass("f-topbar-fixed")})},is_sticky:function(a,b,c){var d=b.hasClass(c.sticky_class),e=matchMedia(Foundation.media_queries.small).matches,f=matchMedia(Foundation.media_queries.medium).matches,g=matchMedia(Foundation.media_queries.large).matches;return d&&"all"===c.sticky_on?!0:d&&this.small()&&-1!==c.sticky_on.indexOf("small")&&e&&!f&&!g?!0:d&&this.medium()&&-1!==c.sticky_on.indexOf("medium")&&e&&f&&!g?!0:d&&this.large()&&-1!==c.sticky_on.indexOf("large")&&e&&f&&g?!0:!1},toggle:function(c){var d,e=this;d=c?e.S(c).closest("["+this.attr_name()+"]"):e.S("["+this.attr_name()+"]");var f=d.data(this.attr_name(!0)+"-init"),g=e.S("section, .top-bar-section",d);e.breakpoint()&&(e.rtl?(g.css({right:"0%"}),a(">.name",g).css({right:"100%"})):(g.css({left:"0%"}),a(">.name",g).css({left:"100%"})),e.S("li.moved",g).removeClass("moved"),d.data("index",0),d.toggleClass("expanded").css("height","")),f.scrolltop?d.hasClass("expanded")?d.parent().hasClass("fixed")&&(f.scrolltop?(d.parent().removeClass("fixed"),d.addClass("fixed"),e.S("body").removeClass("f-topbar-fixed"),b.scrollTo(0,0)):d.parent().removeClass("expanded")):d.hasClass("fixed")&&(d.parent().addClass("fixed"),d.removeClass("fixed"),e.S("body").addClass("f-topbar-fixed")):(e.is_sticky(d,d.parent(),f)&&d.parent().addClass("fixed"),d.parent().hasClass("fixed")&&(d.hasClass("expanded")?(d.addClass("fixed"),d.parent().addClass("expanded"),e.S("body").addClass("f-topbar-fixed")):(d.removeClass("fixed"),d.parent().removeClass("expanded"),e.update_sticky_positioning())))},timer:null,events:function(c){var d=this,e=this.S;e(this.scope).off(".topbar").on("click.fndtn.topbar","["+this.attr_name()+"] .toggle-topbar",function(a){a.preventDefault(),d.toggle(this)}).on("click.fndtn.topbar contextmenu.fndtn.topbar",'.top-bar .top-bar-section li a[href^="#"],['+this.attr_name()+'] .top-bar-section li a[href^="#"]',function(b){var c=a(this).closest("li"),e=c.closest("["+d.attr_name()+"]"),f=e.data(d.attr_name(!0)+"-init");if(f.dropdown_autoclose&&f.is_hover){var g=a(this).closest(".hover");g.removeClass("hover")}!d.breakpoint()||c.hasClass("back")||c.hasClass("has-dropdown")||d.toggle()}).on("click.fndtn.topbar","["+this.attr_name()+"] li.has-dropdown",function(b){var c=e(this),f=e(b.target),g=c.closest("["+d.attr_name()+"]"),h=g.data(d.attr_name(!0)+"-init");return f.data("revealId")?void d.toggle():void(d.breakpoint()||(!h.is_hover||Modernizr.touch)&&(b.stopImmediatePropagation(),c.hasClass("hover")?(c.removeClass("hover").find("li").removeClass("hover"),c.parents("li.hover").removeClass("hover")):(c.addClass("hover"),a(c).siblings().removeClass("hover"),"A"===f[0].nodeName&&f.parent().hasClass("has-dropdown")&&b.preventDefault())))}).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown>a",function(a){if(d.breakpoint()){a.preventDefault();var b=e(this),c=b.closest("["+d.attr_name()+"]"),f=c.find("section, .top-bar-section"),g=(b.next(".dropdown").outerHeight(),b.closest("li"));c.data("index",c.data("index")+1),g.addClass("moved"),d.rtl?(f.css({right:-(100*c.data("index"))+"%"}),f.find(">.name").css({right:100*c.data("index")+"%"})):(f.css({left:-(100*c.data("index"))+"%"}),f.find(">.name").css({left:100*c.data("index")+"%"})),c.css("height",b.siblings("ul").outerHeight(!0)+c.data("height"))}}),e(b).off(".topbar").on("resize.fndtn.topbar",d.throttle(function(){d.resize.call(d)},50)).trigger("resize.fndtn.topbar").load(function(){e(this).trigger("resize.fndtn.topbar")}),e("body").off(".topbar").on("click.fndtn.topbar",function(a){var b=e(a.target).closest("li").closest("li.hover");b.length>0||e("["+d.attr_name()+"] li.hover").removeClass("hover")}),e(this.scope).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown .back",function(a){a.preventDefault();var b=e(this),c=b.closest("["+d.attr_name()+"]"),f=c.find("section, .top-bar-section"),g=(c.data(d.attr_name(!0)+"-init"),b.closest("li.moved")),h=g.parent();c.data("index",c.data("index")-1),d.rtl?(f.css({right:-(100*c.data("index"))+"%"}),f.find(">.name").css({right:100*c.data("index")+"%"})):(f.css({left:-(100*c.data("index"))+"%"}),f.find(">.name").css({left:100*c.data("index")+"%"})),0===c.data("index")?c.css("height",""):c.css("height",h.outerHeight(!0)+c.data("height")),setTimeout(function(){g.removeClass("moved")},300)}),e(this.scope).find(".dropdown a").focus(function(){a(this).parents(".has-dropdown").addClass("hover")}).blur(function(){a(this).parents(".has-dropdown").removeClass("hover")})},resize:function(){var a=this;a.S("["+this.attr_name()+"]").each(function(){var b,d=a.S(this),e=d.data(a.attr_name(!0)+"-init"),f=d.parent("."+a.settings.sticky_class);if(!a.breakpoint()){var g=d.hasClass("expanded");d.css("height","").removeClass("expanded").find("li").removeClass("hover"),g&&a.toggle(d)}a.is_sticky(d,f,e)&&(f.hasClass("fixed")?(f.removeClass("fixed"),b=f.offset().top,a.S(c.body).hasClass("f-topbar-fixed")&&(b-=d.data("height")),d.data("stickyoffset",b),f.addClass("fixed")):(b=f.offset().top,d.data("stickyoffset",b)))})},breakpoint:function(){return!matchMedia(Foundation.media_queries.topbar).matches},small:function(){return matchMedia(Foundation.media_queries.small).matches},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},assemble:function(b){var c=this,d=b.data(this.attr_name(!0)+"-init"),e=c.S("section, .top-bar-section",b);e.detach(),c.S(".has-dropdown>a",e).each(function(){var b,e=c.S(this),f=e.siblings(".dropdown"),g=e.attr("href");f.find(".title.back").length||(b=a(1==d.mobile_show_parent_link&&g?'
  2. ":'
  3. '),1==d.custom_back_text?a("h5>a",b).html(d.back_text):a("h5>a",b).html("« "+e.html()),f.prepend(b))}),e.appendTo(b),this.sticky(),this.assembled(b)},assembled:function(b){b.data(this.attr_name(!0),a.extend({},b.data(this.attr_name(!0)),{assembled:!0}))},height:function(b){var c=0,d=this;return a("> li",b).each(function(){c+=d.S(this).outerHeight(!0)}),c},sticky:function(){var a=this;this.S(b).on("scroll",function(){a.update_sticky_positioning()})},update_sticky_positioning:function(){var a="."+this.settings.sticky_class,c=this.S(b),d=this;if(d.settings.sticky_topbar&&d.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(),this.settings)){var e=this.settings.sticky_topbar.data("stickyoffset")+this.settings.start_offset;d.S(a).hasClass("expanded")||(c.scrollTop()>e?d.S(a).hasClass("fixed")||(d.S(a).addClass("fixed"),d.S("body").addClass("f-topbar-fixed")):c.scrollTop()<=e&&d.S(a).hasClass("fixed")&&(d.S(a).removeClass("fixed"),d.S("body").removeClass("f-topbar-fixed")))}},off:function(){this.S(this.scope).off(".fndtn.topbar"),this.S(b).off(".fndtn.topbar")},reflow:function(){}}}(jQuery,window,window.document);;// Load foundation +$(document).foundation(); +$(document).ready(function () { + $('ul.children').each(function () { + $(this).before(''); + }); + $('a.toggle').click('click', function () { + $(this).toggleClass('open'); + $(this).siblings('ul').toggleClass('open'); + }); + $('.top-bar-section').find('ul.sub-menu.dropdown').each(function (){ + var menuImg = $(this).parent('li').prop('id'); + var menuNum = menuImg.match(/\d+/)[0]; + var menuImgSrc = 'img_for_menu_' + menuNum; + if (window['img_for_menu_' + menuNum]) { + $(this).find('li.image-placeholder').html(''); + } else { + $(this).find('li.image-placeholder').parent('ul').addClass('no-image-subul'); + $(this).find('li.image-placeholder').remove(); + } + //console.log('ul = ' + menuImg); + //console.log('menu-id = ' + menuNum); + }); + var toggleSitelist = true; + $('#emmet').on('click',function(e) { +// var footerPosition = get_footer_position(); + var footerPosition = 'fixed'; + if (footerPosition === 'fixed') { + if (toggleSitelist) { + $("#sitelist").animate({'height': 53}, 600); + toggleSitelist = false; + } else { + $("#sitelist").animate({'height': 0}, 600); + toggleSitelist = true; + } + $('#connect').bind('mouseleave', function () { + if (!toggleSitelist) { + $("#sitelist").animate({'height': 0}, 600); + toggleSitelist = true; + } + }); + } + }); + + var iframe = $("#main-content").children("p").find('iframe'); + iframe.attr("id", "googleMaps").attr("name", "googleMaps"); + iframe.css("display", "block").css("max-width", "100%").css("margin", "0 auto"); + + // set arrival and depature dates to datepickers + $('#input_3_8, #input_3_9, #input_4_8, #input_4_9, #input_3_11, #input_3_12, #input_4_11, #input_4_12').datepicker(); + + $('#choice_4_34_1').click(function(){ + if (this.checked) { + $('#input_4_19').datepicker(); + $("#input_4_9").datepicker("setDate", 2); + } + }); + // set departure date to default of 2 days from today + $("#input_3_9, #input_4_9").datepicker("setDate", 2); + + // arrival date and alternative dates onselect logic to add 2 days to departure date when arrival date is selected + $("#input_3_8, #input_4_8").datepicker("option", "onSelect", function (dateText, inst) { + var date1 = $.datepicker.parseDate(inst.settings.dateFormat || $.datepicker._defaults.dateFormat, dateText, inst.settings); + + var date2 = new Date(date1.getTime()); + date2.setDate(date2.getDate() + 2); + $("#input_3_9, #input_4_9").datepicker("setDate", date2); + }); + + // needed separate datepicker onselect function because the arrival and departure fields are not sequential in their id numbers + $("#input_3_12, #input_4_12").datepicker("option", "onSelect", function (dateText, inst) { + var date1 = $.datepicker.parseDate(inst.settings.dateFormat || $.datepicker._defaults.dateFormat, dateText, inst.settings); + + var date2 = new Date(date1.getTime()); + date2.setDate(date2.getDate() + 2); + $("#input_3_11, #input_4_11").datepicker("setDate", date2); + }); + +}); diff --git a/js/custom/pageSetup.js b/js/custom/pageSetup.js new file mode 100644 index 0000000..8df915c --- /dev/null +++ b/js/custom/pageSetup.js @@ -0,0 +1,79 @@ +// 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'); + }); + $('.top-bar-section').find('ul.sub-menu.dropdown').each(function (){ + var menuImg = $(this).parent('li').prop('id'); + var menuNum = menuImg.match(/\d+/)[0]; + var menuImgSrc = 'img_for_menu_' + menuNum; + if (window['img_for_menu_' + menuNum]) { + $(this).find('li.image-placeholder').html(''); + } else { + $(this).find('li.image-placeholder').parent('ul').addClass('no-image-subul'); + $(this).find('li.image-placeholder').remove(); + } + //console.log('ul = ' + menuImg); + //console.log('menu-id = ' + menuNum); + }); + var toggleSitelist = true; + $('#emmet').on('click',function(e) { +// var footerPosition = get_footer_position(); + var footerPosition = 'fixed'; + if (footerPosition === 'fixed') { + if (toggleSitelist) { + $("#sitelist").animate({'height': 53}, 600); + toggleSitelist = false; + } else { + $("#sitelist").animate({'height': 0}, 600); + toggleSitelist = true; + } + $('#connect').bind('mouseleave', function () { + if (!toggleSitelist) { + $("#sitelist").animate({'height': 0}, 600); + toggleSitelist = true; + } + }); + } + }); + + var iframe = $("#main-content").children("p").find('iframe'); + iframe.attr("id", "googleMaps").attr("name", "googleMaps"); + iframe.css("display", "block").css("max-width", "100%").css("margin", "0 auto"); + + // set arrival and depature dates to datepickers + $('#input_3_8, #input_3_9, #input_4_8, #input_4_9, #input_3_11, #input_3_12, #input_4_11, #input_4_12').datepicker(); + + $('#choice_4_34_1').click(function(){ + if (this.checked) { + $('#input_4_19').datepicker(); + $("#input_4_9").datepicker("setDate", 2); + } + }); + // set departure date to default of 2 days from today + $("#input_3_9, #input_4_9").datepicker("setDate", 2); + + // arrival date and alternative dates onselect logic to add 2 days to departure date when arrival date is selected + $("#input_3_8, #input_4_8").datepicker("option", "onSelect", function (dateText, inst) { + var date1 = $.datepicker.parseDate(inst.settings.dateFormat || $.datepicker._defaults.dateFormat, dateText, inst.settings); + + var date2 = new Date(date1.getTime()); + date2.setDate(date2.getDate() + 2); + $("#input_3_9, #input_4_9").datepicker("setDate", date2); + }); + + // needed separate datepicker onselect function because the arrival and departure fields are not sequential in their id numbers + $("#input_3_12, #input_4_12").datepicker("option", "onSelect", function (dateText, inst) { + var date1 = $.datepicker.parseDate(inst.settings.dateFormat || $.datepicker._defaults.dateFormat, dateText, inst.settings); + + var date2 = new Date(date1.getTime()); + date2.setDate(date2.getDate() + 2); + $("#input_3_11, #input_4_11").datepicker("setDate", date2); + }); + +}); diff --git a/js/dollarsign.js b/js/dollarsign.js new file mode 100644 index 0000000..2d7a2e9 --- /dev/null +++ b/js/dollarsign.js @@ -0,0 +1,6 @@ +/* + * To avoid conflicts, Wordpress tends to prefer jQuery being used over $. + * As long as this file is included, no such conflicts should arise. Ensure it + * is called before other .js files using $. + */ +var $=jQuery.noConflict(); \ No newline at end of file diff --git a/js/fastclick/lib/fastclick.js b/js/fastclick/lib/fastclick.js new file mode 100644 index 0000000..3af4f9d --- /dev/null +++ b/js/fastclick/lib/fastclick.js @@ -0,0 +1,841 @@ +;(function () { + 'use strict'; + + /** + * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs. + * + * @codingstandard ftlabs-jsv2 + * @copyright The Financial Times Limited [All Rights Reserved] + * @license MIT License (see LICENSE.txt) + */ + + /*jslint browser:true, node:true*/ + /*global define, Event, Node*/ + + + /** + * Instantiate fast-clicking listeners on the specified layer. + * + * @constructor + * @param {Element} layer The layer to listen on + * @param {Object} [options={}] The options to override the defaults + */ + function FastClick(layer, options) { + var oldOnClick; + + options = options || {}; + + /** + * Whether a click is currently being tracked. + * + * @type boolean + */ + this.trackingClick = false; + + + /** + * Timestamp for when click tracking started. + * + * @type number + */ + this.trackingClickStart = 0; + + + /** + * The element being tracked for a click. + * + * @type EventTarget + */ + this.targetElement = null; + + + /** + * X-coordinate of touch start event. + * + * @type number + */ + this.touchStartX = 0; + + + /** + * Y-coordinate of touch start event. + * + * @type number + */ + this.touchStartY = 0; + + + /** + * ID of the last touch, retrieved from Touch.identifier. + * + * @type number + */ + this.lastTouchIdentifier = 0; + + + /** + * Touchmove boundary, beyond which a click will be cancelled. + * + * @type number + */ + this.touchBoundary = options.touchBoundary || 10; + + + /** + * The FastClick layer. + * + * @type Element + */ + this.layer = layer; + + /** + * The minimum time between tap(touchstart and touchend) events + * + * @type number + */ + this.tapDelay = options.tapDelay || 200; + + /** + * The maximum time for a tap + * + * @type number + */ + this.tapTimeout = options.tapTimeout || 700; + + if (FastClick.notNeeded(layer)) { + return; + } + + // Some old versions of Android don't have Function.prototype.bind + function bind(method, context) { + return function() { return method.apply(context, arguments); }; + } + + + var methods = ['onMouse', 'onClick', 'onTouchStart', 'onTouchMove', 'onTouchEnd', 'onTouchCancel']; + var context = this; + for (var i = 0, l = methods.length; i < l; i++) { + context[methods[i]] = bind(context[methods[i]], context); + } + + // Set up event handlers as required + if (deviceIsAndroid) { + layer.addEventListener('mouseover', this.onMouse, true); + layer.addEventListener('mousedown', this.onMouse, true); + layer.addEventListener('mouseup', this.onMouse, true); + } + + layer.addEventListener('click', this.onClick, true); + layer.addEventListener('touchstart', this.onTouchStart, false); + layer.addEventListener('touchmove', this.onTouchMove, false); + layer.addEventListener('touchend', this.onTouchEnd, false); + layer.addEventListener('touchcancel', this.onTouchCancel, false); + + // Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2) + // which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick + // layer when they are cancelled. + if (!Event.prototype.stopImmediatePropagation) { + layer.removeEventListener = function(type, callback, capture) { + var rmv = Node.prototype.removeEventListener; + if (type === 'click') { + rmv.call(layer, type, callback.hijacked || callback, capture); + } else { + rmv.call(layer, type, callback, capture); + } + }; + + layer.addEventListener = function(type, callback, capture) { + var adv = Node.prototype.addEventListener; + if (type === 'click') { + adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) { + if (!event.propagationStopped) { + callback(event); + } + }), capture); + } else { + adv.call(layer, type, callback, capture); + } + }; + } + + // If a handler is already declared in the element's onclick attribute, it will be fired before + // FastClick's onClick handler. Fix this by pulling out the user-defined handler function and + // adding it as listener. + if (typeof layer.onclick === 'function') { + + // Android browser on at least 3.2 requires a new reference to the function in layer.onclick + // - the old one won't work if passed to addEventListener directly. + oldOnClick = layer.onclick; + layer.addEventListener('click', function(event) { + oldOnClick(event); + }, false); + layer.onclick = null; + } + } + + /** + * Windows Phone 8.1 fakes user agent string to look like Android and iPhone. + * + * @type boolean + */ + var deviceIsWindowsPhone = navigator.userAgent.indexOf("Windows Phone") >= 0; + + /** + * Android requires exceptions. + * + * @type boolean + */ + var deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0 && !deviceIsWindowsPhone; + + + /** + * iOS requires exceptions. + * + * @type boolean + */ + var deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent) && !deviceIsWindowsPhone; + + + /** + * iOS 4 requires an exception for select elements. + * + * @type boolean + */ + var deviceIsIOS4 = deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent); + + + /** + * iOS 6.0-7.* requires the target element to be manually derived + * + * @type boolean + */ + var deviceIsIOSWithBadTarget = deviceIsIOS && (/OS [6-7]_\d/).test(navigator.userAgent); + + /** + * BlackBerry requires exceptions. + * + * @type boolean + */ + var deviceIsBlackBerry10 = navigator.userAgent.indexOf('BB10') > 0; + + /** + * Determine whether a given element requires a native click. + * + * @param {EventTarget|Element} target Target DOM element + * @returns {boolean} Returns true if the element needs a native click + */ + FastClick.prototype.needsClick = function(target) { + switch (target.nodeName.toLowerCase()) { + + // Don't send a synthetic click to disabled inputs (issue #62) + case 'button': + case 'select': + case 'textarea': + if (target.disabled) { + return true; + } + + break; + case 'input': + + // File inputs need real clicks on iOS 6 due to a browser bug (issue #68) + if ((deviceIsIOS && target.type === 'file') || target.disabled) { + return true; + } + + break; + case 'label': + case 'iframe': // iOS8 homescreen apps can prevent events bubbling into frames + case 'video': + return true; + } + + return (/\bneedsclick\b/).test(target.className); + }; + + + /** + * Determine whether a given element requires a call to focus to simulate click into element. + * + * @param {EventTarget|Element} target Target DOM element + * @returns {boolean} Returns true if the element requires a call to focus to simulate native click. + */ + FastClick.prototype.needsFocus = function(target) { + switch (target.nodeName.toLowerCase()) { + case 'textarea': + return true; + case 'select': + return !deviceIsAndroid; + case 'input': + switch (target.type) { + case 'button': + case 'checkbox': + case 'file': + case 'image': + case 'radio': + case 'submit': + return false; + } + + // No point in attempting to focus disabled inputs + return !target.disabled && !target.readOnly; + default: + return (/\bneedsfocus\b/).test(target.className); + } + }; + + + /** + * Send a click event to the specified element. + * + * @param {EventTarget|Element} targetElement + * @param {Event} event + */ + FastClick.prototype.sendClick = function(targetElement, event) { + var clickEvent, touch; + + // On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24) + if (document.activeElement && document.activeElement !== targetElement) { + document.activeElement.blur(); + } + + touch = event.changedTouches[0]; + + // Synthesise a click event, with an extra attribute so it can be tracked + clickEvent = document.createEvent('MouseEvents'); + clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null); + clickEvent.forwardedTouchEvent = true; + targetElement.dispatchEvent(clickEvent); + }; + + FastClick.prototype.determineEventType = function(targetElement) { + + //Issue #159: Android Chrome Select Box does not open with a synthetic click event + if (deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') { + return 'mousedown'; + } + + return 'click'; + }; + + + /** + * @param {EventTarget|Element} targetElement + */ + FastClick.prototype.focus = function(targetElement) { + var length; + + // Issue #160: on iOS 7, some input elements (e.g. date datetime month) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724. + if (deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time' && targetElement.type !== 'month') { + length = targetElement.value.length; + targetElement.setSelectionRange(length, length); + } else { + targetElement.focus(); + } + }; + + + /** + * Check whether the given target element is a child of a scrollable layer and if so, set a flag on it. + * + * @param {EventTarget|Element} targetElement + */ + FastClick.prototype.updateScrollParent = function(targetElement) { + var scrollParent, parentElement; + + scrollParent = targetElement.fastClickScrollParent; + + // Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the + // target element was moved to another parent. + if (!scrollParent || !scrollParent.contains(targetElement)) { + parentElement = targetElement; + do { + if (parentElement.scrollHeight > parentElement.offsetHeight) { + scrollParent = parentElement; + targetElement.fastClickScrollParent = parentElement; + break; + } + + parentElement = parentElement.parentElement; + } while (parentElement); + } + + // Always update the scroll top tracker if possible. + if (scrollParent) { + scrollParent.fastClickLastScrollTop = scrollParent.scrollTop; + } + }; + + + /** + * @param {EventTarget} targetElement + * @returns {Element|EventTarget} + */ + FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) { + + // On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node. + if (eventTarget.nodeType === Node.TEXT_NODE) { + return eventTarget.parentNode; + } + + return eventTarget; + }; + + + /** + * On touch start, record the position and scroll offset. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onTouchStart = function(event) { + var targetElement, touch, selection; + + // Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111). + if (event.targetTouches.length > 1) { + return true; + } + + targetElement = this.getTargetElementFromEventTarget(event.target); + touch = event.targetTouches[0]; + + if (deviceIsIOS) { + + // Only trusted events will deselect text on iOS (issue #49) + selection = window.getSelection(); + if (selection.rangeCount && !selection.isCollapsed) { + return true; + } + + if (!deviceIsIOS4) { + + // Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23): + // when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched + // with the same identifier as the touch event that previously triggered the click that triggered the alert. + // Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an + // immediately preceeding touch event (issue #52), so this fix is unavailable on that platform. + // Issue 120: touch.identifier is 0 when Chrome dev tools 'Emulate touch events' is set with an iOS device UA string, + // which causes all touch events to be ignored. As this block only applies to iOS, and iOS identifiers are always long, + // random integers, it's safe to to continue if the identifier is 0 here. + if (touch.identifier && touch.identifier === this.lastTouchIdentifier) { + event.preventDefault(); + return false; + } + + this.lastTouchIdentifier = touch.identifier; + + // If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and: + // 1) the user does a fling scroll on the scrollable layer + // 2) the user stops the fling scroll with another tap + // then the event.target of the last 'touchend' event will be the element that was under the user's finger + // when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check + // is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42). + this.updateScrollParent(targetElement); + } + } + + this.trackingClick = true; + this.trackingClickStart = event.timeStamp; + this.targetElement = targetElement; + + this.touchStartX = touch.pageX; + this.touchStartY = touch.pageY; + + // Prevent phantom clicks on fast double-tap (issue #36) + if ((event.timeStamp - this.lastClickTime) < this.tapDelay) { + event.preventDefault(); + } + + return true; + }; + + + /** + * Based on a touchmove event object, check whether the touch has moved past a boundary since it started. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.touchHasMoved = function(event) { + var touch = event.changedTouches[0], boundary = this.touchBoundary; + + if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) { + return true; + } + + return false; + }; + + + /** + * Update the last position. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onTouchMove = function(event) { + if (!this.trackingClick) { + return true; + } + + // If the touch has moved, cancel the click tracking + if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) { + this.trackingClick = false; + this.targetElement = null; + } + + return true; + }; + + + /** + * Attempt to find the labelled control for the given label element. + * + * @param {EventTarget|HTMLLabelElement} labelElement + * @returns {Element|null} + */ + FastClick.prototype.findControl = function(labelElement) { + + // Fast path for newer browsers supporting the HTML5 control attribute + if (labelElement.control !== undefined) { + return labelElement.control; + } + + // All browsers under test that support touch events also support the HTML5 htmlFor attribute + if (labelElement.htmlFor) { + return document.getElementById(labelElement.htmlFor); + } + + // If no for attribute exists, attempt to retrieve the first labellable descendant element + // the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label + return labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea'); + }; + + + /** + * On touch end, determine whether to send a click event at once. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onTouchEnd = function(event) { + var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement; + + if (!this.trackingClick) { + return true; + } + + // Prevent phantom clicks on fast double-tap (issue #36) + if ((event.timeStamp - this.lastClickTime) < this.tapDelay) { + this.cancelNextClick = true; + return true; + } + + if ((event.timeStamp - this.trackingClickStart) > this.tapTimeout) { + return true; + } + + // Reset to prevent wrong click cancel on input (issue #156). + this.cancelNextClick = false; + + this.lastClickTime = event.timeStamp; + + trackingClickStart = this.trackingClickStart; + this.trackingClick = false; + this.trackingClickStart = 0; + + // On some iOS devices, the targetElement supplied with the event is invalid if the layer + // is performing a transition or scroll, and has to be re-detected manually. Note that + // for this to function correctly, it must be called *after* the event target is checked! + // See issue #57; also filed as rdar://13048589 . + if (deviceIsIOSWithBadTarget) { + touch = event.changedTouches[0]; + + // In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null + targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement; + targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent; + } + + targetTagName = targetElement.tagName.toLowerCase(); + if (targetTagName === 'label') { + forElement = this.findControl(targetElement); + if (forElement) { + this.focus(targetElement); + if (deviceIsAndroid) { + return false; + } + + targetElement = forElement; + } + } else if (this.needsFocus(targetElement)) { + + // Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through. + // Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37). + if ((event.timeStamp - trackingClickStart) > 100 || (deviceIsIOS && window.top !== window && targetTagName === 'input')) { + this.targetElement = null; + return false; + } + + this.focus(targetElement); + this.sendClick(targetElement, event); + + // Select elements need the event to go through on iOS 4, otherwise the selector menu won't open. + // Also this breaks opening selects when VoiceOver is active on iOS6, iOS7 (and possibly others) + if (!deviceIsIOS || targetTagName !== 'select') { + this.targetElement = null; + event.preventDefault(); + } + + return false; + } + + if (deviceIsIOS && !deviceIsIOS4) { + + // Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled + // and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42). + scrollParent = targetElement.fastClickScrollParent; + if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) { + return true; + } + } + + // Prevent the actual click from going though - unless the target node is marked as requiring + // real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted. + if (!this.needsClick(targetElement)) { + event.preventDefault(); + this.sendClick(targetElement, event); + } + + return false; + }; + + + /** + * On touch cancel, stop tracking the click. + * + * @returns {void} + */ + FastClick.prototype.onTouchCancel = function() { + this.trackingClick = false; + this.targetElement = null; + }; + + + /** + * Determine mouse events which should be permitted. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onMouse = function(event) { + + // If a target element was never set (because a touch event was never fired) allow the event + if (!this.targetElement) { + return true; + } + + if (event.forwardedTouchEvent) { + return true; + } + + // Programmatically generated events targeting a specific element should be permitted + if (!event.cancelable) { + return true; + } + + // Derive and check the target element to see whether the mouse event needs to be permitted; + // unless explicitly enabled, prevent non-touch click events from triggering actions, + // to prevent ghost/doubleclicks. + if (!this.needsClick(this.targetElement) || this.cancelNextClick) { + + // Prevent any user-added listeners declared on FastClick element from being fired. + if (event.stopImmediatePropagation) { + event.stopImmediatePropagation(); + } else { + + // Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2) + event.propagationStopped = true; + } + + // Cancel the event + event.stopPropagation(); + event.preventDefault(); + + return false; + } + + // If the mouse event is permitted, return true for the action to go through. + return true; + }; + + + /** + * On actual clicks, determine whether this is a touch-generated click, a click action occurring + * naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or + * an actual click which should be permitted. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onClick = function(event) { + var permitted; + + // It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early. + if (this.trackingClick) { + this.targetElement = null; + this.trackingClick = false; + return true; + } + + // Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target. + if (event.target.type === 'submit' && event.detail === 0) { + return true; + } + + permitted = this.onMouse(event); + + // Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through. + if (!permitted) { + this.targetElement = null; + } + + // If clicks are permitted, return true for the action to go through. + return permitted; + }; + + + /** + * Remove all FastClick's event listeners. + * + * @returns {void} + */ + FastClick.prototype.destroy = function() { + var layer = this.layer; + + if (deviceIsAndroid) { + layer.removeEventListener('mouseover', this.onMouse, true); + layer.removeEventListener('mousedown', this.onMouse, true); + layer.removeEventListener('mouseup', this.onMouse, true); + } + + layer.removeEventListener('click', this.onClick, true); + layer.removeEventListener('touchstart', this.onTouchStart, false); + layer.removeEventListener('touchmove', this.onTouchMove, false); + layer.removeEventListener('touchend', this.onTouchEnd, false); + layer.removeEventListener('touchcancel', this.onTouchCancel, false); + }; + + + /** + * Check whether FastClick is needed. + * + * @param {Element} layer The layer to listen on + */ + FastClick.notNeeded = function(layer) { + var metaViewport; + var chromeVersion; + var blackberryVersion; + var firefoxVersion; + + // Devices that don't support touch don't need FastClick + if (typeof window.ontouchstart === 'undefined') { + return true; + } + + // Chrome version - zero for other browsers + chromeVersion = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1]; + + if (chromeVersion) { + + if (deviceIsAndroid) { + metaViewport = document.querySelector('meta[name=viewport]'); + + if (metaViewport) { + // Chrome on Android with user-scalable="no" doesn't need FastClick (issue #89) + if (metaViewport.content.indexOf('user-scalable=no') !== -1) { + return true; + } + // Chrome 32 and above with width=device-width or less don't need FastClick + if (chromeVersion > 31 && document.documentElement.scrollWidth <= window.outerWidth) { + return true; + } + } + + // Chrome desktop doesn't need FastClick (issue #15) + } else { + return true; + } + } + + if (deviceIsBlackBerry10) { + blackberryVersion = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/); + + // BlackBerry 10.3+ does not require Fastclick library. + // https://github.com/ftlabs/fastclick/issues/251 + if (blackberryVersion[1] >= 10 && blackberryVersion[2] >= 3) { + metaViewport = document.querySelector('meta[name=viewport]'); + + if (metaViewport) { + // user-scalable=no eliminates click delay. + if (metaViewport.content.indexOf('user-scalable=no') !== -1) { + return true; + } + // width=device-width (or less than device-width) eliminates click delay. + if (document.documentElement.scrollWidth <= window.outerWidth) { + return true; + } + } + } + } + + // IE10 with -ms-touch-action: none or manipulation, which disables double-tap-to-zoom (issue #97) + if (layer.style.msTouchAction === 'none' || layer.style.touchAction === 'manipulation') { + return true; + } + + // Firefox version - zero for other browsers + firefoxVersion = +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1]; + + if (firefoxVersion >= 27) { + // Firefox 27+ does not have tap delay if the content is not zoomable - https://bugzilla.mozilla.org/show_bug.cgi?id=922896 + + metaViewport = document.querySelector('meta[name=viewport]'); + if (metaViewport && (metaViewport.content.indexOf('user-scalable=no') !== -1 || document.documentElement.scrollWidth <= window.outerWidth)) { + return true; + } + } + + // IE11: prefixed -ms-touch-action is no longer supported and it's recomended to use non-prefixed version + // http://msdn.microsoft.com/en-us/library/windows/apps/Hh767313.aspx + if (layer.style.touchAction === 'none' || layer.style.touchAction === 'manipulation') { + return true; + } + + return false; + }; + + + /** + * Factory method for creating a FastClick object + * + * @param {Element} layer The layer to listen on + * @param {Object} [options={}] The options to override the defaults + */ + FastClick.attach = function(layer, options) { + return new FastClick(layer, options); + }; + + + if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) { + + // AMD. Register as an anonymous module. + define(function() { + return FastClick; + }); + } else if (typeof module !== 'undefined' && module.exports) { + module.exports = FastClick.attach; + module.exports.FastClick = FastClick; + } else { + window.FastClick = FastClick; + } +}()); diff --git a/js/foundation/css/foundation.css.map b/js/foundation/css/foundation.css.map new file mode 100644 index 0000000..40bd448 --- /dev/null +++ b/js/foundation/css/foundation.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../../../scss/foundation/components/_global.scss","../../../scss/foundation/components/_grid.scss","../../../scss/foundation/components/_accordion.scss","../../../scss/foundation/components/_alert-boxes.scss","../../../scss/foundation/components/_block-grid.scss","../../../scss/foundation/components/_breadcrumbs.scss","../../../scss/foundation/components/_buttons.scss","../../../scss/foundation/_functions.scss","../../../scss/foundation/components/_button-groups.scss","../../../scss/foundation/components/_clearing.scss","../../../scss/foundation/components/_dropdown.scss","../../../scss/foundation/components/_dropdown-buttons.scss","../../../scss/foundation/components/_flex-video.scss","../../../scss/foundation/components/_forms.scss","../../../scss/foundation/components/_icon-bar.scss","../../../scss/foundation/components/_inline-lists.scss","../../../scss/foundation/components/_joyride.scss","../../../scss/foundation/components/_keystrokes.scss","../../../scss/foundation/components/_labels.scss","../../../scss/foundation/components/_magellan.scss","../../../scss/foundation/components/_orbit.scss","../../../scss/foundation/components/_pagination.scss","../../../scss/foundation/components/_panels.scss","../../../scss/foundation/components/_pricing-tables.scss","../../../scss/foundation/components/_progress-bars.scss","../../../scss/foundation/components/_range-slider.scss","../../../scss/foundation/components/_reveal.scss","../../../scss/foundation/components/_side-nav.scss","../../../scss/foundation/components/_split-buttons.scss","../../../scss/foundation/components/_sub-nav.scss","../../../scss/foundation/components/_switches.scss","../../../scss/foundation/components/_tables.scss","../../../scss/foundation/components/_tabs.scss","../../../scss/foundation/components/_thumbs.scss","../../../scss/foundation/components/_tooltips.scss","../../../scss/foundation/components/_top-bar.scss","../../../scss/foundation/components/_type.scss","../../../scss/foundation/components/_offcanvas.scss","../../../scss/foundation/components/_visibility.scss"], +"names": [], +"file": "foundation.css" +} diff --git a/js/foundation/css/normalize.css.map b/js/foundation/css/normalize.css.map new file mode 100644 index 0000000..8fc7c41 --- /dev/null +++ b/js/foundation/css/normalize.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": ";;;;;;AAQA,IAAK;EACH,WAAW,EAAE,UAAU;;EACvB,oBAAoB,EAAE,IAAI;;EAC1B,wBAAwB,EAAE,IAAI;;;;;;AAOhC,IAAK;EACH,MAAM,EAAE,CAAC;;;;;;;;;;AAaX;;;;;;;;;;;;OAYQ;EACN,OAAO,EAAE,KAAK;;;;;;AAQhB;;;KAGM;EACJ,OAAO,EAAE,YAAY;;EACrB,cAAc,EAAE,QAAQ;;;;;;;AAQ1B,qBAAsB;EACpB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,CAAC;;;;;;AAQX;QACS;EACP,OAAO,EAAE,IAAI;;;;;;;AAUf,CAAE;EACA,gBAAgB,EAAE,WAAW;;;;;;AAQ/B;OACQ;EACN,OAAO,EAAE,CAAC;;;;;;;AAUZ,WAAY;EACV,aAAa,EAAE,UAAU;;;;;AAO3B;MACO;EACL,WAAW,EAAE,IAAI;;;;;AAOnB,GAAI;EACF,UAAU,EAAE,MAAM;;;;;;AAQpB,EAAG;EACD,SAAS,EAAE,GAAG;EACd,MAAM,EAAE,QAAQ;;;;;AAOlB,IAAK;EACH,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;;;;;AAOb,KAAM;EACJ,SAAS,EAAE,GAAG;;;;;AAOhB;GACI;EACF,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,CAAC;EACd,QAAQ,EAAE,QAAQ;EAClB,cAAc,EAAE,QAAQ;;AAG1B,GAAI;EACF,GAAG,EAAE,MAAM;;AAGb,GAAI;EACF,MAAM,EAAE,OAAO;;;;;;;AAUjB,GAAI;EACF,MAAM,EAAE,CAAC;;;;;AAOX,cAAe;EACb,QAAQ,EAAE,MAAM;;;;;;;AAUlB,MAAO;EACL,MAAM,EAAE,QAAQ;;;;;AAOlB,EAAG;EACD,UAAU,EAAE,WAAW;EACvB,MAAM,EAAE,CAAC;;;;;AAOX,GAAI;EACF,QAAQ,EAAE,IAAI;;;;;AAOhB;;;IAGK;EACH,WAAW,EAAE,oBAAoB;EACjC,SAAS,EAAE,GAAG;;;;;;;;;;;;;;AAkBhB;;;;QAIS;EACP,KAAK,EAAE,OAAO;;EACd,IAAI,EAAE,OAAO;;EACb,MAAM,EAAE,CAAC;;;;;;AAOX,MAAO;EACL,QAAQ,EAAE,OAAO;;;;;;;;AAUnB;MACO;EACL,cAAc,EAAE,IAAI;;;;;;;;;AAWtB;;;oBAGqB;EACnB,kBAAkB,EAAE,MAAM;;EAC1B,MAAM,EAAE,OAAO;;;;;;AAOjB;oBACqB;EACnB,MAAM,EAAE,OAAO;;;;;AAOjB;uBACwB;EACtB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;;;;;;AAQZ,KAAM;EACJ,WAAW,EAAE,MAAM;;;;;;;;;AAWrB;mBACoB;EAClB,UAAU,EAAE,UAAU;;EACtB,OAAO,EAAE,CAAC;;;;;;;;AASZ;+CACgD;EAC9C,MAAM,EAAE,IAAI;;;;;;AAQd,oBAAqB;EACnB,kBAAkB,EAAE,SAAS;;EAC7B,UAAU,EAAE,WAAW;;;;;;;;AASzB;+CACgD;EAC9C,kBAAkB,EAAE,IAAI;;;;;AAO1B,QAAS;EACP,MAAM,EAAE,iBAAiB;EACzB,MAAM,EAAE,KAAK;EACb,OAAO,EAAE,qBAAqB;;;;;;AAQhC,MAAO;EACL,MAAM,EAAE,CAAC;;EACT,OAAO,EAAE,CAAC;;;;;;AAOZ,QAAS;EACP,QAAQ,EAAE,IAAI;;;;;;AAQhB,QAAS;EACP,WAAW,EAAE,IAAI;;;;;;;AAUnB,KAAM;EACJ,eAAe,EAAE,QAAQ;EACzB,cAAc,EAAE,CAAC;;AAGnB;EACG;EACD,OAAO,EAAE,CAAC", +"sources": ["../../../scss/normalize.scss"], +"names": [], +"file": "normalize.css" +} diff --git a/js/foundation/js/foundation.js b/js/foundation/js/foundation.js new file mode 100644 index 0000000..13a76a2 --- /dev/null +++ b/js/foundation/js/foundation.js @@ -0,0 +1,6581 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2015, ZURB + * Free to use under the MIT license. + * http://www.opensource.org/licenses/mit-license.php +*/ + +(function ($, window, document, undefined) { + 'use strict'; + + var header_helpers = function (class_array) { + var head = $('head'); + head.prepend($.map(class_array, function (class_name) { + if (head.has('.' + class_name).length === 0) { + return ''; + } + })); + }; + + header_helpers([ + 'foundation-mq-small', + 'foundation-mq-small-only', + 'foundation-mq-medium', + 'foundation-mq-medium-only', + 'foundation-mq-large', + 'foundation-mq-large-only', + 'foundation-mq-xlarge', + 'foundation-mq-xlarge-only', + 'foundation-mq-xxlarge', + 'foundation-data-attribute-namespace']); + + // Enable FastClick if present + + $(function () { + if (typeof FastClick !== 'undefined') { + // Don't attach to body if undefined + if (typeof document.body !== 'undefined') { + FastClick.attach(document.body); + } + } + }); + + // private Fast Selector wrapper, + // returns jQuery object. Only use where + // getElementById is not available. + var S = function (selector, context) { + if (typeof selector === 'string') { + if (context) { + var cont; + if (context.jquery) { + cont = context[0]; + if (!cont) { + return context; + } + } else { + cont = context; + } + return $(cont.querySelectorAll(selector)); + } + + return $(document.querySelectorAll(selector)); + } + + return $(selector, context); + }; + + // Namespace functions. + + var attr_name = function (init) { + var arr = []; + if (!init) { + arr.push('data'); + } + if (this.namespace.length > 0) { + arr.push(this.namespace); + } + arr.push(this.name); + + return arr.join('-'); + }; + + var add_namespace = function (str) { + var parts = str.split('-'), + i = parts.length, + arr = []; + + while (i--) { + if (i !== 0) { + arr.push(parts[i]); + } else { + if (this.namespace.length > 0) { + arr.push(this.namespace, parts[i]); + } else { + arr.push(parts[i]); + } + } + } + + return arr.reverse().join('-'); + }; + + // Event binding and data-options updating. + + var bindings = function (method, options) { + var self = this, + bind = function(){ + var $this = S(this), + should_bind_events = !$this.data(self.attr_name(true) + '-init'); + $this.data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options($this))); + + if (should_bind_events) { + self.events(this); + } + }; + + if (S(this.scope).is('[' + this.attr_name() +']')) { + bind.call(this.scope); + } else { + S('[' + this.attr_name() +']', this.scope).each(bind); + } + // # Patch to fix #5043 to move this *after* the if/else clause in order for Backbone and similar frameworks to have improved control over event binding and data-options updating. + if (typeof method === 'string') { + return this[method].call(this, options); + } + + }; + + var single_image_loaded = function (image, callback) { + function loaded () { + callback(image[0]); + } + + function bindLoad () { + this.one('load', loaded); + + if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { + var src = this.attr( 'src' ), + param = src.match( /\?/ ) ? '&' : '?'; + + param += 'random=' + (new Date()).getTime(); + this.attr('src', src + param); + } + } + + if (!image.attr('src')) { + loaded(); + return; + } + + if (image[0].complete || image[0].readyState === 4) { + loaded(); + } else { + bindLoad.call(image); + } + }; + + /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */ + + window.matchMedia || (window.matchMedia = function() { + "use strict"; + + // For browsers that support matchMedium api such as IE 9 and webkit + var styleMedia = (window.styleMedia || window.media); + + // For those that don't support matchMedium + if (!styleMedia) { + var style = document.createElement('style'), + script = document.getElementsByTagName('script')[0], + info = null; + + style.type = 'text/css'; + style.id = 'matchmediajs-test'; + + script.parentNode.insertBefore(style, script); + + // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers + info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle; + + styleMedia = { + matchMedium: function(media) { + var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; + + // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers + if (style.styleSheet) { + style.styleSheet.cssText = text; + } else { + style.textContent = text; + } + + // Test if media query is true or false + return info.width === '1px'; + } + }; + } + + return function(media) { + return { + matches: styleMedia.matchMedium(media || 'all'), + media: media || 'all' + }; + }; + }()); + + /* + * jquery.requestAnimationFrame + * https://github.com/gnarf37/jquery-requestAnimationFrame + * Requires jQuery 1.8+ + * + * Copyright (c) 2012 Corey Frang + * Licensed under the MIT license. + */ + + (function(jQuery) { + + + // requestAnimationFrame polyfill adapted from Erik Möller + // fixes from Paul Irish and Tino Zijdel + // http://paulirish.com/2011/requestanimationframe-for-smart-animating/ + // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating + + var animating, + lastTime = 0, + vendors = ['webkit', 'moz'], + requestAnimationFrame = window.requestAnimationFrame, + cancelAnimationFrame = window.cancelAnimationFrame, + jqueryFxAvailable = 'undefined' !== typeof jQuery.fx; + + for (; lastTime < vendors.length && !requestAnimationFrame; lastTime++) { + requestAnimationFrame = window[ vendors[lastTime] + 'RequestAnimationFrame' ]; + cancelAnimationFrame = cancelAnimationFrame || + window[ vendors[lastTime] + 'CancelAnimationFrame' ] || + window[ vendors[lastTime] + 'CancelRequestAnimationFrame' ]; + } + + function raf() { + if (animating) { + requestAnimationFrame(raf); + + if (jqueryFxAvailable) { + jQuery.fx.tick(); + } + } + } + + if (requestAnimationFrame) { + // use rAF + window.requestAnimationFrame = requestAnimationFrame; + window.cancelAnimationFrame = cancelAnimationFrame; + + if (jqueryFxAvailable) { + jQuery.fx.timer = function (timer) { + if (timer() && jQuery.timers.push(timer) && !animating) { + animating = true; + raf(); + } + }; + + jQuery.fx.stop = function () { + animating = false; + }; + } + } else { + // polyfill + window.requestAnimationFrame = function (callback) { + var currTime = new Date().getTime(), + timeToCall = Math.max(0, 16 - (currTime - lastTime)), + id = window.setTimeout(function () { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + + window.cancelAnimationFrame = function (id) { + clearTimeout(id); + }; + + } + + }( $ )); + + function removeQuotes (string) { + if (typeof string === 'string' || string instanceof String) { + string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, ''); + } + + return string; + } + + function MediaQuery(selector) { + this.selector = selector; + this.query = ''; + } + + MediaQuery.prototype.toString = function () { + return this.query || (this.query = S(this.selector).css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')); + }; + + window.Foundation = { + name : 'Foundation', + + version : '5.5.3', + + media_queries : { + 'small' : new MediaQuery('.foundation-mq-small'), + 'small-only' : new MediaQuery('.foundation-mq-small-only'), + 'medium' : new MediaQuery('.foundation-mq-medium'), + 'medium-only' : new MediaQuery('.foundation-mq-medium-only'), + 'large' : new MediaQuery('.foundation-mq-large'), + 'large-only' : new MediaQuery('.foundation-mq-large-only'), + 'xlarge' : new MediaQuery('.foundation-mq-xlarge'), + 'xlarge-only' : new MediaQuery('.foundation-mq-xlarge-only'), + 'xxlarge' : new MediaQuery('.foundation-mq-xxlarge') + }, + + stylesheet : $('').appendTo('head')[0].sheet, + + global : { + namespace : undefined + }, + + init : function (scope, libraries, method, options, response) { + var args = [scope, method, options, response], + responses = []; + + // check RTL + this.rtl = /rtl/i.test(S('html').attr('dir')); + + // set foundation global scope + this.scope = scope || this.scope; + + this.set_namespace(); + + if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) { + if (this.libs.hasOwnProperty(libraries)) { + responses.push(this.init_lib(libraries, args)); + } + } else { + for (var lib in this.libs) { + responses.push(this.init_lib(lib, libraries)); + } + } + + S(window).load(function () { + S(window) + .trigger('resize.fndtn.clearing') + .trigger('resize.fndtn.dropdown') + .trigger('resize.fndtn.equalizer') + .trigger('resize.fndtn.interchange') + .trigger('resize.fndtn.joyride') + .trigger('resize.fndtn.magellan') + .trigger('resize.fndtn.topbar') + .trigger('resize.fndtn.slider'); + }); + + return scope; + }, + + init_lib : function (lib, args) { + if (this.libs.hasOwnProperty(lib)) { + this.patch(this.libs[lib]); + + if (args && args.hasOwnProperty(lib)) { + if (typeof this.libs[lib].settings !== 'undefined') { + $.extend(true, this.libs[lib].settings, args[lib]); + } else if (typeof this.libs[lib].defaults !== 'undefined') { + $.extend(true, this.libs[lib].defaults, args[lib]); + } + return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]); + } + + args = args instanceof Array ? args : new Array(args); + return this.libs[lib].init.apply(this.libs[lib], args); + } + + return function () {}; + }, + + patch : function (lib) { + lib.scope = this.scope; + lib.namespace = this.global.namespace; + lib.rtl = this.rtl; + lib['data_options'] = this.utils.data_options; + lib['attr_name'] = attr_name; + lib['add_namespace'] = add_namespace; + lib['bindings'] = bindings; + lib['S'] = this.utils.S; + }, + + inherit : function (scope, methods) { + var methods_arr = methods.split(' '), + i = methods_arr.length; + + while (i--) { + if (this.utils.hasOwnProperty(methods_arr[i])) { + scope[methods_arr[i]] = this.utils[methods_arr[i]]; + } + } + }, + + set_namespace : function () { + + // Description: + // Don't bother reading the namespace out of the meta tag + // if the namespace has been set globally in javascript + // + // Example: + // Foundation.global.namespace = 'my-namespace'; + // or make it an empty string: + // Foundation.global.namespace = ''; + // + // + + // If the namespace has not been set (is undefined), try to read it out of the meta element. + // Otherwise use the globally defined namespace, even if it's empty ('') + var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace; + + // Finally, if the namsepace is either undefined or false, set it to an empty string. + // Otherwise use the namespace value. + this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace; + }, + + libs : {}, + + // methods that can be inherited in libraries + utils : { + + // Description: + // Fast Selector wrapper returns jQuery object. Only use where getElementById + // is not available. + // + // Arguments: + // Selector (String): CSS selector describing the element(s) to be + // returned as a jQuery object. + // + // Scope (String): CSS selector describing the area to be searched. Default + // is document. + // + // Returns: + // Element (jQuery Object): jQuery object containing elements matching the + // selector within the scope. + S : S, + + // Description: + // Executes a function a max of once every n milliseconds + // + // Arguments: + // Func (Function): Function to be throttled. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Returns: + // Lazy_function (Function): Function with throttling applied. + throttle : function (func, delay) { + var timer = null; + + return function () { + var context = this, args = arguments; + + if (timer == null) { + timer = setTimeout(function () { + func.apply(context, args); + timer = null; + }, delay); + } + }; + }, + + // Description: + // Executes a function when it stops being invoked for n seconds + // Modified version of _.debounce() http://underscorejs.org + // + // Arguments: + // Func (Function): Function to be debounced. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Immediate (Bool): Whether the function should be called at the beginning + // of the delay instead of the end. Default is false. + // + // Returns: + // Lazy_function (Function): Function with debouncing applied. + debounce : function (func, delay, immediate) { + var timeout, result; + return function () { + var context = this, args = arguments; + var later = function () { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + } + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, delay); + if (callNow) { + result = func.apply(context, args); + } + return result; + }; + }, + + // Description: + // Parses data-options attribute + // + // Arguments: + // El (jQuery Object): Element to be parsed. + // + // Returns: + // Options (Javascript Object): Contents of the element's data-options + // attribute. + data_options : function (el, data_attr_name) { + data_attr_name = data_attr_name || 'options'; + var opts = {}, ii, p, opts_arr, + data_options = function (el) { + var namespace = Foundation.global.namespace; + + if (namespace.length > 0) { + return el.data(namespace + '-' + data_attr_name); + } + + return el.data(data_attr_name); + }; + + var cached_options = data_options(el); + + if (typeof cached_options === 'object') { + return cached_options; + } + + opts_arr = (cached_options || ':').split(';'); + ii = opts_arr.length; + + function isNumber (o) { + return !isNaN (o - 0) && o !== null && o !== '' && o !== false && o !== true; + } + + function trim (str) { + if (typeof str === 'string') { + return $.trim(str); + } + return str; + } + + while (ii--) { + p = opts_arr[ii].split(':'); + p = [p[0], p.slice(1).join(':')]; + + if (/true/i.test(p[1])) { + p[1] = true; + } + if (/false/i.test(p[1])) { + p[1] = false; + } + if (isNumber(p[1])) { + if (p[1].indexOf('.') === -1) { + p[1] = parseInt(p[1], 10); + } else { + p[1] = parseFloat(p[1]); + } + } + + if (p.length === 2 && p[0].length > 0) { + opts[trim(p[0])] = trim(p[1]); + } + } + + return opts; + }, + + // Description: + // Adds JS-recognizable media queries + // + // Arguments: + // Media (String): Key string for the media query to be stored as in + // Foundation.media_queries + // + // Class (String): Class name for the generated tag + register_media : function (media, media_class) { + if (Foundation.media_queries[media] === undefined) { + $('head').append(''); + Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family')); + } + }, + + // Description: + // Add custom CSS within a JS-defined media query + // + // Arguments: + // Rule (String): CSS rule to be appended to the document. + // + // Media (String): Optional media query string for the CSS rule to be + // nested under. + add_custom_rule : function (rule, media) { + if (media === undefined && Foundation.stylesheet) { + Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length); + } else { + var query = Foundation.media_queries[media]; + + if (query !== undefined) { + Foundation.stylesheet.insertRule('@media ' + + Foundation.media_queries[media] + '{ ' + rule + ' }', Foundation.stylesheet.cssRules.length); + } + } + }, + + // Description: + // Performs a callback function when an image is fully loaded + // + // Arguments: + // Image (jQuery Object): Image(s) to check if loaded. + // + // Callback (Function): Function to execute when image is fully loaded. + image_loaded : function (images, callback) { + var self = this, + unloaded = images.length; + + function pictures_has_height(images) { + var pictures_number = images.length; + + for (var i = pictures_number - 1; i >= 0; i--) { + if(images.attr('height') === undefined) { + return false; + }; + }; + + return true; + } + + if (unloaded === 0 || pictures_has_height(images)) { + callback(images); + } + + images.each(function () { + single_image_loaded(self.S(this), function () { + unloaded -= 1; + if (unloaded === 0) { + callback(images); + } + }); + }); + }, + + // Description: + // Returns a random, alphanumeric string + // + // Arguments: + // Length (Integer): Length of string to be generated. Defaults to random + // integer. + // + // Returns: + // Rand (String): Pseudo-random, alphanumeric string. + random_str : function () { + if (!this.fidx) { + this.fidx = 0; + } + this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-'); + + return this.prefix + (this.fidx++).toString(36); + }, + + // Description: + // Helper for window.matchMedia + // + // Arguments: + // mq (String): Media query + // + // Returns: + // (Boolean): Whether the media query passes or not + match : function (mq) { + return window.matchMedia(mq).matches; + }, + + // Description: + // Helpers for checking Foundation default media queries with JS + // + // Returns: + // (Boolean): Whether the media query passes or not + + is_small_up : function () { + return this.match(Foundation.media_queries.small); + }, + + is_medium_up : function () { + return this.match(Foundation.media_queries.medium); + }, + + is_large_up : function () { + return this.match(Foundation.media_queries.large); + }, + + is_xlarge_up : function () { + return this.match(Foundation.media_queries.xlarge); + }, + + is_xxlarge_up : function () { + return this.match(Foundation.media_queries.xxlarge); + }, + + is_small_only : function () { + return !this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_medium_only : function () { + return this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_large_only : function () { + return this.is_medium_up() && this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_xlarge_only : function () { + return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_xxlarge_only : function () { + return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && this.is_xxlarge_up(); + } + } + }; + + $.fn.foundation = function () { + var args = Array.prototype.slice.call(arguments, 0); + + return this.each(function () { + Foundation.init.apply(Foundation, [this].concat(args)); + return this; + }); + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.abide = { + name : 'abide', + + version : '5.5.3', + + settings : { + live_validate : true, // validate the form as you go + validate_on_blur : true, // validate whenever you focus/blur on an input field + // validate_on: 'tab', // tab (when user tabs between fields), change (input changes), manual (call custom events) + + focus_on_invalid : true, // automatically bring the focus to an invalid input field + error_labels : true, // labels with a for="inputId" will receive an `error` class + error_class : 'error', // labels with a for="inputId" will receive an `error` class + // the amount of time Abide will take before it validates the form (in ms). + // smaller time will result in faster validation + timeout : 1000, + patterns : { + alpha : /^[a-zA-Z]+$/, + alpha_numeric : /^[a-zA-Z0-9]+$/, + integer : /^[-+]?\d+$/, + number : /^[-+]?\d*(?:[\.\,]\d+)?$/, + + // amex, visa, diners + card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/, + cvv : /^([0-9]){3,4}$/, + + // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address + email : /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/, + + // http://blogs.lse.ac.uk/lti/2008/04/23/a-regular-expression-to-match-any-url/ + url: /^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/, + // abc.de + domain : /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/, + + datetime : /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/, + // YYYY-MM-DD + date : /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/, + // HH:MM:SS + time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/, + dateISO : /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/, + // MM/DD/YYYY + month_day_year : /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/, + // DD/MM/YYYY + day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/, + + // #FFF or #FFFFFF + color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/ + }, + validators : { + equalTo : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + return valid; + } + } + }, + + timer : null, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + form = self.S(scope).attr('novalidate', 'novalidate'), + settings = form.data(this.attr_name(true) + '-init') || {}; + + this.invalid_attr = this.add_namespace('data-invalid'); + + function validate(originalSelf, e) { + clearTimeout(self.timer); + self.timer = setTimeout(function () { + self.validate([originalSelf], e); + }.bind(originalSelf), settings.timeout); + } + + form + .off('.abide') + .on('submit.fndtn.abide', function (e) { + var is_ajax = /ajax/i.test(self.S(this).attr(self.attr_name())); + return self.validate(self.S(this).find('input, textarea, select').not(":hidden, [data-abide-ignore]").get(), e, is_ajax); + }) + .on('validate.fndtn.abide', function (e) { + if (settings.validate_on === 'manual') { + self.validate([e.target], e); + } + }) + .on('reset', function (e) { + return self.reset($(this), e); + }) + .find('input, textarea, select').not(":hidden, [data-abide-ignore]") + .off('.abide') + .on('blur.fndtn.abide change.fndtn.abide', function (e) { + var id = this.getAttribute('id'), + eqTo = form.find('[data-equalto="'+ id +'"]'); + // old settings fallback + // will be deprecated with F6 release + if (settings.validate_on_blur && settings.validate_on_blur === true) { + validate(this, e); + } + // checks if there is an equalTo equivalent related by id + if(typeof eqTo.get(0) !== "undefined" && eqTo.val().length){ + validate(eqTo.get(0),e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('keydown.fndtn.abide', function (e) { + var id = this.getAttribute('id'), + eqTo = form.find('[data-equalto="'+ id +'"]'); + // old settings fallback + // will be deprecated with F6 release + if (settings.live_validate && settings.live_validate === true && e.which != 9) { + validate(this, e); + } + // checks if there is an equalTo equivalent related by id + if(typeof eqTo.get(0) !== "undefined" && eqTo.val().length){ + validate(eqTo.get(0),e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'tab' && e.which === 9) { + validate(this, e); + } + else if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('focus', function (e) { + if (navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)) { + $('html, body').animate({ + scrollTop: $(e.target).offset().top + }, 100); + } + }); + }, + + reset : function (form, e) { + var self = this; + form.removeAttr(self.invalid_attr); + + $('[' + self.invalid_attr + ']', form).removeAttr(self.invalid_attr); + $('.' + self.settings.error_class, form).not('small').removeClass(self.settings.error_class); + $(':input', form).not(':button, :submit, :reset, :hidden, [data-abide-ignore]').val('').removeAttr(self.invalid_attr); + }, + + validate : function (els, e, is_ajax) { + var validations = this.parse_patterns(els), + validation_count = validations.length, + form = this.S(els[0]).closest('form'), + submit_event = /submit/.test(e.type); + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < validation_count; i++) { + if (!validations[i] && (submit_event || is_ajax)) { + if (this.settings.focus_on_invalid) { + els[i].focus(); + } + form.trigger('invalid.fndtn.abide'); + this.S(els[i]).closest('form').attr(this.invalid_attr, ''); + return false; + } + } + + if (submit_event || is_ajax) { + form.trigger('valid.fndtn.abide'); + } + + form.removeAttr(this.invalid_attr); + + if (is_ajax) { + return false; + } + + return true; + }, + + parse_patterns : function (els) { + var i = els.length, + el_patterns = []; + + while (i--) { + el_patterns.push(this.pattern(els[i])); + } + + return this.check_validation_and_apply_styles(el_patterns); + }, + + pattern : function (el) { + var type = el.getAttribute('type'), + required = typeof el.getAttribute('required') === 'string'; + + var pattern = el.getAttribute('pattern') || ''; + + if (this.settings.patterns.hasOwnProperty(pattern) && pattern.length > 0) { + return [el, this.settings.patterns[pattern], required]; + } else if (pattern.length > 0) { + return [el, new RegExp(pattern), required]; + } + + if (this.settings.patterns.hasOwnProperty(type)) { + return [el, this.settings.patterns[type], required]; + } + + pattern = /.*/; + + return [el, pattern, required]; + }, + + // TODO: Break this up into smaller methods, getting hard to read. + check_validation_and_apply_styles : function (el_patterns) { + var i = el_patterns.length, + validations = []; + if (i == 0) { + return validations; + } + var form = this.S(el_patterns[0][0]).closest('[data-' + this.attr_name(true) + ']'), + settings = form.data(this.attr_name(true) + '-init') || {}; + while (i--) { + var el = el_patterns[i][0], + required = el_patterns[i][2], + value = el.value.trim(), + direct_parent = this.S(el).parent(), + validator = el.getAttribute(this.add_namespace('data-abide-validator')), + is_radio = el.type === 'radio', + is_checkbox = el.type === 'checkbox', + label = this.S('label[for="' + el.getAttribute('id') + '"]'), + valid_length = (required) ? (el.value.length > 0) : true, + el_validations = []; + + var parent, valid; + + // support old way to do equalTo validations + if (el.getAttribute(this.add_namespace('data-equalto'))) { validator = 'equalTo' } + + if (!direct_parent.is('label')) { + parent = direct_parent; + } else { + parent = direct_parent.parent(); + } + + if (is_radio && required) { + el_validations.push(this.valid_radio(el, required)); + } else if (is_checkbox && required) { + el_validations.push(this.valid_checkbox(el, required)); + + } else if (validator) { + // Validate using each of the specified (space-delimited) validators. + var validators = validator.split(' '); + var last_valid = true, all_valid = true; + for (var iv = 0; iv < validators.length; iv++) { + valid = this.settings.validators[validators[iv]].apply(this, [el, required, parent]) + el_validations.push(valid); + all_valid = valid && last_valid; + last_valid = valid; + } + if (all_valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass('error'); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass('error'); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } else { + + if (el_patterns[i][1].test(value) && valid_length || + !required && el.value.length < 1 || $(el).attr('disabled')) { + el_validations.push(true); + } else { + el_validations.push(false); + } + + el_validations = [el_validations.every(function (valid) {return valid;})]; + if (el_validations[0]) { + this.S(el).removeAttr(this.invalid_attr); + el.setAttribute('aria-invalid', 'false'); + el.removeAttribute('aria-describedby'); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + el.setAttribute('aria-invalid', 'true'); + + // Try to find the error associated with the input + var errorElem = parent.find('small.' + this.settings.error_class, 'span.' + this.settings.error_class); + var errorID = errorElem.length > 0 ? errorElem[0].id : ''; + if (errorID.length > 0) { + el.setAttribute('aria-describedby', errorID); + } + + // el.setAttribute('aria-describedby', $(el).find('.error')[0].id); + parent.addClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } + validations = validations.concat(el_validations); + } + + return validations; + }, + + valid_checkbox : function (el, required) { + var el = this.S(el), + valid = (el.is(':checked') || !required || el.get(0).getAttribute('disabled')); + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + $(el).triggerHandler('valid'); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + $(el).triggerHandler('invalid'); + } + + return valid; + }, + + valid_radio : function (el, required) { + var name = el.getAttribute('name'), + group = this.S(el).closest('[data-' + this.attr_name(true) + ']').find("[name='" + name + "']"), + count = group.length, + valid = false, + disabled = false; + + // Has to count up to make sure the focus gets applied to the top error + for (var i=0; i < count; i++) { + if( group[i].getAttribute('disabled') ){ + disabled=true; + valid=true; + } else { + if (group[i].checked){ + valid = true; + } else { + if( disabled ){ + valid = false; + } + } + } + } + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < count; i++) { + if (valid) { + this.S(group[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + $(group[i]).triggerHandler('valid'); + } else { + this.S(group[i]).attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + $(group[i]).triggerHandler('invalid'); + } + } + + return valid; + }, + + valid_equal : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + if (valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.removeClass(this.settings.error_class); + } + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.addClass(this.settings.error_class); + } + } + + return valid; + }, + + valid_oneof : function (el, required, parent, doNotValidateOthers) { + var el = this.S(el), + others = this.S('[' + this.add_namespace('data-oneof') + ']'), + valid = others.filter(':checked').length > 0; + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + } + + if (!doNotValidateOthers) { + var _this = this; + others.each(function () { + _this.valid_oneof.call(_this, this, null, null, true); + }); + } + + return valid; + }, + + reflow : function(scope, options) { + var self = this, + form = self.S('[' + this.attr_name() + ']').attr('novalidate', 'novalidate'); + self.S(form).each(function (idx, el) { + self.events(el); + }); + } + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.accordion = { + name : 'accordion', + + version : '5.5.3', + + settings : { + content_class : 'content', + active_class : 'active', + multi_expand : false, + toggleable : true, + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (instance) { + var self = this; + var S = this.S; + self.create(this.S(instance)); + + S(this.scope) + .off('.fndtn.accordion') + .on('click.fndtn.accordion', '[' + this.attr_name() + '] > dd > a, [' + this.attr_name() + '] > li > a', function (e) { + var accordion = S(this).closest('[' + self.attr_name() + ']'), + groupSelector = self.attr_name() + '=' + accordion.attr(self.attr_name()), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings, + target = S('#' + this.href.split('#')[1]), + aunts = $('> dd, > li', accordion), + siblings = aunts.children('.' + settings.content_class), + active_content = siblings.filter('.' + settings.active_class); + + e.preventDefault(); + + if (accordion.attr(self.attr_name())) { + siblings = siblings.add('[' + groupSelector + '] dd > ' + '.' + settings.content_class + ', [' + groupSelector + '] li > ' + '.' + settings.content_class); + aunts = aunts.add('[' + groupSelector + '] dd, [' + groupSelector + '] li'); + } + + if (settings.toggleable && target.is(active_content)) { + target.parent('dd, li').toggleClass(settings.active_class, false); + target.toggleClass(settings.active_class, false); + S(this).attr('aria-expanded', function(i, attr){ + return attr === 'true' ? 'false' : 'true'; + }); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + return; + } + + if (!settings.multi_expand) { + siblings.removeClass(settings.active_class); + aunts.removeClass(settings.active_class); + aunts.children('a').attr('aria-expanded','false'); + } + + target.addClass(settings.active_class).parent().addClass(settings.active_class); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + S(this).attr('aria-expanded','true'); + }); + }, + + create: function($instance) { + var self = this, + accordion = $instance, + aunts = $('> .accordion-navigation', accordion), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings; + + aunts.children('a').attr('aria-expanded','false'); + aunts.has('.' + settings.content_class + '.' + settings.active_class).addClass(settings.active_class).children('a').attr('aria-expanded','true'); + + if (settings.multi_expand) { + $instance.attr('aria-multiselectable','true'); + } + }, + + toggle : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + var selector = typeof options.selector !== 'undefined' ? options.selector : ''; + var toggle_state = typeof options.toggle_state !== 'undefined' ? options.toggle_state : ''; + var $accordion = typeof options.$accordion !== 'undefined' ? options.$accordion : this.S(this.scope).closest('[' + this.attr_name() + ']'); + + var $items = $accordion.find('> dd' + selector + ', > li' + selector); + if ( $items.length < 1 ) { + if ( window.console ) { + console.error('Selection not found.', selector); + } + return false; + } + + var S = this.S; + var active_class = this.settings.active_class; + $items.each(function() { + var $item = S(this); + var is_active = $item.hasClass(active_class); + if ( ( is_active && toggle_state === 'close' ) || ( !is_active && toggle_state === 'open' ) || toggle_state === '' ) { + $item.find('> a').trigger('click.fndtn.accordion'); + } + }); + }, + + open : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'open'; + this.toggle(options); + }, + + close : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'close'; + this.toggle(options); + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.alert = { + name : 'alert', + + version : '5.5.3', + + settings : { + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = this.S; + + $(this.scope).off('.alert').on('click.fndtn.alert', '[' + this.attr_name() + '] .close', function (e) { + var alertBox = S(this).closest('[' + self.attr_name() + ']'), + settings = alertBox.data(self.attr_name(true) + '-init') || self.settings; + + e.preventDefault(); + if (Modernizr.csstransitions) { + alertBox.addClass('alert-close'); + alertBox.on('transitionend webkitTransitionEnd oTransitionEnd', function (e) { + S(this).trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } else { + alertBox.fadeOut(300, function () { + S(this).trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } + }); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.clearing = { + name : 'clearing', + + version : '5.5.3', + + settings : { + templates : { + viewing : '×' + + '' + + '' + + '' + }, + + // comma delimited list of selectors that, on click, will close clearing, + // add 'div.clearing-blackout, div.visible-img' to close on background click + close_selectors : '.clearing-close, div.clearing-blackout', + + // Default to the entire li element. + open_selectors : '', + + // Image will be skipped in carousel. + skip_selector : '', + + touch_label : '', + + // event initializer and locks + init : false, + locked : false + }, + + init : function (scope, method, options) { + var self = this; + Foundation.inherit(this, 'throttle image_loaded'); + + this.bindings(method, options); + + if (self.S(this.scope).is('[' + this.attr_name() + ']')) { + this.assemble(self.S('li', this.scope)); + } else { + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + self.assemble(self.S('li', this)); + }); + } + }, + + events : function (scope) { + var self = this, + S = self.S, + $scroll_container = $('.scroll-container'); + + if ($scroll_container.length > 0) { + this.scope = $scroll_container; + } + + S(this.scope) + .off('.clearing') + .on('click.fndtn.clearing', 'ul[' + this.attr_name() + '] li ' + this.settings.open_selectors, + function (e, current, target) { + var current = current || S(this), + target = target || current, + next = current.next('li'), + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'), + image = S(e.target); + + e.preventDefault(); + + if (!settings) { + self.init(); + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + } + + // if clearing is open and the current image is + // clicked, go to the next image in sequence + if (target.hasClass('visible') && + current[0] === target[0] && + next.length > 0 && self.is_open(current)) { + target = next; + image = S('img', target); + } + + // set current and target to the clicked li if not otherwise defined. + self.open(image, current, target); + self.update_paddles(target); + }) + + .on('click.fndtn.clearing', '.clearing-main-next', + function (e) { self.nav(e, 'next') }) + .on('click.fndtn.clearing', '.clearing-main-prev', + function (e) { self.nav(e, 'prev') }) + .on('click.fndtn.clearing', this.settings.close_selectors, + function (e) { Foundation.libs.clearing.close(e, this) }); + + $(document).on('keydown.fndtn.clearing', + function (e) { self.keydown(e) }); + + S(window).off('.clearing').on('resize.fndtn.clearing', + function () { self.resize() }); + + this.swipe_events(scope); + }, + + swipe_events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .on('touchstart.fndtn.clearing', '.visible-img', function (e) { + if (!e.touches) { e = e.originalEvent; } + var data = { + start_page_x : e.touches[0].pageX, + start_page_y : e.touches[0].pageY, + start_time : (new Date()).getTime(), + delta_x : 0, + is_scrolling : undefined + }; + + S(this).data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.clearing', '.visible-img', function (e) { + if (!e.touches) { + e = e.originalEvent; + } + // Ignore pinch/zoom events + if (e.touches.length > 1 || e.scale && e.scale !== 1) { + return; + } + + var data = S(this).data('swipe-transition'); + + if (typeof data === 'undefined') { + data = {}; + } + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if (Foundation.rtl) { + data.delta_x = -data.delta_x; + } + + if (typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? 'next' : 'prev'; + data.active = true; + self.nav(e, direction); + } + }) + .on('touchend.fndtn.clearing', '.visible-img', function (e) { + S(this).data('swipe-transition', {}); + e.stopPropagation(); + }); + }, + + assemble : function ($li) { + var $el = $li.parent(); + + if ($el.parent().hasClass('carousel')) { + return; + } + + $el.after('
    '); + + var grid = $el.detach(), + grid_outerHTML = ''; + + if (grid[0] == null) { + return; + } else { + grid_outerHTML = grid[0].outerHTML; + } + + var holder = this.S('#foundationClearingHolder'), + settings = $el.data(this.attr_name(true) + '-init'), + data = { + grid : '', + viewing : settings.templates.viewing + }, + wrapper = '
    ' + data.viewing + + data.grid + '
    ', + touch_label = this.settings.touch_label; + + if (Modernizr.touch) { + wrapper = $(wrapper).find('.clearing-touch-label').html(touch_label).end(); + } + + holder.after(wrapper).remove(); + }, + + open : function ($image, current, target) { + var self = this, + body = $(document.body), + root = target.closest('.clearing-assembled'), + container = self.S('div', root).first(), + visible_image = self.S('.visible-img', container), + image = self.S('img', visible_image).not($image), + label = self.S('.clearing-touch-label', container), + error = false, + loaded = {}; + + // Event to disable scrolling on touch devices when Clearing is activated + $('body').on('touchmove', function (e) { + e.preventDefault(); + }); + + image.error(function () { + error = true; + }); + + function startLoad() { + setTimeout(function () { + this.image_loaded(image, function () { + if (image.outerWidth() === 1 && !error) { + startLoad.call(this); + } else { + cb.call(this, image); + } + }.bind(this)); + }.bind(this), 100); + } + + function cb (image) { + var $image = $(image); + $image.css('visibility', 'visible'); + $image.trigger('imageVisible'); + // toggle the gallery + body.css('overflow', 'hidden'); + root.addClass('clearing-blackout'); + container.addClass('clearing-container'); + visible_image.show(); + this.fix_height(target) + .caption(self.S('.clearing-caption', visible_image), self.S('img', target)) + .center_and_label(image, label) + .shift(current, target, function () { + target.closest('li').siblings().removeClass('visible'); + target.closest('li').addClass('visible'); + }); + visible_image.trigger('opened.fndtn.clearing') + } + + if (!this.locked()) { + visible_image.trigger('open.fndtn.clearing'); + // set the image to the selected thumbnail + loaded = this.load($image); + if (loaded.interchange) { + image + .attr('data-interchange', loaded.interchange) + .foundation('interchange', 'reflow'); + } else { + image + .attr('src', loaded.src) + .attr('data-interchange', ''); + } + image.css('visibility', 'hidden'); + + startLoad.call(this); + } + }, + + close : function (e, el) { + e.preventDefault(); + + var root = (function (target) { + if (/blackout/.test(target.selector)) { + return target; + } else { + return target.closest('.clearing-blackout'); + } + }($(el))), + body = $(document.body), container, visible_image; + + if (el === e.target && root) { + body.css('overflow', ''); + container = $('div', root).first(); + visible_image = $('.visible-img', container); + visible_image.trigger('close.fndtn.clearing'); + this.settings.prev_index = 0; + $('ul[' + this.attr_name() + ']', root) + .attr('style', '').closest('.clearing-blackout') + .removeClass('clearing-blackout'); + container.removeClass('clearing-container'); + visible_image.hide(); + visible_image.trigger('closed.fndtn.clearing'); + } + + // Event to re-enable scrolling on touch devices + $('body').off('touchmove'); + + return false; + }, + + is_open : function (current) { + return current.parent().prop('style').length > 0; + }, + + keydown : function (e) { + var clearing = $('.clearing-blackout ul[' + this.attr_name() + ']'), + NEXT_KEY = this.rtl ? 37 : 39, + PREV_KEY = this.rtl ? 39 : 37, + ESC_KEY = 27; + + if (e.which === NEXT_KEY) { + this.go(clearing, 'next'); + } + if (e.which === PREV_KEY) { + this.go(clearing, 'prev'); + } + if (e.which === ESC_KEY) { + this.S('a.clearing-close').trigger('click.fndtn.clearing'); + } + }, + + nav : function (e, direction) { + var clearing = $('ul[' + this.attr_name() + ']', '.clearing-blackout'); + + e.preventDefault(); + this.go(clearing, direction); + }, + + resize : function () { + var image = $('img', '.clearing-blackout .visible-img'), + label = $('.clearing-touch-label', '.clearing-blackout'); + + if (image.length) { + this.center_and_label(image, label); + image.trigger('resized.fndtn.clearing') + } + }, + + // visual adjustments + fix_height : function (target) { + var lis = target.parent().children(), + self = this; + + lis.each(function () { + var li = self.S(this), + image = li.find('img'); + + if (li.height() > image.outerHeight()) { + li.addClass('fix-height'); + } + }) + .closest('ul') + .width(lis.length * 100 + '%'); + + return this; + }, + + update_paddles : function (target) { + target = target.closest('li'); + var visible_image = target + .closest('.carousel') + .siblings('.visible-img'); + + if (target.next().length > 0) { + this.S('.clearing-main-next', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-next', visible_image).addClass('disabled'); + } + + if (target.prev().length > 0) { + this.S('.clearing-main-prev', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-prev', visible_image).addClass('disabled'); + } + }, + + center_and_label : function (target, label) { + if (!this.rtl && label.length > 0) { + label.css({ + marginLeft : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10 + }); + } else { + label.css({ + marginRight : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10, + left: 'auto', + right: '50%' + }); + } + return this; + }, + + // image loading and preloading + + load : function ($image) { + var href, + interchange, + closest_a; + + if ($image[0].nodeName === 'A') { + href = $image.attr('href'); + interchange = $image.data('clearing-interchange'); + } else { + closest_a = $image.closest('a'); + href = closest_a.attr('href'); + interchange = closest_a.data('clearing-interchange'); + } + + this.preload($image); + + return { + 'src': href ? href : $image.attr('src'), + 'interchange': href ? interchange : $image.data('clearing-interchange') + } + }, + + preload : function ($image) { + this + .img($image.closest('li').next(), 'next') + .img($image.closest('li').prev(), 'prev'); + }, + + img : function (img, sibling_type) { + if (img.length) { + var preload_img = $('.clearing-preload-' + sibling_type), + new_a = this.S('a', img), + src, + interchange, + image; + + if (new_a.length) { + src = new_a.attr('href'); + interchange = new_a.data('clearing-interchange'); + } else { + image = this.S('img', img); + src = image.attr('src'); + interchange = image.data('clearing-interchange'); + } + + if (interchange) { + preload_img.attr('data-interchange', interchange); + } else { + preload_img.attr('src', src); + preload_img.attr('data-interchange', ''); + } + } + return this; + }, + + // image caption + + caption : function (container, $image) { + var caption = $image.attr('data-caption'); + + if (caption) { + var containerPlain = container.get(0); + containerPlain.innerHTML = caption; + container.show(); + } else { + container + .text('') + .hide(); + } + return this; + }, + + // directional methods + + go : function ($ul, direction) { + var current = this.S('.visible', $ul), + target = current[direction](); + + // Check for skip selector. + if (this.settings.skip_selector && target.find(this.settings.skip_selector).length != 0) { + target = target[direction](); + } + + if (target.length) { + this.S('img', target) + .trigger('click.fndtn.clearing', [current, target]) + .trigger('change.fndtn.clearing'); + } + }, + + shift : function (current, target, callback) { + var clearing = target.parent(), + old_index = this.settings.prev_index || target.index(), + direction = this.direction(clearing, current, target), + dir = this.rtl ? 'right' : 'left', + left = parseInt(clearing.css('left'), 10), + width = target.outerWidth(), + skip_shift; + + var dir_obj = {}; + + // we use jQuery animate instead of CSS transitions because we + // need a callback to unlock the next animation + // needs support for RTL ** + if (target.index() !== old_index && !/skip/.test(direction)) { + if (/left/.test(direction)) { + this.lock(); + dir_obj[dir] = left + width; + clearing.animate(dir_obj, 300, this.unlock()); + } else if (/right/.test(direction)) { + this.lock(); + dir_obj[dir] = left - width; + clearing.animate(dir_obj, 300, this.unlock()); + } + } else if (/skip/.test(direction)) { + // the target image is not adjacent to the current image, so + // do we scroll right or not + skip_shift = target.index() - this.settings.up_count; + this.lock(); + + if (skip_shift > 0) { + dir_obj[dir] = -(skip_shift * width); + clearing.animate(dir_obj, 300, this.unlock()); + } else { + dir_obj[dir] = 0; + clearing.animate(dir_obj, 300, this.unlock()); + } + } + + callback(); + }, + + direction : function ($el, current, target) { + var lis = this.S('li', $el), + li_width = lis.outerWidth() + (lis.outerWidth() / 4), + up_count = Math.floor(this.S('.clearing-container').outerWidth() / li_width) - 1, + target_index = lis.index(target), + response; + + this.settings.up_count = up_count; + + if (this.adjacent(this.settings.prev_index, target_index)) { + if ((target_index > up_count) && target_index > this.settings.prev_index) { + response = 'right'; + } else if ((target_index > up_count - 1) && target_index <= this.settings.prev_index) { + response = 'left'; + } else { + response = false; + } + } else { + response = 'skip'; + } + + this.settings.prev_index = target_index; + + return response; + }, + + adjacent : function (current_index, target_index) { + for (var i = target_index + 1; i >= target_index - 1; i--) { + if (i === current_index) { + return true; + } + } + return false; + }, + + // lock management + + lock : function () { + this.settings.locked = true; + }, + + unlock : function () { + this.settings.locked = false; + }, + + locked : function () { + return this.settings.locked; + }, + + off : function () { + this.S(this.scope).off('.fndtn.clearing'); + this.S(window).off('.fndtn.clearing'); + }, + + reflow : function () { + this.init(); + } + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.dropdown = { + name : 'dropdown', + + version : '5.5.3', + + settings : { + active_class : 'open', + disabled_class : 'disabled', + mega_class : 'mega', + align : 'bottom', + is_hover : false, + hover_timeout : 150, + opened : function () {}, + closed : function () {} + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.dropdown') + .on('click.fndtn.dropdown', '[' + this.attr_name() + ']', function (e) { + var settings = S(this).data(self.attr_name(true) + '-init') || self.settings; + if (!settings.is_hover || Modernizr.touch) { + e.preventDefault(); + if (S(this).parent('[data-reveal-id]').length) { + e.stopPropagation(); + } + self.toggle($(this)); + } + }) + .on('mouseenter.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this), + dropdown, + target; + + clearTimeout(self.timeout); + + if ($this.data(self.data_attr())) { + dropdown = S('#' + $this.data(self.data_attr())); + target = $this; + } else { + dropdown = $this; + target = S('[' + self.attr_name() + '="' + dropdown.attr('id') + '"]'); + } + + var settings = target.data(self.attr_name(true) + '-init') || self.settings; + + if (S(e.currentTarget).data(self.data_attr()) && settings.is_hover) { + self.closeall.call(self); + } + + if (settings.is_hover) { + self.open.apply(self, [dropdown, target]); + } + }) + .on('mouseleave.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this); + var settings; + + if ($this.data(self.data_attr())) { + settings = $this.data(self.data_attr(true) + '-init') || self.settings; + } else { + var target = S('[' + self.attr_name() + '="' + S(this).attr('id') + '"]'), + settings = target.data(self.attr_name(true) + '-init') || self.settings; + } + + self.timeout = setTimeout(function () { + if ($this.data(self.data_attr())) { + if (settings.is_hover) { + self.close.call(self, S('#' + $this.data(self.data_attr()))); + } + } else { + if (settings.is_hover) { + self.close.call(self, $this); + } + } + }.bind(this), settings.hover_timeout); + }) + .on('click.fndtn.dropdown', function (e) { + var parent = S(e.target).closest('[' + self.attr_name() + '-content]'); + var links = parent.find('a'); + + if (links.length > 0 && parent.attr('aria-autoclose') !== 'false') { + self.close.call(self, S('[' + self.attr_name() + '-content]')); + } + + if (e.target !== document && !$.contains(document.documentElement, e.target)) { + return; + } + + if (S(e.target).closest('[' + self.attr_name() + ']').length > 0) { + return; + } + + if (!(S(e.target).data('revealId')) && + (parent.length > 0 && (S(e.target).is('[' + self.attr_name() + '-content]') || + $.contains(parent.first()[0], e.target)))) { + e.stopPropagation(); + return; + } + + self.close.call(self, S('[' + self.attr_name() + '-content]')); + }) + .on('opened.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.opened.call(this); + }) + .on('closed.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.closed.call(this); + }); + + S(window) + .off('.dropdown') + .on('resize.fndtn.dropdown', self.throttle(function () { + self.resize.call(self); + }, 50)); + + this.resize(); + }, + + close : function (dropdown) { + var self = this; + dropdown.each(function (idx) { + var original_target = $('[' + self.attr_name() + '=' + dropdown[idx].id + ']') || $('aria-controls=' + dropdown[idx].id + ']'); + original_target.attr('aria-expanded', 'false'); + if (self.S(this).hasClass(self.settings.active_class)) { + self.S(this) + .css(Foundation.rtl ? 'right' : 'left', '-99999px') + .attr('aria-hidden', 'true') + .removeClass(self.settings.active_class) + .prev('[' + self.attr_name() + ']') + .removeClass(self.settings.active_class) + .removeData('target'); + + self.S(this).trigger('closed.fndtn.dropdown', [dropdown]); + } + }); + dropdown.removeClass('f-open-' + this.attr_name(true)); + }, + + closeall : function () { + var self = this; + $.each(self.S('.f-open-' + this.attr_name(true)), function () { + self.close.call(self, self.S(this)); + }); + }, + + open : function (dropdown, target) { + this + .css(dropdown + .addClass(this.settings.active_class), target); + dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class); + dropdown.data('target', target.get(0)).trigger('opened.fndtn.dropdown', [dropdown, target]); + dropdown.attr('aria-hidden', 'false'); + target.attr('aria-expanded', 'true'); + dropdown.focus(); + dropdown.addClass('f-open-' + this.attr_name(true)); + }, + + data_attr : function () { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.name; + } + + return this.name; + }, + + toggle : function (target) { + if (target.hasClass(this.settings.disabled_class)) { + return; + } + var dropdown = this.S('#' + target.data(this.data_attr())); + if (dropdown.length === 0) { + // No dropdown found, not continuing + return; + } + + this.close.call(this, this.S('[' + this.attr_name() + '-content]').not(dropdown)); + + if (dropdown.hasClass(this.settings.active_class)) { + this.close.call(this, dropdown); + if (dropdown.data('target') !== target.get(0)) { + this.open.call(this, dropdown, target); + } + } else { + this.open.call(this, dropdown, target); + } + }, + + resize : function () { + var dropdown = this.S('[' + this.attr_name() + '-content].open'); + var target = $(dropdown.data("target")); + + if (dropdown.length && target.length) { + this.css(dropdown, target); + } + }, + + css : function (dropdown, target) { + var left_offset = Math.max((target.width() - dropdown.width()) / 2, 8), + settings = target.data(this.attr_name(true) + '-init') || this.settings, + parentOverflow = dropdown.parent().css('overflow-y') || dropdown.parent().css('overflow'); + + this.clear_idx(); + + + + if (this.small()) { + var p = this.dirs.bottom.call(dropdown, target, settings); + + dropdown.attr('style', '').removeClass('drop-left drop-right drop-top').css({ + position : 'absolute', + width : '95%', + 'max-width' : 'none', + top : p.top + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } + // detect if dropdown is in an overflow container + else if (parentOverflow !== 'visible') { + var offset = target[0].offsetTop + target[0].offsetHeight; + + dropdown.attr('style', '').css({ + position : 'absolute', + top : offset + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } + else { + + this.style(dropdown, target, settings); + } + + return dropdown; + }, + + style : function (dropdown, target, settings) { + var css = $.extend({position : 'absolute'}, + this.dirs[settings.align].call(dropdown, target, settings)); + + dropdown.attr('style', '').css(css); + }, + + // return CSS property object + // `this` is the dropdown + dirs : { + // Calculate target offset + _base : function (t, s) { + var o_p = this.offsetParent(), + o = o_p.offset(), + p = t.offset(); + + p.top -= o.top; + p.left -= o.left; + + //set some flags on the p object to pass along + p.missRight = false; + p.missTop = false; + p.missLeft = false; + p.leftRightFlag = false; + + //lets see if the panel will be off the screen + //get the actual width of the page and store it + var actualBodyWidth; + var windowWidth = window.innerWidth; + + if (document.getElementsByClassName('row')[0]) { + actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth; + } else { + actualBodyWidth = windowWidth; + } + + var actualMarginWidth = (windowWidth - actualBodyWidth) / 2; + var actualBoundary = actualBodyWidth; + + if (!this.hasClass('mega') && !s.ignore_repositioning) { + var outerWidth = this.outerWidth(); + var o_left = t.offset().left; + + //miss top + if (t.offset().top <= this.outerHeight()) { + p.missTop = true; + actualBoundary = windowWidth - actualMarginWidth; + p.leftRightFlag = true; + } + + //miss right + if (o_left + outerWidth > o_left + actualMarginWidth && o_left - actualMarginWidth > outerWidth) { + p.missRight = true; + p.missLeft = false; + } + + //miss left + if (o_left - outerWidth <= 0) { + p.missLeft = true; + p.missRight = false; + } + } + + return p; + }, + + top : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t, s); + + this.addClass('drop-top'); + + if (p.missTop == true) { + p.top = p.top + t.outerHeight() + this.outerHeight(); + this.removeClass('drop-top'); + } + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (Foundation.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), + top : p.top - this.outerHeight()}; + } + + return {left : p.left, top : p.top - this.outerHeight()}; + }, + + bottom : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t, s); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (self.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), top : p.top + t.outerHeight()}; + } + + return {left : p.left, top : p.top + t.outerHeight()}; + }, + + left : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t, s); + + this.addClass('drop-left'); + + if (p.missLeft == true) { + p.left = p.left + this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-left'); + } + + return {left : p.left - this.outerWidth(), top : p.top}; + }, + + right : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t, s); + + this.addClass('drop-right'); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-right'); + } else { + p.triggeredRight = true; + } + + var self = Foundation.libs.dropdown; + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + return {left : p.left + t.outerWidth(), top : p.top}; + } + }, + + // Insert rule to style psuedo elements + adjust_pip : function (dropdown, target, settings, position) { + var sheet = Foundation.stylesheet, + pip_offset_base = 8; + + if (dropdown.hasClass(settings.mega_class)) { + pip_offset_base = position.left + (target.outerWidth() / 2) - 8; + } else if (this.small()) { + pip_offset_base += position.left - 8; + } + + this.rule_idx = sheet.cssRules.length; + + //default + var sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + + if (position.missRight == true) { + pip_offset_base = dropdown.outerWidth() - 23; + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + } + + //just a case where right is fired, but its not missing right + if (position.triggeredRight == true) { + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left:-12px;', + css_after = 'left:-14px;'; + } + + if (sheet.insertRule) { + sheet.insertRule([sel_before, '{', css_before, '}'].join(' '), this.rule_idx); + sheet.insertRule([sel_after, '{', css_after, '}'].join(' '), this.rule_idx + 1); + } else { + sheet.addRule(sel_before, css_before, this.rule_idx); + sheet.addRule(sel_after, css_after, this.rule_idx + 1); + } + }, + + // Remove old dropdown rule index + clear_idx : function () { + var sheet = Foundation.stylesheet; + + if (typeof this.rule_idx !== 'undefined') { + sheet.deleteRule(this.rule_idx); + sheet.deleteRule(this.rule_idx); + delete this.rule_idx; + } + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + off : function () { + this.S(this.scope).off('.fndtn.dropdown'); + this.S('html, body').off('.fndtn.dropdown'); + this.S(window).off('.fndtn.dropdown'); + this.S('[data-dropdown-content]').off('.fndtn.dropdown'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.equalizer = { + name : 'equalizer', + + version : '5.5.3', + + settings : { + use_tallest : true, + before_height_change : $.noop, + after_height_change : $.noop, + equalize_on_stack : false, + act_on_hidden_el: false + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'image_loaded'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + this.S(window).off('.equalizer').on('resize.fndtn.equalizer', function (e) { + this.reflow(); + }.bind(this)); + }, + + equalize : function (equalizer) { + var isStacked = false, + group = equalizer.data('equalizer'), + settings = equalizer.data(this.attr_name(true)+'-init') || this.settings, + vals, + firstTopOffset; + + if (settings.act_on_hidden_el) { + vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]') : equalizer.find('['+this.attr_name()+'-watch]'); + } + else { + vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]:visible') : equalizer.find('['+this.attr_name()+'-watch]:visible'); + } + + if (vals.length === 0) { + return; + } + + settings.before_height_change(); + equalizer.trigger('before-height-change.fndth.equalizer'); + vals.height('inherit'); + + if (settings.equalize_on_stack === false) { + firstTopOffset = vals.first().offset().top; + vals.each(function () { + if ($(this).offset().top !== firstTopOffset) { + isStacked = true; + return false; + } + }); + if (isStacked) { + return; + } + } + + var heights = vals.map(function () { return $(this).outerHeight(false) }).get(); + + if (settings.use_tallest) { + var max = Math.max.apply(null, heights); + vals.css('height', max); + } else { + var min = Math.min.apply(null, heights); + vals.css('height', min); + } + + settings.after_height_change(); + equalizer.trigger('after-height-change.fndtn.equalizer'); + }, + + reflow : function () { + var self = this; + + this.S('[' + this.attr_name() + ']', this.scope).each(function () { + var $eq_target = $(this), + media_query = $eq_target.data('equalizer-mq'), + ignore_media_query = true; + + if (media_query) { + media_query = 'is_' + media_query.replace(/-/g, '_'); + if (Foundation.utils.hasOwnProperty(media_query)) { + ignore_media_query = false; + } + } + + self.image_loaded(self.S('img', this), function () { + if (ignore_media_query || Foundation.utils[media_query]()) { + self.equalize($eq_target) + } else { + var vals = $eq_target.find('[' + self.attr_name() + '-watch]:visible'); + vals.css('height', 'auto'); + } + }); + }); + } + }; +})(jQuery, window, window.document); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.interchange = { + name : 'interchange', + + version : '5.5.3', + + cache : {}, + + images_loaded : false, + nodes_loaded : false, + + settings : { + load_attr : 'interchange', + + named_queries : { + 'default' : 'only screen', + 'small' : Foundation.media_queries['small'], + 'small-only' : Foundation.media_queries['small-only'], + 'medium' : Foundation.media_queries['medium'], + 'medium-only' : Foundation.media_queries['medium-only'], + 'large' : Foundation.media_queries['large'], + 'large-only' : Foundation.media_queries['large-only'], + 'xlarge' : Foundation.media_queries['xlarge'], + 'xlarge-only' : Foundation.media_queries['xlarge-only'], + 'xxlarge' : Foundation.media_queries['xxlarge'], + 'landscape' : 'only screen and (orientation: landscape)', + 'portrait' : 'only screen and (orientation: portrait)', + 'retina' : 'only screen and (-webkit-min-device-pixel-ratio: 2),' + + 'only screen and (min--moz-device-pixel-ratio: 2),' + + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + + 'only screen and (min-device-pixel-ratio: 2),' + + 'only screen and (min-resolution: 192dpi),' + + 'only screen and (min-resolution: 2dppx)' + }, + + directives : { + replace : function (el, path, trigger) { + // The trigger argument, if called within the directive, fires + // an event named after the directive on the element, passing + // any parameters along to the event that you pass to trigger. + // + // ex. trigger(), trigger([a, b, c]), or trigger(a, b, c) + // + // This allows you to bind a callback like so: + // $('#interchangeContainer').on('replace', function (e, a, b, c) { + // console.log($(this).html(), a, b, c); + // }); + + if (el !== null && /IMG/.test(el[0].nodeName)) { + var orig_path = $.each(el, function(){this.src = path;}); + // var orig_path = el[0].src; + + if (new RegExp(path, 'i').test(orig_path)) { + return; + } + + el.attr("src", path); + + return trigger(el[0].src); + } + var last_path = el.data(this.data_attr + '-last-path'), + self = this; + + if (last_path == path) { + return; + } + + if (/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(path)) { + $(el).css('background-image', 'url(' + path + ')'); + el.data('interchange-last-path', path); + return trigger(path); + } + + return $.get(path, function (response) { + el.html(response); + el.data(self.data_attr + '-last-path', path); + trigger(); + }); + + } + } + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.data_attr = this.set_data_attr(); + $.extend(true, this.settings, method, options); + this.bindings(method, options); + this.reflow(); + }, + + get_media_hash : function () { + var mediaHash = ''; + for (var queryName in this.settings.named_queries ) { + mediaHash += matchMedia(this.settings.named_queries[queryName]).matches.toString(); + } + return mediaHash; + }, + + events : function () { + var self = this, prevMediaHash; + + $(window) + .off('.interchange') + .on('resize.fndtn.interchange', self.throttle(function () { + var currMediaHash = self.get_media_hash(); + if (currMediaHash !== prevMediaHash) { + self.resize(); + } + prevMediaHash = currMediaHash; + }, 50)); + + return this; + }, + + resize : function () { + var cache = this.cache; + + if (!this.images_loaded || !this.nodes_loaded) { + setTimeout($.proxy(this.resize, this), 50); + return; + } + + for (var uuid in cache) { + if (cache.hasOwnProperty(uuid)) { + var passed = this.results(uuid, cache[uuid]); + if (passed) { + this.settings.directives[passed + .scenario[1]].call(this, passed.el, passed.scenario[0], (function (passed) { + if (arguments[0] instanceof Array) { + var args = arguments[0]; + } else { + var args = Array.prototype.slice.call(arguments, 0); + } + + return function() { + passed.el.trigger(passed.scenario[1], args); + } + }(passed))); + } + } + } + + }, + + results : function (uuid, scenarios) { + var count = scenarios.length; + + if (count > 0) { + var el = this.S('[' + this.add_namespace('data-uuid') + '="' + uuid + '"]'); + + while (count--) { + var mq, rule = scenarios[count][2]; + if (this.settings.named_queries.hasOwnProperty(rule)) { + mq = matchMedia(this.settings.named_queries[rule]); + } else { + mq = matchMedia(rule); + } + if (mq.matches) { + return {el : el, scenario : scenarios[count]}; + } + } + } + + return false; + }, + + load : function (type, force_update) { + if (typeof this['cached_' + type] === 'undefined' || force_update) { + this['update_' + type](); + } + + return this['cached_' + type]; + }, + + update_images : function () { + var images = this.S('img[' + this.data_attr + ']'), + count = images.length, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cache = {}; + this.cached_images = []; + this.images_loaded = (count === 0); + + while (i--) { + loaded_count++; + if (images[i]) { + var str = images[i].getAttribute(data_attr) || ''; + + if (str.length > 0) { + this.cached_images.push(images[i]); + } + } + + if (loaded_count === count) { + this.images_loaded = true; + this.enhance('images'); + } + } + + return this; + }, + + update_nodes : function () { + var nodes = this.S('[' + this.data_attr + ']').not('img'), + count = nodes.length, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cached_nodes = []; + this.nodes_loaded = (count === 0); + + while (i--) { + loaded_count++; + var str = nodes[i].getAttribute(data_attr) || ''; + + if (str.length > 0) { + this.cached_nodes.push(nodes[i]); + } + + if (loaded_count === count) { + this.nodes_loaded = true; + this.enhance('nodes'); + } + } + + return this; + }, + + enhance : function (type) { + var i = this['cached_' + type].length; + + while (i--) { + this.object($(this['cached_' + type][i])); + } + + return $(window).trigger('resize.fndtn.interchange'); + }, + + convert_directive : function (directive) { + + var trimmed = this.trim(directive); + + if (trimmed.length > 0) { + return trimmed; + } + + return 'replace'; + }, + + parse_scenario : function (scenario) { + // This logic had to be made more complex since some users were using commas in the url path + // So we cannot simply just split on a comma + + var directive_match = scenario[0].match(/(.+),\s*(\w+)\s*$/), + // getting the mq has gotten a bit complicated since we started accounting for several use cases + // of URLs. For now we'll continue to match these scenarios, but we may consider having these scenarios + // as nested objects or arrays in F6. + // regex: match everything before close parenthesis for mq + media_query = scenario[1].match(/(.*)\)/); + + if (directive_match) { + var path = directive_match[1], + directive = directive_match[2]; + + } else { + var cached_split = scenario[0].split(/,\s*$/), + path = cached_split[0], + directive = ''; + } + + return [this.trim(path), this.convert_directive(directive), this.trim(media_query[1])]; + }, + + object : function (el) { + var raw_arr = this.parse_data_attr(el), + scenarios = [], + i = raw_arr.length; + + if (i > 0) { + while (i--) { + // split array between comma delimited content and mq + // regex: comma, optional space, open parenthesis + var scenario = raw_arr[i].split(/,\s?\(/); + + if (scenario.length > 1) { + var params = this.parse_scenario(scenario); + scenarios.push(params); + } + } + } + + return this.store(el, scenarios); + }, + + store : function (el, scenarios) { + var uuid = this.random_str(), + current_uuid = el.data(this.add_namespace('uuid', true)); + + if (this.cache[current_uuid]) { + return this.cache[current_uuid]; + } + + el.attr(this.add_namespace('data-uuid'), uuid); + return this.cache[uuid] = scenarios; + }, + + trim : function (str) { + + if (typeof str === 'string') { + return $.trim(str); + } + + return str; + }, + + set_data_attr : function (init) { + if (init) { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.settings.load_attr; + } + + return this.settings.load_attr; + } + + if (this.namespace.length > 0) { + return 'data-' + this.namespace + '-' + this.settings.load_attr; + } + + return 'data-' + this.settings.load_attr; + }, + + parse_data_attr : function (el) { + var raw = el.attr(this.attr_name()).split(/\[(.*?)\]/), + i = raw.length, + output = []; + + while (i--) { + if (raw[i].replace(/[\W\d]+/, '').length > 4) { + output.push(raw[i]); + } + } + + return output; + }, + + reflow : function () { + this.load('images', true); + this.load('nodes', true); + } + + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + var Modernizr = Modernizr || false; + + Foundation.libs.joyride = { + name : 'joyride', + + version : '5.5.3', + + defaults : { + expose : false, // turn on or off the expose feature + modal : true, // Whether to cover page with modal during the tour + keyboard : true, // enable left, right and esc keystrokes + tip_location : 'bottom', // 'top', 'bottom', 'left' or 'right' in relation to parent + nub_position : 'auto', // override on a per tooltip bases + scroll_speed : 1500, // Page scrolling speed in milliseconds, 0 = no scroll animation + scroll_animation : 'linear', // supports 'swing' and 'linear', extend with jQuery UI. + timer : 0, // 0 = no timer , all other numbers = timer in milliseconds + start_timer_on_click : true, // true or false - true requires clicking the first button start the timer + start_offset : 0, // the index of the tooltip you want to start on (index of the li) + next_button : true, // true or false to control whether a next button is used + prev_button : true, // true or false to control whether a prev button is used + tip_animation : 'fade', // 'pop' or 'fade' in each tip + pause_after : [], // array of indexes where to pause the tour after + exposed : [], // array of expose elements + tip_animation_fade_speed : 300, // when tipAnimation = 'fade' this is speed in milliseconds for the transition + cookie_monster : false, // true or false to control whether cookies are used + cookie_name : 'joyride', // Name the cookie you'll use + cookie_domain : false, // Will this cookie be attached to a domain, ie. '.notableapp.com' + cookie_expires : 365, // set when you would like the cookie to expire. + tip_container : 'body', // Where will the tip be attached + abort_on_close : true, // When true, the close event will not fire any callback + tip_location_patterns : { + top : ['bottom'], + bottom : [], // bottom should not need to be repositioned + left : ['right', 'top', 'bottom'], + right : ['left', 'top', 'bottom'] + }, + post_ride_callback : function () {}, // A method to call once the tour closes (canceled or complete) + post_step_callback : function () {}, // A method to call after each step + pre_step_callback : function () {}, // A method to call before each step + pre_ride_callback : function () {}, // A method to call before the tour starts (passed index, tip, and cloned exposed element) + post_expose_callback : function () {}, // A method to call after an element has been exposed + template : { // HTML segments for tip layout + link : '×', + timer : '
    ', + tip : '
    ', + wrapper : '
    ', + button : '', + prev_button : '', + modal : '
    ', + expose : '
    ', + expose_cover : '
    ' + }, + expose_add_class : '' // One or more space-separated class names to be added to exposed element + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.settings = this.settings || $.extend({}, this.defaults, (options || method)); + + this.bindings(method, options) + }, + + go_next : function () { + if (this.settings.$li.next().length < 1) { + this.end(); + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(); + this.startTimer(); + } else { + this.hide(); + this.show(); + } + }, + + go_prev : function () { + if (this.settings.$li.prev().length < 1) { + // Do nothing if there are no prev element + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(null, true); + this.startTimer(); + } else { + this.hide(); + this.show(null, true); + } + }, + + events : function () { + var self = this; + + $(this.scope) + .off('.joyride') + .on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) { + e.preventDefault(); + this.go_next() + }.bind(this)) + .on('click.fndtn.joyride', '.joyride-prev-tip', function (e) { + e.preventDefault(); + this.go_prev(); + }.bind(this)) + + .on('click.fndtn.joyride', '.joyride-close-tip', function (e) { + e.preventDefault(); + this.end(this.settings.abort_on_close); + }.bind(this)) + + .on('keyup.fndtn.joyride', function (e) { + // Don't do anything if keystrokes are disabled + // or if the joyride is not being shown + if (!this.settings.keyboard || !this.settings.riding) { + return; + } + + switch (e.which) { + case 39: // right arrow + e.preventDefault(); + this.go_next(); + break; + case 37: // left arrow + e.preventDefault(); + this.go_prev(); + break; + case 27: // escape + e.preventDefault(); + this.end(this.settings.abort_on_close); + } + }.bind(this)); + + $(window) + .off('.joyride') + .on('resize.fndtn.joyride', self.throttle(function () { + if ($('[' + self.attr_name() + ']').length > 0 && self.settings.$next_tip && self.settings.riding) { + if (self.settings.exposed.length > 0) { + var $els = $(self.settings.exposed); + + $els.each(function () { + var $this = $(this); + self.un_expose($this); + self.expose($this); + }); + } + + if (self.is_phone()) { + self.pos_phone(); + } else { + self.pos_default(false); + } + } + }, 100)); + }, + + start : function () { + var self = this, + $this = $('[' + this.attr_name() + ']', this.scope), + integer_settings = ['timer', 'scrollSpeed', 'startOffset', 'tipAnimationFadeSpeed', 'cookieExpires'], + int_settings_count = integer_settings.length; + + if (!$this.length > 0) { + return; + } + + if (!this.settings.init) { + this.events(); + } + + this.settings = $this.data(this.attr_name(true) + '-init'); + + // non configureable settings + this.settings.$content_el = $this; + this.settings.$body = $(this.settings.tip_container); + this.settings.body_offset = $(this.settings.tip_container).position(); + this.settings.$tip_content = this.settings.$content_el.find('> li'); + this.settings.paused = false; + this.settings.attempts = 0; + this.settings.riding = true; + + // can we create cookies? + if (typeof $.cookie !== 'function') { + this.settings.cookie_monster = false; + } + + // generate the tips and insert into dom. + if (!this.settings.cookie_monster || this.settings.cookie_monster && !$.cookie(this.settings.cookie_name)) { + this.settings.$tip_content.each(function (index) { + var $this = $(this); + this.settings = $.extend({}, self.defaults, self.data_options($this)); + + // Make sure that settings parsed from data_options are integers where necessary + var i = int_settings_count; + while (i--) { + self.settings[integer_settings[i]] = parseInt(self.settings[integer_settings[i]], 10); + } + self.create({$li : $this, index : index}); + }); + + // show first tip + if (!this.settings.start_timer_on_click && this.settings.timer > 0) { + this.show('init'); + this.startTimer(); + } else { + this.show('init'); + } + + } + }, + + resume : function () { + this.set_li(); + this.show(); + }, + + tip_template : function (opts) { + var $blank, content; + + opts.tip_class = opts.tip_class || ''; + + $blank = $(this.settings.template.tip).addClass(opts.tip_class); + content = $.trim($(opts.li).html()) + + this.prev_button_text(opts.prev_button_text, opts.index) + + this.button_text(opts.button_text) + + this.settings.template.link + + this.timer_instance(opts.index); + + $blank.append($(this.settings.template.wrapper)); + $blank.first().attr(this.add_namespace('data-index'), opts.index); + $('.joyride-content-wrapper', $blank).append(content); + + return $blank[0]; + }, + + timer_instance : function (index) { + var txt; + + if ((index === 0 && this.settings.start_timer_on_click && this.settings.timer > 0) || this.settings.timer === 0) { + txt = ''; + } else { + txt = $(this.settings.template.timer)[0].outerHTML; + } + return txt; + }, + + button_text : function (txt) { + if (this.settings.tip_settings.next_button) { + txt = $.trim(txt) || 'Next'; + txt = $(this.settings.template.button).append(txt)[0].outerHTML; + } else { + txt = ''; + } + return txt; + }, + + prev_button_text : function (txt, idx) { + if (this.settings.tip_settings.prev_button) { + txt = $.trim(txt) || 'Previous'; + + // Add the disabled class to the button if it's the first element + if (idx == 0) { + txt = $(this.settings.template.prev_button).append(txt).addClass('disabled')[0].outerHTML; + } else { + txt = $(this.settings.template.prev_button).append(txt)[0].outerHTML; + } + } else { + txt = ''; + } + return txt; + }, + + create : function (opts) { + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(opts.$li)); + var buttonText = opts.$li.attr(this.add_namespace('data-button')) || opts.$li.attr(this.add_namespace('data-text')), + prevButtonText = opts.$li.attr(this.add_namespace('data-button-prev')) || opts.$li.attr(this.add_namespace('data-prev-text')), + tipClass = opts.$li.attr('class'), + $tip_content = $(this.tip_template({ + tip_class : tipClass, + index : opts.index, + button_text : buttonText, + prev_button_text : prevButtonText, + li : opts.$li + })); + + $(this.settings.tip_container).append($tip_content); + }, + + show : function (init, is_prev) { + var $timer = null; + + // are we paused? + if (this.settings.$li === undefined || ($.inArray(this.settings.$li.index(), this.settings.pause_after) === -1)) { + + // don't go to the next li if the tour was paused + if (this.settings.paused) { + this.settings.paused = false; + } else { + this.set_li(init, is_prev); + } + + this.settings.attempts = 0; + + if (this.settings.$li.length && this.settings.$target.length > 0) { + if (init) { //run when we first start + this.settings.pre_ride_callback(this.settings.$li.index(), this.settings.$next_tip); + if (this.settings.modal) { + this.show_modal(); + } + } + + this.settings.pre_step_callback(this.settings.$li.index(), this.settings.$next_tip); + + if (this.settings.modal && this.settings.expose) { + this.expose(); + } + + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(this.settings.$li)); + + this.settings.timer = parseInt(this.settings.timer, 10); + + this.settings.tip_settings.tip_location_pattern = this.settings.tip_location_patterns[this.settings.tip_settings.tip_location]; + + // scroll and hide bg if not modal and not expose + if (!/body/i.test(this.settings.$target.selector) && !this.settings.expose) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (/pop/i.test(this.settings.tipAnimation)) { + joyridemodalbg.hide(); + } else { + joyridemodalbg.fadeOut(this.settings.tipAnimationFadeSpeed); + } + this.scroll_to(); + } + + if (this.is_phone()) { + this.pos_phone(true); + } else { + this.pos_default(true); + } + + $timer = this.settings.$next_tip.find('.joyride-timer-indicator'); + + if (/pop/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip.show(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.show(); + + } + + } else if (/fade/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip + .fadeIn(this.settings.tip_animation_fade_speed) + .show(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed); + } + } + + this.settings.$current_tip = this.settings.$next_tip; + + // skip non-existant targets + } else if (this.settings.$li && this.settings.$target.length < 1) { + + this.show(init, is_prev); + + } else { + + this.end(); + + } + } else { + + this.settings.paused = true; + + } + + }, + + is_phone : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + hide : function () { + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + if (!this.settings.modal) { + $('.joyride-modal-bg').hide(); + } + + // Prevent scroll bouncing...wait to remove from layout + this.settings.$current_tip.css('visibility', 'hidden'); + setTimeout($.proxy(function () { + this.hide(); + this.css('visibility', 'visible'); + }, this.settings.$current_tip), 0); + this.settings.post_step_callback(this.settings.$li.index(), + this.settings.$current_tip); + }, + + set_li : function (init, is_prev) { + if (init) { + this.settings.$li = this.settings.$tip_content.eq(this.settings.start_offset); + this.set_next_tip(); + this.settings.$current_tip = this.settings.$next_tip; + } else { + if (is_prev) { + this.settings.$li = this.settings.$li.prev(); + } else { + this.settings.$li = this.settings.$li.next(); + } + this.set_next_tip(); + } + + this.set_target(); + }, + + set_next_tip : function () { + this.settings.$next_tip = $('.joyride-tip-guide').eq(this.settings.$li.index()); + this.settings.$next_tip.data('closed', ''); + }, + + set_target : function () { + var cl = this.settings.$li.attr(this.add_namespace('data-class')), + id = this.settings.$li.attr(this.add_namespace('data-id')), + $sel = function () { + if (id) { + return $(document.getElementById(id)); + } else if (cl) { + return $('.' + cl).first(); + } else { + return $('body'); + } + }; + + this.settings.$target = $sel(); + }, + + scroll_to : function () { + var window_half, tipOffset; + + window_half = $(window).height() / 2; + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()); + + if (tipOffset != 0) { + $('html, body').stop().animate({ + scrollTop : tipOffset + }, this.settings.scroll_speed, 'swing'); + } + }, + + paused : function () { + return ($.inArray((this.settings.$li.index() + 1), this.settings.pause_after) === -1); + }, + + restart : function () { + this.hide(); + this.settings.$li = undefined; + this.show('init'); + }, + + pos_default : function (init) { + var $nub = this.settings.$next_tip.find('.joyride-nub'), + nub_width = Math.ceil($nub.outerWidth() / 2), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + // tip must not be "display: none" to calculate position + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0, + leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0; + + if (this.bottom()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth() + leftAdjustment}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'top'); + + } else if (this.top()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'bottom'); + + } else if (this.right()) { + + this.settings.$next_tip.css({ + top : this.settings.$target.offset().top + topAdjustment, + left : (this.settings.$target.outerWidth() + this.settings.$target.offset().left + nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'left'); + + } else if (this.left()) { + + this.settings.$next_tip.css({ + top : this.settings.$target.offset().top + topAdjustment, + left : (this.settings.$target.offset().left - this.settings.$next_tip.outerWidth() - nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'right'); + + } + + if (!this.visible(this.corners(this.settings.$next_tip)) && this.settings.attempts < this.settings.tip_settings.tip_location_pattern.length) { + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + this.settings.tip_settings.tip_location = this.settings.tip_settings.tip_location_pattern[this.settings.attempts]; + + this.settings.attempts++; + + this.pos_default(); + + } + + } else if (this.settings.$li.length) { + + this.pos_modal($nub); + + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + + }, + + pos_phone : function (init) { + var tip_height = this.settings.$next_tip.outerHeight(), + tip_offset = this.settings.$next_tip.offset(), + target_height = this.settings.$target.outerHeight(), + $nub = $('.joyride-nub', this.settings.$next_tip), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + + if (this.top()) { + + this.settings.$next_tip.offset({top : this.settings.$target.offset().top - tip_height - nub_height}); + $nub.addClass('bottom'); + + } else { + + this.settings.$next_tip.offset({top : this.settings.$target.offset().top + target_height + nub_height}); + $nub.addClass('top'); + + } + + } else if (this.settings.$li.length) { + this.pos_modal($nub); + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + }, + + pos_modal : function ($nub) { + this.center(); + $nub.hide(); + + this.show_modal(); + }, + + show_modal : function () { + if (!this.settings.$next_tip.data('closed')) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (joyridemodalbg.length < 1) { + var joyridemodalbg = $(this.settings.template.modal); + joyridemodalbg.appendTo('body'); + } + + if (/pop/i.test(this.settings.tip_animation)) { + joyridemodalbg.show(); + } else { + joyridemodalbg.fadeIn(this.settings.tip_animation_fade_speed); + } + } + }, + + expose : function () { + var expose, + exposeCover, + el, + origCSS, + origClasses, + randId = 'expose-' + this.random_str(6); + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) { + el = this.settings.$target; + } else { + return false; + } + + if (el.length < 1) { + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + expose = $(this.settings.template.expose); + this.settings.$body.append(expose); + expose.css({ + top : el.offset().top, + left : el.offset().left, + width : el.outerWidth(true), + height : el.outerHeight(true) + }); + + exposeCover = $(this.settings.template.expose_cover); + + origCSS = { + zIndex : el.css('z-index'), + position : el.css('position') + }; + + origClasses = el.attr('class') == null ? '' : el.attr('class'); + + el.css('z-index', parseInt(expose.css('z-index')) + 1); + + if (origCSS.position == 'static') { + el.css('position', 'relative'); + } + + el.data('expose-css', origCSS); + el.data('orig-class', origClasses); + el.attr('class', origClasses + ' ' + this.settings.expose_add_class); + + exposeCover.css({ + top : el.offset().top, + left : el.offset().left, + width : el.outerWidth(true), + height : el.outerHeight(true) + }); + + if (this.settings.modal) { + this.show_modal(); + } + + this.settings.$body.append(exposeCover); + expose.addClass(randId); + exposeCover.addClass(randId); + el.data('expose', randId); + this.settings.post_expose_callback(this.settings.$li.index(), this.settings.$next_tip, el); + this.add_exposed(el); + }, + + un_expose : function () { + var exposeId, + el, + expose, + origCSS, + origClasses, + clearAll = false; + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) { + el = this.settings.$target; + } else { + return false; + } + + if (el.length < 1) { + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + exposeId = el.data('expose'); + expose = $('.' + exposeId); + + if (arguments.length > 1) { + clearAll = arguments[1]; + } + + if (clearAll === true) { + $('.joyride-expose-wrapper,.joyride-expose-cover').remove(); + } else { + expose.remove(); + } + + origCSS = el.data('expose-css'); + + if (origCSS.zIndex == 'auto') { + el.css('z-index', ''); + } else { + el.css('z-index', origCSS.zIndex); + } + + if (origCSS.position != el.css('position')) { + if (origCSS.position == 'static') {// this is default, no need to set it. + el.css('position', ''); + } else { + el.css('position', origCSS.position); + } + } + + origClasses = el.data('orig-class'); + el.attr('class', origClasses); + el.removeData('orig-classes'); + + el.removeData('expose'); + el.removeData('expose-z-index'); + this.remove_exposed(el); + }, + + add_exposed : function (el) { + this.settings.exposed = this.settings.exposed || []; + if (el instanceof $ || typeof el === 'object') { + this.settings.exposed.push(el[0]); + } else if (typeof el == 'string') { + this.settings.exposed.push(el); + } + }, + + remove_exposed : function (el) { + var search, i; + if (el instanceof $) { + search = el[0] + } else if (typeof el == 'string') { + search = el; + } + + this.settings.exposed = this.settings.exposed || []; + i = this.settings.exposed.length; + + while (i--) { + if (this.settings.exposed[i] == search) { + this.settings.exposed.splice(i, 1); + return; + } + } + }, + + center : function () { + var $w = $(window); + + this.settings.$next_tip.css({ + top : ((($w.height() - this.settings.$next_tip.outerHeight()) / 2) + $w.scrollTop()), + left : ((($w.width() - this.settings.$next_tip.outerWidth()) / 2) + $w.scrollLeft()) + }); + + return true; + }, + + bottom : function () { + return /bottom/i.test(this.settings.tip_settings.tip_location); + }, + + top : function () { + return /top/i.test(this.settings.tip_settings.tip_location); + }, + + right : function () { + return /right/i.test(this.settings.tip_settings.tip_location); + }, + + left : function () { + return /left/i.test(this.settings.tip_settings.tip_location); + }, + + corners : function (el) { + if (el.length === 0) { + return [false, false, false, false]; + } + + var w = $(window), + window_half = w.height() / 2, + //using this to calculate since scroll may not have finished yet. + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()), + right = w.width() + w.scrollLeft(), + offsetBottom = w.height() + tipOffset, + bottom = w.height() + w.scrollTop(), + top = w.scrollTop(); + + if (tipOffset < top) { + if (tipOffset < 0) { + top = 0; + } else { + top = tipOffset; + } + } + + if (offsetBottom > bottom) { + bottom = offsetBottom; + } + + return [ + el.offset().top < top, + right < el.offset().left + el.outerWidth(), + bottom < el.offset().top + el.outerHeight(), + w.scrollLeft() > el.offset().left + ]; + }, + + visible : function (hidden_corners) { + var i = hidden_corners.length; + + while (i--) { + if (hidden_corners[i]) { + return false; + } + } + + return true; + }, + + nub_position : function (nub, pos, def) { + if (pos === 'auto') { + nub.addClass(def); + } else { + nub.addClass(pos); + } + }, + + startTimer : function () { + if (this.settings.$li.length) { + this.settings.automate = setTimeout(function () { + this.hide(); + this.show(); + this.startTimer(); + }.bind(this), this.settings.timer); + } else { + clearTimeout(this.settings.automate); + } + }, + + end : function (abort) { + if (this.settings.cookie_monster) { + $.cookie(this.settings.cookie_name, 'ridden', {expires : this.settings.cookie_expires, domain : this.settings.cookie_domain}); + } + + if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + } + + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + // Unplug keystrokes listener + $(this.scope).off('keyup.joyride') + + this.settings.$next_tip.data('closed', true); + this.settings.riding = false; + + $('.joyride-modal-bg').hide(); + this.settings.$current_tip.hide(); + + if (typeof abort === 'undefined' || abort === false) { + this.settings.post_step_callback(this.settings.$li.index(), this.settings.$current_tip); + this.settings.post_ride_callback(this.settings.$li.index(), this.settings.$current_tip); + } + + $('.joyride-tip-guide').remove(); + }, + + off : function () { + $(this.scope).off('.joyride'); + $(window).off('.joyride'); + $('.joyride-close-tip, .joyride-next-tip, .joyride-modal-bg').off('.joyride'); + $('.joyride-tip-guide, .joyride-modal-bg').remove(); + clearTimeout(this.settings.automate); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs['magellan-expedition'] = { + name : 'magellan-expedition', + + version : '5.5.3', + + settings : { + active_class : 'active', + threshold : 0, // pixels from the top of the expedition for it to become fixes + destination_threshold : 20, // pixels from the top of destination for it to be considered active + throttle_delay : 30, // calculation throttling to increase framerate + fixed_top : 0, // top distance in pixels assigend to the fixed element on scroll + offset_by_height : true, // whether to offset the destination by the expedition height. Usually you want this to be true, unless your expedition is on the side. + duration : 700, // animation duration time + easing : 'swing' // animation easing + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + settings = self.settings; + + // initialize expedition offset + self.set_expedition_position(); + + S(self.scope) + .off('.magellan') + .on('click.fndtn.magellan', '[' + self.add_namespace('data-magellan-arrival') + '] a[href*=#]', function (e) { + var sameHost = ((this.hostname === location.hostname) || !this.hostname), + samePath = self.filterPathname(location.pathname) === self.filterPathname(this.pathname), + testHash = this.hash.replace(/(:|\.|\/)/g, '\\$1'), + anchor = this; + + if (sameHost && samePath && testHash) { + e.preventDefault(); + var expedition = $(this).closest('[' + self.attr_name() + ']'), + settings = expedition.data('magellan-expedition-init'), + hash = this.hash.split('#').join(''), + target = $('a[name="' + hash + '"]'); + + if (target.length === 0) { + target = $('#' + hash); + + } + + // Account for expedition height if fixed position + var scroll_top = target.offset().top - settings.destination_threshold + 1; + if (settings.offset_by_height) { + scroll_top = scroll_top - expedition.outerHeight(); + } + $('html, body').stop().animate({ + 'scrollTop' : scroll_top + }, settings.duration, settings.easing, function () { + if (history.pushState) { + history.pushState(null, null, anchor.pathname + anchor.search + '#' + hash); + } else { + location.hash = anchor.pathname + anchor.search + '#' + hash; + } + }); + } + }) + .on('scroll.fndtn.magellan', self.throttle(this.check_for_arrivals.bind(this), settings.throttle_delay)); + }, + + check_for_arrivals : function () { + var self = this; + self.update_arrivals(); + self.update_expedition_positions(); + }, + + set_expedition_position : function () { + var self = this; + $('[' + this.attr_name() + '=fixed]', self.scope).each(function (idx, el) { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('styles'), // save styles + top_offset, fixed_top; + + expedition.attr('style', ''); + top_offset = expedition.offset().top + settings.threshold; + + //set fixed-top by attribute + fixed_top = parseInt(expedition.data('magellan-fixed-top')); + if (!isNaN(fixed_top)) { + self.settings.fixed_top = fixed_top; + } + + expedition.data(self.data_attr('magellan-top-offset'), top_offset); + expedition.attr('style', styles); + }); + }, + + update_expedition_positions : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + '=fixed]', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('style'), // save styles + top_offset = expedition.data('magellan-top-offset'); + + //scroll to the top distance + if (window_top_offset + self.settings.fixed_top >= top_offset) { + // Placeholder allows height calculations to be consistent even when + // appearing to switch between fixed/non-fixed placement + var placeholder = expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']'); + if (placeholder.length === 0) { + placeholder = expedition.clone(); + placeholder.removeAttr(self.attr_name()); + placeholder.attr(self.add_namespace('data-magellan-expedition-clone'), ''); + expedition.before(placeholder); + } + expedition.css({position :'fixed', top : settings.fixed_top}).addClass('fixed'); + } else { + expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']').remove(); + expedition.attr('style', styles).css('position', '').css('top', '').removeClass('fixed'); + } + }); + }, + + update_arrivals : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + ']', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data(self.attr_name(true) + '-init'), + offsets = self.offsets(expedition, window_top_offset), + arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'), + active_item = false; + offsets.each(function (idx, item) { + if (item.viewport_offset >= item.top_offset) { + var arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'); + arrivals.not(item.arrival).removeClass(settings.active_class); + item.arrival.addClass(settings.active_class); + active_item = true; + return true; + } + }); + + if (!active_item) { + arrivals.removeClass(settings.active_class); + } + }); + }, + + offsets : function (expedition, window_offset) { + var self = this, + settings = expedition.data(self.attr_name(true) + '-init'), + viewport_offset = window_offset; + + return expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']').map(function (idx, el) { + var name = $(this).data(self.data_attr('magellan-arrival')), + dest = $('[' + self.add_namespace('data-magellan-destination') + '=' + name + ']'); + if (dest.length > 0) { + var top_offset = dest.offset().top - settings.destination_threshold; + if (settings.offset_by_height) { + top_offset = top_offset - expedition.outerHeight(); + } + top_offset = Math.floor(top_offset); + return { + destination : dest, + arrival : $(this), + top_offset : top_offset, + viewport_offset : viewport_offset + } + } + }).sort(function (a, b) { + if (a.top_offset < b.top_offset) { + return -1; + } + if (a.top_offset > b.top_offset) { + return 1; + } + return 0; + }); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () { + this.S(this.scope).off('.magellan'); + this.S(window).off('.magellan'); + }, + + filterPathname : function (pathname) { + pathname = pathname || ''; + return pathname + .replace(/^\//,'') + .replace(/(?:index|default).[a-zA-Z]{3,4}$/,'') + .replace(/\/$/,''); + }, + + reflow : function () { + var self = this; + // remove placeholder expeditions used for height calculation purposes + $('[' + self.add_namespace('data-magellan-expedition-clone') + ']', self.scope).remove(); + } + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.offcanvas = { + name : 'offcanvas', + + version : '5.5.3', + + settings : { + open_method : 'move', + close_on_click : false + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + move_class = '', + right_postfix = '', + left_postfix = '', + top_postfix = '', + bottom_postfix = ''; + + if (this.settings.open_method === 'move') { + move_class = 'move-'; + right_postfix = 'right'; + left_postfix = 'left'; + top_postfix = 'top'; + bottom_postfix = 'bottom'; + } else if (this.settings.open_method === 'overlap_single') { + move_class = 'offcanvas-overlap-'; + right_postfix = 'right'; + left_postfix = 'left'; + top_postfix = 'top'; + bottom_postfix = 'bottom'; + } else if (this.settings.open_method === 'overlap') { + move_class = 'offcanvas-overlap'; + } + + S(this.scope).off('.offcanvas') + .on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + right_postfix); + if (self.settings.open_method !== 'overlap') { + S('.left-submenu').removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + right_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + right_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.left-submenu').toggleClass(move_class + right_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of left canvas + .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + left_postfix); + if (self.settings.open_method !== 'overlap') { + S('.right-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + left_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + left_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.right-submenu').toggleClass(move_class + left_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of right canvas + .on('click.fndtn.offcanvas', '.top-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + bottom_postfix); + if (self.settings.open_method !== 'overlap') { + S('.top-submenu').removeClass(move_class + bottom_postfix); + } + $('.top-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.top-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + bottom_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + bottom_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.top-submenu').toggleClass(move_class + bottom_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + bottom_postfix); + } + $('.top-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of top canvas + .on('click.fndtn.offcanvas', '.bottom-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + top_postfix); + if (self.settings.open_method !== 'overlap') { + S('.bottom-submenu').removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.bottom-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + top_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + top_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.bottom-submenu').toggleClass(move_class + top_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of bottom + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + S('.right-submenu').removeClass(move_class + left_postfix); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + S('.left-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + $('.left-off-canvas-toggle').attr('aria-expanded', 'false'); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + $('.right-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + top_postfix); + S('.bottom-submenu').removeClass(move_class + top_postfix); + if (bottom_postfix) { + self.click_remove_class(e, move_class + bottom_postfix); + S('.top-submenu').removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + top_postfix); + $('.top-off-canvas-toggle').attr('aria-expanded', 'false'); + if (bottom_postfix) { + self.click_remove_class(e, move_class + bottom_postfix); + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }); + }, + + toggle : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + if ($off_canvas.is('.' + class_name)) { + this.hide(class_name, $off_canvas); + } else { + this.show(class_name, $off_canvas); + } + }, + + show : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('open.fndtn.offcanvas'); + $off_canvas.addClass(class_name); + }, + + hide : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('close.fndtn.offcanvas'); + $off_canvas.removeClass(class_name); + }, + + click_toggle_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.toggle(class_name, $off_canvas); + }, + + click_remove_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.hide(class_name, $off_canvas); + }, + + get_settings : function (e) { + var offcanvas = this.S(e.target).closest('[' + this.attr_name() + ']'); + return offcanvas.data(this.attr_name(true) + '-init') || this.settings; + }, + + get_wrapper : function (e) { + var $off_canvas = this.S(e ? e.target : this.scope).closest('.off-canvas-wrap'); + + if ($off_canvas.length === 0) { + $off_canvas = this.S('.off-canvas-wrap'); + } + return $off_canvas; + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + var noop = function () {}; + + var Orbit = function (el, settings) { + // Don't reinitialize plugin + if (el.hasClass(settings.slides_container_class)) { + return this; + } + + var self = this, + container, + slides_container = el, + number_container, + bullets_container, + timer_container, + idx = 0, + animate, + timer, + locked = false, + adjust_height_after = false; + + self.slides = function () { + return slides_container.children(settings.slide_selector); + }; + + self.slides().first().addClass(settings.active_slide_class); + + self.update_slide_number = function (index) { + if (settings.slide_number) { + number_container.find('span:first').text(parseInt(index) + 1); + number_container.find('span:last').text(self.slides().length); + } + if (settings.bullets) { + bullets_container.children().removeClass(settings.bullets_active_class); + $(bullets_container.children().get(index)).addClass(settings.bullets_active_class); + } + }; + + self.update_active_link = function (index) { + var link = $('[data-orbit-link="' + self.slides().eq(index).attr('data-orbit-slide') + '"]'); + link.siblings().removeClass(settings.bullets_active_class); + link.addClass(settings.bullets_active_class); + }; + + self.build_markup = function () { + slides_container.wrap('
    '); + container = slides_container.parent(); + slides_container.addClass(settings.slides_container_class); + + if (settings.stack_on_small) { + container.addClass(settings.stack_on_small_class); + } + + if (settings.navigation_arrows) { + container.append($('').addClass(settings.prev_class)); + container.append($('').addClass(settings.next_class)); + } + + if (settings.timer) { + timer_container = $('
    ').addClass(settings.timer_container_class); + timer_container.append(''); + timer_container.append($('
    ').addClass(settings.timer_progress_class)); + timer_container.addClass(settings.timer_paused_class); + container.append(timer_container); + } + + if (settings.slide_number) { + number_container = $('
    ').addClass(settings.slide_number_class); + number_container.append(' ' + settings.slide_number_text + ' '); + container.append(number_container); + } + + if (settings.bullets) { + bullets_container = $('
      ').addClass(settings.bullets_container_class); + container.append(bullets_container); + bullets_container.wrap('
      '); + self.slides().each(function (idx, el) { + var bullet = $('
    1. ').attr('data-orbit-slide', idx).on('click', self.link_bullet);; + bullets_container.append(bullet); + }); + } + + }; + + self._goto = function (next_idx, start_timer) { + // if (locked) {return false;} + if (next_idx === idx) {return false;} + if (typeof timer === 'object') {timer.restart();} + var slides = self.slides(); + + var dir = 'next'; + locked = true; + if (next_idx < idx) {dir = 'prev';} + if (next_idx >= slides.length) { + if (!settings.circular) { + return false; + } + next_idx = 0; + } else if (next_idx < 0) { + if (!settings.circular) { + return false; + } + next_idx = slides.length - 1; + } + + var current = $(slides.get(idx)); + var next = $(slides.get(next_idx)); + + current.css('zIndex', 2); + current.removeClass(settings.active_slide_class); + next.css('zIndex', 4).addClass(settings.active_slide_class); + + slides_container.trigger('before-slide-change.fndtn.orbit'); + settings.before_slide_change(); + self.update_active_link(next_idx); + + var callback = function () { + var unlock = function () { + idx = next_idx; + locked = false; + if (start_timer === true) {timer = self.create_timer(); timer.start();} + self.update_slide_number(idx); + slides_container.trigger('after-slide-change.fndtn.orbit', [{slide_number : idx, total_slides : slides.length}]); + settings.after_slide_change(idx, slides.length); + }; + if (slides_container.outerHeight() != next.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 250, 'linear', unlock); + } else { + unlock(); + } + }; + + if (slides.length === 1) {callback(); return false;} + + var start_animation = function () { + if (dir === 'next') {animate.next(current, next, callback);} + if (dir === 'prev') {animate.prev(current, next, callback);} + }; + + if (next.outerHeight() > slides_container.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 250, 'linear', start_animation); + } else { + start_animation(); + } + }; + + self.next = function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + self._goto(idx + 1); + }; + + self.prev = function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + self._goto(idx - 1); + }; + + self.link_custom = function (e) { + e.preventDefault(); + var link = $(this).attr('data-orbit-link'); + if ((typeof link === 'string') && (link = $.trim(link)) != '') { + var slide = container.find('[data-orbit-slide=' + link + ']'); + if (slide.index() != -1) {self._goto(slide.index());} + } + }; + + self.link_bullet = function (e) { + var index = $(this).attr('data-orbit-slide'); + if ((typeof index === 'string') && (index = $.trim(index)) != '') { + if (isNaN(parseInt(index))) { + var slide = container.find('[data-orbit-slide=' + index + ']'); + if (slide.index() != -1) {self._goto(slide.index() + 1);} + } else { + self._goto(parseInt(index)); + } + } + + } + + self.timer_callback = function () { + self._goto(idx + 1, true); + } + + self.compute_dimensions = function () { + var current = $(self.slides().get(idx)); + var h = current.outerHeight(); + if (!settings.variable_height) { + self.slides().each(function(){ + if ($(this).outerHeight() > h) { h = $(this).outerHeight(); } + }); + } + slides_container.height(h); + }; + + self.create_timer = function () { + var t = new Timer( + container.find('.' + settings.timer_container_class), + settings, + self.timer_callback + ); + return t; + }; + + self.stop_timer = function () { + if (typeof timer === 'object') { + timer.stop(); + } + }; + + self.toggle_timer = function () { + var t = container.find('.' + settings.timer_container_class); + if (t.hasClass(settings.timer_paused_class)) { + if (typeof timer === 'undefined') {timer = self.create_timer();} + timer.start(); + } else { + if (typeof timer === 'object') {timer.stop();} + } + }; + + self.init = function () { + self.build_markup(); + if (settings.timer) { + timer = self.create_timer(); + Foundation.utils.image_loaded(this.slides().children('img'), timer.start); + } + animate = new FadeAnimation(settings, slides_container); + if (settings.animation === 'slide') { + animate = new SlideAnimation(settings, slides_container); + } + + container.on('click', '.' + settings.next_class, self.next); + container.on('click', '.' + settings.prev_class, self.prev); + + if (settings.next_on_click) { + container.on('click', '.' + settings.slides_container_class + ' [data-orbit-slide]', self.link_bullet); + } + + container.on('click', self.toggle_timer); + if (settings.swipe) { + container.on('touchstart.fndtn.orbit', function (e) { + if (!e.touches) {e = e.originalEvent;} + var data = { + start_page_x : e.touches[0].pageX, + start_page_y : e.touches[0].pageY, + start_time : (new Date()).getTime(), + delta_x : 0, + is_scrolling : undefined + }; + container.data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.orbit', function (e) { + if (!e.touches) { + e = e.originalEvent; + } + // Ignore pinch/zoom events + if (e.touches.length > 1 || e.scale && e.scale !== 1) { + return; + } + + var data = container.data('swipe-transition'); + if (typeof data === 'undefined') {data = {};} + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if ( typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? (idx + 1) : (idx - 1); + data.active = true; + self._goto(direction); + } + }) + .on('touchend.fndtn.orbit', function (e) { + container.data('swipe-transition', {}); + e.stopPropagation(); + }) + } + container.on('mouseenter.fndtn.orbit', function (e) { + if (settings.timer && settings.pause_on_hover) { + self.stop_timer(); + } + }) + .on('mouseleave.fndtn.orbit', function (e) { + if (settings.timer && settings.resume_on_mouseout) { + timer.start(); + } + }); + + $(document).on('click', '[data-orbit-link]', self.link_custom); + $(window).on('load resize', self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), function () { + container.prev('.' + settings.preloader_class).css('display', 'none'); + self.update_slide_number(0); + self.update_active_link(0); + slides_container.trigger('ready.fndtn.orbit'); + }); + }; + + self.init(); + }; + + var Timer = function (el, settings, callback) { + var self = this, + duration = settings.timer_speed, + progress = el.find('.' + settings.timer_progress_class), + start, + timeout, + left = -1; + + this.update_progress = function (w) { + var new_progress = progress.clone(); + new_progress.attr('style', ''); + new_progress.css('width', w + '%'); + progress.replaceWith(new_progress); + progress = new_progress; + }; + + this.restart = function () { + clearTimeout(timeout); + el.addClass(settings.timer_paused_class); + left = -1; + self.update_progress(0); + }; + + this.start = function () { + if (!el.hasClass(settings.timer_paused_class)) {return true;} + left = (left === -1) ? duration : left; + el.removeClass(settings.timer_paused_class); + start = new Date().getTime(); + progress.animate({'width' : '100%'}, left, 'linear'); + timeout = setTimeout(function () { + self.restart(); + callback(); + }, left); + el.trigger('timer-started.fndtn.orbit') + }; + + this.stop = function () { + if (el.hasClass(settings.timer_paused_class)) {return true;} + clearTimeout(timeout); + el.addClass(settings.timer_paused_class); + var end = new Date().getTime(); + left = left - (end - start); + var w = 100 - ((left / duration) * 100); + self.update_progress(w); + el.trigger('timer-stopped.fndtn.orbit'); + }; + }; + + var SlideAnimation = function (settings, container) { + var duration = settings.animation_speed; + var is_rtl = ($('html[dir=rtl]').length === 1); + var margin = is_rtl ? 'marginRight' : 'marginLeft'; + var animMargin = {}; + animMargin[margin] = '0%'; + + this.next = function (current, next, callback) { + current.animate({marginLeft : '-100%'}, duration); + next.animate(animMargin, duration, function () { + current.css(margin, '100%'); + callback(); + }); + }; + + this.prev = function (current, prev, callback) { + current.animate({marginLeft : '100%'}, duration); + prev.css(margin, '-100%'); + prev.animate(animMargin, duration, function () { + current.css(margin, '100%'); + callback(); + }); + }; + }; + + var FadeAnimation = function (settings, container) { + var duration = settings.animation_speed; + var is_rtl = ($('html[dir=rtl]').length === 1); + var margin = is_rtl ? 'marginRight' : 'marginLeft'; + + this.next = function (current, next, callback) { + next.css({'margin' : '0%', 'opacity' : '0.01'}); + next.animate({'opacity' :'1'}, duration, 'linear', function () { + current.css('margin', '100%'); + callback(); + }); + }; + + this.prev = function (current, prev, callback) { + prev.css({'margin' : '0%', 'opacity' : '0.01'}); + prev.animate({'opacity' : '1'}, duration, 'linear', function () { + current.css('margin', '100%'); + callback(); + }); + }; + }; + + Foundation.libs = Foundation.libs || {}; + + Foundation.libs.orbit = { + name : 'orbit', + + version : '5.5.3', + + settings : { + animation : 'slide', + timer_speed : 10000, + pause_on_hover : true, + resume_on_mouseout : false, + next_on_click : true, + animation_speed : 500, + stack_on_small : false, + navigation_arrows : true, + slide_number : true, + slide_number_text : 'of', + container_class : 'orbit-container', + stack_on_small_class : 'orbit-stack-on-small', + next_class : 'orbit-next', + prev_class : 'orbit-prev', + timer_container_class : 'orbit-timer', + timer_paused_class : 'paused', + timer_progress_class : 'orbit-progress', + slides_container_class : 'orbit-slides-container', + preloader_class : 'preloader', + slide_selector : '*', + bullets_container_class : 'orbit-bullets', + bullets_active_class : 'active', + slide_number_class : 'orbit-slide-number', + caption_class : 'orbit-caption', + active_slide_class : 'active', + orbit_transition_class : 'orbit-transitioning', + bullets : true, + circular : true, + timer : true, + variable_height : false, + swipe : true, + before_slide_change : noop, + after_slide_change : noop + }, + + init : function (scope, method, options) { + var self = this; + this.bindings(method, options); + }, + + events : function (instance) { + var orbit_instance = new Orbit(this.S(instance), this.S(instance).data('orbit-init')); + this.S(instance).data(this.name + '-instance', orbit_instance); + }, + + reflow : function () { + var self = this; + + if (self.S(self.scope).is('[data-orbit]')) { + var $el = self.S(self.scope); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + } else { + self.S('[data-orbit]', self.scope).each(function (idx, el) { + var $el = self.S(el); + var opts = self.data_options($el); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + }); + } + } + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + var openModals = []; + + Foundation.libs.reveal = { + name : 'reveal', + + version : '5.5.3', + + locked : false, + + settings : { + animation : 'fadeAndPop', + animation_speed : 250, + close_on_background_click : true, + close_on_esc : true, + dismiss_modal_class : 'close-reveal-modal', + multiple_opened : false, + bg_class : 'reveal-modal-bg', + root_element : 'body', + open : function(){}, + opened : function(){}, + close : function(){}, + closed : function(){}, + on_ajax_error: $.noop, + bg : $('.reveal-modal-bg'), + css : { + open : { + 'opacity' : 0, + 'visibility' : 'visible', + 'display' : 'block' + }, + close : { + 'opacity' : 1, + 'visibility' : 'hidden', + 'display' : 'none' + } + } + }, + + init : function (scope, method, options) { + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.reveal') + .on('click.fndtn.reveal', '[' + this.add_namespace('data-reveal-id') + ']:not([disabled])', function (e) { + e.preventDefault(); + + if (!self.locked) { + var element = S(this), + ajax = element.data(self.data_attr('reveal-ajax')), + replaceContentSel = element.data(self.data_attr('reveal-replace-content')); + + self.locked = true; + + if (typeof ajax === 'undefined') { + self.open.call(self, element); + } else { + var url = ajax === true ? element.attr('href') : ajax; + self.open.call(self, element, {url : url}, { replaceContentSel : replaceContentSel }); + } + } + }); + + S(document) + .on('click.fndtn.reveal', this.close_targets(), function (e) { + e.preventDefault(); + if (!self.locked) { + var settings = S('[' + self.attr_name() + '].open').data(self.attr_name(true) + '-init') || self.settings, + bg_clicked = S(e.target)[0] === S('.' + settings.bg_class)[0]; + + if (bg_clicked) { + if (settings.close_on_background_click) { + e.stopPropagation(); + } else { + return; + } + } + + self.locked = true; + self.close.call(self, bg_clicked ? S('[' + self.attr_name() + '].open:not(.toback)') : S(this).closest('[' + self.attr_name() + ']')); + } + }); + + if (S('[' + self.attr_name() + ']', this.scope).length > 0) { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', this.settings.open) + .on('opened.fndtn.reveal', this.settings.opened) + .on('opened.fndtn.reveal', this.open_video) + .on('close.fndtn.reveal', this.settings.close) + .on('closed.fndtn.reveal', this.settings.closed) + .on('closed.fndtn.reveal', this.close_video); + } else { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.open) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.opened) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.open_video) + .on('close.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.close) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.closed) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.close_video); + } + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_on : function (scope) { + var self = this; + + // PATCH #1: fixing multiple keyup event trigger from single key press + self.S('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) { + var open_modal = self.S('[' + self.attr_name() + '].open'), + settings = open_modal.data(self.attr_name(true) + '-init') || self.settings ; + // PATCH #2: making sure that the close event can be called only while unlocked, + // so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window. + if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key + self.close.call(self, open_modal); + } + }); + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_off : function (scope) { + this.S('body').off('keyup.fndtn.reveal'); + return true; + }, + + open : function (target, ajax_settings) { + var self = this, + modal; + + if (target) { + if (typeof target.selector !== 'undefined') { + // Find the named node; only use the first one found, since the rest of the code assumes there's only one node + modal = self.S('#' + target.data(self.data_attr('reveal-id'))).first(); + } else { + modal = self.S(this.scope); + + ajax_settings = target; + } + } else { + modal = self.S(this.scope); + } + + var settings = modal.data(self.attr_name(true) + '-init'); + settings = settings || this.settings; + + + if (modal.hasClass('open') && target !== undefined && target.attr('data-reveal-id') == modal.attr('id')) { + return self.close(modal); + } + + if (!modal.hasClass('open')) { + var open_modal = self.S('[' + self.attr_name() + '].open'); + + if (typeof modal.data('css-top') === 'undefined') { + modal.data('css-top', parseInt(modal.css('top'), 10)) + .data('offset', this.cache_offset(modal)); + } + + modal.attr('tabindex','0').attr('aria-hidden','false'); + + this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open + + // Prevent namespace event from triggering twice + modal.on('open.fndtn.reveal', function(e) { + if (e.namespace !== 'fndtn.reveal') return; + }); + + modal.on('open.fndtn.reveal').trigger('open.fndtn.reveal'); + + if (open_modal.length < 1) { + this.toggle_bg(modal, true); + } + + if (typeof ajax_settings === 'string') { + ajax_settings = { + url : ajax_settings + }; + } + + var openModal = function() { + if(open_modal.length > 0) { + if(settings.multiple_opened) { + self.to_back(open_modal); + } else { + self.hide(open_modal, settings.css.close); + } + } + + // bl: add the open_modal that isn't already in the background to the openModals array + if(settings.multiple_opened) { + openModals.push(modal); + } + + self.show(modal, settings.css.open); + }; + + if (typeof ajax_settings === 'undefined' || !ajax_settings.url) { + openModal(); + } else { + var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null; + $.extend(ajax_settings, { + success : function (data, textStatus, jqXHR) { + if ( $.isFunction(old_success) ) { + var result = old_success(data, textStatus, jqXHR); + if (typeof result == 'string') { + data = result; + } + } + + if (typeof options !== 'undefined' && typeof options.replaceContentSel !== 'undefined') { + modal.find(options.replaceContentSel).html(data); + } else { + modal.html(data); + } + + self.S(modal).foundation('section', 'reflow'); + self.S(modal).children().foundation(); + + openModal(); + } + }); + + // check for if user initalized with error callback + if (settings.on_ajax_error !== $.noop) { + $.extend(ajax_settings, { + error : settings.on_ajax_error + }); + } + + $.ajax(ajax_settings); + } + } + self.S(window).trigger('resize'); + }, + + close : function (modal) { + var modal = modal && modal.length ? modal : this.S(this.scope), + open_modals = this.S('[' + this.attr_name() + '].open'), + settings = modal.data(this.attr_name(true) + '-init') || this.settings, + self = this; + + if (open_modals.length > 0) { + + modal.removeAttr('tabindex','0').attr('aria-hidden','true'); + + this.locked = true; + this.key_up_off(modal); // PATCH #3: turning on key up capture only when a reveal window is open + + modal.trigger('close.fndtn.reveal'); + + if ((settings.multiple_opened && open_modals.length === 1) || !settings.multiple_opened || modal.length > 1) { + self.toggle_bg(modal, false); + self.to_front(modal); + } + + if (settings.multiple_opened) { + var isCurrent = modal.is(':not(.toback)'); + self.hide(modal, settings.css.close, settings); + if(isCurrent) { + // remove the last modal since it is now closed + openModals.pop(); + } else { + // if this isn't the current modal, then find it in the array and remove it + openModals = $.grep(openModals, function(elt) { + var isThis = elt[0]===modal[0]; + if(isThis) { + // since it's not currently in the front, put it in the front now that it is hidden + // so that if it's re-opened, it won't be .toback + self.to_front(modal); + } + return !isThis; + }); + } + // finally, show the next modal in the stack, if there is one + if(openModals.length>0) { + self.to_front(openModals[openModals.length - 1]); + } + } else { + self.hide(open_modals, settings.css.close, settings); + } + } + }, + + close_targets : function () { + var base = '.' + this.settings.dismiss_modal_class; + + if (this.settings.close_on_background_click) { + return base + ', .' + this.settings.bg_class; + } + + return base; + }, + + toggle_bg : function (modal, state) { + if (this.S('.' + this.settings.bg_class).length === 0) { + this.settings.bg = $('
      ', {'class': this.settings.bg_class}) + .appendTo('body').hide(); + } + + var visible = this.settings.bg.filter(':visible').length > 0; + if ( state != visible ) { + if ( state == undefined ? visible : !state ) { + this.hide(this.settings.bg); + } else { + this.show(this.settings.bg); + } + } + }, + + show : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init') || this.settings, + root_element = settings.root_element, + context = this; + + if (el.parent(root_element).length === 0) { + var placeholder = el.wrap('
      ').parent(); + + el.on('closed.fndtn.reveal.wrapped', function () { + el.detach().appendTo(placeholder); + el.unwrap().unbind('closed.fndtn.reveal.wrapped'); + }); + + el.detach().appendTo(root_element); + } + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + css.top = $(window).scrollTop() - el.data('offset') + 'px'; + var end_css = { + top: $(window).scrollTop() + el.data('css-top') + 'px', + opacity: 1 + }; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.trigger('opened.fndtn.reveal'); + }) + .addClass('open'); + }, settings.animation_speed / 2); + } + + css.top = $(window).scrollTop() + el.data('css-top') + 'px'; + + if (animData.fade) { + var end_css = {opacity: 1}; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.trigger('opened.fndtn.reveal'); + }) + .addClass('open'); + }, settings.animation_speed / 2); + } + + return el.css(css).show().css({opacity : 1}).addClass('open').trigger('opened.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeIn(settings.animation_speed / 2); + } + + this.locked = false; + + return el.show(); + }, + + to_back : function(el) { + el.addClass('toback'); + }, + + to_front : function(el) { + el.removeClass('toback'); + }, + + hide : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init'), + context = this; + settings = settings || this.settings; + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + var end_css = { + top: - $(window).scrollTop() - el.data('offset') + 'px', + opacity: 0 + }; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.css(css).trigger('closed.fndtn.reveal'); + }) + .removeClass('open'); + }, settings.animation_speed / 2); + } + + if (animData.fade) { + var end_css = {opacity : 0}; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.css(css).trigger('closed.fndtn.reveal'); + }) + .removeClass('open'); + }, settings.animation_speed / 2); + } + + return el.hide().css(css).removeClass('open').trigger('closed.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeOut(settings.animation_speed / 2); + } + + return el.hide(); + }, + + close_video : function (e) { + var video = $('.flex-video', e.target), + iframe = $('iframe', video); + + if (iframe.length > 0) { + iframe.attr('data-src', iframe[0].src); + iframe.attr('src', iframe.attr('src')); + video.hide(); + } + }, + + open_video : function (e) { + var video = $('.flex-video', e.target), + iframe = video.find('iframe'); + + if (iframe.length > 0) { + var data_src = iframe.attr('data-src'); + if (typeof data_src === 'string') { + iframe[0].src = iframe.attr('data-src'); + } else { + var src = iframe[0].src; + iframe[0].src = undefined; + iframe[0].src = src; + } + video.show(); + } + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + cache_offset : function (modal) { + var offset = modal.show().height() + parseInt(modal.css('top'), 10) + modal.scrollY; + + modal.hide(); + + return offset; + }, + + off : function () { + $(this.scope).off('.fndtn.reveal'); + }, + + reflow : function () {} + }; + + /* + * getAnimationData('popAndFade') // {animate: true, pop: true, fade: true} + * getAnimationData('fade') // {animate: true, pop: false, fade: true} + * getAnimationData('pop') // {animate: true, pop: true, fade: false} + * getAnimationData('foo') // {animate: false, pop: false, fade: false} + * getAnimationData(null) // {animate: false, pop: false, fade: false} + */ + function getAnimationData(str) { + var fade = /fade/i.test(str); + var pop = /pop/i.test(str); + return { + animate : fade || pop, + pop : pop, + fade : fade + }; + } +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.slider = { + name : 'slider', + + version : '5.5.3', + + settings : { + start : 0, + end : 100, + step : 1, + precision : 2, + initial : null, + display_selector : '', + vertical : false, + trigger_input_change : false, + on_change : function () {} + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + var self = this; + $(this.scope) + .off('.slider') + .on('mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider', + '[' + self.attr_name() + ']:not(.disabled, [disabled]) .range-slider-handle', function (e) { + if (!self.cache.active) { + e.preventDefault(); + self.set_active_slider($(e.target)); + } + }) + .on('mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider', function (e) { + if (!!self.cache.active) { + e.preventDefault(); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + }) + .on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function (e) { + if(!self.cache.active) { + // if the user has just clicked into the slider without starting to drag the handle + var slider = $(e.target).attr('role') === 'slider' ? $(e.target) : $(e.target).closest('.range-slider').find("[role='slider']"); + + if (slider.length && (!slider.parent().hasClass('disabled') && !slider.parent().attr('disabled'))) { + self.set_active_slider(slider); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + } + self.remove_active_slider(); + }) + .on('change.fndtn.slider', function (e) { + self.settings.on_change(); + }); + + self.S(window) + .on('resize.fndtn.slider', self.throttle(function (e) { + self.reflow(); + }, 300)); + + // update slider value as users change input value + this.S('[' + this.attr_name() + ']').each(function () { + var slider = $(this), + handle = slider.children('.range-slider-handle')[0], + settings = self.initialize_settings(handle); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function(){ + if ($(this).attr('value')) { + $(this).off('change').on('change', function () { + slider.foundation("slider", "set_value", $(this).val()); + }); + } + }); + } + }); + }, + + get_cursor_position : function (e, xy) { + var pageXY = 'page' + xy.toUpperCase(), + clientXY = 'client' + xy.toUpperCase(), + position; + + if (typeof e[pageXY] !== 'undefined') { + position = e[pageXY]; + } else if (typeof e.originalEvent[clientXY] !== 'undefined') { + position = e.originalEvent[clientXY]; + } else if (e.originalEvent.touches && e.originalEvent.touches[0] && typeof e.originalEvent.touches[0][clientXY] !== 'undefined') { + position = e.originalEvent.touches[0][clientXY]; + } else if (e.currentPoint && typeof e.currentPoint[xy] !== 'undefined') { + position = e.currentPoint[xy]; + } + + return position; + }, + + set_active_slider : function ($handle) { + this.cache.active = $handle; + }, + + remove_active_slider : function () { + this.cache.active = null; + }, + + calculate_position : function ($handle, cursor_x) { + var self = this, + settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + handle_o = $.data($handle[0], 'handle_o'), + bar_l = $.data($handle[0], 'bar_l'), + bar_o = $.data($handle[0], 'bar_o'); + + requestAnimationFrame(function () { + var pct; + + if (Foundation.rtl && !settings.vertical) { + pct = self.limit_to(((bar_o + bar_l - cursor_x) / bar_l), 0, 1); + } else { + pct = self.limit_to(((cursor_x - bar_o) / bar_l), 0, 1); + } + + pct = settings.vertical ? 1 - pct : pct; + + var norm = self.normalized_value(pct, settings.start, settings.end, settings.step, settings.precision); + + self.set_ui($handle, norm); + }); + }, + + set_ui : function ($handle, value) { + var settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + bar_l = $.data($handle[0], 'bar_l'), + norm_pct = this.normalized_percentage(value, settings.start, settings.end), + handle_offset = norm_pct * (bar_l - handle_l) - 1, + progress_bar_length = norm_pct * 100, + $handle_parent = $handle.parent(), + $hidden_inputs = $handle.parent().children('input[type=hidden]'); + + if (Foundation.rtl && !settings.vertical) { + handle_offset = -handle_offset; + } + + handle_offset = settings.vertical ? -handle_offset + bar_l - handle_l + 1 : handle_offset; + this.set_translate($handle, handle_offset, settings.vertical); + + if (settings.vertical) { + $handle.siblings('.range-slider-active-segment').css('height', progress_bar_length + '%'); + } else { + $handle.siblings('.range-slider-active-segment').css('width', progress_bar_length + '%'); + } + + $handle_parent.attr(this.attr_name(), value).trigger('change.fndtn.slider'); + + $hidden_inputs.val(value); + if (settings.trigger_input_change) { + $hidden_inputs.trigger('change.fndtn.slider'); + } + + if (!$handle[0].hasAttribute('aria-valuemin')) { + $handle.attr({ + 'aria-valuemin' : settings.start, + 'aria-valuemax' : settings.end + }); + } + $handle.attr('aria-valuenow', value); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function () { + if (this.hasAttribute('value')) { + $(this).val(value); + } else { + $(this).text(value); + } + }); + } + + }, + + normalized_percentage : function (val, start, end) { + return Math.min(1, (val - start) / (end - start)); + }, + + normalized_value : function (val, start, end, step, precision) { + var range = end - start, + point = val * range, + mod = (point - (point % step)) / step, + rem = point % step, + round = ( rem >= step * 0.5 ? step : 0); + return ((mod * step + round) + start).toFixed(precision); + }, + + set_translate : function (ele, offset, vertical) { + if (vertical) { + $(ele) + .css('-webkit-transform', 'translateY(' + offset + 'px)') + .css('-moz-transform', 'translateY(' + offset + 'px)') + .css('-ms-transform', 'translateY(' + offset + 'px)') + .css('-o-transform', 'translateY(' + offset + 'px)') + .css('transform', 'translateY(' + offset + 'px)'); + } else { + $(ele) + .css('-webkit-transform', 'translateX(' + offset + 'px)') + .css('-moz-transform', 'translateX(' + offset + 'px)') + .css('-ms-transform', 'translateX(' + offset + 'px)') + .css('-o-transform', 'translateX(' + offset + 'px)') + .css('transform', 'translateX(' + offset + 'px)'); + } + }, + + limit_to : function (val, min, max) { + return Math.min(Math.max(val, min), max); + }, + + initialize_settings : function (handle) { + var settings = $.extend({}, this.settings, this.data_options($(handle).parent())), + decimal_places_match_result; + + if (settings.precision === null) { + decimal_places_match_result = ('' + settings.step).match(/\.([\d]*)/); + settings.precision = decimal_places_match_result && decimal_places_match_result[1] ? decimal_places_match_result[1].length : 0; + } + + if (settings.vertical) { + $.data(handle, 'bar_o', $(handle).parent().offset().top); + $.data(handle, 'bar_l', $(handle).parent().outerHeight()); + $.data(handle, 'handle_o', $(handle).offset().top); + $.data(handle, 'handle_l', $(handle).outerHeight()); + } else { + $.data(handle, 'bar_o', $(handle).parent().offset().left); + $.data(handle, 'bar_l', $(handle).parent().outerWidth()); + $.data(handle, 'handle_o', $(handle).offset().left); + $.data(handle, 'handle_l', $(handle).outerWidth()); + } + + $.data(handle, 'bar', $(handle).parent()); + return $.data(handle, 'settings', settings); + }, + + set_initial_position : function ($ele) { + var settings = $.data($ele.children('.range-slider-handle')[0], 'settings'), + initial = ((typeof settings.initial == 'number' && !isNaN(settings.initial)) ? settings.initial : Math.floor((settings.end - settings.start) * 0.5 / settings.step) * settings.step + settings.start), + $handle = $ele.children('.range-slider-handle'); + this.set_ui($handle, initial); + }, + + set_value : function (value) { + var self = this; + $('[' + self.attr_name() + ']', this.scope).each(function () { + $(this).attr(self.attr_name(), value); + }); + if (!!$(this.scope).attr(self.attr_name())) { + $(this.scope).attr(self.attr_name(), value); + } + self.reflow(); + }, + + reflow : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var handle = $(this).children('.range-slider-handle')[0], + val = $(this).attr(self.attr_name()); + self.initialize_settings(handle); + + if (val) { + self.set_ui($(handle), parseFloat(val)); + } else { + self.set_initial_position($(this)); + } + }); + } + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tab = { + name : 'tab', + + version : '5.5.3', + + settings : { + active_class : 'active', + callback : function () {}, + deep_linking : false, + scroll_to_content : true, + is_hover : false + }, + + default_tab_hashes : [], + + init : function (scope, method, options) { + var self = this, + S = this.S; + + // Store the default active tabs which will be referenced when the + // location hash is absent, as in the case of navigating the tabs and + // returning to the first viewing via the browser Back button. + S('[' + this.attr_name() + '] > .active > a', this.scope).each(function () { + self.default_tab_hashes.push(this.hash); + }); + + this.bindings(method, options); + this.handle_location_hash_change(); + }, + + events : function () { + var self = this, + S = this.S; + + var usual_tab_behavior = function (e, target) { + var settings = S(target).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (!settings.is_hover || Modernizr.touch) { + // if user did not pressed tab key, prevent default action + var keyCode = e.keyCode || e.which; + if (keyCode !== 9) { + e.preventDefault(); + e.stopPropagation(); + } + self.toggle_active_tab(S(target).parent()); + + } + }; + + S(this.scope) + .off('.tab') + // Key event: focus/tab key + .on('keydown.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) { + var keyCode = e.keyCode || e.which; + // if user pressed tab key + if (keyCode === 13 || keyCode === 32) { // enter or space + var el = this; + usual_tab_behavior(e, el); + } + }) + // Click event: tab title + .on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) { + var el = this; + usual_tab_behavior(e, el); + }) + // Hover event: tab title + .on('mouseenter.fndtn.tab', '[' + this.attr_name() + '] > * > a', function (e) { + var settings = S(this).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (settings.is_hover) { + self.toggle_active_tab(S(this).parent()); + } + }); + + // Location hash change event + S(window).on('hashchange.fndtn.tab', function (e) { + e.preventDefault(); + self.handle_location_hash_change(); + }); + }, + + handle_location_hash_change : function () { + + var self = this, + S = this.S; + + S('[' + this.attr_name() + ']', this.scope).each(function () { + var settings = S(this).data(self.attr_name(true) + '-init'); + if (settings.deep_linking) { + // Match the location hash to a label + var hash; + if (settings.scroll_to_content) { + hash = self.scope.location.hash; + } else { + // prefix the hash to prevent anchor scrolling + hash = self.scope.location.hash.replace('fndtn-', ''); + } + if (hash != '') { + // Check whether the location hash references a tab content div or + // another element on the page (inside or outside the tab content div) + var hash_element = S(hash); + if (hash_element.hasClass('content') && hash_element.parent().hasClass('tabs-content')) { + // Tab content div + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + hash + ']').parent()); + } else { + // Not the tab content div. If inside the tab content, find the + // containing tab and toggle it as active. + var hash_tab_container_id = hash_element.closest('.content').attr('id'); + if (hash_tab_container_id != undefined) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=#' + hash_tab_container_id + ']').parent(), hash); + } + } + } else { + // Reference the default tab hashes which were initialized in the init function + for (var ind = 0; ind < self.default_tab_hashes.length; ind++) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + self.default_tab_hashes[ind] + ']').parent()); + } + } + } + }); + }, + + toggle_active_tab : function (tab, location_hash) { + var self = this, + S = self.S, + tabs = tab.closest('[' + this.attr_name() + ']'), + tab_link = tab.find('a'), + anchor = tab.children('a').first(), + target_hash = '#' + anchor.attr('href').split('#')[1], + target = S(target_hash), + siblings = tab.siblings(), + settings = tabs.data(this.attr_name(true) + '-init'), + interpret_keyup_action = function (e) { + // Light modification of Heydon Pickering's Practical ARIA Examples: http://heydonworks.com/practical_aria_examples/js/a11y.js + + // define current, previous and next (possible) tabs + + var $original = $(this); + var $prev = $(this).parents('li').prev().children('[role="tab"]'); + var $next = $(this).parents('li').next().children('[role="tab"]'); + var $target; + + // find the direction (prev or next) + + switch (e.keyCode) { + case 37: + $target = $prev; + break; + case 39: + $target = $next; + break; + default: + $target = false + break; + } + + if ($target.length) { + $original.attr({ + 'tabindex' : '-1', + 'aria-selected' : null + }); + $target.attr({ + 'tabindex' : '0', + 'aria-selected' : true + }).focus(); + } + + // Hide panels + + $('[role="tabpanel"]') + .attr('aria-hidden', 'true'); + + // Show panel which corresponds to target + + $('#' + $(document.activeElement).attr('href').substring(1)) + .attr('aria-hidden', null); + + }, + go_to_hash = function(hash) { + // This function allows correct behaviour of the browser's back button when deep linking is enabled. Without it + // the user would get continually redirected to the default hash. + var default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : 'fndtn-' + self.default_tab_hashes[0].replace('#', ''); + + if (hash !== default_hash || window.location.hash) { + window.location.hash = hash; + } + }; + + // allow usage of data-tab-content attribute instead of href + if (anchor.data('tab-content')) { + target_hash = '#' + anchor.data('tab-content').split('#')[1]; + target = S(target_hash); + } + + if (settings.deep_linking) { + + if (settings.scroll_to_content) { + + // retain current hash to scroll to content + go_to_hash(location_hash || target_hash); + + if (location_hash == undefined || location_hash == target_hash) { + tab.parent()[0].scrollIntoView(); + } else { + S(target_hash)[0].scrollIntoView(); + } + } else { + // prefix the hashes so that the browser doesn't scroll down + if (location_hash != undefined) { + go_to_hash('fndtn-' + location_hash.replace('#', '')); + } else { + go_to_hash('fndtn-' + target_hash.replace('#', '')); + } + } + } + + // WARNING: The activation and deactivation of the tab content must + // occur after the deep linking in order to properly refresh the browser + // window (notably in Chrome). + // Clean up multiple attr instances to done once + tab.addClass(settings.active_class).triggerHandler('opened'); + tab_link.attr({'aria-selected' : 'true', tabindex : 0}); + siblings.removeClass(settings.active_class) + siblings.find('a').attr({'aria-selected' : 'false'/*, tabindex : -1*/}); + target.siblings().removeClass(settings.active_class).attr({'aria-hidden' : 'true'/*, tabindex : -1*/}); + target.addClass(settings.active_class).attr('aria-hidden', 'false').removeAttr('tabindex'); + settings.callback(tab); + target.triggerHandler('toggled', [target]); + tabs.triggerHandler('toggled', [tab]); + + tab_link.off('keydown').on('keydown', interpret_keyup_action ); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tooltip = { + name : 'tooltip', + + version : '5.5.3', + + settings : { + additional_inheritable_classes : [], + tooltip_class : '.tooltip', + append_to : 'body', + touch_close_text : 'Tap To Close', + disable_for_touch : false, + hover_delay : 200, + fade_in_duration : 150, + fade_out_duration : 150, + show_on : 'all', + tip_template : function (selector, content) { + return '' + content + ''; + } + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'random_str'); + this.bindings(method, options); + }, + + should_show : function (target, tip) { + var settings = $.extend({}, this.settings, this.data_options(target)); + + if (settings.show_on === 'all') { + return true; + } else if (this.small() && settings.show_on === 'small') { + return true; + } else if (this.medium() && settings.show_on === 'medium') { + return true; + } else if (this.large() && settings.show_on === 'large') { + return true; + } + return false; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + events : function (instance) { + var self = this, + S = self.S; + + self.create(this.S(instance)); + + function _startShow(elt, $this, immediate) { + if (elt.timer) { + return; + } + + if (immediate) { + elt.timer = null; + self.showTip($this); + } else { + elt.timer = setTimeout(function () { + elt.timer = null; + self.showTip($this); + }.bind(elt), self.settings.hover_delay); + } + } + + function _startHide(elt, $this) { + if (elt.timer) { + clearTimeout(elt.timer); + elt.timer = null; + } + + self.hide($this); + } + + $(this.scope) + .off('.tooltip') + .on('mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', + '[' + this.attr_name() + ']', function (e) { + var $this = S(this), + settings = $.extend({}, self.settings, self.data_options($this)), + is_touch = false; + + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type) && S(e.target).is('a')) { + return false; + } + + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($this.hasClass('open')) { + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + } + self.hide($this); + } else { + if (settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + return; + } else if (!settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + S(settings.tooltip_class + '.open').hide(); + is_touch = true; + // close other open tooltips on touch + if ($('.open[' + self.attr_name() + ']').length > 0) { + var prevOpen = S($('.open[' + self.attr_name() + ']')[0]); + self.hide(prevOpen); + } + } + + if (/enter|over/i.test(e.type)) { + _startShow(this, $this); + + } else if (e.type === 'mouseout' || e.type === 'mouseleave') { + _startHide(this, $this); + } else { + _startShow(this, $this, true); + } + } + }) + .on('mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', '[' + this.attr_name() + '].open', function (e) { + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($(this).data('tooltip-open-event-type') == 'touch' && e.type == 'mouseleave') { + return; + } else if ($(this).data('tooltip-open-event-type') == 'mouse' && /MSPointerDown|touchstart/i.test(e.type)) { + self.convert_to_touch($(this)); + } else { + _startHide(this, $(this)); + } + }) + .on('DOMNodeRemoved DOMAttrModified', '[' + this.attr_name() + ']:not(a)', function (e) { + _startHide(this, S(this)); + }); + }, + + ie_touch : function (e) { + // How do I distinguish between IE11 and Windows Phone 8????? + return false; + }, + + showTip : function ($target) { + var $tip = this.getTip($target); + if (this.should_show($target, $tip)) { + return this.show($target); + } + return; + }, + + getTip : function ($target) { + var selector = this.selector($target), + settings = $.extend({}, this.settings, this.data_options($target)), + tip = null; + + if (selector) { + tip = this.S('span[data-selector="' + selector + '"]' + settings.tooltip_class); + } + + return (typeof tip === 'object') ? tip : false; + }, + + selector : function ($target) { + var dataSelector = $target.attr(this.attr_name()) || $target.attr('data-selector'); + + if (typeof dataSelector != 'string') { + dataSelector = this.random_str(6); + $target + .attr('data-selector', dataSelector) + .attr('aria-describedby', dataSelector); + } + + return dataSelector; + }, + + create : function ($target) { + var self = this, + settings = $.extend({}, this.settings, this.data_options($target)), + tip_template = this.settings.tip_template; + + if (typeof settings.tip_template === 'string' && window.hasOwnProperty(settings.tip_template)) { + tip_template = window[settings.tip_template]; + } + + var $tip = $(tip_template(this.selector($target), $('
      ').html($target.attr('title')).html())), + classes = this.inheritable_classes($target); + + $tip.addClass(classes).appendTo(settings.append_to); + + if (Modernizr.touch) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', function (e) { + self.hide($target); + }); + } + + $target.removeAttr('title').attr('title', ''); + }, + + reposition : function (target, tip, classes) { + var width, nub, nubHeight, nubWidth, objPos; + + tip.css('visibility', 'hidden').show(); + + width = target.data('width'); + nub = tip.children('.nub'); + nubHeight = nub.outerHeight(); + nubWidth = nub.outerWidth(); + + if (this.small()) { + tip.css({'width' : '100%'}); + } else { + tip.css({'width' : (width) ? width : 'auto'}); + } + + objPos = function (obj, top, right, bottom, left, width) { + return obj.css({ + 'top' : (top) ? top : 'auto', + 'bottom' : (bottom) ? bottom : 'auto', + 'left' : (left) ? left : 'auto', + 'right' : (right) ? right : 'auto' + }).end(); + }; + + var o_top = target.offset().top; + var o_left = target.offset().left; + var outerHeight = target.outerHeight(); + + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', o_left); + + if (this.small()) { + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', 12.5, $(this.scope).width()); + tip.addClass('tip-override'); + objPos(nub, -nubHeight, 'auto', 'auto', o_left); + } else { + + if (Foundation.rtl) { + nub.addClass('rtl'); + o_left = o_left + target.outerWidth() - tip.outerWidth(); + } + + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', o_left); + // reset nub from small styles, if they've been applied + if (nub.attr('style')) { + nub.removeAttr('style'); + } + + tip.removeClass('tip-override'); + + var tip_outerHeight = tip.outerHeight(); + + if (classes && classes.indexOf('tip-top') > -1) { + if (Foundation.rtl) { + nub.addClass('rtl'); + } + objPos(tip, (o_top - tip_outerHeight), 'auto', 'auto', o_left) + .removeClass('tip-override'); + } else if (classes && classes.indexOf('tip-left') > -1) { + objPos(tip, (o_top + (outerHeight / 2) - (tip_outerHeight / 2)), 'auto', 'auto', (o_left - tip.outerWidth() - nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } else if (classes && classes.indexOf('tip-right') > -1) { + objPos(tip, (o_top + (outerHeight / 2) - (tip_outerHeight / 2)), 'auto', 'auto', (o_left + target.outerWidth() + nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } + } + + tip.css('visibility', 'visible').hide(); + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + inheritable_classes : function ($target) { + var settings = $.extend({}, this.settings, this.data_options($target)), + inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'radius', 'round'].concat(settings.additional_inheritable_classes), + classes = $target.attr('class'), + filtered = classes ? $.map(classes.split(' '), function (el, i) { + if ($.inArray(el, inheritables) !== -1) { + return el; + } + }).join(' ') : ''; + + return $.trim(filtered); + }, + + convert_to_touch : function ($target) { + var self = this, + $tip = self.getTip($target), + settings = $.extend({}, self.settings, self.data_options($target)); + + if ($tip.find('.tap-to-close').length === 0) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose', function (e) { + self.hide($target); + }); + } + + $target.data('tooltip-open-event-type', 'touch'); + }, + + show : function ($target) { + var $tip = this.getTip($target); + if ($target.data('tooltip-open-event-type') == 'touch') { + this.convert_to_touch($target); + } + + this.reposition($target, $tip, $target.attr('class')); + $target.addClass('open'); + $tip.fadeIn(this.settings.fade_in_duration); + }, + + hide : function ($target) { + var $tip = this.getTip($target); + + $tip.fadeOut(this.settings.fade_out_duration, function () { + $tip.find('.tap-to-close').remove(); + $tip.off('click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose'); + $target.removeClass('open'); + }); + }, + + off : function () { + var self = this; + this.S(this.scope).off('.fndtn.tooltip'); + this.S(this.settings.tooltip_class).each(function (i) { + $('[' + self.attr_name() + ']').eq(i).attr('title', $(this).text()); + }).remove(); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.topbar = { + name : 'topbar', + + version : '5.5.3', + + settings : { + index : 0, + start_offset : 0, + sticky_class : 'sticky', + custom_back_text : true, + back_text : 'Back', + mobile_show_parent_link : true, + is_hover : true, + scrolltop : true, // jump to top when sticky nav menu toggle is clicked + sticky_on : 'all', + dropdown_autoclose: true + }, + + init : function (section, method, options) { + Foundation.inherit(this, 'add_custom_rule register_media throttle'); + var self = this; + + self.register_media('topbar', 'foundation-mq-topbar'); + + this.bindings(method, options); + + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + var topbar = $(this), + settings = topbar.data(self.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', this); + topbar.data('index', 0); + var topbarContainer = topbar.parent(); + if (topbarContainer.hasClass('fixed') || self.is_sticky(topbar, topbarContainer, settings) ) { + self.settings.sticky_class = settings.sticky_class; + self.settings.sticky_topbar = topbar; + topbar.data('height', topbarContainer.outerHeight()); + topbar.data('stickyoffset', topbarContainer.offset().top); + } else { + topbar.data('height', topbar.outerHeight()); + } + + if (!settings.assembled) { + self.assemble(topbar); + } + + if (settings.is_hover) { + self.S('.has-dropdown', topbar).addClass('not-click'); + } else { + self.S('.has-dropdown', topbar).removeClass('not-click'); + } + + // Pad body when sticky (scrolled) or fixed. + self.add_custom_rule('.f-topbar-fixed { padding-top: ' + topbar.data('height') + 'px }'); + + if (topbarContainer.hasClass('fixed')) { + self.S('body').addClass('f-topbar-fixed'); + } + }); + + }, + + is_sticky : function (topbar, topbarContainer, settings) { + var sticky = topbarContainer.hasClass(settings.sticky_class); + var smallMatch = matchMedia(Foundation.media_queries.small).matches; + var medMatch = matchMedia(Foundation.media_queries.medium).matches; + var lrgMatch = matchMedia(Foundation.media_queries.large).matches; + + if (sticky && settings.sticky_on === 'all') { + return true; + } + if (sticky && this.small() && settings.sticky_on.indexOf('small') !== -1) { + if (smallMatch && !medMatch && !lrgMatch) { return true; } + } + if (sticky && this.medium() && settings.sticky_on.indexOf('medium') !== -1) { + if (smallMatch && medMatch && !lrgMatch) { return true; } + } + if (sticky && this.large() && settings.sticky_on.indexOf('large') !== -1) { + if (smallMatch && medMatch && lrgMatch) { return true; } + } + + return false; + }, + + toggle : function (toggleEl) { + var self = this, + topbar; + + if (toggleEl) { + topbar = self.S(toggleEl).closest('[' + this.attr_name() + ']'); + } else { + topbar = self.S('[' + this.attr_name() + ']'); + } + + var settings = topbar.data(this.attr_name(true) + '-init'); + + var section = self.S('section, .top-bar-section', topbar); + + if (self.breakpoint()) { + if (!self.rtl) { + section.css({left : '0%'}); + $('>.name', section).css({left : '100%'}); + } else { + section.css({right : '0%'}); + $('>.name', section).css({right : '100%'}); + } + + self.S('li.moved', section).removeClass('moved'); + topbar.data('index', 0); + + topbar + .toggleClass('expanded') + .css('height', ''); + } + + if (settings.scrolltop) { + if (!topbar.hasClass('expanded')) { + if (topbar.hasClass('fixed')) { + topbar.parent().addClass('fixed'); + topbar.removeClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if (topbar.parent().hasClass('fixed')) { + if (settings.scrolltop) { + topbar.parent().removeClass('fixed'); + topbar.addClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + + window.scrollTo(0, 0); + } else { + topbar.parent().removeClass('expanded'); + } + } + } else { + if (self.is_sticky(topbar, topbar.parent(), settings)) { + topbar.parent().addClass('fixed'); + } + + if (topbar.parent().hasClass('fixed')) { + if (!topbar.hasClass('expanded')) { + topbar.removeClass('fixed'); + topbar.parent().removeClass('expanded'); + self.update_sticky_positioning(); + } else { + topbar.addClass('fixed'); + topbar.parent().addClass('expanded'); + self.S('body').addClass('f-topbar-fixed'); + } + } + } + }, + + timer : null, + + events : function (bar) { + var self = this, + S = this.S; + + S(this.scope) + .off('.topbar') + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .toggle-topbar', function (e) { + e.preventDefault(); + self.toggle(this); + }) + .on('click.fndtn.topbar contextmenu.fndtn.topbar', '.top-bar .top-bar-section li a[href^="#"],[' + this.attr_name() + '] .top-bar-section li a[href^="#"]', function (e) { + var li = $(this).closest('li'), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-init'); + + if (settings.dropdown_autoclose && settings.is_hover) { + var hoverLi = $(this).closest('.hover'); + hoverLi.removeClass('hover'); + } + if (self.breakpoint() && !li.hasClass('back') && !li.hasClass('has-dropdown')) { + self.toggle(); + } + + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] li.has-dropdown', function (e) { + var li = S(this), + target = S(e.target), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-init'); + + if (target.data('revealId')) { + self.toggle(); + return; + } + + if (self.breakpoint()) { + return; + } + + if (settings.is_hover && !Modernizr.touch) { + return; + } + + e.stopImmediatePropagation(); + + if (li.hasClass('hover')) { + li + .removeClass('hover') + .find('li') + .removeClass('hover'); + + li.parents('li.hover') + .removeClass('hover'); + } else { + li.addClass('hover'); + + $(li).siblings().removeClass('hover'); + + if (target[0].nodeName === 'A' && target.parent().hasClass('has-dropdown')) { + e.preventDefault(); + } + } + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown>a', function (e) { + if (self.breakpoint()) { + + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + dropdownHeight = $this.next('.dropdown').outerHeight(), + $selectedLi = $this.closest('li'); + + topbar.data('index', topbar.data('index') + 1); + $selectedLi.addClass('moved'); + + if (!self.rtl) { + section.css({left : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({left : 100 * topbar.data('index') + '%'}); + } else { + section.css({right : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({right : 100 * topbar.data('index') + '%'}); + } + + topbar.css('height', $this.siblings('ul').outerHeight(true) + topbar.data('height')); + } + }); + + S(window).off('.topbar').on('resize.fndtn.topbar', self.throttle(function () { + self.resize.call(self); + }, 50)).trigger('resize.fndtn.topbar').load(function () { + // Ensure that the offset is calculated after all of the pages resources have loaded + S(this).trigger('resize.fndtn.topbar'); + }); + + S('body').off('.topbar').on('click.fndtn.topbar', function (e) { + var parent = S(e.target).closest('li').closest('li.hover'); + + if (parent.length > 0) { + return; + } + + S('[' + self.attr_name() + '] li.hover').removeClass('hover'); + }); + + // Go up a level on Click + S(this.scope).on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown .back', function (e) { + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + settings = topbar.data(self.attr_name(true) + '-init'), + $movedLi = $this.closest('li.moved'), + $previousLevelUl = $movedLi.parent(); + + topbar.data('index', topbar.data('index') - 1); + + if (!self.rtl) { + section.css({left : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({left : 100 * topbar.data('index') + '%'}); + } else { + section.css({right : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({right : 100 * topbar.data('index') + '%'}); + } + + if (topbar.data('index') === 0) { + topbar.css('height', ''); + } else { + topbar.css('height', $previousLevelUl.outerHeight(true) + topbar.data('height')); + } + + setTimeout(function () { + $movedLi.removeClass('moved'); + }, 300); + }); + + // Show dropdown menus when their items are focused + S(this.scope).find('.dropdown a') + .focus(function () { + $(this).parents('.has-dropdown').addClass('hover'); + }) + .blur(function () { + $(this).parents('.has-dropdown').removeClass('hover'); + }); + }, + + resize : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var topbar = self.S(this), + settings = topbar.data(self.attr_name(true) + '-init'); + + var stickyContainer = topbar.parent('.' + self.settings.sticky_class); + var stickyOffset; + + if (!self.breakpoint()) { + var doToggle = topbar.hasClass('expanded'); + topbar + .css('height', '') + .removeClass('expanded') + .find('li') + .removeClass('hover'); + + if (doToggle) { + self.toggle(topbar); + } + } + + if (self.is_sticky(topbar, stickyContainer, settings)) { + if (stickyContainer.hasClass('fixed')) { + // Remove the fixed to allow for correct calculation of the offset. + stickyContainer.removeClass('fixed'); + + stickyOffset = stickyContainer.offset().top; + if (self.S(document.body).hasClass('f-topbar-fixed')) { + stickyOffset -= topbar.data('height'); + } + + topbar.data('stickyoffset', stickyOffset); + stickyContainer.addClass('fixed'); + } else { + stickyOffset = stickyContainer.offset().top; + topbar.data('stickyoffset', stickyOffset); + } + } + + }); + }, + + breakpoint : function () { + return !matchMedia(Foundation.media_queries['topbar']).matches; + }, + + small : function () { + return matchMedia(Foundation.media_queries['small']).matches; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + assemble : function (topbar) { + var self = this, + settings = topbar.data(this.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', topbar); + + // Pull element out of the DOM for manipulation + section.detach(); + + self.S('.has-dropdown>a', section).each(function () { + var $link = self.S(this), + $dropdown = $link.siblings('.dropdown'), + url = $link.attr('href'), + $titleLi; + + if (!$dropdown.find('.title.back').length) { + + if (settings.mobile_show_parent_link == true && url) { + $titleLi = $('
    2. '); + } else { + $titleLi = $('
    3. '); + } + + // Copy link to subnav + if (settings.custom_back_text == true) { + $('h5>a', $titleLi).html(settings.back_text); + } else { + $('h5>a', $titleLi).html('« ' + $link.html()); + } + $dropdown.prepend($titleLi); + } + }); + + // Put element back in the DOM + section.appendTo(topbar); + + // check for sticky + this.sticky(); + + this.assembled(topbar); + }, + + assembled : function (topbar) { + topbar.data(this.attr_name(true), $.extend({}, topbar.data(this.attr_name(true)), {assembled : true})); + }, + + height : function (ul) { + var total = 0, + self = this; + + $('> li', ul).each(function () { + total += self.S(this).outerHeight(true); + }); + + return total; + }, + + sticky : function () { + var self = this; + + this.S(window).on('scroll', function () { + self.update_sticky_positioning(); + }); + }, + + update_sticky_positioning : function () { + var klass = '.' + this.settings.sticky_class, + $window = this.S(window), + self = this; + + if (self.settings.sticky_topbar && self.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(), this.settings)) { + var distance = this.settings.sticky_topbar.data('stickyoffset') + this.settings.start_offset; + if (!self.S(klass).hasClass('expanded')) { + if ($window.scrollTop() > (distance)) { + if (!self.S(klass).hasClass('fixed')) { + self.S(klass).addClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if ($window.scrollTop() <= distance) { + if (self.S(klass).hasClass('fixed')) { + self.S(klass).removeClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + } + } + } + } + }, + + off : function () { + this.S(this.scope).off('.fndtn.topbar'); + this.S(window).off('.fndtn.topbar'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation.min.js b/js/foundation/js/foundation.min.js new file mode 100644 index 0000000..558dcfa --- /dev/null +++ b/js/foundation/js/foundation.min.js @@ -0,0 +1,5 @@ +!function(a,b,c,d){"use strict";function e(a){return("string"==typeof a||a instanceof String)&&(a=a.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g,"")),a}function f(a){this.selector=a,this.query=""}var g=function(b){var c=a("head");c.prepend(a.map(b,function(a){return 0===c.has("."+a).length?'':void 0}))};g(["foundation-mq-small","foundation-mq-small-only","foundation-mq-medium","foundation-mq-medium-only","foundation-mq-large","foundation-mq-large-only","foundation-mq-xlarge","foundation-mq-xlarge-only","foundation-mq-xxlarge","foundation-data-attribute-namespace"]),a(function(){"undefined"!=typeof FastClick&&"undefined"!=typeof c.body&&FastClick.attach(c.body)});var h=function(b,d){if("string"==typeof b){if(d){var e;if(d.jquery){if(e=d[0],!e)return d}else e=d;return a(e.querySelectorAll(b))}return a(c.querySelectorAll(b))}return a(b,d)},i=function(a){var b=[];return a||b.push("data"),this.namespace.length>0&&b.push(this.namespace),b.push(this.name),b.join("-")},j=function(a){for(var b=a.split("-"),c=b.length,d=[];c--;)0!==c?d.push(b[c]):this.namespace.length>0?d.push(this.namespace,b[c]):d.push(b[c]);return d.reverse().join("-")},k=function(b,c){var d=this,e=function(){var e=h(this),f=!e.data(d.attr_name(!0)+"-init");e.data(d.attr_name(!0)+"-init",a.extend({},d.settings,c||b,d.data_options(e))),f&&d.events(this)};return h(this.scope).is("["+this.attr_name()+"]")?e.call(this.scope):h("["+this.attr_name()+"]",this.scope).each(e),"string"==typeof b?this[b].call(this,c):void 0},l=function(a,b){function c(){b(a[0])}function d(){if(this.one("load",c),/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var a=this.attr("src"),b=a.match(/\?/)?"&":"?";b+="random="+(new Date).getTime(),this.attr("src",a+b)}}return a.attr("src")?void(a[0].complete||4===a[0].readyState?c():d.call(a)):void c()};/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */ +b.matchMedia||(b.matchMedia=function(){var a=b.styleMedia||b.media;if(!a){var d=c.createElement("style"),e=c.getElementsByTagName("script")[0],f=null;d.type="text/css",d.id="matchmediajs-test",e.parentNode.insertBefore(d,e),f="getComputedStyle"in b&&b.getComputedStyle(d,null)||d.currentStyle,a={matchMedium:function(a){var b="@media "+a+"{ #matchmediajs-test { width: 1px; } }";return d.styleSheet?d.styleSheet.cssText=b:d.textContent=b,"1px"===f.width}}}return function(b){return{matches:a.matchMedium(b||"all"),media:b||"all"}}}()),function(a){function c(){d&&(g(c),i&&a.fx.tick())}for(var d,e=0,f=["webkit","moz"],g=b.requestAnimationFrame,h=b.cancelAnimationFrame,i="undefined"!=typeof a.fx;e").appendTo("head")[0].sheet,global:{namespace:d},init:function(a,c,d,e,f){var g=[a,d,e,f],i=[];if(this.rtl=/rtl/i.test(h("html").attr("dir")),this.scope=a||this.scope,this.set_namespace(),c&&"string"==typeof c&&!/reflow/i.test(c))this.libs.hasOwnProperty(c)&&i.push(this.init_lib(c,g));else for(var j in this.libs)i.push(this.init_lib(j,c));return h(b).load(function(){h(b).trigger("resize.fndtn.clearing").trigger("resize.fndtn.dropdown").trigger("resize.fndtn.equalizer").trigger("resize.fndtn.interchange").trigger("resize.fndtn.joyride").trigger("resize.fndtn.magellan").trigger("resize.fndtn.topbar").trigger("resize.fndtn.slider")}),a},init_lib:function(b,c){return this.libs.hasOwnProperty(b)?(this.patch(this.libs[b]),c&&c.hasOwnProperty(b)?("undefined"!=typeof this.libs[b].settings?a.extend(!0,this.libs[b].settings,c[b]):"undefined"!=typeof this.libs[b].defaults&&a.extend(!0,this.libs[b].defaults,c[b]),this.libs[b].init.apply(this.libs[b],[this.scope,c[b]])):(c=c instanceof Array?c:new Array(c),this.libs[b].init.apply(this.libs[b],c))):function(){}},patch:function(a){a.scope=this.scope,a.namespace=this.global.namespace,a.rtl=this.rtl,a.data_options=this.utils.data_options,a.attr_name=i,a.add_namespace=j,a.bindings=k,a.S=this.utils.S},inherit:function(a,b){for(var c=b.split(" "),d=c.length;d--;)this.utils.hasOwnProperty(c[d])&&(a[c[d]]=this.utils[c[d]])},set_namespace:function(){var b=this.global.namespace===d?a(".foundation-data-attribute-namespace").css("font-family"):this.global.namespace;this.global.namespace=b===d||/false/i.test(b)?"":b},libs:{},utils:{S:h,throttle:function(a,b){var c=null;return function(){var d=this,e=arguments;null==c&&(c=setTimeout(function(){a.apply(d,e),c=null},b))}},debounce:function(a,b,c){var d,e;return function(){var f=this,g=arguments,h=function(){d=null,c||(e=a.apply(f,g))},i=c&&!d;return clearTimeout(d),d=setTimeout(h,b),i&&(e=a.apply(f,g)),e}},data_options:function(b,c){function d(a){return!isNaN(a-0)&&null!==a&&""!==a&&a!==!1&&a!==!0}function e(b){return"string"==typeof b?a.trim(b):b}c=c||"options";var f,g,h,i={},j=function(a){var b=Foundation.global.namespace;return b.length>0?a.data(b+"-"+c):a.data(c)},k=j(b);if("object"==typeof k)return k;for(h=(k||":").split(";"),f=h.length;f--;)g=h[f].split(":"),g=[g[0],g.slice(1).join(":")],/true/i.test(g[1])&&(g[1]=!0),/false/i.test(g[1])&&(g[1]=!1),d(g[1])&&(-1===g[1].indexOf(".")?g[1]=parseInt(g[1],10):g[1]=parseFloat(g[1])),2===g.length&&g[0].length>0&&(i[e(g[0])]=e(g[1]));return i},register_media:function(b,c){Foundation.media_queries[b]===d&&(a("head").append(''),Foundation.media_queries[b]=e(a("."+c).css("font-family")))},add_custom_rule:function(a,b){if(b===d&&Foundation.stylesheet)Foundation.stylesheet.insertRule(a,Foundation.stylesheet.cssRules.length);else{var c=Foundation.media_queries[b];c!==d&&Foundation.stylesheet.insertRule("@media "+Foundation.media_queries[b]+"{ "+a+" }",Foundation.stylesheet.cssRules.length)}},image_loaded:function(a,b){function c(a){for(var b=a.length,c=b-1;c>=0;c--)if(a.attr("height")===d)return!1;return!0}var e=this,f=a.length;(0===f||c(a))&&b(a),a.each(function(){l(e.S(this),function(){f-=1,0===f&&b(a)})})},random_str:function(){return this.fidx||(this.fidx=0),this.prefix=this.prefix||[this.name||"F",(+new Date).toString(36)].join("-"),this.prefix+(this.fidx++).toString(36)},match:function(a){return b.matchMedia(a).matches},is_small_up:function(){return this.match(Foundation.media_queries.small)},is_medium_up:function(){return this.match(Foundation.media_queries.medium)},is_large_up:function(){return this.match(Foundation.media_queries.large)},is_xlarge_up:function(){return this.match(Foundation.media_queries.xlarge)},is_xxlarge_up:function(){return this.match(Foundation.media_queries.xxlarge)},is_small_only:function(){return!(this.is_medium_up()||this.is_large_up()||this.is_xlarge_up()||this.is_xxlarge_up())},is_medium_only:function(){return this.is_medium_up()&&!this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_large_only:function(){return this.is_medium_up()&&this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xxlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&this.is_xxlarge_up()}}},a.fn.foundation=function(){var a=Array.prototype.slice.call(arguments,0);return this.each(function(){return Foundation.init.apply(Foundation,[this].concat(a)),this})}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.abide={name:"abide",version:"5.5.3",settings:{live_validate:!0,validate_on_blur:!0,focus_on_invalid:!0,error_labels:!0,error_class:"error",timeout:1e3,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/},validators:{equalTo:function(a,b,d){var e=c.getElementById(a.getAttribute(this.add_namespace("data-equalto"))).value,f=a.value,g=e===f;return g}}},timer:null,init:function(a,b,c){this.bindings(b,c)},events:function(b){function c(a,b){clearTimeout(d.timer),d.timer=setTimeout(function(){d.validate([a],b)}.bind(a),f.timeout)}var d=this,e=d.S(b).attr("novalidate","novalidate"),f=e.data(this.attr_name(!0)+"-init")||{};this.invalid_attr=this.add_namespace("data-invalid"),e.off(".abide").on("submit.fndtn.abide",function(a){var b=/ajax/i.test(d.S(this).attr(d.attr_name()));return d.validate(d.S(this).find("input, textarea, select").not(":hidden, [data-abide-ignore]").get(),a,b)}).on("validate.fndtn.abide",function(a){"manual"===f.validate_on&&d.validate([a.target],a)}).on("reset",function(b){return d.reset(a(this),b)}).find("input, textarea, select").not(":hidden, [data-abide-ignore]").off(".abide").on("blur.fndtn.abide change.fndtn.abide",function(a){var b=this.getAttribute("id"),d=e.find('[data-equalto="'+b+'"]');f.validate_on_blur&&f.validate_on_blur===!0&&c(this,a),"undefined"!=typeof d.get(0)&&d.val().length&&c(d.get(0),a),"change"===f.validate_on&&c(this,a)}).on("keydown.fndtn.abide",function(a){var b=this.getAttribute("id"),d=e.find('[data-equalto="'+b+'"]');f.live_validate&&f.live_validate===!0&&9!=a.which&&c(this,a),"undefined"!=typeof d.get(0)&&d.val().length&&c(d.get(0),a),"tab"===f.validate_on&&9===a.which?c(this,a):"change"===f.validate_on&&c(this,a)}).on("focus",function(b){navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)&&a("html, body").animate({scrollTop:a(b.target).offset().top},100)})},reset:function(b,c){var d=this;b.removeAttr(d.invalid_attr),a("["+d.invalid_attr+"]",b).removeAttr(d.invalid_attr),a("."+d.settings.error_class,b).not("small").removeClass(d.settings.error_class),a(":input",b).not(":button, :submit, :reset, :hidden, [data-abide-ignore]").val("").removeAttr(d.invalid_attr)},validate:function(a,b,c){for(var d=this.parse_patterns(a),e=d.length,f=this.S(a[0]).closest("form"),g=/submit/.test(b.type),h=0;e>h;h++)if(!d[h]&&(g||c))return this.settings.focus_on_invalid&&a[h].focus(),f.trigger("invalid.fndtn.abide"),this.S(a[h]).closest("form").attr(this.invalid_attr,""),!1;return(g||c)&&f.trigger("valid.fndtn.abide"),f.removeAttr(this.invalid_attr),c?!1:!0},parse_patterns:function(a){for(var b=a.length,c=[];b--;)c.push(this.pattern(a[b]));return this.check_validation_and_apply_styles(c)},pattern:function(a){var b=a.getAttribute("type"),c="string"==typeof a.getAttribute("required"),d=a.getAttribute("pattern")||"";return this.settings.patterns.hasOwnProperty(d)&&d.length>0?[a,this.settings.patterns[d],c]:d.length>0?[a,new RegExp(d),c]:this.settings.patterns.hasOwnProperty(b)?[a,this.settings.patterns[b],c]:(d=/.*/,[a,d,c])},check_validation_and_apply_styles:function(b){var c=b.length,d=[];if(0==c)return d;var e=this.S(b[0][0]).closest("[data-"+this.attr_name(!0)+"]");for(e.data(this.attr_name(!0)+"-init")||{};c--;){var f,g,h=b[c][0],i=b[c][2],j=h.value.trim(),k=this.S(h).parent(),l=h.getAttribute(this.add_namespace("data-abide-validator")),m="radio"===h.type,n="checkbox"===h.type,o=this.S('label[for="'+h.getAttribute("id")+'"]'),p=i?h.value.length>0:!0,q=[];if(h.getAttribute(this.add_namespace("data-equalto"))&&(l="equalTo"),f=k.is("label")?k.parent():k,m&&i)q.push(this.valid_radio(h,i));else if(n&&i)q.push(this.valid_checkbox(h,i));else if(l){for(var r=l.split(" "),s=!0,t=!0,u=0;u0&&this.settings.error_labels&&o.removeClass(this.settings.error_class).removeAttr("role"),a(h).triggerHandler("valid")):(this.S(h).attr(this.invalid_attr,""),f.addClass("error"),o.length>0&&this.settings.error_labels&&o.addClass(this.settings.error_class).attr("role","alert"),a(h).triggerHandler("invalid"))}else if(b[c][1].test(j)&&p||!i&&h.value.length<1||a(h).attr("disabled")?q.push(!0):q.push(!1),q=[q.every(function(a){return a})],q[0])this.S(h).removeAttr(this.invalid_attr),h.setAttribute("aria-invalid","false"),h.removeAttribute("aria-describedby"),f.removeClass(this.settings.error_class),o.length>0&&this.settings.error_labels&&o.removeClass(this.settings.error_class).removeAttr("role"),a(h).triggerHandler("valid");else{this.S(h).attr(this.invalid_attr,""),h.setAttribute("aria-invalid","true");var v=f.find("small."+this.settings.error_class,"span."+this.settings.error_class),w=v.length>0?v[0].id:"";w.length>0&&h.setAttribute("aria-describedby",w),f.addClass(this.settings.error_class),o.length>0&&this.settings.error_labels&&o.addClass(this.settings.error_class).attr("role","alert"),a(h).triggerHandler("invalid")}d=d.concat(q)}return d},valid_checkbox:function(b,c){var b=this.S(b),d=b.is(":checked")||!c||b.get(0).getAttribute("disabled");return d?(b.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),a(b).triggerHandler("valid")):(b.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),a(b).triggerHandler("invalid")),d},valid_radio:function(b,c){for(var d=b.getAttribute("name"),e=this.S(b).closest("[data-"+this.attr_name(!0)+"]").find("[name='"+d+"']"),f=e.length,g=!1,h=!1,i=0;f>i;i++)e[i].getAttribute("disabled")?(h=!0,g=!0):e[i].checked?g=!0:h&&(g=!1);for(var i=0;f>i;i++)g?(this.S(e[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),a(e[i]).triggerHandler("valid")):(this.S(e[i]).attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),a(e[i]).triggerHandler("invalid"));return g},valid_equal:function(a,b,d){var e=c.getElementById(a.getAttribute(this.add_namespace("data-equalto"))).value,f=a.value,g=e===f;return g?(this.S(a).removeAttr(this.invalid_attr),d.removeClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.removeClass(this.settings.error_class)):(this.S(a).attr(this.invalid_attr,""),d.addClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.addClass(this.settings.error_class)),g},valid_oneof:function(a,b,c,d){var a=this.S(a),e=this.S("["+this.add_namespace("data-oneof")+"]"),f=e.filter(":checked").length>0;if(f?a.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class):a.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),!d){var g=this;e.each(function(){g.valid_oneof.call(g,this,null,null,!0)})}return f},reflow:function(a,b){var c=this,d=c.S("["+this.attr_name()+"]").attr("novalidate","novalidate");c.S(d).each(function(a,b){c.events(b)})}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.accordion={name:"accordion",version:"5.5.3",settings:{content_class:"content",active_class:"active",multi_expand:!1,toggleable:!0,callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(b){var c=this,d=this.S;c.create(this.S(b)),d(this.scope).off(".fndtn.accordion").on("click.fndtn.accordion","["+this.attr_name()+"] > dd > a, ["+this.attr_name()+"] > li > a",function(b){var e=d(this).closest("["+c.attr_name()+"]"),f=c.attr_name()+"="+e.attr(c.attr_name()),g=e.data(c.attr_name(!0)+"-init")||c.settings,h=d("#"+this.href.split("#")[1]),i=a("> dd, > li",e),j=i.children("."+g.content_class),k=j.filter("."+g.active_class);return b.preventDefault(),e.attr(c.attr_name())&&(j=j.add("["+f+"] dd > ."+g.content_class+", ["+f+"] li > ."+g.content_class),i=i.add("["+f+"] dd, ["+f+"] li")),g.toggleable&&h.is(k)?(h.parent("dd, li").toggleClass(g.active_class,!1),h.toggleClass(g.active_class,!1),d(this).attr("aria-expanded",function(a,b){return"true"===b?"false":"true"}),g.callback(h),h.triggerHandler("toggled",[e]),void e.triggerHandler("toggled",[h])):(g.multi_expand||(j.removeClass(g.active_class),i.removeClass(g.active_class),i.children("a").attr("aria-expanded","false")),h.addClass(g.active_class).parent().addClass(g.active_class),g.callback(h),h.triggerHandler("toggled",[e]),e.triggerHandler("toggled",[h]),void d(this).attr("aria-expanded","true"))})},create:function(b){var c=this,d=b,e=a("> .accordion-navigation",d),f=d.data(c.attr_name(!0)+"-init")||c.settings;e.children("a").attr("aria-expanded","false"),e.has("."+f.content_class+"."+f.active_class).addClass(f.active_class).children("a").attr("aria-expanded","true"),f.multi_expand&&b.attr("aria-multiselectable","true")},toggle:function(a){var a="undefined"!=typeof a?a:{},c="undefined"!=typeof a.selector?a.selector:"",d="undefined"!=typeof a.toggle_state?a.toggle_state:"",e="undefined"!=typeof a.$accordion?a.$accordion:this.S(this.scope).closest("["+this.attr_name()+"]"),f=e.find("> dd"+c+", > li"+c);if(f.length<1)return b.console&&console.error("Selection not found.",c),!1;var g=this.S,h=this.settings.active_class;f.each(function(){var a=g(this),b=a.hasClass(h);(b&&"close"===d||!b&&"open"===d||""===d)&&a.find("> a").trigger("click.fndtn.accordion")})},open:function(a){var a="undefined"!=typeof a?a:{};a.toggle_state="open",this.toggle(a)},close:function(a){var a="undefined"!=typeof a?a:{};a.toggle_state="close",this.toggle(a)},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.alert={name:"alert",version:"5.5.3",settings:{callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this,c=this.S;a(this.scope).off(".alert").on("click.fndtn.alert","["+this.attr_name()+"] .close",function(a){var d=c(this).closest("["+b.attr_name()+"]"),e=d.data(b.attr_name(!0)+"-init")||b.settings;a.preventDefault(),Modernizr.csstransitions?(d.addClass("alert-close"),d.on("transitionend webkitTransitionEnd oTransitionEnd",function(a){c(this).trigger("close.fndtn.alert").remove(),e.callback()})):d.fadeOut(300,function(){c(this).trigger("close.fndtn.alert").remove(),e.callback()})})},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.clearing={name:"clearing",version:"5.5.3",settings:{templates:{viewing:'×'},close_selectors:".clearing-close, div.clearing-blackout",open_selectors:"",skip_selector:"",touch_label:"",init:!1,locked:!1},init:function(a,b,c){var d=this;Foundation.inherit(this,"throttle image_loaded"),this.bindings(b,c),d.S(this.scope).is("["+this.attr_name()+"]")?this.assemble(d.S("li",this.scope)):d.S("["+this.attr_name()+"]",this.scope).each(function(){d.assemble(d.S("li",this))})},events:function(d){var e=this,f=e.S,g=a(".scroll-container");g.length>0&&(this.scope=g),f(this.scope).off(".clearing").on("click.fndtn.clearing","ul["+this.attr_name()+"] li "+this.settings.open_selectors,function(a,b,c){var b=b||f(this),c=c||b,d=b.next("li"),g=b.closest("["+e.attr_name()+"]").data(e.attr_name(!0)+"-init"),h=f(a.target);a.preventDefault(),g||(e.init(),g=b.closest("["+e.attr_name()+"]").data(e.attr_name(!0)+"-init")),c.hasClass("visible")&&b[0]===c[0]&&d.length>0&&e.is_open(b)&&(c=d,h=f("img",c)),e.open(h,b,c),e.update_paddles(c)}).on("click.fndtn.clearing",".clearing-main-next",function(a){e.nav(a,"next")}).on("click.fndtn.clearing",".clearing-main-prev",function(a){e.nav(a,"prev")}).on("click.fndtn.clearing",this.settings.close_selectors,function(a){Foundation.libs.clearing.close(a,this)}),a(c).on("keydown.fndtn.clearing",function(a){e.keydown(a)}),f(b).off(".clearing").on("resize.fndtn.clearing",function(){e.resize()}),this.swipe_events(d)},swipe_events:function(a){var b=this,c=b.S;c(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(a){a.touches||(a=a.originalEvent);var b={start_page_x:a.touches[0].pageX,start_page_y:a.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};c(this).data("swipe-transition",b),a.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(a){if(a.touches||(a=a.originalEvent),!(a.touches.length>1||a.scale&&1!==a.scale)){var d=c(this).data("swipe-transition");if("undefined"==typeof d&&(d={}),d.delta_x=a.touches[0].pageX-d.start_page_x,Foundation.rtl&&(d.delta_x=-d.delta_x),"undefined"==typeof d.is_scrolling&&(d.is_scrolling=!!(d.is_scrolling||Math.abs(d.delta_x)
    ');var d=c.detach(),e="";if(null!=d[0]){e=d[0].outerHTML;var f=this.S("#foundationClearingHolder"),g=c.data(this.attr_name(!0)+"-init"),h={grid:'",viewing:g.templates.viewing},i='
    '+h.viewing+h.grid+"
    ",j=this.settings.touch_label;Modernizr.touch&&(i=a(i).find(".clearing-touch-label").html(j).end()),f.after(i).remove()}}},open:function(b,d,e){function f(){setTimeout(function(){this.image_loaded(m,function(){1!==m.outerWidth()||o?g.call(this,m):f.call(this)}.bind(this))}.bind(this),100)}function g(b){var c=a(b);c.css("visibility","visible"),c.trigger("imageVisible"),i.css("overflow","hidden"),j.addClass("clearing-blackout"),k.addClass("clearing-container"),l.show(),this.fix_height(e).caption(h.S(".clearing-caption",l),h.S("img",e)).center_and_label(b,n).shift(d,e,function(){e.closest("li").siblings().removeClass("visible"),e.closest("li").addClass("visible")}),l.trigger("opened.fndtn.clearing")}var h=this,i=a(c.body),j=e.closest(".clearing-assembled"),k=h.S("div",j).first(),l=h.S(".visible-img",k),m=h.S("img",l).not(b),n=h.S(".clearing-touch-label",k),o=!1,p={};a("body").on("touchmove",function(a){a.preventDefault()}),m.error(function(){o=!0}),this.locked()||(l.trigger("open.fndtn.clearing"),p=this.load(b),p.interchange?m.attr("data-interchange",p.interchange).foundation("interchange","reflow"):m.attr("src",p.src).attr("data-interchange",""),m.css("visibility","hidden"),f.call(this))},close:function(b,d){b.preventDefault();var e,f,g=function(a){return/blackout/.test(a.selector)?a:a.closest(".clearing-blackout")}(a(d)),h=a(c.body);return d===b.target&&g&&(h.css("overflow",""),e=a("div",g).first(),f=a(".visible-img",e),f.trigger("close.fndtn.clearing"),this.settings.prev_index=0,a("ul["+this.attr_name()+"]",g).attr("style","").closest(".clearing-blackout").removeClass("clearing-blackout"),e.removeClass("clearing-container"),f.hide(),f.trigger("closed.fndtn.clearing")),a("body").off("touchmove"),!1},is_open:function(a){return a.parent().prop("style").length>0},keydown:function(b){var c=a(".clearing-blackout ul["+this.attr_name()+"]"),d=this.rtl?37:39,e=this.rtl?39:37,f=27;b.which===d&&this.go(c,"next"),b.which===e&&this.go(c,"prev"),b.which===f&&this.S("a.clearing-close").trigger("click.fndtn.clearing")},nav:function(b,c){var d=a("ul["+this.attr_name()+"]",".clearing-blackout");b.preventDefault(),this.go(d,c)},resize:function(){var b=a("img",".clearing-blackout .visible-img"),c=a(".clearing-touch-label",".clearing-blackout");b.length&&(this.center_and_label(b,c),b.trigger("resized.fndtn.clearing"))},fix_height:function(a){var b=a.parent().children(),c=this;return b.each(function(){var a=c.S(this),b=a.find("img");a.height()>b.outerHeight()&&a.addClass("fix-height")}).closest("ul").width(100*b.length+"%"),this},update_paddles:function(a){a=a.closest("li");var b=a.closest(".carousel").siblings(".visible-img");a.next().length>0?this.S(".clearing-main-next",b).removeClass("disabled"):this.S(".clearing-main-next",b).addClass("disabled"),a.prev().length>0?this.S(".clearing-main-prev",b).removeClass("disabled"):this.S(".clearing-main-prev",b).addClass("disabled")},center_and_label:function(a,b){return!this.rtl&&b.length>0?b.css({marginLeft:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10}):b.css({marginRight:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10,left:"auto",right:"50%"}),this},load:function(a){var b,c,d;return"A"===a[0].nodeName?(b=a.attr("href"),c=a.data("clearing-interchange")):(d=a.closest("a"),b=d.attr("href"),c=d.data("clearing-interchange")),this.preload(a),{src:b?b:a.attr("src"),interchange:b?c:a.data("clearing-interchange")}},preload:function(a){this.img(a.closest("li").next(),"next").img(a.closest("li").prev(),"prev")},img:function(b,c){if(b.length){var d,e,f,g=a(".clearing-preload-"+c),h=this.S("a",b);h.length?(d=h.attr("href"),e=h.data("clearing-interchange")):(f=this.S("img",b),d=f.attr("src"),e=f.data("clearing-interchange")),e?g.attr("data-interchange",e):(g.attr("src",d),g.attr("data-interchange",""))}return this},caption:function(a,b){var c=b.attr("data-caption");if(c){var d=a.get(0);d.innerHTML=c,a.show()}else a.text("").hide();return this},go:function(a,b){var c=this.S(".visible",a),d=c[b]();this.settings.skip_selector&&0!=d.find(this.settings.skip_selector).length&&(d=d[b]()),d.length&&this.S("img",d).trigger("click.fndtn.clearing",[c,d]).trigger("change.fndtn.clearing")},shift:function(a,b,c){var d,e=b.parent(),f=this.settings.prev_index||b.index(),g=this.direction(e,a,b),h=this.rtl?"right":"left",i=parseInt(e.css("left"),10),j=b.outerWidth(),k={};b.index()===f||/skip/.test(g)?/skip/.test(g)&&(d=b.index()-this.settings.up_count,this.lock(),d>0?(k[h]=-(d*j),e.animate(k,300,this.unlock())):(k[h]=0,e.animate(k,300,this.unlock()))):/left/.test(g)?(this.lock(),k[h]=i+j,e.animate(k,300,this.unlock())):/right/.test(g)&&(this.lock(),k[h]=i-j,e.animate(k,300,this.unlock())),c()},direction:function(a,b,c){var d,e=this.S("li",a),f=e.outerWidth()+e.outerWidth()/4,g=Math.floor(this.S(".clearing-container").outerWidth()/f)-1,h=e.index(c);return this.settings.up_count=g,d=this.adjacent(this.settings.prev_index,h)?h>g&&h>this.settings.prev_index?"right":h>g-1&&h<=this.settings.prev_index?"left":!1:"skip",this.settings.prev_index=h,d},adjacent:function(a,b){for(var c=b+1;c>=b-1;c--)if(c===a)return!0;return!1},lock:function(){this.settings.locked=!0},unlock:function(){this.settings.locked=!1},locked:function(){return this.settings.locked},off:function(){this.S(this.scope).off(".fndtn.clearing"),this.S(b).off(".fndtn.clearing")},reflow:function(){this.init()}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.dropdown={name:"dropdown",version:"5.5.3",settings:{active_class:"open",disabled_class:"disabled",mega_class:"mega",align:"bottom",is_hover:!1,hover_timeout:150,opened:function(){},closed:function(){}},init:function(b,c,d){Foundation.inherit(this,"throttle"),a.extend(!0,this.settings,c,d),this.bindings(c,d)},events:function(d){var e=this,f=e.S;f(this.scope).off(".dropdown").on("click.fndtn.dropdown","["+this.attr_name()+"]",function(b){var c=f(this).data(e.attr_name(!0)+"-init")||e.settings;(!c.is_hover||Modernizr.touch)&&(b.preventDefault(),f(this).parent("[data-reveal-id]").length&&b.stopPropagation(),e.toggle(a(this)))}).on("mouseenter.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(a){var b,c,d=f(this);clearTimeout(e.timeout),d.data(e.data_attr())?(b=f("#"+d.data(e.data_attr())),c=d):(b=d,c=f("["+e.attr_name()+'="'+b.attr("id")+'"]'));var g=c.data(e.attr_name(!0)+"-init")||e.settings;f(a.currentTarget).data(e.data_attr())&&g.is_hover&&e.closeall.call(e),g.is_hover&&e.open.apply(e,[b,c])}).on("mouseleave.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(a){var b,c=f(this);if(c.data(e.data_attr()))b=c.data(e.data_attr(!0)+"-init")||e.settings;else var d=f("["+e.attr_name()+'="'+f(this).attr("id")+'"]'),b=d.data(e.attr_name(!0)+"-init")||e.settings;e.timeout=setTimeout(function(){c.data(e.data_attr())?b.is_hover&&e.close.call(e,f("#"+c.data(e.data_attr()))):b.is_hover&&e.close.call(e,c)}.bind(this),b.hover_timeout)}).on("click.fndtn.dropdown",function(b){var d=f(b.target).closest("["+e.attr_name()+"-content]"),g=d.find("a");return g.length>0&&"false"!==d.attr("aria-autoclose")&&e.close.call(e,f("["+e.attr_name()+"-content]")),b.target!==c&&!a.contains(c.documentElement,b.target)||f(b.target).closest("["+e.attr_name()+"]").length>0?void 0:!f(b.target).data("revealId")&&d.length>0&&(f(b.target).is("["+e.attr_name()+"-content]")||a.contains(d.first()[0],b.target))?void b.stopPropagation():void e.close.call(e,f("["+e.attr_name()+"-content]"))}).on("opened.fndtn.dropdown","["+e.attr_name()+"-content]",function(){e.settings.opened.call(this)}).on("closed.fndtn.dropdown","["+e.attr_name()+"-content]",function(){e.settings.closed.call(this)}),f(b).off(".dropdown").on("resize.fndtn.dropdown",e.throttle(function(){e.resize.call(e)},50)),this.resize()},close:function(b){var c=this;b.each(function(d){var e=a("["+c.attr_name()+"="+b[d].id+"]")||a("aria-controls="+b[d].id+"]");e.attr("aria-expanded","false"),c.S(this).hasClass(c.settings.active_class)&&(c.S(this).css(Foundation.rtl?"right":"left","-99999px").attr("aria-hidden","true").removeClass(c.settings.active_class).prev("["+c.attr_name()+"]").removeClass(c.settings.active_class).removeData("target"),c.S(this).trigger("closed.fndtn.dropdown",[b]))}),b.removeClass("f-open-"+this.attr_name(!0))},closeall:function(){var b=this;a.each(b.S(".f-open-"+this.attr_name(!0)),function(){b.close.call(b,b.S(this))})},open:function(a,b){this.css(a.addClass(this.settings.active_class),b),a.prev("["+this.attr_name()+"]").addClass(this.settings.active_class),a.data("target",b.get(0)).trigger("opened.fndtn.dropdown",[a,b]),a.attr("aria-hidden","false"),b.attr("aria-expanded","true"),a.focus(),a.addClass("f-open-"+this.attr_name(!0))},data_attr:function(){return this.namespace.length>0?this.namespace+"-"+this.name:this.name},toggle:function(a){if(!a.hasClass(this.settings.disabled_class)){var b=this.S("#"+a.data(this.data_attr()));0!==b.length&&(this.close.call(this,this.S("["+this.attr_name()+"-content]").not(b)),b.hasClass(this.settings.active_class)?(this.close.call(this,b),b.data("target")!==a.get(0)&&this.open.call(this,b,a)):this.open.call(this,b,a))}},resize:function(){var b=this.S("["+this.attr_name()+"-content].open"),c=a(b.data("target"));b.length&&c.length&&this.css(b,c)},css:function(a,b){var c=Math.max((b.width()-a.width())/2,8),d=b.data(this.attr_name(!0)+"-init")||this.settings,e=a.parent().css("overflow-y")||a.parent().css("overflow");if(this.clear_idx(),this.small()){var f=this.dirs.bottom.call(a,b,d);a.attr("style","").removeClass("drop-left drop-right drop-top").css({position:"absolute",width:"95%","max-width":"none",top:f.top}),a.css(Foundation.rtl?"right":"left",c)}else if("visible"!==e){var g=b[0].offsetTop+b[0].offsetHeight;a.attr("style","").css({position:"absolute",top:g}),a.css(Foundation.rtl?"right":"left",c)}else this.style(a,b,d);return a},style:function(b,c,d){var e=a.extend({position:"absolute"},this.dirs[d.align].call(b,c,d));b.attr("style","").css(e)},dirs:{_base:function(a,d){var e=this.offsetParent(),f=e.offset(),g=a.offset();g.top-=f.top,g.left-=f.left,g.missRight=!1,g.missTop=!1,g.missLeft=!1,g.leftRightFlag=!1;var h,i=b.innerWidth;h=c.getElementsByClassName("row")[0]?c.getElementsByClassName("row")[0].clientWidth:i;var j=(i-h)/2,k=h;if(!this.hasClass("mega")&&!d.ignore_repositioning){var l=this.outerWidth(),m=a.offset().left;a.offset().top<=this.outerHeight()&&(g.missTop=!0,k=i-j,g.leftRightFlag=!0),m+l>m+j&&m-j>l&&(g.missRight=!0,g.missLeft=!1),0>=m-l&&(g.missLeft=!0,g.missRight=!1)}return g},top:function(a,b){var c=Foundation.libs.dropdown,d=c.dirs._base.call(this,a,b);return this.addClass("drop-top"),1==d.missTop&&(d.top=d.top+a.outerHeight()+this.outerHeight(), +this.removeClass("drop-top")),1==d.missRight&&(d.left=d.left-this.outerWidth()+a.outerWidth()),(a.outerWidth()0)for(var d=this.S("["+this.add_namespace("data-uuid")+'="'+a+'"]');c--;){var e,f=b[c][2];if(e=this.settings.named_queries.hasOwnProperty(f)?matchMedia(this.settings.named_queries[f]):matchMedia(f),e.matches)return{el:d,scenario:b[c]}}return!1},load:function(a,b){return("undefined"==typeof this["cached_"+a]||b)&&this["update_"+a](),this["cached_"+a]},update_images:function(){var a=this.S("img["+this.data_attr+"]"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cache={},this.cached_images=[],this.images_loaded=0===b;c--;){if(d++,a[c]){var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_images.push(a[c])}d===b&&(this.images_loaded=!0,this.enhance("images"))}return this},update_nodes:function(){var a=this.S("["+this.data_attr+"]").not("img"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cached_nodes=[],this.nodes_loaded=0===b;c--;){d++;var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_nodes.push(a[c]),d===b&&(this.nodes_loaded=!0,this.enhance("nodes"))}return this},enhance:function(c){for(var d=this["cached_"+c].length;d--;)this.object(a(this["cached_"+c][d]));return a(b).trigger("resize.fndtn.interchange")},convert_directive:function(a){var b=this.trim(a);return b.length>0?b:"replace"},parse_scenario:function(a){var b=a[0].match(/(.+),\s*(\w+)\s*$/),c=a[1].match(/(.*)\)/);if(b)var d=b[1],e=b[2];else var f=a[0].split(/,\s*$/),d=f[0],e="";return[this.trim(d),this.convert_directive(e),this.trim(c[1])]},object:function(a){var b=this.parse_data_attr(a),c=[],d=b.length;if(d>0)for(;d--;){var e=b[d].split(/,\s?\(/);if(e.length>1){var f=this.parse_scenario(e);c.push(f)}}return this.store(a,c)},store:function(a,b){var c=this.random_str(),d=a.data(this.add_namespace("uuid",!0));return this.cache[d]?this.cache[d]:(a.attr(this.add_namespace("data-uuid"),c),this.cache[c]=b)},trim:function(b){return"string"==typeof b?a.trim(b):b},set_data_attr:function(a){return a?this.namespace.length>0?this.namespace+"-"+this.settings.load_attr:this.settings.load_attr:this.namespace.length>0?"data-"+this.namespace+"-"+this.settings.load_attr:"data-"+this.settings.load_attr},parse_data_attr:function(a){for(var b=a.attr(this.attr_name()).split(/\[(.*?)\]/),c=b.length,d=[];c--;)b[c].replace(/[\W\d]+/,"").length>4&&d.push(b[c]);return d},reflow:function(){this.load("images",!0),this.load("nodes",!0)}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.joyride={name:"joyride",version:"5.5.3",defaults:{expose:!1,modal:!0,keyboard:!0,tip_location:"bottom",nub_position:"auto",scroll_speed:1500,scroll_animation:"linear",timer:0,start_timer_on_click:!0,start_offset:0,next_button:!0,prev_button:!0,tip_animation:"fade",pause_after:[],exposed:[],tip_animation_fade_speed:300,cookie_monster:!1,cookie_name:"joyride",cookie_domain:!1,cookie_expires:365,tip_container:"body",abort_on_close:!0,tip_location_patterns:{top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},post_ride_callback:function(){},post_step_callback:function(){},pre_step_callback:function(){},pre_ride_callback:function(){},post_expose_callback:function(){},template:{link:'×',timer:'
    ',tip:'
    ',wrapper:'
    ',button:'',prev_button:'',modal:'
    ',expose:'
    ',expose_cover:'
    '},expose_add_class:""},init:function(b,c,d){Foundation.inherit(this,"throttle random_str"),this.settings=this.settings||a.extend({},this.defaults,d||c),this.bindings(c,d)},go_next:function(){this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())},go_prev:function(){this.settings.$li.prev().length<1||(this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(null,!0),this.startTimer()):(this.hide(),this.show(null,!0)))},events:function(){var c=this;a(this.scope).off(".joyride").on("click.fndtn.joyride",".joyride-next-tip, .joyride-modal-bg",function(a){a.preventDefault(),this.go_next()}.bind(this)).on("click.fndtn.joyride",".joyride-prev-tip",function(a){a.preventDefault(),this.go_prev()}.bind(this)).on("click.fndtn.joyride",".joyride-close-tip",function(a){a.preventDefault(),this.end(this.settings.abort_on_close)}.bind(this)).on("keyup.fndtn.joyride",function(a){if(this.settings.keyboard&&this.settings.riding)switch(a.which){case 39:a.preventDefault(),this.go_next();break;case 37:a.preventDefault(),this.go_prev();break;case 27:a.preventDefault(),this.end(this.settings.abort_on_close)}}.bind(this)),a(b).off(".joyride").on("resize.fndtn.joyride",c.throttle(function(){if(a("["+c.attr_name()+"]").length>0&&c.settings.$next_tip&&c.settings.riding){if(c.settings.exposed.length>0){var b=a(c.settings.exposed);b.each(function(){var b=a(this);c.un_expose(b),c.expose(b)})}c.is_phone()?c.pos_phone():c.pos_default(!1)}},100))},start:function(){var b=this,c=a("["+this.attr_name()+"]",this.scope),d=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],e=d.length;!c.length>0||(this.settings.init||this.events(),this.settings=c.data(this.attr_name(!0)+"-init"),this.settings.$content_el=c,this.settings.$body=a(this.settings.tip_container),this.settings.body_offset=a(this.settings.tip_container).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,this.settings.riding=!0,"function"!=typeof a.cookie&&(this.settings.cookie_monster=!1),(!this.settings.cookie_monster||this.settings.cookie_monster&&!a.cookie(this.settings.cookie_name))&&(this.settings.$tip_content.each(function(c){var f=a(this);this.settings=a.extend({},b.defaults,b.data_options(f));for(var g=e;g--;)b.settings[d[g]]=parseInt(b.settings[d[g]],10);b.create({$li:f,index:c})}),!this.settings.start_timer_on_click&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")))},resume:function(){this.set_li(),this.show()},tip_template:function(b){var c,d;return b.tip_class=b.tip_class||"",c=a(this.settings.template.tip).addClass(b.tip_class),d=a.trim(a(b.li).html())+this.prev_button_text(b.prev_button_text,b.index)+this.button_text(b.button_text)+this.settings.template.link+this.timer_instance(b.index),c.append(a(this.settings.template.wrapper)),c.first().attr(this.add_namespace("data-index"),b.index),a(".joyride-content-wrapper",c).append(d),c[0]},timer_instance:function(b){var c;return c=0===b&&this.settings.start_timer_on_click&&this.settings.timer>0||0===this.settings.timer?"":a(this.settings.template.timer)[0].outerHTML},button_text:function(b){return this.settings.tip_settings.next_button?(b=a.trim(b)||"Next",b=a(this.settings.template.button).append(b)[0].outerHTML):b="",b},prev_button_text:function(b,c){return this.settings.tip_settings.prev_button?(b=a.trim(b)||"Previous",b=0==c?a(this.settings.template.prev_button).append(b).addClass("disabled")[0].outerHTML:a(this.settings.template.prev_button).append(b)[0].outerHTML):b="",b},create:function(b){this.settings.tip_settings=a.extend({},this.settings,this.data_options(b.$li));var c=b.$li.attr(this.add_namespace("data-button"))||b.$li.attr(this.add_namespace("data-text")),d=b.$li.attr(this.add_namespace("data-button-prev"))||b.$li.attr(this.add_namespace("data-prev-text")),e=b.$li.attr("class"),f=a(this.tip_template({tip_class:e,index:b.index,button_text:c,prev_button_text:d,li:b.$li}));a(this.settings.tip_container).append(f)},show:function(b,c){var e=null;if(this.settings.$li===d||-1===a.inArray(this.settings.$li.index(),this.settings.pause_after))if(this.settings.paused?this.settings.paused=!1:this.set_li(b,c),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0){if(b&&(this.settings.pre_ride_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.pre_step_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tip_settings=a.extend({},this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tip_settings.tip_location_pattern=this.settings.tip_location_patterns[this.settings.tip_settings.tip_location],!/body/i.test(this.settings.$target.selector)&&!this.settings.expose){var f=a(".joyride-modal-bg");/pop/i.test(this.settings.tipAnimation)?f.hide():f.fadeOut(this.settings.tipAnimationFadeSpeed),this.scroll_to()}this.is_phone()?this.pos_phone(!0):this.pos_default(!0),e=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tip_animation)?(e.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tip_animation)&&(e.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed).show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed)),this.settings.$current_tip=this.settings.$next_tip}else this.settings.$li&&this.settings.$target.length<1?this.show(b,c):this.end();else this.settings.paused=!0},is_phone:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||a(".joyride-modal-bg").hide(),this.settings.$current_tip.css("visibility","hidden"),setTimeout(a.proxy(function(){this.hide(),this.css("visibility","visible")},this.settings.$current_tip),0),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(a,b){a?(this.settings.$li=this.settings.$tip_content.eq(this.settings.start_offset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(b?this.settings.$li=this.settings.$li.prev():this.settings.$li=this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=a(".joyride-tip-guide").eq(this.settings.$li.index()),this.settings.$next_tip.data("closed","")},set_target:function(){var b=this.settings.$li.attr(this.add_namespace("data-class")),d=this.settings.$li.attr(this.add_namespace("data-id")),e=function(){return d?a(c.getElementById(d)):b?a("."+b).first():a("body")};this.settings.$target=e()},scroll_to:function(){var c,d;c=a(b).height()/2,d=Math.ceil(this.settings.$target.offset().top-c+this.settings.$next_tip.outerHeight()),0!=d&&a("html, body").stop().animate({scrollTop:d},this.settings.scroll_speed,"swing")},paused:function(){return-1===a.inArray(this.settings.$li.index()+1,this.settings.pause_after)},restart:function(){this.hide(),this.settings.$li=d,this.show("init")},pos_default:function(a){var b=this.settings.$next_tip.find(".joyride-nub"),c=Math.ceil(b.outerWidth()/2),d=Math.ceil(b.outerHeight()/2),e=a||!1;if(e&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),/body/i.test(this.settings.$target.selector))this.settings.$li.length&&this.pos_modal(b);else{var f=this.settings.tip_settings.tipAdjustmentY?parseInt(this.settings.tip_settings.tipAdjustmentY):0,g=this.settings.tip_settings.tipAdjustmentX?parseInt(this.settings.tip_settings.tipAdjustmentX):0;this.bottom()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()+g}):this.settings.$next_tip.css({top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"top")):this.top()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()}):this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"bottom")):this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.outerWidth()+this.settings.$target.offset().left+c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.offset().left-this.settings.$next_tip.outerWidth()-c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"right")),!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts0&&arguments[0]instanceof a)e=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;e=this.settings.$target}return e.length<1?(b.console&&console.error("element not valid",e),!1):(c=a(this.settings.template.expose),this.settings.$body.append(c),c.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),d=a(this.settings.template.expose_cover),f={zIndex:e.css("z-index"),position:e.css("position")},g=null==e.attr("class")?"":e.attr("class"),e.css("z-index",parseInt(c.css("z-index"))+1),"static"==f.position&&e.css("position","relative"),e.data("expose-css",f),e.data("orig-class",g),e.attr("class",g+" "+this.settings.expose_add_class),d.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),this.settings.modal&&this.show_modal(),this.settings.$body.append(d),c.addClass(h),d.addClass(h),e.data("expose",h),this.settings.post_expose_callback(this.settings.$li.index(),this.settings.$next_tip,e),void this.add_exposed(e))},un_expose:function(){var c,d,e,f,g,h=!1;if(arguments.length>0&&arguments[0]instanceof a)d=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;d=this.settings.$target}return d.length<1?(b.console&&console.error("element not valid",d),!1):(c=d.data("expose"),e=a("."+c),arguments.length>1&&(h=arguments[1]),h===!0?a(".joyride-expose-wrapper,.joyride-expose-cover").remove():e.remove(),f=d.data("expose-css"),"auto"==f.zIndex?d.css("z-index",""):d.css("z-index",f.zIndex),f.position!=d.css("position")&&("static"==f.position?d.css("position",""):d.css("position",f.position)),g=d.data("orig-class"),d.attr("class",g),d.removeData("orig-classes"),d.removeData("expose"),d.removeData("expose-z-index"),void this.remove_exposed(d))},add_exposed:function(b){this.settings.exposed=this.settings.exposed||[],b instanceof a||"object"==typeof b?this.settings.exposed.push(b[0]):"string"==typeof b&&this.settings.exposed.push(b)},remove_exposed:function(b){var c,d;for(b instanceof a?c=b[0]:"string"==typeof b&&(c=b),this.settings.exposed=this.settings.exposed||[],d=this.settings.exposed.length;d--;)if(this.settings.exposed[d]==c)return void this.settings.exposed.splice(d,1)},center:function(){var c=a(b);return this.settings.$next_tip.css({top:(c.height()-this.settings.$next_tip.outerHeight())/2+c.scrollTop(),left:(c.width()-this.settings.$next_tip.outerWidth())/2+c.scrollLeft()}),!0},bottom:function(){return/bottom/i.test(this.settings.tip_settings.tip_location)},top:function(){return/top/i.test(this.settings.tip_settings.tip_location)},right:function(){return/right/i.test(this.settings.tip_settings.tip_location)},left:function(){return/left/i.test(this.settings.tip_settings.tip_location)},corners:function(c){if(0===c.length)return[!1,!1,!1,!1];var d=a(b),e=d.height()/2,f=Math.ceil(this.settings.$target.offset().top-e+this.settings.$next_tip.outerHeight()),g=d.width()+d.scrollLeft(),h=d.height()+f,i=d.height()+d.scrollTop(),j=d.scrollTop();return j>f&&(j=0>f?0:f),h>i&&(i=h),[c.offset().topc.offset().left]},visible:function(a){for(var b=a.length;b--;)if(a[b])return!1;return!0},nub_position:function(a,b,c){"auto"===b?a.addClass(c):a.addClass(b)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(b){this.settings.cookie_monster&&a.cookie(this.settings.cookie_name,"ridden",{expires:this.settings.cookie_expires,domain:this.settings.cookie_domain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),a(this.scope).off("keyup.joyride"),this.settings.$next_tip.data("closed",!0),this.settings.riding=!1,a(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),("undefined"==typeof b||b===!1)&&(this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip),this.settings.post_ride_callback(this.settings.$li.index(),this.settings.$current_tip)),a(".joyride-tip-guide").remove()},off:function(){a(this.scope).off(".joyride"),a(b).off(".joyride"),a(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),a(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate)},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs["magellan-expedition"]={name:"magellan-expedition",version:"5.5.3",settings:{active_class:"active",threshold:0,destination_threshold:20,throttle_delay:30,fixed_top:0,offset_by_height:!0,duration:700,easing:"swing"},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c)},events:function(){var b=this,c=b.S,d=b.settings;b.set_expedition_position(),c(b.scope).off(".magellan").on("click.fndtn.magellan","["+b.add_namespace("data-magellan-arrival")+"] a[href*=#]",function(c){var d=this.hostname===location.hostname||!this.hostname,e=b.filterPathname(location.pathname)===b.filterPathname(this.pathname),f=this.hash.replace(/(:|\.|\/)/g,"\\$1"),g=this;if(d&&e&&f){c.preventDefault();var h=a(this).closest("["+b.attr_name()+"]"),i=h.data("magellan-expedition-init"),j=this.hash.split("#").join(""),k=a('a[name="'+j+'"]');0===k.length&&(k=a("#"+j));var l=k.offset().top-i.destination_threshold+1;i.offset_by_height&&(l-=h.outerHeight()),a("html, body").stop().animate({scrollTop:l},i.duration,i.easing,function(){history.pushState?history.pushState(null,null,g.pathname+g.search+"#"+j):location.hash=g.pathname+g.search+"#"+j})}}).on("scroll.fndtn.magellan",b.throttle(this.check_for_arrivals.bind(this),d.throttle_delay))},check_for_arrivals:function(){var a=this;a.update_arrivals(),a.update_expedition_positions()},set_expedition_position:function(){var b=this;a("["+this.attr_name()+"=fixed]",b.scope).each(function(c,d){var e,f,g=a(this),h=g.data("magellan-expedition-init"),i=g.attr("styles");g.attr("style",""),e=g.offset().top+h.threshold,f=parseInt(g.data("magellan-fixed-top")),isNaN(f)||(b.settings.fixed_top=f),g.data(b.data_attr("magellan-top-offset"),e),g.attr("style",i)})},update_expedition_positions:function(){var c=this,d=a(b).scrollTop();a("["+this.attr_name()+"=fixed]",c.scope).each(function(){var b=a(this),e=b.data("magellan-expedition-init"),f=b.attr("style"),g=b.data("magellan-top-offset");if(d+c.settings.fixed_top>=g){var h=b.prev("["+c.add_namespace("data-magellan-expedition-clone")+"]");0===h.length&&(h=b.clone(),h.removeAttr(c.attr_name()),h.attr(c.add_namespace("data-magellan-expedition-clone"),""),b.before(h)),b.css({position:"fixed",top:e.fixed_top}).addClass("fixed")}else b.prev("["+c.add_namespace("data-magellan-expedition-clone")+"]").remove(),b.attr("style",f).css("position","").css("top","").removeClass("fixed")})},update_arrivals:function(){var c=this,d=a(b).scrollTop();a("["+this.attr_name()+"]",c.scope).each(function(){var b=a(this),e=b.data(c.attr_name(!0)+"-init"),f=c.offsets(b,d),g=b.find("["+c.add_namespace("data-magellan-arrival")+"]"),h=!1;f.each(function(a,d){if(d.viewport_offset>=d.top_offset){var f=b.find("["+c.add_namespace("data-magellan-arrival")+"]");return f.not(d.arrival).removeClass(e.active_class),d.arrival.addClass(e.active_class),h=!0,!0}}),h||g.removeClass(e.active_class)})},offsets:function(b,c){var d=this,e=b.data(d.attr_name(!0)+"-init"),f=c;return b.find("["+d.add_namespace("data-magellan-arrival")+"]").map(function(c,g){var h=a(this).data(d.data_attr("magellan-arrival")),i=a("["+d.add_namespace("data-magellan-destination")+"="+h+"]");if(i.length>0){var j=i.offset().top-e.destination_threshold;return e.offset_by_height&&(j-=b.outerHeight()),j=Math.floor(j),{destination:i,arrival:a(this),top_offset:j,viewport_offset:f}}}).sort(function(a,b){return a.top_offsetb.top_offset?1:0})},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},off:function(){this.S(this.scope).off(".magellan"),this.S(b).off(".magellan")},filterPathname:function(a){return a=a||"",a.replace(/^\//,"").replace(/(?:index|default).[a-zA-Z]{3,4}$/,"").replace(/\/$/,"")},reflow:function(){var b=this;a("["+b.add_namespace("data-magellan-expedition-clone")+"]",b.scope).remove()}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.offcanvas={name:"offcanvas",version:"5.5.3",settings:{open_method:"move",close_on_click:!1},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this,c=b.S,d="",e="",f="",g="",h="";"move"===this.settings.open_method?(d="move-",e="right",f="left",g="top",h="bottom"):"overlap_single"===this.settings.open_method?(d="offcanvas-overlap-",e="right",f="left",g="top",h="bottom"):"overlap"===this.settings.open_method&&(d="offcanvas-overlap"),c(this.scope).off(".offcanvas").on("click.fndtn.offcanvas",".left-off-canvas-toggle",function(f){b.click_toggle_class(f,d+e),"overlap"!==b.settings.open_method&&c(".left-submenu").removeClass(d+e),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".left-off-canvas-menu a",function(f){var g=b.get_settings(f),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(f.preventDefault(),c(this).siblings(".left-submenu").toggleClass(d+e)):h.hasClass("back")&&(f.preventDefault(),h.parent().removeClass(d+e)):(b.hide.call(b,d+e,b.get_wrapper(f)),h.parent().removeClass(d+e)),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-toggle",function(e){b.click_toggle_class(e,d+f),"overlap"!==b.settings.open_method&&c(".right-submenu").removeClass(d+f),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-menu a",function(e){var g=b.get_settings(e),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".right-submenu").toggleClass(d+f)):h.hasClass("back")&&(e.preventDefault(),h.parent().removeClass(d+f)):(b.hide.call(b,d+f,b.get_wrapper(e)),h.parent().removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true"); +}).on("click.fndtn.offcanvas",".top-off-canvas-toggle",function(e){b.click_toggle_class(e,d+h),"overlap"!==b.settings.open_method&&c(".top-submenu").removeClass(d+h),a(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".top-off-canvas-menu a",function(e){var f=b.get_settings(e),g=c(this).parent();!f.close_on_click||g.hasClass("has-submenu")||g.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".top-submenu").toggleClass(d+h)):g.hasClass("back")&&(e.preventDefault(),g.parent().removeClass(d+h)):(b.hide.call(b,d+h,b.get_wrapper(e)),g.parent().removeClass(d+h)),a(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-toggle",function(e){b.click_toggle_class(e,d+g),"overlap"!==b.settings.open_method&&c(".bottom-submenu").removeClass(d+g),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-menu a",function(e){var f=b.get_settings(e),h=c(this).parent();!f.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".bottom-submenu").toggleClass(d+g)):h.hasClass("back")&&(e.preventDefault(),h.parent().removeClass(d+g)):(b.hide.call(b,d+g,b.get_wrapper(e)),h.parent().removeClass(d+g)),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(g){b.click_remove_class(g,d+f),c(".right-submenu").removeClass(d+f),e&&(b.click_remove_class(g,d+e),c(".left-submenu").removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(c){b.click_remove_class(c,d+f),a(".left-off-canvas-toggle").attr("aria-expanded","false"),e&&(b.click_remove_class(c,d+e),a(".right-off-canvas-toggle").attr("aria-expanded","false"))}).on("click.fndtn.offcanvas",".exit-off-canvas",function(e){b.click_remove_class(e,d+g),c(".bottom-submenu").removeClass(d+g),h&&(b.click_remove_class(e,d+h),c(".top-submenu").removeClass(d+g)),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(c){b.click_remove_class(c,d+g),a(".top-off-canvas-toggle").attr("aria-expanded","false"),h&&(b.click_remove_class(c,d+h),a(".bottom-off-canvas-toggle").attr("aria-expanded","false"))})},toggle:function(a,b){b=b||this.get_wrapper(),b.is("."+a)?this.hide(a,b):this.show(a,b)},show:function(a,b){b=b||this.get_wrapper(),b.trigger("open.fndtn.offcanvas"),b.addClass(a)},hide:function(a,b){b=b||this.get_wrapper(),b.trigger("close.fndtn.offcanvas"),b.removeClass(a)},click_toggle_class:function(a,b){a.preventDefault();var c=this.get_wrapper(a);this.toggle(b,c)},click_remove_class:function(a,b){a.preventDefault();var c=this.get_wrapper(a);this.hide(b,c)},get_settings:function(a){var b=this.S(a.target).closest("["+this.attr_name()+"]");return b.data(this.attr_name(!0)+"-init")||this.settings},get_wrapper:function(a){var b=this.S(a?a.target:this.scope).closest(".off-canvas-wrap");return 0===b.length&&(b=this.S(".off-canvas-wrap")),b},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";var e=function(){},f=function(e,f){if(e.hasClass(f.slides_container_class))return this;var j,k,l,m,n,o,p=this,q=e,r=0,s=!1;p.slides=function(){return q.children(f.slide_selector)},p.slides().first().addClass(f.active_slide_class),p.update_slide_number=function(b){f.slide_number&&(k.find("span:first").text(parseInt(b)+1),k.find("span:last").text(p.slides().length)),f.bullets&&(l.children().removeClass(f.bullets_active_class),a(l.children().get(b)).addClass(f.bullets_active_class))},p.update_active_link=function(b){var c=a('[data-orbit-link="'+p.slides().eq(b).attr("data-orbit-slide")+'"]');c.siblings().removeClass(f.bullets_active_class),c.addClass(f.bullets_active_class)},p.build_markup=function(){q.wrap('
    '),j=q.parent(),q.addClass(f.slides_container_class),f.stack_on_small&&j.addClass(f.stack_on_small_class),f.navigation_arrows&&(j.append(a('').addClass(f.prev_class)),j.append(a('').addClass(f.next_class))),f.timer&&(m=a("
    ").addClass(f.timer_container_class),m.append(""),m.append(a("
    ").addClass(f.timer_progress_class)),m.addClass(f.timer_paused_class),j.append(m)),f.slide_number&&(k=a("
    ").addClass(f.slide_number_class),k.append(" "+f.slide_number_text+" "),j.append(k)),f.bullets&&(l=a("
      ").addClass(f.bullets_container_class),j.append(l),l.wrap('
      '),p.slides().each(function(b,c){var d=a("
    1. ").attr("data-orbit-slide",b).on("click",p.link_bullet);l.append(d)}))},p._goto=function(b,c){if(b===r)return!1;"object"==typeof o&&o.restart();var d=p.slides(),e="next";if(s=!0,r>b&&(e="prev"),b>=d.length){if(!f.circular)return!1;b=0}else if(0>b){if(!f.circular)return!1;b=d.length-1}var g=a(d.get(r)),h=a(d.get(b));g.css("zIndex",2),g.removeClass(f.active_slide_class),h.css("zIndex",4).addClass(f.active_slide_class),q.trigger("before-slide-change.fndtn.orbit"),f.before_slide_change(),p.update_active_link(b);var i=function(){var a=function(){r=b,s=!1,c===!0&&(o=p.create_timer(),o.start()),p.update_slide_number(r),q.trigger("after-slide-change.fndtn.orbit",[{slide_number:r,total_slides:d.length}]),f.after_slide_change(r,d.length)};q.outerHeight()!=h.outerHeight()&&f.variable_height?q.animate({height:h.outerHeight()},250,"linear",a):a()};if(1===d.length)return i(),!1;var j=function(){"next"===e&&n.next(g,h,i),"prev"===e&&n.prev(g,h,i)};h.outerHeight()>q.outerHeight()&&f.variable_height?q.animate({height:h.outerHeight()},250,"linear",j):j()},p.next=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r+1)},p.prev=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r-1)},p.link_custom=function(b){b.preventDefault();var c=a(this).attr("data-orbit-link");if("string"==typeof c&&""!=(c=a.trim(c))){var d=j.find("[data-orbit-slide="+c+"]");-1!=d.index()&&p._goto(d.index())}},p.link_bullet=function(b){var c=a(this).attr("data-orbit-slide");if("string"==typeof c&&""!=(c=a.trim(c)))if(isNaN(parseInt(c))){var d=j.find("[data-orbit-slide="+c+"]");-1!=d.index()&&p._goto(d.index()+1)}else p._goto(parseInt(c))},p.timer_callback=function(){p._goto(r+1,!0)},p.compute_dimensions=function(){var b=a(p.slides().get(r)),c=b.outerHeight();f.variable_height||p.slides().each(function(){a(this).outerHeight()>c&&(c=a(this).outerHeight())}),q.height(c)},p.create_timer=function(){var a=new g(j.find("."+f.timer_container_class),f,p.timer_callback);return a},p.stop_timer=function(){"object"==typeof o&&o.stop()},p.toggle_timer=function(){var a=j.find("."+f.timer_container_class);a.hasClass(f.timer_paused_class)?("undefined"==typeof o&&(o=p.create_timer()),o.start()):"object"==typeof o&&o.stop()},p.init=function(){p.build_markup(),f.timer&&(o=p.create_timer(),Foundation.utils.image_loaded(this.slides().children("img"),o.start)),n=new i(f,q),"slide"===f.animation&&(n=new h(f,q)),j.on("click","."+f.next_class,p.next),j.on("click","."+f.prev_class,p.prev),f.next_on_click&&j.on("click","."+f.slides_container_class+" [data-orbit-slide]",p.link_bullet),j.on("click",p.toggle_timer),f.swipe&&j.on("touchstart.fndtn.orbit",function(a){a.touches||(a=a.originalEvent);var b={start_page_x:a.touches[0].pageX,start_page_y:a.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};j.data("swipe-transition",b),a.stopPropagation()}).on("touchmove.fndtn.orbit",function(a){if(a.touches||(a=a.originalEvent),!(a.touches.length>1||a.scale&&1!==a.scale)){var b=j.data("swipe-transition");if("undefined"==typeof b&&(b={}),b.delta_x=a.touches[0].pageX-b.start_page_x,"undefined"==typeof b.is_scrolling&&(b.is_scrolling=!!(b.is_scrolling||Math.abs(b.delta_x)0?d(this.scope).on("open.fndtn.reveal",this.settings.open).on("opened.fndtn.reveal",this.settings.opened).on("opened.fndtn.reveal",this.open_video).on("close.fndtn.reveal",this.settings.close).on("closed.fndtn.reveal",this.settings.closed).on("closed.fndtn.reveal",this.close_video):d(this.scope).on("open.fndtn.reveal","["+b.attr_name()+"]",this.settings.open).on("opened.fndtn.reveal","["+b.attr_name()+"]",this.settings.opened).on("opened.fndtn.reveal","["+b.attr_name()+"]",this.open_video).on("close.fndtn.reveal","["+b.attr_name()+"]",this.settings.close).on("closed.fndtn.reveal","["+b.attr_name()+"]",this.settings.closed).on("closed.fndtn.reveal","["+b.attr_name()+"]",this.close_video),!0},key_up_on:function(a){var b=this;return b.S("body").off("keyup.fndtn.reveal").on("keyup.fndtn.reveal",function(a){var c=b.S("["+b.attr_name()+"].open"),d=c.data(b.attr_name(!0)+"-init")||b.settings;d&&27===a.which&&d.close_on_esc&&!b.locked&&b.close.call(b,c)}),!0},key_up_off:function(a){return this.S("body").off("keyup.fndtn.reveal"),!0},open:function(c,e){var g,h=this;c?"undefined"!=typeof c.selector?g=h.S("#"+c.data(h.data_attr("reveal-id"))).first():(g=h.S(this.scope),e=c):g=h.S(this.scope);var i=g.data(h.attr_name(!0)+"-init");if(i=i||this.settings,g.hasClass("open")&&c!==d&&c.attr("data-reveal-id")==g.attr("id"))return h.close(g);if(!g.hasClass("open")){var j=h.S("["+h.attr_name()+"].open");"undefined"==typeof g.data("css-top")&&g.data("css-top",parseInt(g.css("top"),10)).data("offset",this.cache_offset(g)),g.attr("tabindex","0").attr("aria-hidden","false"),this.key_up_on(g),g.on("open.fndtn.reveal",function(a){"fndtn.reveal"!==a.namespace}),g.on("open.fndtn.reveal").trigger("open.fndtn.reveal"),j.length<1&&this.toggle_bg(g,!0),"string"==typeof e&&(e={url:e});var k=function(){j.length>0&&(i.multiple_opened?h.to_back(j):h.hide(j,i.css.close)),i.multiple_opened&&f.push(g),h.show(g,i.css.open)};if("undefined"!=typeof e&&e.url){var l="undefined"!=typeof e.success?e.success:null;a.extend(e,{success:function(b,c,d){if(a.isFunction(l)){var e=l(b,c,d);"string"==typeof e&&(b=e)}"undefined"!=typeof options&&"undefined"!=typeof options.replaceContentSel?g.find(options.replaceContentSel).html(b):g.html(b),h.S(g).foundation("section","reflow"),h.S(g).children().foundation(),k()}}),i.on_ajax_error!==a.noop&&a.extend(e,{error:i.on_ajax_error}),a.ajax(e)}else k()}h.S(b).trigger("resize")},close:function(b){var b=b&&b.length?b:this.S(this.scope),c=this.S("["+this.attr_name()+"].open"),d=b.data(this.attr_name(!0)+"-init")||this.settings,e=this;if(c.length>0)if(b.removeAttr("tabindex","0").attr("aria-hidden","true"),this.locked=!0,this.key_up_off(b),b.trigger("close.fndtn.reveal"),(d.multiple_opened&&1===c.length||!d.multiple_opened||b.length>1)&&(e.toggle_bg(b,!1),e.to_front(b)),d.multiple_opened){var g=b.is(":not(.toback)");e.hide(b,d.css.close,d),g?f.pop():f=a.grep(f,function(a){var c=a[0]===b[0];return c&&e.to_front(b),!c}),f.length>0&&e.to_front(f[f.length-1])}else e.hide(c,d.css.close,d)},close_targets:function(){var a="."+this.settings.dismiss_modal_class;return this.settings.close_on_background_click?a+", ."+this.settings.bg_class:a},toggle_bg:function(b,c){0===this.S("."+this.settings.bg_class).length&&(this.settings.bg=a("
      ",{"class":this.settings.bg_class}).appendTo("body").hide());var e=this.settings.bg.filter(":visible").length>0;c!=e&&((c==d?e:!c)?this.hide(this.settings.bg):this.show(this.settings.bg))},show:function(c,d){if(d){var f=c.data(this.attr_name(!0)+"-init")||this.settings,g=f.root_element,h=this;if(0===c.parent(g).length){var i=c.wrap('
      ').parent();c.on("closed.fndtn.reveal.wrapped",function(){c.detach().appendTo(i),c.unwrap().unbind("closed.fndtn.reveal.wrapped")}),c.detach().appendTo(g)}var j=e(f.animation);if(j.animate||(this.locked=!1),j.pop){d.top=a(b).scrollTop()-c.data("offset")+"px";var k={top:a(b).scrollTop()+c.data("css-top")+"px",opacity:1};return setTimeout(function(){return c.css(d).animate(k,f.animation_speed,"linear",function(){h.locked=!1,c.trigger("opened.fndtn.reveal")}).addClass("open")},f.animation_speed/2)}if(d.top=a(b).scrollTop()+c.data("css-top")+"px",j.fade){var k={opacity:1};return setTimeout(function(){return c.css(d).animate(k,f.animation_speed,"linear",function(){h.locked=!1,c.trigger("opened.fndtn.reveal")}).addClass("open")},f.animation_speed/2)}return c.css(d).show().css({opacity:1}).addClass("open").trigger("opened.fndtn.reveal")}var f=this.settings;return e(f.animation).fade?c.fadeIn(f.animation_speed/2):(this.locked=!1,c.show())},to_back:function(a){a.addClass("toback")},to_front:function(a){a.removeClass("toback")},hide:function(c,d){if(d){var f=c.data(this.attr_name(!0)+"-init"),g=this;f=f||this.settings;var h=e(f.animation);if(h.animate||(this.locked=!1),h.pop){var i={top:-a(b).scrollTop()-c.data("offset")+"px",opacity:0};return setTimeout(function(){return c.animate(i,f.animation_speed,"linear",function(){g.locked=!1,c.css(d).trigger("closed.fndtn.reveal")}).removeClass("open")},f.animation_speed/2)}if(h.fade){var i={opacity:0};return setTimeout(function(){return c.animate(i,f.animation_speed,"linear",function(){g.locked=!1,c.css(d).trigger("closed.fndtn.reveal")}).removeClass("open")},f.animation_speed/2)}return c.hide().css(d).removeClass("open").trigger("closed.fndtn.reveal")}var f=this.settings;return e(f.animation).fade?c.fadeOut(f.animation_speed/2):c.hide()},close_video:function(b){var c=a(".flex-video",b.target),d=a("iframe",c);d.length>0&&(d.attr("data-src",d[0].src),d.attr("src",d.attr("src")),c.hide())},open_video:function(b){var c=a(".flex-video",b.target),e=c.find("iframe");if(e.length>0){var f=e.attr("data-src");if("string"==typeof f)e[0].src=e.attr("data-src");else{var g=e[0].src;e[0].src=d,e[0].src=g}c.show()}},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},cache_offset:function(a){var b=a.show().height()+parseInt(a.css("top"),10)+a.scrollY;return a.hide(),b},off:function(){a(this.scope).off(".fndtn.reveal")},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.slider={name:"slider",version:"5.5.3",settings:{start:0,end:100,step:1,precision:2,initial:null,display_selector:"",vertical:!1,trigger_input_change:!1,on_change:function(){}},cache:{},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c),this.reflow()},events:function(){var c=this;a(this.scope).off(".slider").on("mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider","["+c.attr_name()+"]:not(.disabled, [disabled]) .range-slider-handle",function(b){c.cache.active||(b.preventDefault(),c.set_active_slider(a(b.target)))}).on("mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider",function(d){if(c.cache.active)if(d.preventDefault(),a.data(c.cache.active[0],"settings").vertical){var e=0;d.pageY||(e=b.scrollY),c.calculate_position(c.cache.active,c.get_cursor_position(d,"y")+e)}else c.calculate_position(c.cache.active,c.get_cursor_position(d,"x"))}).on("mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider",function(d){if(!c.cache.active){var e="slider"===a(d.target).attr("role")?a(d.target):a(d.target).closest(".range-slider").find("[role='slider']");if(e.length&&!e.parent().hasClass("disabled")&&!e.parent().attr("disabled"))if(c.set_active_slider(e),a.data(c.cache.active[0],"settings").vertical){var f=0;d.pageY||(f=b.scrollY),c.calculate_position(c.cache.active,c.get_cursor_position(d,"y")+f)}else c.calculate_position(c.cache.active,c.get_cursor_position(d,"x"))}c.remove_active_slider()}).on("change.fndtn.slider",function(a){c.settings.on_change()}),c.S(b).on("resize.fndtn.slider",c.throttle(function(a){c.reflow()},300)),this.S("["+this.attr_name()+"]").each(function(){var b=a(this),d=b.children(".range-slider-handle")[0],e=c.initialize_settings(d);""!=e.display_selector&&a(e.display_selector).each(function(){a(this).attr("value")&&a(this).off("change").on("change",function(){b.foundation("slider","set_value",a(this).val())})})})},get_cursor_position:function(a,b){var c,d="page"+b.toUpperCase(),e="client"+b.toUpperCase();return"undefined"!=typeof a[d]?c=a[d]:"undefined"!=typeof a.originalEvent[e]?c=a.originalEvent[e]:a.originalEvent.touches&&a.originalEvent.touches[0]&&"undefined"!=typeof a.originalEvent.touches[0][e]?c=a.originalEvent.touches[0][e]:a.currentPoint&&"undefined"!=typeof a.currentPoint[b]&&(c=a.currentPoint[b]),c},set_active_slider:function(a){this.cache.active=a},remove_active_slider:function(){this.cache.active=null},calculate_position:function(b,c){var d=this,e=a.data(b[0],"settings"),f=(a.data(b[0],"handle_l"),a.data(b[0],"handle_o"),a.data(b[0],"bar_l")),g=a.data(b[0],"bar_o");requestAnimationFrame(function(){var a;a=Foundation.rtl&&!e.vertical?d.limit_to((g+f-c)/f,0,1):d.limit_to((c-g)/f,0,1),a=e.vertical?1-a:a;var h=d.normalized_value(a,e.start,e.end,e.step,e.precision);d.set_ui(b,h)})},set_ui:function(b,c){var d=a.data(b[0],"settings"),e=a.data(b[0],"handle_l"),f=a.data(b[0],"bar_l"),g=this.normalized_percentage(c,d.start,d.end),h=g*(f-e)-1,i=100*g,j=b.parent(),k=b.parent().children("input[type=hidden]");Foundation.rtl&&!d.vertical&&(h=-h),h=d.vertical?-h+f-e+1:h,this.set_translate(b,h,d.vertical),d.vertical?b.siblings(".range-slider-active-segment").css("height",i+"%"):b.siblings(".range-slider-active-segment").css("width",i+"%"),j.attr(this.attr_name(),c).trigger("change.fndtn.slider"),k.val(c),d.trigger_input_change&&k.trigger("change.fndtn.slider"),b[0].hasAttribute("aria-valuemin")||b.attr({"aria-valuemin":d.start,"aria-valuemax":d.end}),b.attr("aria-valuenow",c),""!=d.display_selector&&a(d.display_selector).each(function(){this.hasAttribute("value")?a(this).val(c):a(this).text(c)})},normalized_percentage:function(a,b,c){return Math.min(1,(a-b)/(c-b))},normalized_value:function(a,b,c,d,e){var f=c-b,g=a*f,h=(g-g%d)/d,i=g%d,j=i>=.5*d?d:0;return(h*d+j+b).toFixed(e)},set_translate:function(b,c,d){d?a(b).css("-webkit-transform","translateY("+c+"px)").css("-moz-transform","translateY("+c+"px)").css("-ms-transform","translateY("+c+"px)").css("-o-transform","translateY("+c+"px)").css("transform","translateY("+c+"px)"):a(b).css("-webkit-transform","translateX("+c+"px)").css("-moz-transform","translateX("+c+"px)").css("-ms-transform","translateX("+c+"px)").css("-o-transform","translateX("+c+"px)").css("transform","translateX("+c+"px)")},limit_to:function(a,b,c){return Math.min(Math.max(a,b),c)},initialize_settings:function(b){var c,d=a.extend({},this.settings,this.data_options(a(b).parent()));return null===d.precision&&(c=(""+d.step).match(/\.([\d]*)/),d.precision=c&&c[1]?c[1].length:0),d.vertical?(a.data(b,"bar_o",a(b).parent().offset().top),a.data(b,"bar_l",a(b).parent().outerHeight()),a.data(b,"handle_o",a(b).offset().top),a.data(b,"handle_l",a(b).outerHeight())):(a.data(b,"bar_o",a(b).parent().offset().left),a.data(b,"bar_l",a(b).parent().outerWidth()),a.data(b,"handle_o",a(b).offset().left),a.data(b,"handle_l",a(b).outerWidth())),a.data(b,"bar",a(b).parent()),a.data(b,"settings",d)},set_initial_position:function(b){var c=a.data(b.children(".range-slider-handle")[0],"settings"),d="number"!=typeof c.initial||isNaN(c.initial)?Math.floor(.5*(c.end-c.start)/c.step)*c.step+c.start:c.initial,e=b.children(".range-slider-handle");this.set_ui(e,d)},set_value:function(b){var c=this;a("["+c.attr_name()+"]",this.scope).each(function(){a(this).attr(c.attr_name(),b)}),a(this.scope).attr(c.attr_name())&&a(this.scope).attr(c.attr_name(),b),c.reflow()},reflow:function(){var b=this;b.S("["+this.attr_name()+"]").each(function(){var c=a(this).children(".range-slider-handle")[0],d=a(this).attr(b.attr_name());b.initialize_settings(c),d?b.set_ui(a(c),parseFloat(d)):b.set_initial_position(a(this))})}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.tab={name:"tab",version:"5.5.3",settings:{active_class:"active",callback:function(){},deep_linking:!1,scroll_to_content:!0,is_hover:!1},default_tab_hashes:[],init:function(a,b,c){var d=this,e=this.S;e("["+this.attr_name()+"] > .active > a",this.scope).each(function(){d.default_tab_hashes.push(this.hash)}),this.bindings(b,c),this.handle_location_hash_change()},events:function(){var a=this,c=this.S,d=function(b,d){var e=c(d).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");if(!e.is_hover||Modernizr.touch){var f=b.keyCode||b.which;9!==f&&(b.preventDefault(),b.stopPropagation()),a.toggle_active_tab(c(d).parent())}};c(this.scope).off(".tab").on("keydown.fndtn.tab","["+this.attr_name()+"] > * > a",function(a){var b=a.keyCode||a.which;if(13===b||32===b){var c=this;d(a,c)}}).on("click.fndtn.tab","["+this.attr_name()+"] > * > a",function(a){var b=this;d(a,b)}).on("mouseenter.fndtn.tab","["+this.attr_name()+"] > * > a",function(b){var d=c(this).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");d.is_hover&&a.toggle_active_tab(c(this).parent())}),c(b).on("hashchange.fndtn.tab",function(b){b.preventDefault(),a.handle_location_hash_change()})},handle_location_hash_change:function(){var b=this,c=this.S;c("["+this.attr_name()+"]",this.scope).each(function(){var e=c(this).data(b.attr_name(!0)+"-init");if(e.deep_linking){var f;if(f=e.scroll_to_content?b.scope.location.hash:b.scope.location.hash.replace("fndtn-",""),""!=f){var g=c(f);if(g.hasClass("content")&&g.parent().hasClass("tabs-content"))b.toggle_active_tab(a("["+b.attr_name()+"] > * > a[href="+f+"]").parent());else{var h=g.closest(".content").attr("id");h!=d&&b.toggle_active_tab(a("["+b.attr_name()+"] > * > a[href=#"+h+"]").parent(),f)}}else for(var i=0;i * > a[href="+b.default_tab_hashes[i]+"]").parent())}})},toggle_active_tab:function(e,f){var g=this,h=g.S,i=e.closest("["+this.attr_name()+"]"),j=e.find("a"),k=e.children("a").first(),l="#"+k.attr("href").split("#")[1],m=h(l),n=e.siblings(),o=i.data(this.attr_name(!0)+"-init"),p=function(b){var d,e=a(this),f=a(this).parents("li").prev().children('[role="tab"]'),g=a(this).parents("li").next().children('[role="tab"]');switch(b.keyCode){case 37:d=f;break;case 39:d=g;break;default:d=!1}d.length&&(e.attr({tabindex:"-1","aria-selected":null}),d.attr({tabindex:"0","aria-selected":!0}).focus()),a('[role="tabpanel"]').attr("aria-hidden","true"),a("#"+a(c.activeElement).attr("href").substring(1)).attr("aria-hidden",null)},q=function(a){var c=o.scroll_to_content?g.default_tab_hashes[0]:"fndtn-"+g.default_tab_hashes[0].replace("#","");(a!==c||b.location.hash)&&(b.location.hash=a)};k.data("tab-content")&&(l="#"+k.data("tab-content").split("#")[1],m=h(l)),o.deep_linking&&(o.scroll_to_content?(q(f||l),f==d||f==l?e.parent()[0].scrollIntoView():h(l)[0].scrollIntoView()):q(f!=d?"fndtn-"+f.replace("#",""):"fndtn-"+l.replace("#",""))),e.addClass(o.active_class).triggerHandler("opened"),j.attr({"aria-selected":"true",tabindex:0}),n.removeClass(o.active_class),n.find("a").attr({"aria-selected":"false"}),m.siblings().removeClass(o.active_class).attr({"aria-hidden":"true"}),m.addClass(o.active_class).attr("aria-hidden","false").removeAttr("tabindex"),o.callback(e),m.triggerHandler("toggled",[m]),i.triggerHandler("toggled",[e]),j.off("keydown").on("keydown",p)},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.tooltip={name:"tooltip",version:"5.5.3",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,hover_delay:200,fade_in_duration:150,fade_out_duration:150,show_on:"all",tip_template:function(a,b){return''+b+''}},cache:{},init:function(a,b,c){Foundation.inherit(this,"random_str"),this.bindings(b,c)},should_show:function(b,c){var d=a.extend({},this.settings,this.data_options(b));return"all"===d.show_on?!0:this.small()&&"small"===d.show_on?!0:this.medium()&&"medium"===d.show_on?!0:this.large()&&"large"===d.show_on?!0:!1},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},events:function(b){function c(a,b,c){a.timer||(c?(a.timer=null,e.showTip(b)):a.timer=setTimeout(function(){a.timer=null,e.showTip(b)}.bind(a),e.settings.hover_delay))}function d(a,b){a.timer&&(clearTimeout(a.timer),a.timer=null),e.hide(b)}var e=this,f=e.S;e.create(this.S(b)),a(this.scope).off(".tooltip").on("mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"]",function(b){var g=f(this),h=a.extend({},e.settings,e.data_options(g)),i=!1;if(Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&f(b.target).is("a"))return!1;if(/mouse/i.test(b.type)&&e.ie_touch(b))return!1;if(g.hasClass("open"))Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&b.preventDefault(),e.hide(g);else{if(h.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type))return;if(!h.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&(b.preventDefault(),f(h.tooltip_class+".open").hide(),i=!0,a(".open["+e.attr_name()+"]").length>0)){var j=f(a(".open["+e.attr_name()+"]")[0]);e.hide(j)}/enter|over/i.test(b.type)?c(this,g):"mouseout"===b.type||"mouseleave"===b.type?d(this,g):c(this,g,!0)}}).on("mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"].open",function(b){return/mouse/i.test(b.type)&&e.ie_touch(b)?!1:void(("touch"!=a(this).data("tooltip-open-event-type")||"mouseleave"!=b.type)&&("mouse"==a(this).data("tooltip-open-event-type")&&/MSPointerDown|touchstart/i.test(b.type)?e.convert_to_touch(a(this)):d(this,a(this))))}).on("DOMNodeRemoved DOMAttrModified","["+this.attr_name()+"]:not(a)",function(a){d(this,f(this))})},ie_touch:function(a){return!1},showTip:function(a){var b=this.getTip(a);return this.should_show(a,b)?this.show(a):void 0},getTip:function(b){var c=this.selector(b),d=a.extend({},this.settings,this.data_options(b)),e=null;return c&&(e=this.S('span[data-selector="'+c+'"]'+d.tooltip_class)),"object"==typeof e?e:!1},selector:function(a){var b=a.attr(this.attr_name())||a.attr("data-selector");return"string"!=typeof b&&(b=this.random_str(6),a.attr("data-selector",b).attr("aria-describedby",b)),b},create:function(c){var d=this,e=a.extend({},this.settings,this.data_options(c)),f=this.settings.tip_template;"string"==typeof e.tip_template&&b.hasOwnProperty(e.tip_template)&&(f=b[e.tip_template]); +var g=a(f(this.selector(c),a("
      ").html(c.attr("title")).html())),h=this.inheritable_classes(c);g.addClass(h).appendTo(e.append_to),Modernizr.touch&&(g.append(''+e.touch_close_text+""),g.on("touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip",function(a){d.hide(c)})),c.removeAttr("title").attr("title","")},reposition:function(b,c,d){var e,f,g,h,i;c.css("visibility","hidden").show(),e=b.data("width"),f=c.children(".nub"),g=f.outerHeight(),h=f.outerWidth(),this.small()?c.css({width:"100%"}):c.css({width:e?e:"auto"}),i=function(a,b,c,d,e,f){return a.css({top:b?b:"auto",bottom:d?d:"auto",left:e?e:"auto",right:c?c:"auto"}).end()};var j=b.offset().top,k=b.offset().left,l=b.outerHeight();if(i(c,j+l+10,"auto","auto",k),this.small())i(c,j+l+10,"auto","auto",12.5,a(this.scope).width()),c.addClass("tip-override"),i(f,-g,"auto","auto",k);else{Foundation.rtl&&(f.addClass("rtl"),k=k+b.outerWidth()-c.outerWidth()),i(c,j+l+10,"auto","auto",k),f.attr("style")&&f.removeAttr("style"),c.removeClass("tip-override");var m=c.outerHeight();d&&d.indexOf("tip-top")>-1?(Foundation.rtl&&f.addClass("rtl"),i(c,j-m,"auto","auto",k).removeClass("tip-override")):d&&d.indexOf("tip-left")>-1?(i(c,j+l/2-m/2,"auto","auto",k-c.outerWidth()-g).removeClass("tip-override"),f.removeClass("rtl")):d&&d.indexOf("tip-right")>-1&&(i(c,j+l/2-m/2,"auto","auto",k+b.outerWidth()+g).removeClass("tip-override"),f.removeClass("rtl"))}c.css("visibility","visible").hide()},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},inheritable_classes:function(b){var c=a.extend({},this.settings,this.data_options(b)),d=["tip-top","tip-left","tip-bottom","tip-right","radius","round"].concat(c.additional_inheritable_classes),e=b.attr("class"),f=e?a.map(e.split(" "),function(b,c){return-1!==a.inArray(b,d)?b:void 0}).join(" "):"";return a.trim(f)},convert_to_touch:function(b){var c=this,d=c.getTip(b),e=a.extend({},c.settings,c.data_options(b));0===d.find(".tap-to-close").length&&(d.append(''+e.touch_close_text+""),d.on("click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose",function(a){c.hide(b)})),b.data("tooltip-open-event-type","touch")},show:function(a){var b=this.getTip(a);"touch"==a.data("tooltip-open-event-type")&&this.convert_to_touch(a),this.reposition(a,b,a.attr("class")),a.addClass("open"),b.fadeIn(this.settings.fade_in_duration)},hide:function(a){var b=this.getTip(a);b.fadeOut(this.settings.fade_out_duration,function(){b.find(".tap-to-close").remove(),b.off("click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose"),a.removeClass("open")})},off:function(){var b=this;this.S(this.scope).off(".fndtn.tooltip"),this.S(this.settings.tooltip_class).each(function(c){a("["+b.attr_name()+"]").eq(c).attr("title",a(this).text())}).remove()},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.topbar={name:"topbar",version:"5.5.3",settings:{index:0,start_offset:0,sticky_class:"sticky",custom_back_text:!0,back_text:"Back",mobile_show_parent_link:!0,is_hover:!0,scrolltop:!0,sticky_on:"all",dropdown_autoclose:!0},init:function(b,c,d){Foundation.inherit(this,"add_custom_rule register_media throttle");var e=this;e.register_media("topbar","foundation-mq-topbar"),this.bindings(c,d),e.S("["+this.attr_name()+"]",this.scope).each(function(){var b=a(this),c=b.data(e.attr_name(!0)+"-init");e.S("section, .top-bar-section",this);b.data("index",0);var d=b.parent();d.hasClass("fixed")||e.is_sticky(b,d,c)?(e.settings.sticky_class=c.sticky_class,e.settings.sticky_topbar=b,b.data("height",d.outerHeight()),b.data("stickyoffset",d.offset().top)):b.data("height",b.outerHeight()),c.assembled||e.assemble(b),c.is_hover?e.S(".has-dropdown",b).addClass("not-click"):e.S(".has-dropdown",b).removeClass("not-click"),e.add_custom_rule(".f-topbar-fixed { padding-top: "+b.data("height")+"px }"),d.hasClass("fixed")&&e.S("body").addClass("f-topbar-fixed")})},is_sticky:function(a,b,c){var d=b.hasClass(c.sticky_class),e=matchMedia(Foundation.media_queries.small).matches,f=matchMedia(Foundation.media_queries.medium).matches,g=matchMedia(Foundation.media_queries.large).matches;return d&&"all"===c.sticky_on?!0:d&&this.small()&&-1!==c.sticky_on.indexOf("small")&&e&&!f&&!g?!0:d&&this.medium()&&-1!==c.sticky_on.indexOf("medium")&&e&&f&&!g?!0:d&&this.large()&&-1!==c.sticky_on.indexOf("large")&&e&&f&&g?!0:!1},toggle:function(c){var d,e=this;d=c?e.S(c).closest("["+this.attr_name()+"]"):e.S("["+this.attr_name()+"]");var f=d.data(this.attr_name(!0)+"-init"),g=e.S("section, .top-bar-section",d);e.breakpoint()&&(e.rtl?(g.css({right:"0%"}),a(">.name",g).css({right:"100%"})):(g.css({left:"0%"}),a(">.name",g).css({left:"100%"})),e.S("li.moved",g).removeClass("moved"),d.data("index",0),d.toggleClass("expanded").css("height","")),f.scrolltop?d.hasClass("expanded")?d.parent().hasClass("fixed")&&(f.scrolltop?(d.parent().removeClass("fixed"),d.addClass("fixed"),e.S("body").removeClass("f-topbar-fixed"),b.scrollTo(0,0)):d.parent().removeClass("expanded")):d.hasClass("fixed")&&(d.parent().addClass("fixed"),d.removeClass("fixed"),e.S("body").addClass("f-topbar-fixed")):(e.is_sticky(d,d.parent(),f)&&d.parent().addClass("fixed"),d.parent().hasClass("fixed")&&(d.hasClass("expanded")?(d.addClass("fixed"),d.parent().addClass("expanded"),e.S("body").addClass("f-topbar-fixed")):(d.removeClass("fixed"),d.parent().removeClass("expanded"),e.update_sticky_positioning())))},timer:null,events:function(c){var d=this,e=this.S;e(this.scope).off(".topbar").on("click.fndtn.topbar","["+this.attr_name()+"] .toggle-topbar",function(a){a.preventDefault(),d.toggle(this)}).on("click.fndtn.topbar contextmenu.fndtn.topbar",'.top-bar .top-bar-section li a[href^="#"],['+this.attr_name()+'] .top-bar-section li a[href^="#"]',function(b){var c=a(this).closest("li"),e=c.closest("["+d.attr_name()+"]"),f=e.data(d.attr_name(!0)+"-init");if(f.dropdown_autoclose&&f.is_hover){var g=a(this).closest(".hover");g.removeClass("hover")}!d.breakpoint()||c.hasClass("back")||c.hasClass("has-dropdown")||d.toggle()}).on("click.fndtn.topbar","["+this.attr_name()+"] li.has-dropdown",function(b){var c=e(this),f=e(b.target),g=c.closest("["+d.attr_name()+"]"),h=g.data(d.attr_name(!0)+"-init");return f.data("revealId")?void d.toggle():void(d.breakpoint()||(!h.is_hover||Modernizr.touch)&&(b.stopImmediatePropagation(),c.hasClass("hover")?(c.removeClass("hover").find("li").removeClass("hover"),c.parents("li.hover").removeClass("hover")):(c.addClass("hover"),a(c).siblings().removeClass("hover"),"A"===f[0].nodeName&&f.parent().hasClass("has-dropdown")&&b.preventDefault())))}).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown>a",function(a){if(d.breakpoint()){a.preventDefault();var b=e(this),c=b.closest("["+d.attr_name()+"]"),f=c.find("section, .top-bar-section"),g=(b.next(".dropdown").outerHeight(),b.closest("li"));c.data("index",c.data("index")+1),g.addClass("moved"),d.rtl?(f.css({right:-(100*c.data("index"))+"%"}),f.find(">.name").css({right:100*c.data("index")+"%"})):(f.css({left:-(100*c.data("index"))+"%"}),f.find(">.name").css({left:100*c.data("index")+"%"})),c.css("height",b.siblings("ul").outerHeight(!0)+c.data("height"))}}),e(b).off(".topbar").on("resize.fndtn.topbar",d.throttle(function(){d.resize.call(d)},50)).trigger("resize.fndtn.topbar").load(function(){e(this).trigger("resize.fndtn.topbar")}),e("body").off(".topbar").on("click.fndtn.topbar",function(a){var b=e(a.target).closest("li").closest("li.hover");b.length>0||e("["+d.attr_name()+"] li.hover").removeClass("hover")}),e(this.scope).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown .back",function(a){a.preventDefault();var b=e(this),c=b.closest("["+d.attr_name()+"]"),f=c.find("section, .top-bar-section"),g=(c.data(d.attr_name(!0)+"-init"),b.closest("li.moved")),h=g.parent();c.data("index",c.data("index")-1),d.rtl?(f.css({right:-(100*c.data("index"))+"%"}),f.find(">.name").css({right:100*c.data("index")+"%"})):(f.css({left:-(100*c.data("index"))+"%"}),f.find(">.name").css({left:100*c.data("index")+"%"})),0===c.data("index")?c.css("height",""):c.css("height",h.outerHeight(!0)+c.data("height")),setTimeout(function(){g.removeClass("moved")},300)}),e(this.scope).find(".dropdown a").focus(function(){a(this).parents(".has-dropdown").addClass("hover")}).blur(function(){a(this).parents(".has-dropdown").removeClass("hover")})},resize:function(){var a=this;a.S("["+this.attr_name()+"]").each(function(){var b,d=a.S(this),e=d.data(a.attr_name(!0)+"-init"),f=d.parent("."+a.settings.sticky_class);if(!a.breakpoint()){var g=d.hasClass("expanded");d.css("height","").removeClass("expanded").find("li").removeClass("hover"),g&&a.toggle(d)}a.is_sticky(d,f,e)&&(f.hasClass("fixed")?(f.removeClass("fixed"),b=f.offset().top,a.S(c.body).hasClass("f-topbar-fixed")&&(b-=d.data("height")),d.data("stickyoffset",b),f.addClass("fixed")):(b=f.offset().top,d.data("stickyoffset",b)))})},breakpoint:function(){return!matchMedia(Foundation.media_queries.topbar).matches},small:function(){return matchMedia(Foundation.media_queries.small).matches},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},assemble:function(b){var c=this,d=b.data(this.attr_name(!0)+"-init"),e=c.S("section, .top-bar-section",b);e.detach(),c.S(".has-dropdown>a",e).each(function(){var b,e=c.S(this),f=e.siblings(".dropdown"),g=e.attr("href");f.find(".title.back").length||(b=a(1==d.mobile_show_parent_link&&g?'
    2. ":'
    3. '),1==d.custom_back_text?a("h5>a",b).html(d.back_text):a("h5>a",b).html("« "+e.html()),f.prepend(b))}),e.appendTo(b),this.sticky(),this.assembled(b)},assembled:function(b){b.data(this.attr_name(!0),a.extend({},b.data(this.attr_name(!0)),{assembled:!0}))},height:function(b){var c=0,d=this;return a("> li",b).each(function(){c+=d.S(this).outerHeight(!0)}),c},sticky:function(){var a=this;this.S(b).on("scroll",function(){a.update_sticky_positioning()})},update_sticky_positioning:function(){var a="."+this.settings.sticky_class,c=this.S(b),d=this;if(d.settings.sticky_topbar&&d.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(),this.settings)){var e=this.settings.sticky_topbar.data("stickyoffset")+this.settings.start_offset;d.S(a).hasClass("expanded")||(c.scrollTop()>e?d.S(a).hasClass("fixed")||(d.S(a).addClass("fixed"),d.S("body").addClass("f-topbar-fixed")):c.scrollTop()<=e&&d.S(a).hasClass("fixed")&&(d.S(a).removeClass("fixed"),d.S("body").removeClass("f-topbar-fixed")))}},off:function(){this.S(this.scope).off(".fndtn.topbar"),this.S(b).off(".fndtn.topbar")},reflow:function(){}}}(jQuery,window,window.document); \ No newline at end of file diff --git a/js/foundation/js/foundation/foundation.abide.js b/js/foundation/js/foundation/foundation.abide.js new file mode 100644 index 0000000..82ea787 --- /dev/null +++ b/js/foundation/js/foundation/foundation.abide.js @@ -0,0 +1,426 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.abide = { + name : 'abide', + + version : '5.5.3', + + settings : { + live_validate : true, // validate the form as you go + validate_on_blur : true, // validate whenever you focus/blur on an input field + // validate_on: 'tab', // tab (when user tabs between fields), change (input changes), manual (call custom events) + + focus_on_invalid : true, // automatically bring the focus to an invalid input field + error_labels : true, // labels with a for="inputId" will receive an `error` class + error_class : 'error', // labels with a for="inputId" will receive an `error` class + // the amount of time Abide will take before it validates the form (in ms). + // smaller time will result in faster validation + timeout : 1000, + patterns : { + alpha : /^[a-zA-Z]+$/, + alpha_numeric : /^[a-zA-Z0-9]+$/, + integer : /^[-+]?\d+$/, + number : /^[-+]?\d*(?:[\.\,]\d+)?$/, + + // amex, visa, diners + card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/, + cvv : /^([0-9]){3,4}$/, + + // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address + email : /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/, + + // http://blogs.lse.ac.uk/lti/2008/04/23/a-regular-expression-to-match-any-url/ + url: /^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/, + // abc.de + domain : /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/, + + datetime : /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/, + // YYYY-MM-DD + date : /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/, + // HH:MM:SS + time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/, + dateISO : /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/, + // MM/DD/YYYY + month_day_year : /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/, + // DD/MM/YYYY + day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/, + + // #FFF or #FFFFFF + color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/ + }, + validators : { + equalTo : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + return valid; + } + } + }, + + timer : null, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + form = self.S(scope).attr('novalidate', 'novalidate'), + settings = form.data(this.attr_name(true) + '-init') || {}; + + this.invalid_attr = this.add_namespace('data-invalid'); + + function validate(originalSelf, e) { + clearTimeout(self.timer); + self.timer = setTimeout(function () { + self.validate([originalSelf], e); + }.bind(originalSelf), settings.timeout); + } + + form + .off('.abide') + .on('submit.fndtn.abide', function (e) { + var is_ajax = /ajax/i.test(self.S(this).attr(self.attr_name())); + return self.validate(self.S(this).find('input, textarea, select').not(":hidden, [data-abide-ignore]").get(), e, is_ajax); + }) + .on('validate.fndtn.abide', function (e) { + if (settings.validate_on === 'manual') { + self.validate([e.target], e); + } + }) + .on('reset', function (e) { + return self.reset($(this), e); + }) + .find('input, textarea, select').not(":hidden, [data-abide-ignore]") + .off('.abide') + .on('blur.fndtn.abide change.fndtn.abide', function (e) { + var id = this.getAttribute('id'), + eqTo = form.find('[data-equalto="'+ id +'"]'); + // old settings fallback + // will be deprecated with F6 release + if (settings.validate_on_blur && settings.validate_on_blur === true) { + validate(this, e); + } + // checks if there is an equalTo equivalent related by id + if(typeof eqTo.get(0) !== "undefined" && eqTo.val().length){ + validate(eqTo.get(0),e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('keydown.fndtn.abide', function (e) { + var id = this.getAttribute('id'), + eqTo = form.find('[data-equalto="'+ id +'"]'); + // old settings fallback + // will be deprecated with F6 release + if (settings.live_validate && settings.live_validate === true && e.which != 9) { + validate(this, e); + } + // checks if there is an equalTo equivalent related by id + if(typeof eqTo.get(0) !== "undefined" && eqTo.val().length){ + validate(eqTo.get(0),e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'tab' && e.which === 9) { + validate(this, e); + } + else if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('focus', function (e) { + if (navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)) { + $('html, body').animate({ + scrollTop: $(e.target).offset().top + }, 100); + } + }); + }, + + reset : function (form, e) { + var self = this; + form.removeAttr(self.invalid_attr); + + $('[' + self.invalid_attr + ']', form).removeAttr(self.invalid_attr); + $('.' + self.settings.error_class, form).not('small').removeClass(self.settings.error_class); + $(':input', form).not(':button, :submit, :reset, :hidden, [data-abide-ignore]').val('').removeAttr(self.invalid_attr); + }, + + validate : function (els, e, is_ajax) { + var validations = this.parse_patterns(els), + validation_count = validations.length, + form = this.S(els[0]).closest('form'), + submit_event = /submit/.test(e.type); + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < validation_count; i++) { + if (!validations[i] && (submit_event || is_ajax)) { + if (this.settings.focus_on_invalid) { + els[i].focus(); + } + form.trigger('invalid.fndtn.abide'); + this.S(els[i]).closest('form').attr(this.invalid_attr, ''); + return false; + } + } + + if (submit_event || is_ajax) { + form.trigger('valid.fndtn.abide'); + } + + form.removeAttr(this.invalid_attr); + + if (is_ajax) { + return false; + } + + return true; + }, + + parse_patterns : function (els) { + var i = els.length, + el_patterns = []; + + while (i--) { + el_patterns.push(this.pattern(els[i])); + } + + return this.check_validation_and_apply_styles(el_patterns); + }, + + pattern : function (el) { + var type = el.getAttribute('type'), + required = typeof el.getAttribute('required') === 'string'; + + var pattern = el.getAttribute('pattern') || ''; + + if (this.settings.patterns.hasOwnProperty(pattern) && pattern.length > 0) { + return [el, this.settings.patterns[pattern], required]; + } else if (pattern.length > 0) { + return [el, new RegExp(pattern), required]; + } + + if (this.settings.patterns.hasOwnProperty(type)) { + return [el, this.settings.patterns[type], required]; + } + + pattern = /.*/; + + return [el, pattern, required]; + }, + + // TODO: Break this up into smaller methods, getting hard to read. + check_validation_and_apply_styles : function (el_patterns) { + var i = el_patterns.length, + validations = []; + if (i == 0) { + return validations; + } + var form = this.S(el_patterns[0][0]).closest('[data-' + this.attr_name(true) + ']'), + settings = form.data(this.attr_name(true) + '-init') || {}; + while (i--) { + var el = el_patterns[i][0], + required = el_patterns[i][2], + value = el.value.trim(), + direct_parent = this.S(el).parent(), + validator = el.getAttribute(this.add_namespace('data-abide-validator')), + is_radio = el.type === 'radio', + is_checkbox = el.type === 'checkbox', + label = this.S('label[for="' + el.getAttribute('id') + '"]'), + valid_length = (required) ? (el.value.length > 0) : true, + el_validations = []; + + var parent, valid; + + // support old way to do equalTo validations + if (el.getAttribute(this.add_namespace('data-equalto'))) { validator = 'equalTo' } + + if (!direct_parent.is('label')) { + parent = direct_parent; + } else { + parent = direct_parent.parent(); + } + + if (is_radio && required) { + el_validations.push(this.valid_radio(el, required)); + } else if (is_checkbox && required) { + el_validations.push(this.valid_checkbox(el, required)); + + } else if (validator) { + // Validate using each of the specified (space-delimited) validators. + var validators = validator.split(' '); + var last_valid = true, all_valid = true; + for (var iv = 0; iv < validators.length; iv++) { + valid = this.settings.validators[validators[iv]].apply(this, [el, required, parent]) + el_validations.push(valid); + all_valid = valid && last_valid; + last_valid = valid; + } + if (all_valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass('error'); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass('error'); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } else { + + if (el_patterns[i][1].test(value) && valid_length || + !required && el.value.length < 1 || $(el).attr('disabled')) { + el_validations.push(true); + } else { + el_validations.push(false); + } + + el_validations = [el_validations.every(function (valid) {return valid;})]; + if (el_validations[0]) { + this.S(el).removeAttr(this.invalid_attr); + el.setAttribute('aria-invalid', 'false'); + el.removeAttribute('aria-describedby'); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + el.setAttribute('aria-invalid', 'true'); + + // Try to find the error associated with the input + var errorElem = parent.find('small.' + this.settings.error_class, 'span.' + this.settings.error_class); + var errorID = errorElem.length > 0 ? errorElem[0].id : ''; + if (errorID.length > 0) { + el.setAttribute('aria-describedby', errorID); + } + + // el.setAttribute('aria-describedby', $(el).find('.error')[0].id); + parent.addClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } + validations = validations.concat(el_validations); + } + + return validations; + }, + + valid_checkbox : function (el, required) { + var el = this.S(el), + valid = (el.is(':checked') || !required || el.get(0).getAttribute('disabled')); + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + $(el).triggerHandler('valid'); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + $(el).triggerHandler('invalid'); + } + + return valid; + }, + + valid_radio : function (el, required) { + var name = el.getAttribute('name'), + group = this.S(el).closest('[data-' + this.attr_name(true) + ']').find("[name='" + name + "']"), + count = group.length, + valid = false, + disabled = false; + + // Has to count up to make sure the focus gets applied to the top error + for (var i=0; i < count; i++) { + if( group[i].getAttribute('disabled') ){ + disabled=true; + valid=true; + } else { + if (group[i].checked){ + valid = true; + } else { + if( disabled ){ + valid = false; + } + } + } + } + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < count; i++) { + if (valid) { + this.S(group[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + $(group[i]).triggerHandler('valid'); + } else { + this.S(group[i]).attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + $(group[i]).triggerHandler('invalid'); + } + } + + return valid; + }, + + valid_equal : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + if (valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.removeClass(this.settings.error_class); + } + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.addClass(this.settings.error_class); + } + } + + return valid; + }, + + valid_oneof : function (el, required, parent, doNotValidateOthers) { + var el = this.S(el), + others = this.S('[' + this.add_namespace('data-oneof') + ']'), + valid = others.filter(':checked').length > 0; + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + } + + if (!doNotValidateOthers) { + var _this = this; + others.each(function () { + _this.valid_oneof.call(_this, this, null, null, true); + }); + } + + return valid; + }, + + reflow : function(scope, options) { + var self = this, + form = self.S('[' + this.attr_name() + ']').attr('novalidate', 'novalidate'); + self.S(form).each(function (idx, el) { + self.events(el); + }); + } + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.accordion.js b/js/foundation/js/foundation/foundation.accordion.js new file mode 100644 index 0000000..be329ae --- /dev/null +++ b/js/foundation/js/foundation/foundation.accordion.js @@ -0,0 +1,125 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.accordion = { + name : 'accordion', + + version : '5.5.3', + + settings : { + content_class : 'content', + active_class : 'active', + multi_expand : false, + toggleable : true, + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (instance) { + var self = this; + var S = this.S; + self.create(this.S(instance)); + + S(this.scope) + .off('.fndtn.accordion') + .on('click.fndtn.accordion', '[' + this.attr_name() + '] > dd > a, [' + this.attr_name() + '] > li > a', function (e) { + var accordion = S(this).closest('[' + self.attr_name() + ']'), + groupSelector = self.attr_name() + '=' + accordion.attr(self.attr_name()), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings, + target = S('#' + this.href.split('#')[1]), + aunts = $('> dd, > li', accordion), + siblings = aunts.children('.' + settings.content_class), + active_content = siblings.filter('.' + settings.active_class); + + e.preventDefault(); + + if (accordion.attr(self.attr_name())) { + siblings = siblings.add('[' + groupSelector + '] dd > ' + '.' + settings.content_class + ', [' + groupSelector + '] li > ' + '.' + settings.content_class); + aunts = aunts.add('[' + groupSelector + '] dd, [' + groupSelector + '] li'); + } + + if (settings.toggleable && target.is(active_content)) { + target.parent('dd, li').toggleClass(settings.active_class, false); + target.toggleClass(settings.active_class, false); + S(this).attr('aria-expanded', function(i, attr){ + return attr === 'true' ? 'false' : 'true'; + }); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + return; + } + + if (!settings.multi_expand) { + siblings.removeClass(settings.active_class); + aunts.removeClass(settings.active_class); + aunts.children('a').attr('aria-expanded','false'); + } + + target.addClass(settings.active_class).parent().addClass(settings.active_class); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + S(this).attr('aria-expanded','true'); + }); + }, + + create: function($instance) { + var self = this, + accordion = $instance, + aunts = $('> .accordion-navigation', accordion), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings; + + aunts.children('a').attr('aria-expanded','false'); + aunts.has('.' + settings.content_class + '.' + settings.active_class).addClass(settings.active_class).children('a').attr('aria-expanded','true'); + + if (settings.multi_expand) { + $instance.attr('aria-multiselectable','true'); + } + }, + + toggle : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + var selector = typeof options.selector !== 'undefined' ? options.selector : ''; + var toggle_state = typeof options.toggle_state !== 'undefined' ? options.toggle_state : ''; + var $accordion = typeof options.$accordion !== 'undefined' ? options.$accordion : this.S(this.scope).closest('[' + this.attr_name() + ']'); + + var $items = $accordion.find('> dd' + selector + ', > li' + selector); + if ( $items.length < 1 ) { + if ( window.console ) { + console.error('Selection not found.', selector); + } + return false; + } + + var S = this.S; + var active_class = this.settings.active_class; + $items.each(function() { + var $item = S(this); + var is_active = $item.hasClass(active_class); + if ( ( is_active && toggle_state === 'close' ) || ( !is_active && toggle_state === 'open' ) || toggle_state === '' ) { + $item.find('> a').trigger('click.fndtn.accordion'); + } + }); + }, + + open : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'open'; + this.toggle(options); + }, + + close : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'close'; + this.toggle(options); + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.alert.js b/js/foundation/js/foundation/foundation.alert.js new file mode 100644 index 0000000..0ab934c --- /dev/null +++ b/js/foundation/js/foundation/foundation.alert.js @@ -0,0 +1,43 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.alert = { + name : 'alert', + + version : '5.5.3', + + settings : { + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = this.S; + + $(this.scope).off('.alert').on('click.fndtn.alert', '[' + this.attr_name() + '] .close', function (e) { + var alertBox = S(this).closest('[' + self.attr_name() + ']'), + settings = alertBox.data(self.attr_name(true) + '-init') || self.settings; + + e.preventDefault(); + if (Modernizr.csstransitions) { + alertBox.addClass('alert-close'); + alertBox.on('transitionend webkitTransitionEnd oTransitionEnd', function (e) { + S(this).trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } else { + alertBox.fadeOut(300, function () { + S(this).trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } + }); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.clearing.js b/js/foundation/js/foundation/foundation.clearing.js new file mode 100644 index 0000000..f63ff91 --- /dev/null +++ b/js/foundation/js/foundation/foundation.clearing.js @@ -0,0 +1,586 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.clearing = { + name : 'clearing', + + version : '5.5.3', + + settings : { + templates : { + viewing : '×' + + '' + + '' + + '' + }, + + // comma delimited list of selectors that, on click, will close clearing, + // add 'div.clearing-blackout, div.visible-img' to close on background click + close_selectors : '.clearing-close, div.clearing-blackout', + + // Default to the entire li element. + open_selectors : '', + + // Image will be skipped in carousel. + skip_selector : '', + + touch_label : '', + + // event initializer and locks + init : false, + locked : false + }, + + init : function (scope, method, options) { + var self = this; + Foundation.inherit(this, 'throttle image_loaded'); + + this.bindings(method, options); + + if (self.S(this.scope).is('[' + this.attr_name() + ']')) { + this.assemble(self.S('li', this.scope)); + } else { + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + self.assemble(self.S('li', this)); + }); + } + }, + + events : function (scope) { + var self = this, + S = self.S, + $scroll_container = $('.scroll-container'); + + if ($scroll_container.length > 0) { + this.scope = $scroll_container; + } + + S(this.scope) + .off('.clearing') + .on('click.fndtn.clearing', 'ul[' + this.attr_name() + '] li ' + this.settings.open_selectors, + function (e, current, target) { + var current = current || S(this), + target = target || current, + next = current.next('li'), + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'), + image = S(e.target); + + e.preventDefault(); + + if (!settings) { + self.init(); + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + } + + // if clearing is open and the current image is + // clicked, go to the next image in sequence + if (target.hasClass('visible') && + current[0] === target[0] && + next.length > 0 && self.is_open(current)) { + target = next; + image = S('img', target); + } + + // set current and target to the clicked li if not otherwise defined. + self.open(image, current, target); + self.update_paddles(target); + }) + + .on('click.fndtn.clearing', '.clearing-main-next', + function (e) { self.nav(e, 'next') }) + .on('click.fndtn.clearing', '.clearing-main-prev', + function (e) { self.nav(e, 'prev') }) + .on('click.fndtn.clearing', this.settings.close_selectors, + function (e) { Foundation.libs.clearing.close(e, this) }); + + $(document).on('keydown.fndtn.clearing', + function (e) { self.keydown(e) }); + + S(window).off('.clearing').on('resize.fndtn.clearing', + function () { self.resize() }); + + this.swipe_events(scope); + }, + + swipe_events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .on('touchstart.fndtn.clearing', '.visible-img', function (e) { + if (!e.touches) { e = e.originalEvent; } + var data = { + start_page_x : e.touches[0].pageX, + start_page_y : e.touches[0].pageY, + start_time : (new Date()).getTime(), + delta_x : 0, + is_scrolling : undefined + }; + + S(this).data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.clearing', '.visible-img', function (e) { + if (!e.touches) { + e = e.originalEvent; + } + // Ignore pinch/zoom events + if (e.touches.length > 1 || e.scale && e.scale !== 1) { + return; + } + + var data = S(this).data('swipe-transition'); + + if (typeof data === 'undefined') { + data = {}; + } + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if (Foundation.rtl) { + data.delta_x = -data.delta_x; + } + + if (typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? 'next' : 'prev'; + data.active = true; + self.nav(e, direction); + } + }) + .on('touchend.fndtn.clearing', '.visible-img', function (e) { + S(this).data('swipe-transition', {}); + e.stopPropagation(); + }); + }, + + assemble : function ($li) { + var $el = $li.parent(); + + if ($el.parent().hasClass('carousel')) { + return; + } + + $el.after('
      '); + + var grid = $el.detach(), + grid_outerHTML = ''; + + if (grid[0] == null) { + return; + } else { + grid_outerHTML = grid[0].outerHTML; + } + + var holder = this.S('#foundationClearingHolder'), + settings = $el.data(this.attr_name(true) + '-init'), + data = { + grid : '', + viewing : settings.templates.viewing + }, + wrapper = '
      ' + data.viewing + + data.grid + '
      ', + touch_label = this.settings.touch_label; + + if (Modernizr.touch) { + wrapper = $(wrapper).find('.clearing-touch-label').html(touch_label).end(); + } + + holder.after(wrapper).remove(); + }, + + open : function ($image, current, target) { + var self = this, + body = $(document.body), + root = target.closest('.clearing-assembled'), + container = self.S('div', root).first(), + visible_image = self.S('.visible-img', container), + image = self.S('img', visible_image).not($image), + label = self.S('.clearing-touch-label', container), + error = false, + loaded = {}; + + // Event to disable scrolling on touch devices when Clearing is activated + $('body').on('touchmove', function (e) { + e.preventDefault(); + }); + + image.error(function () { + error = true; + }); + + function startLoad() { + setTimeout(function () { + this.image_loaded(image, function () { + if (image.outerWidth() === 1 && !error) { + startLoad.call(this); + } else { + cb.call(this, image); + } + }.bind(this)); + }.bind(this), 100); + } + + function cb (image) { + var $image = $(image); + $image.css('visibility', 'visible'); + $image.trigger('imageVisible'); + // toggle the gallery + body.css('overflow', 'hidden'); + root.addClass('clearing-blackout'); + container.addClass('clearing-container'); + visible_image.show(); + this.fix_height(target) + .caption(self.S('.clearing-caption', visible_image), self.S('img', target)) + .center_and_label(image, label) + .shift(current, target, function () { + target.closest('li').siblings().removeClass('visible'); + target.closest('li').addClass('visible'); + }); + visible_image.trigger('opened.fndtn.clearing') + } + + if (!this.locked()) { + visible_image.trigger('open.fndtn.clearing'); + // set the image to the selected thumbnail + loaded = this.load($image); + if (loaded.interchange) { + image + .attr('data-interchange', loaded.interchange) + .foundation('interchange', 'reflow'); + } else { + image + .attr('src', loaded.src) + .attr('data-interchange', ''); + } + image.css('visibility', 'hidden'); + + startLoad.call(this); + } + }, + + close : function (e, el) { + e.preventDefault(); + + var root = (function (target) { + if (/blackout/.test(target.selector)) { + return target; + } else { + return target.closest('.clearing-blackout'); + } + }($(el))), + body = $(document.body), container, visible_image; + + if (el === e.target && root) { + body.css('overflow', ''); + container = $('div', root).first(); + visible_image = $('.visible-img', container); + visible_image.trigger('close.fndtn.clearing'); + this.settings.prev_index = 0; + $('ul[' + this.attr_name() + ']', root) + .attr('style', '').closest('.clearing-blackout') + .removeClass('clearing-blackout'); + container.removeClass('clearing-container'); + visible_image.hide(); + visible_image.trigger('closed.fndtn.clearing'); + } + + // Event to re-enable scrolling on touch devices + $('body').off('touchmove'); + + return false; + }, + + is_open : function (current) { + return current.parent().prop('style').length > 0; + }, + + keydown : function (e) { + var clearing = $('.clearing-blackout ul[' + this.attr_name() + ']'), + NEXT_KEY = this.rtl ? 37 : 39, + PREV_KEY = this.rtl ? 39 : 37, + ESC_KEY = 27; + + if (e.which === NEXT_KEY) { + this.go(clearing, 'next'); + } + if (e.which === PREV_KEY) { + this.go(clearing, 'prev'); + } + if (e.which === ESC_KEY) { + this.S('a.clearing-close').trigger('click.fndtn.clearing'); + } + }, + + nav : function (e, direction) { + var clearing = $('ul[' + this.attr_name() + ']', '.clearing-blackout'); + + e.preventDefault(); + this.go(clearing, direction); + }, + + resize : function () { + var image = $('img', '.clearing-blackout .visible-img'), + label = $('.clearing-touch-label', '.clearing-blackout'); + + if (image.length) { + this.center_and_label(image, label); + image.trigger('resized.fndtn.clearing') + } + }, + + // visual adjustments + fix_height : function (target) { + var lis = target.parent().children(), + self = this; + + lis.each(function () { + var li = self.S(this), + image = li.find('img'); + + if (li.height() > image.outerHeight()) { + li.addClass('fix-height'); + } + }) + .closest('ul') + .width(lis.length * 100 + '%'); + + return this; + }, + + update_paddles : function (target) { + target = target.closest('li'); + var visible_image = target + .closest('.carousel') + .siblings('.visible-img'); + + if (target.next().length > 0) { + this.S('.clearing-main-next', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-next', visible_image).addClass('disabled'); + } + + if (target.prev().length > 0) { + this.S('.clearing-main-prev', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-prev', visible_image).addClass('disabled'); + } + }, + + center_and_label : function (target, label) { + if (!this.rtl && label.length > 0) { + label.css({ + marginLeft : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10 + }); + } else { + label.css({ + marginRight : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10, + left: 'auto', + right: '50%' + }); + } + return this; + }, + + // image loading and preloading + + load : function ($image) { + var href, + interchange, + closest_a; + + if ($image[0].nodeName === 'A') { + href = $image.attr('href'); + interchange = $image.data('clearing-interchange'); + } else { + closest_a = $image.closest('a'); + href = closest_a.attr('href'); + interchange = closest_a.data('clearing-interchange'); + } + + this.preload($image); + + return { + 'src': href ? href : $image.attr('src'), + 'interchange': href ? interchange : $image.data('clearing-interchange') + } + }, + + preload : function ($image) { + this + .img($image.closest('li').next(), 'next') + .img($image.closest('li').prev(), 'prev'); + }, + + img : function (img, sibling_type) { + if (img.length) { + var preload_img = $('.clearing-preload-' + sibling_type), + new_a = this.S('a', img), + src, + interchange, + image; + + if (new_a.length) { + src = new_a.attr('href'); + interchange = new_a.data('clearing-interchange'); + } else { + image = this.S('img', img); + src = image.attr('src'); + interchange = image.data('clearing-interchange'); + } + + if (interchange) { + preload_img.attr('data-interchange', interchange); + } else { + preload_img.attr('src', src); + preload_img.attr('data-interchange', ''); + } + } + return this; + }, + + // image caption + + caption : function (container, $image) { + var caption = $image.attr('data-caption'); + + if (caption) { + var containerPlain = container.get(0); + containerPlain.innerHTML = caption; + container.show(); + } else { + container + .text('') + .hide(); + } + return this; + }, + + // directional methods + + go : function ($ul, direction) { + var current = this.S('.visible', $ul), + target = current[direction](); + + // Check for skip selector. + if (this.settings.skip_selector && target.find(this.settings.skip_selector).length != 0) { + target = target[direction](); + } + + if (target.length) { + this.S('img', target) + .trigger('click.fndtn.clearing', [current, target]) + .trigger('change.fndtn.clearing'); + } + }, + + shift : function (current, target, callback) { + var clearing = target.parent(), + old_index = this.settings.prev_index || target.index(), + direction = this.direction(clearing, current, target), + dir = this.rtl ? 'right' : 'left', + left = parseInt(clearing.css('left'), 10), + width = target.outerWidth(), + skip_shift; + + var dir_obj = {}; + + // we use jQuery animate instead of CSS transitions because we + // need a callback to unlock the next animation + // needs support for RTL ** + if (target.index() !== old_index && !/skip/.test(direction)) { + if (/left/.test(direction)) { + this.lock(); + dir_obj[dir] = left + width; + clearing.animate(dir_obj, 300, this.unlock()); + } else if (/right/.test(direction)) { + this.lock(); + dir_obj[dir] = left - width; + clearing.animate(dir_obj, 300, this.unlock()); + } + } else if (/skip/.test(direction)) { + // the target image is not adjacent to the current image, so + // do we scroll right or not + skip_shift = target.index() - this.settings.up_count; + this.lock(); + + if (skip_shift > 0) { + dir_obj[dir] = -(skip_shift * width); + clearing.animate(dir_obj, 300, this.unlock()); + } else { + dir_obj[dir] = 0; + clearing.animate(dir_obj, 300, this.unlock()); + } + } + + callback(); + }, + + direction : function ($el, current, target) { + var lis = this.S('li', $el), + li_width = lis.outerWidth() + (lis.outerWidth() / 4), + up_count = Math.floor(this.S('.clearing-container').outerWidth() / li_width) - 1, + target_index = lis.index(target), + response; + + this.settings.up_count = up_count; + + if (this.adjacent(this.settings.prev_index, target_index)) { + if ((target_index > up_count) && target_index > this.settings.prev_index) { + response = 'right'; + } else if ((target_index > up_count - 1) && target_index <= this.settings.prev_index) { + response = 'left'; + } else { + response = false; + } + } else { + response = 'skip'; + } + + this.settings.prev_index = target_index; + + return response; + }, + + adjacent : function (current_index, target_index) { + for (var i = target_index + 1; i >= target_index - 1; i--) { + if (i === current_index) { + return true; + } + } + return false; + }, + + // lock management + + lock : function () { + this.settings.locked = true; + }, + + unlock : function () { + this.settings.locked = false; + }, + + locked : function () { + return this.settings.locked; + }, + + off : function () { + this.S(this.scope).off('.fndtn.clearing'); + this.S(window).off('.fndtn.clearing'); + }, + + reflow : function () { + this.init(); + } + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.dropdown.js b/js/foundation/js/foundation/foundation.dropdown.js new file mode 100644 index 0000000..5db3dea --- /dev/null +++ b/js/foundation/js/foundation/foundation.dropdown.js @@ -0,0 +1,468 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.dropdown = { + name : 'dropdown', + + version : '5.5.3', + + settings : { + active_class : 'open', + disabled_class : 'disabled', + mega_class : 'mega', + align : 'bottom', + is_hover : false, + hover_timeout : 150, + opened : function () {}, + closed : function () {} + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.dropdown') + .on('click.fndtn.dropdown', '[' + this.attr_name() + ']', function (e) { + var settings = S(this).data(self.attr_name(true) + '-init') || self.settings; + if (!settings.is_hover || Modernizr.touch) { + e.preventDefault(); + if (S(this).parent('[data-reveal-id]').length) { + e.stopPropagation(); + } + self.toggle($(this)); + } + }) + .on('mouseenter.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this), + dropdown, + target; + + clearTimeout(self.timeout); + + if ($this.data(self.data_attr())) { + dropdown = S('#' + $this.data(self.data_attr())); + target = $this; + } else { + dropdown = $this; + target = S('[' + self.attr_name() + '="' + dropdown.attr('id') + '"]'); + } + + var settings = target.data(self.attr_name(true) + '-init') || self.settings; + + if (S(e.currentTarget).data(self.data_attr()) && settings.is_hover) { + self.closeall.call(self); + } + + if (settings.is_hover) { + self.open.apply(self, [dropdown, target]); + } + }) + .on('mouseleave.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this); + var settings; + + if ($this.data(self.data_attr())) { + settings = $this.data(self.data_attr(true) + '-init') || self.settings; + } else { + var target = S('[' + self.attr_name() + '="' + S(this).attr('id') + '"]'), + settings = target.data(self.attr_name(true) + '-init') || self.settings; + } + + self.timeout = setTimeout(function () { + if ($this.data(self.data_attr())) { + if (settings.is_hover) { + self.close.call(self, S('#' + $this.data(self.data_attr()))); + } + } else { + if (settings.is_hover) { + self.close.call(self, $this); + } + } + }.bind(this), settings.hover_timeout); + }) + .on('click.fndtn.dropdown', function (e) { + var parent = S(e.target).closest('[' + self.attr_name() + '-content]'); + var links = parent.find('a'); + + if (links.length > 0 && parent.attr('aria-autoclose') !== 'false') { + self.close.call(self, S('[' + self.attr_name() + '-content]')); + } + + if (e.target !== document && !$.contains(document.documentElement, e.target)) { + return; + } + + if (S(e.target).closest('[' + self.attr_name() + ']').length > 0) { + return; + } + + if (!(S(e.target).data('revealId')) && + (parent.length > 0 && (S(e.target).is('[' + self.attr_name() + '-content]') || + $.contains(parent.first()[0], e.target)))) { + e.stopPropagation(); + return; + } + + self.close.call(self, S('[' + self.attr_name() + '-content]')); + }) + .on('opened.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.opened.call(this); + }) + .on('closed.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.closed.call(this); + }); + + S(window) + .off('.dropdown') + .on('resize.fndtn.dropdown', self.throttle(function () { + self.resize.call(self); + }, 50)); + + this.resize(); + }, + + close : function (dropdown) { + var self = this; + dropdown.each(function (idx) { + var original_target = $('[' + self.attr_name() + '=' + dropdown[idx].id + ']') || $('aria-controls=' + dropdown[idx].id + ']'); + original_target.attr('aria-expanded', 'false'); + if (self.S(this).hasClass(self.settings.active_class)) { + self.S(this) + .css(Foundation.rtl ? 'right' : 'left', '-99999px') + .attr('aria-hidden', 'true') + .removeClass(self.settings.active_class) + .prev('[' + self.attr_name() + ']') + .removeClass(self.settings.active_class) + .removeData('target'); + + self.S(this).trigger('closed.fndtn.dropdown', [dropdown]); + } + }); + dropdown.removeClass('f-open-' + this.attr_name(true)); + }, + + closeall : function () { + var self = this; + $.each(self.S('.f-open-' + this.attr_name(true)), function () { + self.close.call(self, self.S(this)); + }); + }, + + open : function (dropdown, target) { + this + .css(dropdown + .addClass(this.settings.active_class), target); + dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class); + dropdown.data('target', target.get(0)).trigger('opened.fndtn.dropdown', [dropdown, target]); + dropdown.attr('aria-hidden', 'false'); + target.attr('aria-expanded', 'true'); + dropdown.focus(); + dropdown.addClass('f-open-' + this.attr_name(true)); + }, + + data_attr : function () { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.name; + } + + return this.name; + }, + + toggle : function (target) { + if (target.hasClass(this.settings.disabled_class)) { + return; + } + var dropdown = this.S('#' + target.data(this.data_attr())); + if (dropdown.length === 0) { + // No dropdown found, not continuing + return; + } + + this.close.call(this, this.S('[' + this.attr_name() + '-content]').not(dropdown)); + + if (dropdown.hasClass(this.settings.active_class)) { + this.close.call(this, dropdown); + if (dropdown.data('target') !== target.get(0)) { + this.open.call(this, dropdown, target); + } + } else { + this.open.call(this, dropdown, target); + } + }, + + resize : function () { + var dropdown = this.S('[' + this.attr_name() + '-content].open'); + var target = $(dropdown.data("target")); + + if (dropdown.length && target.length) { + this.css(dropdown, target); + } + }, + + css : function (dropdown, target) { + var left_offset = Math.max((target.width() - dropdown.width()) / 2, 8), + settings = target.data(this.attr_name(true) + '-init') || this.settings, + parentOverflow = dropdown.parent().css('overflow-y') || dropdown.parent().css('overflow'); + + this.clear_idx(); + + + + if (this.small()) { + var p = this.dirs.bottom.call(dropdown, target, settings); + + dropdown.attr('style', '').removeClass('drop-left drop-right drop-top').css({ + position : 'absolute', + width : '95%', + 'max-width' : 'none', + top : p.top + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } + // detect if dropdown is in an overflow container + else if (parentOverflow !== 'visible') { + var offset = target[0].offsetTop + target[0].offsetHeight; + + dropdown.attr('style', '').css({ + position : 'absolute', + top : offset + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } + else { + + this.style(dropdown, target, settings); + } + + return dropdown; + }, + + style : function (dropdown, target, settings) { + var css = $.extend({position : 'absolute'}, + this.dirs[settings.align].call(dropdown, target, settings)); + + dropdown.attr('style', '').css(css); + }, + + // return CSS property object + // `this` is the dropdown + dirs : { + // Calculate target offset + _base : function (t, s) { + var o_p = this.offsetParent(), + o = o_p.offset(), + p = t.offset(); + + p.top -= o.top; + p.left -= o.left; + + //set some flags on the p object to pass along + p.missRight = false; + p.missTop = false; + p.missLeft = false; + p.leftRightFlag = false; + + //lets see if the panel will be off the screen + //get the actual width of the page and store it + var actualBodyWidth; + var windowWidth = window.innerWidth; + + if (document.getElementsByClassName('row')[0]) { + actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth; + } else { + actualBodyWidth = windowWidth; + } + + var actualMarginWidth = (windowWidth - actualBodyWidth) / 2; + var actualBoundary = actualBodyWidth; + + if (!this.hasClass('mega') && !s.ignore_repositioning) { + var outerWidth = this.outerWidth(); + var o_left = t.offset().left; + + //miss top + if (t.offset().top <= this.outerHeight()) { + p.missTop = true; + actualBoundary = windowWidth - actualMarginWidth; + p.leftRightFlag = true; + } + + //miss right + if (o_left + outerWidth > o_left + actualMarginWidth && o_left - actualMarginWidth > outerWidth) { + p.missRight = true; + p.missLeft = false; + } + + //miss left + if (o_left - outerWidth <= 0) { + p.missLeft = true; + p.missRight = false; + } + } + + return p; + }, + + top : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t, s); + + this.addClass('drop-top'); + + if (p.missTop == true) { + p.top = p.top + t.outerHeight() + this.outerHeight(); + this.removeClass('drop-top'); + } + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (Foundation.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), + top : p.top - this.outerHeight()}; + } + + return {left : p.left, top : p.top - this.outerHeight()}; + }, + + bottom : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t, s); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (self.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), top : p.top + t.outerHeight()}; + } + + return {left : p.left, top : p.top + t.outerHeight()}; + }, + + left : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t, s); + + this.addClass('drop-left'); + + if (p.missLeft == true) { + p.left = p.left + this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-left'); + } + + return {left : p.left - this.outerWidth(), top : p.top}; + }, + + right : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t, s); + + this.addClass('drop-right'); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-right'); + } else { + p.triggeredRight = true; + } + + var self = Foundation.libs.dropdown; + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + return {left : p.left + t.outerWidth(), top : p.top}; + } + }, + + // Insert rule to style psuedo elements + adjust_pip : function (dropdown, target, settings, position) { + var sheet = Foundation.stylesheet, + pip_offset_base = 8; + + if (dropdown.hasClass(settings.mega_class)) { + pip_offset_base = position.left + (target.outerWidth() / 2) - 8; + } else if (this.small()) { + pip_offset_base += position.left - 8; + } + + this.rule_idx = sheet.cssRules.length; + + //default + var sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + + if (position.missRight == true) { + pip_offset_base = dropdown.outerWidth() - 23; + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + } + + //just a case where right is fired, but its not missing right + if (position.triggeredRight == true) { + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left:-12px;', + css_after = 'left:-14px;'; + } + + if (sheet.insertRule) { + sheet.insertRule([sel_before, '{', css_before, '}'].join(' '), this.rule_idx); + sheet.insertRule([sel_after, '{', css_after, '}'].join(' '), this.rule_idx + 1); + } else { + sheet.addRule(sel_before, css_before, this.rule_idx); + sheet.addRule(sel_after, css_after, this.rule_idx + 1); + } + }, + + // Remove old dropdown rule index + clear_idx : function () { + var sheet = Foundation.stylesheet; + + if (typeof this.rule_idx !== 'undefined') { + sheet.deleteRule(this.rule_idx); + sheet.deleteRule(this.rule_idx); + delete this.rule_idx; + } + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + off : function () { + this.S(this.scope).off('.fndtn.dropdown'); + this.S('html, body').off('.fndtn.dropdown'); + this.S(window).off('.fndtn.dropdown'); + this.S('[data-dropdown-content]').off('.fndtn.dropdown'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.equalizer.js b/js/foundation/js/foundation/foundation.equalizer.js new file mode 100644 index 0000000..a61a330 --- /dev/null +++ b/js/foundation/js/foundation/foundation.equalizer.js @@ -0,0 +1,104 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.equalizer = { + name : 'equalizer', + + version : '5.5.3', + + settings : { + use_tallest : true, + before_height_change : $.noop, + after_height_change : $.noop, + equalize_on_stack : false, + act_on_hidden_el: false + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'image_loaded'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + this.S(window).off('.equalizer').on('resize.fndtn.equalizer', function (e) { + this.reflow(); + }.bind(this)); + }, + + equalize : function (equalizer) { + var isStacked = false, + group = equalizer.data('equalizer'), + settings = equalizer.data(this.attr_name(true)+'-init') || this.settings, + vals, + firstTopOffset; + + if (settings.act_on_hidden_el) { + vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]') : equalizer.find('['+this.attr_name()+'-watch]'); + } + else { + vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]:visible') : equalizer.find('['+this.attr_name()+'-watch]:visible'); + } + + if (vals.length === 0) { + return; + } + + settings.before_height_change(); + equalizer.trigger('before-height-change.fndth.equalizer'); + vals.height('inherit'); + + if (settings.equalize_on_stack === false) { + firstTopOffset = vals.first().offset().top; + vals.each(function () { + if ($(this).offset().top !== firstTopOffset) { + isStacked = true; + return false; + } + }); + if (isStacked) { + return; + } + } + + var heights = vals.map(function () { return $(this).outerHeight(false) }).get(); + + if (settings.use_tallest) { + var max = Math.max.apply(null, heights); + vals.css('height', max); + } else { + var min = Math.min.apply(null, heights); + vals.css('height', min); + } + + settings.after_height_change(); + equalizer.trigger('after-height-change.fndtn.equalizer'); + }, + + reflow : function () { + var self = this; + + this.S('[' + this.attr_name() + ']', this.scope).each(function () { + var $eq_target = $(this), + media_query = $eq_target.data('equalizer-mq'), + ignore_media_query = true; + + if (media_query) { + media_query = 'is_' + media_query.replace(/-/g, '_'); + if (Foundation.utils.hasOwnProperty(media_query)) { + ignore_media_query = false; + } + } + + self.image_loaded(self.S('img', this), function () { + if (ignore_media_query || Foundation.utils[media_query]()) { + self.equalize($eq_target) + } else { + var vals = $eq_target.find('[' + self.attr_name() + '-watch]:visible'); + vals.css('height', 'auto'); + } + }); + }); + } + }; +})(jQuery, window, window.document); diff --git a/js/foundation/js/foundation/foundation.interchange.js b/js/foundation/js/foundation/foundation.interchange.js new file mode 100644 index 0000000..1096fad --- /dev/null +++ b/js/foundation/js/foundation/foundation.interchange.js @@ -0,0 +1,360 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.interchange = { + name : 'interchange', + + version : '5.5.3', + + cache : {}, + + images_loaded : false, + nodes_loaded : false, + + settings : { + load_attr : 'interchange', + + named_queries : { + 'default' : 'only screen', + 'small' : Foundation.media_queries['small'], + 'small-only' : Foundation.media_queries['small-only'], + 'medium' : Foundation.media_queries['medium'], + 'medium-only' : Foundation.media_queries['medium-only'], + 'large' : Foundation.media_queries['large'], + 'large-only' : Foundation.media_queries['large-only'], + 'xlarge' : Foundation.media_queries['xlarge'], + 'xlarge-only' : Foundation.media_queries['xlarge-only'], + 'xxlarge' : Foundation.media_queries['xxlarge'], + 'landscape' : 'only screen and (orientation: landscape)', + 'portrait' : 'only screen and (orientation: portrait)', + 'retina' : 'only screen and (-webkit-min-device-pixel-ratio: 2),' + + 'only screen and (min--moz-device-pixel-ratio: 2),' + + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + + 'only screen and (min-device-pixel-ratio: 2),' + + 'only screen and (min-resolution: 192dpi),' + + 'only screen and (min-resolution: 2dppx)' + }, + + directives : { + replace : function (el, path, trigger) { + // The trigger argument, if called within the directive, fires + // an event named after the directive on the element, passing + // any parameters along to the event that you pass to trigger. + // + // ex. trigger(), trigger([a, b, c]), or trigger(a, b, c) + // + // This allows you to bind a callback like so: + // $('#interchangeContainer').on('replace', function (e, a, b, c) { + // console.log($(this).html(), a, b, c); + // }); + + if (el !== null && /IMG/.test(el[0].nodeName)) { + var orig_path = $.each(el, function(){this.src = path;}); + // var orig_path = el[0].src; + + if (new RegExp(path, 'i').test(orig_path)) { + return; + } + + el.attr("src", path); + + return trigger(el[0].src); + } + var last_path = el.data(this.data_attr + '-last-path'), + self = this; + + if (last_path == path) { + return; + } + + if (/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(path)) { + $(el).css('background-image', 'url(' + path + ')'); + el.data('interchange-last-path', path); + return trigger(path); + } + + return $.get(path, function (response) { + el.html(response); + el.data(self.data_attr + '-last-path', path); + trigger(); + }); + + } + } + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.data_attr = this.set_data_attr(); + $.extend(true, this.settings, method, options); + this.bindings(method, options); + this.reflow(); + }, + + get_media_hash : function () { + var mediaHash = ''; + for (var queryName in this.settings.named_queries ) { + mediaHash += matchMedia(this.settings.named_queries[queryName]).matches.toString(); + } + return mediaHash; + }, + + events : function () { + var self = this, prevMediaHash; + + $(window) + .off('.interchange') + .on('resize.fndtn.interchange', self.throttle(function () { + var currMediaHash = self.get_media_hash(); + if (currMediaHash !== prevMediaHash) { + self.resize(); + } + prevMediaHash = currMediaHash; + }, 50)); + + return this; + }, + + resize : function () { + var cache = this.cache; + + if (!this.images_loaded || !this.nodes_loaded) { + setTimeout($.proxy(this.resize, this), 50); + return; + } + + for (var uuid in cache) { + if (cache.hasOwnProperty(uuid)) { + var passed = this.results(uuid, cache[uuid]); + if (passed) { + this.settings.directives[passed + .scenario[1]].call(this, passed.el, passed.scenario[0], (function (passed) { + if (arguments[0] instanceof Array) { + var args = arguments[0]; + } else { + var args = Array.prototype.slice.call(arguments, 0); + } + + return function() { + passed.el.trigger(passed.scenario[1], args); + } + }(passed))); + } + } + } + + }, + + results : function (uuid, scenarios) { + var count = scenarios.length; + + if (count > 0) { + var el = this.S('[' + this.add_namespace('data-uuid') + '="' + uuid + '"]'); + + while (count--) { + var mq, rule = scenarios[count][2]; + if (this.settings.named_queries.hasOwnProperty(rule)) { + mq = matchMedia(this.settings.named_queries[rule]); + } else { + mq = matchMedia(rule); + } + if (mq.matches) { + return {el : el, scenario : scenarios[count]}; + } + } + } + + return false; + }, + + load : function (type, force_update) { + if (typeof this['cached_' + type] === 'undefined' || force_update) { + this['update_' + type](); + } + + return this['cached_' + type]; + }, + + update_images : function () { + var images = this.S('img[' + this.data_attr + ']'), + count = images.length, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cache = {}; + this.cached_images = []; + this.images_loaded = (count === 0); + + while (i--) { + loaded_count++; + if (images[i]) { + var str = images[i].getAttribute(data_attr) || ''; + + if (str.length > 0) { + this.cached_images.push(images[i]); + } + } + + if (loaded_count === count) { + this.images_loaded = true; + this.enhance('images'); + } + } + + return this; + }, + + update_nodes : function () { + var nodes = this.S('[' + this.data_attr + ']').not('img'), + count = nodes.length, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cached_nodes = []; + this.nodes_loaded = (count === 0); + + while (i--) { + loaded_count++; + var str = nodes[i].getAttribute(data_attr) || ''; + + if (str.length > 0) { + this.cached_nodes.push(nodes[i]); + } + + if (loaded_count === count) { + this.nodes_loaded = true; + this.enhance('nodes'); + } + } + + return this; + }, + + enhance : function (type) { + var i = this['cached_' + type].length; + + while (i--) { + this.object($(this['cached_' + type][i])); + } + + return $(window).trigger('resize.fndtn.interchange'); + }, + + convert_directive : function (directive) { + + var trimmed = this.trim(directive); + + if (trimmed.length > 0) { + return trimmed; + } + + return 'replace'; + }, + + parse_scenario : function (scenario) { + // This logic had to be made more complex since some users were using commas in the url path + // So we cannot simply just split on a comma + + var directive_match = scenario[0].match(/(.+),\s*(\w+)\s*$/), + // getting the mq has gotten a bit complicated since we started accounting for several use cases + // of URLs. For now we'll continue to match these scenarios, but we may consider having these scenarios + // as nested objects or arrays in F6. + // regex: match everything before close parenthesis for mq + media_query = scenario[1].match(/(.*)\)/); + + if (directive_match) { + var path = directive_match[1], + directive = directive_match[2]; + + } else { + var cached_split = scenario[0].split(/,\s*$/), + path = cached_split[0], + directive = ''; + } + + return [this.trim(path), this.convert_directive(directive), this.trim(media_query[1])]; + }, + + object : function (el) { + var raw_arr = this.parse_data_attr(el), + scenarios = [], + i = raw_arr.length; + + if (i > 0) { + while (i--) { + // split array between comma delimited content and mq + // regex: comma, optional space, open parenthesis + var scenario = raw_arr[i].split(/,\s?\(/); + + if (scenario.length > 1) { + var params = this.parse_scenario(scenario); + scenarios.push(params); + } + } + } + + return this.store(el, scenarios); + }, + + store : function (el, scenarios) { + var uuid = this.random_str(), + current_uuid = el.data(this.add_namespace('uuid', true)); + + if (this.cache[current_uuid]) { + return this.cache[current_uuid]; + } + + el.attr(this.add_namespace('data-uuid'), uuid); + return this.cache[uuid] = scenarios; + }, + + trim : function (str) { + + if (typeof str === 'string') { + return $.trim(str); + } + + return str; + }, + + set_data_attr : function (init) { + if (init) { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.settings.load_attr; + } + + return this.settings.load_attr; + } + + if (this.namespace.length > 0) { + return 'data-' + this.namespace + '-' + this.settings.load_attr; + } + + return 'data-' + this.settings.load_attr; + }, + + parse_data_attr : function (el) { + var raw = el.attr(this.attr_name()).split(/\[(.*?)\]/), + i = raw.length, + output = []; + + while (i--) { + if (raw[i].replace(/[\W\d]+/, '').length > 4) { + output.push(raw[i]); + } + } + + return output; + }, + + reflow : function () { + this.load('images', true); + this.load('nodes', true); + } + + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.joyride.js b/js/foundation/js/foundation/foundation.joyride.js new file mode 100644 index 0000000..f251119 --- /dev/null +++ b/js/foundation/js/foundation/foundation.joyride.js @@ -0,0 +1,935 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + var Modernizr = Modernizr || false; + + Foundation.libs.joyride = { + name : 'joyride', + + version : '5.5.3', + + defaults : { + expose : false, // turn on or off the expose feature + modal : true, // Whether to cover page with modal during the tour + keyboard : true, // enable left, right and esc keystrokes + tip_location : 'bottom', // 'top', 'bottom', 'left' or 'right' in relation to parent + nub_position : 'auto', // override on a per tooltip bases + scroll_speed : 1500, // Page scrolling speed in milliseconds, 0 = no scroll animation + scroll_animation : 'linear', // supports 'swing' and 'linear', extend with jQuery UI. + timer : 0, // 0 = no timer , all other numbers = timer in milliseconds + start_timer_on_click : true, // true or false - true requires clicking the first button start the timer + start_offset : 0, // the index of the tooltip you want to start on (index of the li) + next_button : true, // true or false to control whether a next button is used + prev_button : true, // true or false to control whether a prev button is used + tip_animation : 'fade', // 'pop' or 'fade' in each tip + pause_after : [], // array of indexes where to pause the tour after + exposed : [], // array of expose elements + tip_animation_fade_speed : 300, // when tipAnimation = 'fade' this is speed in milliseconds for the transition + cookie_monster : false, // true or false to control whether cookies are used + cookie_name : 'joyride', // Name the cookie you'll use + cookie_domain : false, // Will this cookie be attached to a domain, ie. '.notableapp.com' + cookie_expires : 365, // set when you would like the cookie to expire. + tip_container : 'body', // Where will the tip be attached + abort_on_close : true, // When true, the close event will not fire any callback + tip_location_patterns : { + top : ['bottom'], + bottom : [], // bottom should not need to be repositioned + left : ['right', 'top', 'bottom'], + right : ['left', 'top', 'bottom'] + }, + post_ride_callback : function () {}, // A method to call once the tour closes (canceled or complete) + post_step_callback : function () {}, // A method to call after each step + pre_step_callback : function () {}, // A method to call before each step + pre_ride_callback : function () {}, // A method to call before the tour starts (passed index, tip, and cloned exposed element) + post_expose_callback : function () {}, // A method to call after an element has been exposed + template : { // HTML segments for tip layout + link : '×', + timer : '
      ', + tip : '
      ', + wrapper : '
      ', + button : '', + prev_button : '', + modal : '
      ', + expose : '
      ', + expose_cover : '
      ' + }, + expose_add_class : '' // One or more space-separated class names to be added to exposed element + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.settings = this.settings || $.extend({}, this.defaults, (options || method)); + + this.bindings(method, options) + }, + + go_next : function () { + if (this.settings.$li.next().length < 1) { + this.end(); + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(); + this.startTimer(); + } else { + this.hide(); + this.show(); + } + }, + + go_prev : function () { + if (this.settings.$li.prev().length < 1) { + // Do nothing if there are no prev element + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(null, true); + this.startTimer(); + } else { + this.hide(); + this.show(null, true); + } + }, + + events : function () { + var self = this; + + $(this.scope) + .off('.joyride') + .on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) { + e.preventDefault(); + this.go_next() + }.bind(this)) + .on('click.fndtn.joyride', '.joyride-prev-tip', function (e) { + e.preventDefault(); + this.go_prev(); + }.bind(this)) + + .on('click.fndtn.joyride', '.joyride-close-tip', function (e) { + e.preventDefault(); + this.end(this.settings.abort_on_close); + }.bind(this)) + + .on('keyup.fndtn.joyride', function (e) { + // Don't do anything if keystrokes are disabled + // or if the joyride is not being shown + if (!this.settings.keyboard || !this.settings.riding) { + return; + } + + switch (e.which) { + case 39: // right arrow + e.preventDefault(); + this.go_next(); + break; + case 37: // left arrow + e.preventDefault(); + this.go_prev(); + break; + case 27: // escape + e.preventDefault(); + this.end(this.settings.abort_on_close); + } + }.bind(this)); + + $(window) + .off('.joyride') + .on('resize.fndtn.joyride', self.throttle(function () { + if ($('[' + self.attr_name() + ']').length > 0 && self.settings.$next_tip && self.settings.riding) { + if (self.settings.exposed.length > 0) { + var $els = $(self.settings.exposed); + + $els.each(function () { + var $this = $(this); + self.un_expose($this); + self.expose($this); + }); + } + + if (self.is_phone()) { + self.pos_phone(); + } else { + self.pos_default(false); + } + } + }, 100)); + }, + + start : function () { + var self = this, + $this = $('[' + this.attr_name() + ']', this.scope), + integer_settings = ['timer', 'scrollSpeed', 'startOffset', 'tipAnimationFadeSpeed', 'cookieExpires'], + int_settings_count = integer_settings.length; + + if (!$this.length > 0) { + return; + } + + if (!this.settings.init) { + this.events(); + } + + this.settings = $this.data(this.attr_name(true) + '-init'); + + // non configureable settings + this.settings.$content_el = $this; + this.settings.$body = $(this.settings.tip_container); + this.settings.body_offset = $(this.settings.tip_container).position(); + this.settings.$tip_content = this.settings.$content_el.find('> li'); + this.settings.paused = false; + this.settings.attempts = 0; + this.settings.riding = true; + + // can we create cookies? + if (typeof $.cookie !== 'function') { + this.settings.cookie_monster = false; + } + + // generate the tips and insert into dom. + if (!this.settings.cookie_monster || this.settings.cookie_monster && !$.cookie(this.settings.cookie_name)) { + this.settings.$tip_content.each(function (index) { + var $this = $(this); + this.settings = $.extend({}, self.defaults, self.data_options($this)); + + // Make sure that settings parsed from data_options are integers where necessary + var i = int_settings_count; + while (i--) { + self.settings[integer_settings[i]] = parseInt(self.settings[integer_settings[i]], 10); + } + self.create({$li : $this, index : index}); + }); + + // show first tip + if (!this.settings.start_timer_on_click && this.settings.timer > 0) { + this.show('init'); + this.startTimer(); + } else { + this.show('init'); + } + + } + }, + + resume : function () { + this.set_li(); + this.show(); + }, + + tip_template : function (opts) { + var $blank, content; + + opts.tip_class = opts.tip_class || ''; + + $blank = $(this.settings.template.tip).addClass(opts.tip_class); + content = $.trim($(opts.li).html()) + + this.prev_button_text(opts.prev_button_text, opts.index) + + this.button_text(opts.button_text) + + this.settings.template.link + + this.timer_instance(opts.index); + + $blank.append($(this.settings.template.wrapper)); + $blank.first().attr(this.add_namespace('data-index'), opts.index); + $('.joyride-content-wrapper', $blank).append(content); + + return $blank[0]; + }, + + timer_instance : function (index) { + var txt; + + if ((index === 0 && this.settings.start_timer_on_click && this.settings.timer > 0) || this.settings.timer === 0) { + txt = ''; + } else { + txt = $(this.settings.template.timer)[0].outerHTML; + } + return txt; + }, + + button_text : function (txt) { + if (this.settings.tip_settings.next_button) { + txt = $.trim(txt) || 'Next'; + txt = $(this.settings.template.button).append(txt)[0].outerHTML; + } else { + txt = ''; + } + return txt; + }, + + prev_button_text : function (txt, idx) { + if (this.settings.tip_settings.prev_button) { + txt = $.trim(txt) || 'Previous'; + + // Add the disabled class to the button if it's the first element + if (idx == 0) { + txt = $(this.settings.template.prev_button).append(txt).addClass('disabled')[0].outerHTML; + } else { + txt = $(this.settings.template.prev_button).append(txt)[0].outerHTML; + } + } else { + txt = ''; + } + return txt; + }, + + create : function (opts) { + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(opts.$li)); + var buttonText = opts.$li.attr(this.add_namespace('data-button')) || opts.$li.attr(this.add_namespace('data-text')), + prevButtonText = opts.$li.attr(this.add_namespace('data-button-prev')) || opts.$li.attr(this.add_namespace('data-prev-text')), + tipClass = opts.$li.attr('class'), + $tip_content = $(this.tip_template({ + tip_class : tipClass, + index : opts.index, + button_text : buttonText, + prev_button_text : prevButtonText, + li : opts.$li + })); + + $(this.settings.tip_container).append($tip_content); + }, + + show : function (init, is_prev) { + var $timer = null; + + // are we paused? + if (this.settings.$li === undefined || ($.inArray(this.settings.$li.index(), this.settings.pause_after) === -1)) { + + // don't go to the next li if the tour was paused + if (this.settings.paused) { + this.settings.paused = false; + } else { + this.set_li(init, is_prev); + } + + this.settings.attempts = 0; + + if (this.settings.$li.length && this.settings.$target.length > 0) { + if (init) { //run when we first start + this.settings.pre_ride_callback(this.settings.$li.index(), this.settings.$next_tip); + if (this.settings.modal) { + this.show_modal(); + } + } + + this.settings.pre_step_callback(this.settings.$li.index(), this.settings.$next_tip); + + if (this.settings.modal && this.settings.expose) { + this.expose(); + } + + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(this.settings.$li)); + + this.settings.timer = parseInt(this.settings.timer, 10); + + this.settings.tip_settings.tip_location_pattern = this.settings.tip_location_patterns[this.settings.tip_settings.tip_location]; + + // scroll and hide bg if not modal and not expose + if (!/body/i.test(this.settings.$target.selector) && !this.settings.expose) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (/pop/i.test(this.settings.tipAnimation)) { + joyridemodalbg.hide(); + } else { + joyridemodalbg.fadeOut(this.settings.tipAnimationFadeSpeed); + } + this.scroll_to(); + } + + if (this.is_phone()) { + this.pos_phone(true); + } else { + this.pos_default(true); + } + + $timer = this.settings.$next_tip.find('.joyride-timer-indicator'); + + if (/pop/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip.show(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.show(); + + } + + } else if (/fade/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip + .fadeIn(this.settings.tip_animation_fade_speed) + .show(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed); + } + } + + this.settings.$current_tip = this.settings.$next_tip; + + // skip non-existant targets + } else if (this.settings.$li && this.settings.$target.length < 1) { + + this.show(init, is_prev); + + } else { + + this.end(); + + } + } else { + + this.settings.paused = true; + + } + + }, + + is_phone : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + hide : function () { + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + if (!this.settings.modal) { + $('.joyride-modal-bg').hide(); + } + + // Prevent scroll bouncing...wait to remove from layout + this.settings.$current_tip.css('visibility', 'hidden'); + setTimeout($.proxy(function () { + this.hide(); + this.css('visibility', 'visible'); + }, this.settings.$current_tip), 0); + this.settings.post_step_callback(this.settings.$li.index(), + this.settings.$current_tip); + }, + + set_li : function (init, is_prev) { + if (init) { + this.settings.$li = this.settings.$tip_content.eq(this.settings.start_offset); + this.set_next_tip(); + this.settings.$current_tip = this.settings.$next_tip; + } else { + if (is_prev) { + this.settings.$li = this.settings.$li.prev(); + } else { + this.settings.$li = this.settings.$li.next(); + } + this.set_next_tip(); + } + + this.set_target(); + }, + + set_next_tip : function () { + this.settings.$next_tip = $('.joyride-tip-guide').eq(this.settings.$li.index()); + this.settings.$next_tip.data('closed', ''); + }, + + set_target : function () { + var cl = this.settings.$li.attr(this.add_namespace('data-class')), + id = this.settings.$li.attr(this.add_namespace('data-id')), + $sel = function () { + if (id) { + return $(document.getElementById(id)); + } else if (cl) { + return $('.' + cl).first(); + } else { + return $('body'); + } + }; + + this.settings.$target = $sel(); + }, + + scroll_to : function () { + var window_half, tipOffset; + + window_half = $(window).height() / 2; + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()); + + if (tipOffset != 0) { + $('html, body').stop().animate({ + scrollTop : tipOffset + }, this.settings.scroll_speed, 'swing'); + } + }, + + paused : function () { + return ($.inArray((this.settings.$li.index() + 1), this.settings.pause_after) === -1); + }, + + restart : function () { + this.hide(); + this.settings.$li = undefined; + this.show('init'); + }, + + pos_default : function (init) { + var $nub = this.settings.$next_tip.find('.joyride-nub'), + nub_width = Math.ceil($nub.outerWidth() / 2), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + // tip must not be "display: none" to calculate position + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0, + leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0; + + if (this.bottom()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth() + leftAdjustment}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'top'); + + } else if (this.top()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'bottom'); + + } else if (this.right()) { + + this.settings.$next_tip.css({ + top : this.settings.$target.offset().top + topAdjustment, + left : (this.settings.$target.outerWidth() + this.settings.$target.offset().left + nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'left'); + + } else if (this.left()) { + + this.settings.$next_tip.css({ + top : this.settings.$target.offset().top + topAdjustment, + left : (this.settings.$target.offset().left - this.settings.$next_tip.outerWidth() - nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'right'); + + } + + if (!this.visible(this.corners(this.settings.$next_tip)) && this.settings.attempts < this.settings.tip_settings.tip_location_pattern.length) { + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + this.settings.tip_settings.tip_location = this.settings.tip_settings.tip_location_pattern[this.settings.attempts]; + + this.settings.attempts++; + + this.pos_default(); + + } + + } else if (this.settings.$li.length) { + + this.pos_modal($nub); + + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + + }, + + pos_phone : function (init) { + var tip_height = this.settings.$next_tip.outerHeight(), + tip_offset = this.settings.$next_tip.offset(), + target_height = this.settings.$target.outerHeight(), + $nub = $('.joyride-nub', this.settings.$next_tip), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + + if (this.top()) { + + this.settings.$next_tip.offset({top : this.settings.$target.offset().top - tip_height - nub_height}); + $nub.addClass('bottom'); + + } else { + + this.settings.$next_tip.offset({top : this.settings.$target.offset().top + target_height + nub_height}); + $nub.addClass('top'); + + } + + } else if (this.settings.$li.length) { + this.pos_modal($nub); + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + }, + + pos_modal : function ($nub) { + this.center(); + $nub.hide(); + + this.show_modal(); + }, + + show_modal : function () { + if (!this.settings.$next_tip.data('closed')) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (joyridemodalbg.length < 1) { + var joyridemodalbg = $(this.settings.template.modal); + joyridemodalbg.appendTo('body'); + } + + if (/pop/i.test(this.settings.tip_animation)) { + joyridemodalbg.show(); + } else { + joyridemodalbg.fadeIn(this.settings.tip_animation_fade_speed); + } + } + }, + + expose : function () { + var expose, + exposeCover, + el, + origCSS, + origClasses, + randId = 'expose-' + this.random_str(6); + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) { + el = this.settings.$target; + } else { + return false; + } + + if (el.length < 1) { + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + expose = $(this.settings.template.expose); + this.settings.$body.append(expose); + expose.css({ + top : el.offset().top, + left : el.offset().left, + width : el.outerWidth(true), + height : el.outerHeight(true) + }); + + exposeCover = $(this.settings.template.expose_cover); + + origCSS = { + zIndex : el.css('z-index'), + position : el.css('position') + }; + + origClasses = el.attr('class') == null ? '' : el.attr('class'); + + el.css('z-index', parseInt(expose.css('z-index')) + 1); + + if (origCSS.position == 'static') { + el.css('position', 'relative'); + } + + el.data('expose-css', origCSS); + el.data('orig-class', origClasses); + el.attr('class', origClasses + ' ' + this.settings.expose_add_class); + + exposeCover.css({ + top : el.offset().top, + left : el.offset().left, + width : el.outerWidth(true), + height : el.outerHeight(true) + }); + + if (this.settings.modal) { + this.show_modal(); + } + + this.settings.$body.append(exposeCover); + expose.addClass(randId); + exposeCover.addClass(randId); + el.data('expose', randId); + this.settings.post_expose_callback(this.settings.$li.index(), this.settings.$next_tip, el); + this.add_exposed(el); + }, + + un_expose : function () { + var exposeId, + el, + expose, + origCSS, + origClasses, + clearAll = false; + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) { + el = this.settings.$target; + } else { + return false; + } + + if (el.length < 1) { + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + exposeId = el.data('expose'); + expose = $('.' + exposeId); + + if (arguments.length > 1) { + clearAll = arguments[1]; + } + + if (clearAll === true) { + $('.joyride-expose-wrapper,.joyride-expose-cover').remove(); + } else { + expose.remove(); + } + + origCSS = el.data('expose-css'); + + if (origCSS.zIndex == 'auto') { + el.css('z-index', ''); + } else { + el.css('z-index', origCSS.zIndex); + } + + if (origCSS.position != el.css('position')) { + if (origCSS.position == 'static') {// this is default, no need to set it. + el.css('position', ''); + } else { + el.css('position', origCSS.position); + } + } + + origClasses = el.data('orig-class'); + el.attr('class', origClasses); + el.removeData('orig-classes'); + + el.removeData('expose'); + el.removeData('expose-z-index'); + this.remove_exposed(el); + }, + + add_exposed : function (el) { + this.settings.exposed = this.settings.exposed || []; + if (el instanceof $ || typeof el === 'object') { + this.settings.exposed.push(el[0]); + } else if (typeof el == 'string') { + this.settings.exposed.push(el); + } + }, + + remove_exposed : function (el) { + var search, i; + if (el instanceof $) { + search = el[0] + } else if (typeof el == 'string') { + search = el; + } + + this.settings.exposed = this.settings.exposed || []; + i = this.settings.exposed.length; + + while (i--) { + if (this.settings.exposed[i] == search) { + this.settings.exposed.splice(i, 1); + return; + } + } + }, + + center : function () { + var $w = $(window); + + this.settings.$next_tip.css({ + top : ((($w.height() - this.settings.$next_tip.outerHeight()) / 2) + $w.scrollTop()), + left : ((($w.width() - this.settings.$next_tip.outerWidth()) / 2) + $w.scrollLeft()) + }); + + return true; + }, + + bottom : function () { + return /bottom/i.test(this.settings.tip_settings.tip_location); + }, + + top : function () { + return /top/i.test(this.settings.tip_settings.tip_location); + }, + + right : function () { + return /right/i.test(this.settings.tip_settings.tip_location); + }, + + left : function () { + return /left/i.test(this.settings.tip_settings.tip_location); + }, + + corners : function (el) { + if (el.length === 0) { + return [false, false, false, false]; + } + + var w = $(window), + window_half = w.height() / 2, + //using this to calculate since scroll may not have finished yet. + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()), + right = w.width() + w.scrollLeft(), + offsetBottom = w.height() + tipOffset, + bottom = w.height() + w.scrollTop(), + top = w.scrollTop(); + + if (tipOffset < top) { + if (tipOffset < 0) { + top = 0; + } else { + top = tipOffset; + } + } + + if (offsetBottom > bottom) { + bottom = offsetBottom; + } + + return [ + el.offset().top < top, + right < el.offset().left + el.outerWidth(), + bottom < el.offset().top + el.outerHeight(), + w.scrollLeft() > el.offset().left + ]; + }, + + visible : function (hidden_corners) { + var i = hidden_corners.length; + + while (i--) { + if (hidden_corners[i]) { + return false; + } + } + + return true; + }, + + nub_position : function (nub, pos, def) { + if (pos === 'auto') { + nub.addClass(def); + } else { + nub.addClass(pos); + } + }, + + startTimer : function () { + if (this.settings.$li.length) { + this.settings.automate = setTimeout(function () { + this.hide(); + this.show(); + this.startTimer(); + }.bind(this), this.settings.timer); + } else { + clearTimeout(this.settings.automate); + } + }, + + end : function (abort) { + if (this.settings.cookie_monster) { + $.cookie(this.settings.cookie_name, 'ridden', {expires : this.settings.cookie_expires, domain : this.settings.cookie_domain}); + } + + if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + } + + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + // Unplug keystrokes listener + $(this.scope).off('keyup.joyride') + + this.settings.$next_tip.data('closed', true); + this.settings.riding = false; + + $('.joyride-modal-bg').hide(); + this.settings.$current_tip.hide(); + + if (typeof abort === 'undefined' || abort === false) { + this.settings.post_step_callback(this.settings.$li.index(), this.settings.$current_tip); + this.settings.post_ride_callback(this.settings.$li.index(), this.settings.$current_tip); + } + + $('.joyride-tip-guide').remove(); + }, + + off : function () { + $(this.scope).off('.joyride'); + $(window).off('.joyride'); + $('.joyride-close-tip, .joyride-next-tip, .joyride-modal-bg').off('.joyride'); + $('.joyride-tip-guide, .joyride-modal-bg').remove(); + clearTimeout(this.settings.automate); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.js b/js/foundation/js/foundation/foundation.js new file mode 100644 index 0000000..c5a359d --- /dev/null +++ b/js/foundation/js/foundation/foundation.js @@ -0,0 +1,732 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2015, ZURB + * Free to use under the MIT license. + * http://www.opensource.org/licenses/mit-license.php +*/ + +(function ($, window, document, undefined) { + 'use strict'; + + var header_helpers = function (class_array) { + var head = $('head'); + head.prepend($.map(class_array, function (class_name) { + if (head.has('.' + class_name).length === 0) { + return ''; + } + })); + }; + + header_helpers([ + 'foundation-mq-small', + 'foundation-mq-small-only', + 'foundation-mq-medium', + 'foundation-mq-medium-only', + 'foundation-mq-large', + 'foundation-mq-large-only', + 'foundation-mq-xlarge', + 'foundation-mq-xlarge-only', + 'foundation-mq-xxlarge', + 'foundation-data-attribute-namespace']); + + // Enable FastClick if present + + $(function () { + if (typeof FastClick !== 'undefined') { + // Don't attach to body if undefined + if (typeof document.body !== 'undefined') { + FastClick.attach(document.body); + } + } + }); + + // private Fast Selector wrapper, + // returns jQuery object. Only use where + // getElementById is not available. + var S = function (selector, context) { + if (typeof selector === 'string') { + if (context) { + var cont; + if (context.jquery) { + cont = context[0]; + if (!cont) { + return context; + } + } else { + cont = context; + } + return $(cont.querySelectorAll(selector)); + } + + return $(document.querySelectorAll(selector)); + } + + return $(selector, context); + }; + + // Namespace functions. + + var attr_name = function (init) { + var arr = []; + if (!init) { + arr.push('data'); + } + if (this.namespace.length > 0) { + arr.push(this.namespace); + } + arr.push(this.name); + + return arr.join('-'); + }; + + var add_namespace = function (str) { + var parts = str.split('-'), + i = parts.length, + arr = []; + + while (i--) { + if (i !== 0) { + arr.push(parts[i]); + } else { + if (this.namespace.length > 0) { + arr.push(this.namespace, parts[i]); + } else { + arr.push(parts[i]); + } + } + } + + return arr.reverse().join('-'); + }; + + // Event binding and data-options updating. + + var bindings = function (method, options) { + var self = this, + bind = function(){ + var $this = S(this), + should_bind_events = !$this.data(self.attr_name(true) + '-init'); + $this.data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options($this))); + + if (should_bind_events) { + self.events(this); + } + }; + + if (S(this.scope).is('[' + this.attr_name() +']')) { + bind.call(this.scope); + } else { + S('[' + this.attr_name() +']', this.scope).each(bind); + } + // # Patch to fix #5043 to move this *after* the if/else clause in order for Backbone and similar frameworks to have improved control over event binding and data-options updating. + if (typeof method === 'string') { + return this[method].call(this, options); + } + + }; + + var single_image_loaded = function (image, callback) { + function loaded () { + callback(image[0]); + } + + function bindLoad () { + this.one('load', loaded); + + if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { + var src = this.attr( 'src' ), + param = src.match( /\?/ ) ? '&' : '?'; + + param += 'random=' + (new Date()).getTime(); + this.attr('src', src + param); + } + } + + if (!image.attr('src')) { + loaded(); + return; + } + + if (image[0].complete || image[0].readyState === 4) { + loaded(); + } else { + bindLoad.call(image); + } + }; + + /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */ + + window.matchMedia || (window.matchMedia = function() { + "use strict"; + + // For browsers that support matchMedium api such as IE 9 and webkit + var styleMedia = (window.styleMedia || window.media); + + // For those that don't support matchMedium + if (!styleMedia) { + var style = document.createElement('style'), + script = document.getElementsByTagName('script')[0], + info = null; + + style.type = 'text/css'; + style.id = 'matchmediajs-test'; + + script.parentNode.insertBefore(style, script); + + // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers + info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle; + + styleMedia = { + matchMedium: function(media) { + var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; + + // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers + if (style.styleSheet) { + style.styleSheet.cssText = text; + } else { + style.textContent = text; + } + + // Test if media query is true or false + return info.width === '1px'; + } + }; + } + + return function(media) { + return { + matches: styleMedia.matchMedium(media || 'all'), + media: media || 'all' + }; + }; + }()); + + /* + * jquery.requestAnimationFrame + * https://github.com/gnarf37/jquery-requestAnimationFrame + * Requires jQuery 1.8+ + * + * Copyright (c) 2012 Corey Frang + * Licensed under the MIT license. + */ + + (function(jQuery) { + + + // requestAnimationFrame polyfill adapted from Erik Möller + // fixes from Paul Irish and Tino Zijdel + // http://paulirish.com/2011/requestanimationframe-for-smart-animating/ + // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating + + var animating, + lastTime = 0, + vendors = ['webkit', 'moz'], + requestAnimationFrame = window.requestAnimationFrame, + cancelAnimationFrame = window.cancelAnimationFrame, + jqueryFxAvailable = 'undefined' !== typeof jQuery.fx; + + for (; lastTime < vendors.length && !requestAnimationFrame; lastTime++) { + requestAnimationFrame = window[ vendors[lastTime] + 'RequestAnimationFrame' ]; + cancelAnimationFrame = cancelAnimationFrame || + window[ vendors[lastTime] + 'CancelAnimationFrame' ] || + window[ vendors[lastTime] + 'CancelRequestAnimationFrame' ]; + } + + function raf() { + if (animating) { + requestAnimationFrame(raf); + + if (jqueryFxAvailable) { + jQuery.fx.tick(); + } + } + } + + if (requestAnimationFrame) { + // use rAF + window.requestAnimationFrame = requestAnimationFrame; + window.cancelAnimationFrame = cancelAnimationFrame; + + if (jqueryFxAvailable) { + jQuery.fx.timer = function (timer) { + if (timer() && jQuery.timers.push(timer) && !animating) { + animating = true; + raf(); + } + }; + + jQuery.fx.stop = function () { + animating = false; + }; + } + } else { + // polyfill + window.requestAnimationFrame = function (callback) { + var currTime = new Date().getTime(), + timeToCall = Math.max(0, 16 - (currTime - lastTime)), + id = window.setTimeout(function () { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + + window.cancelAnimationFrame = function (id) { + clearTimeout(id); + }; + + } + + }( $ )); + + function removeQuotes (string) { + if (typeof string === 'string' || string instanceof String) { + string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, ''); + } + + return string; + } + + function MediaQuery(selector) { + this.selector = selector; + this.query = ''; + } + + MediaQuery.prototype.toString = function () { + return this.query || (this.query = S(this.selector).css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')); + }; + + window.Foundation = { + name : 'Foundation', + + version : '5.5.3', + + media_queries : { + 'small' : new MediaQuery('.foundation-mq-small'), + 'small-only' : new MediaQuery('.foundation-mq-small-only'), + 'medium' : new MediaQuery('.foundation-mq-medium'), + 'medium-only' : new MediaQuery('.foundation-mq-medium-only'), + 'large' : new MediaQuery('.foundation-mq-large'), + 'large-only' : new MediaQuery('.foundation-mq-large-only'), + 'xlarge' : new MediaQuery('.foundation-mq-xlarge'), + 'xlarge-only' : new MediaQuery('.foundation-mq-xlarge-only'), + 'xxlarge' : new MediaQuery('.foundation-mq-xxlarge') + }, + + stylesheet : $('').appendTo('head')[0].sheet, + + global : { + namespace : undefined + }, + + init : function (scope, libraries, method, options, response) { + var args = [scope, method, options, response], + responses = []; + + // check RTL + this.rtl = /rtl/i.test(S('html').attr('dir')); + + // set foundation global scope + this.scope = scope || this.scope; + + this.set_namespace(); + + if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) { + if (this.libs.hasOwnProperty(libraries)) { + responses.push(this.init_lib(libraries, args)); + } + } else { + for (var lib in this.libs) { + responses.push(this.init_lib(lib, libraries)); + } + } + + S(window).load(function () { + S(window) + .trigger('resize.fndtn.clearing') + .trigger('resize.fndtn.dropdown') + .trigger('resize.fndtn.equalizer') + .trigger('resize.fndtn.interchange') + .trigger('resize.fndtn.joyride') + .trigger('resize.fndtn.magellan') + .trigger('resize.fndtn.topbar') + .trigger('resize.fndtn.slider'); + }); + + return scope; + }, + + init_lib : function (lib, args) { + if (this.libs.hasOwnProperty(lib)) { + this.patch(this.libs[lib]); + + if (args && args.hasOwnProperty(lib)) { + if (typeof this.libs[lib].settings !== 'undefined') { + $.extend(true, this.libs[lib].settings, args[lib]); + } else if (typeof this.libs[lib].defaults !== 'undefined') { + $.extend(true, this.libs[lib].defaults, args[lib]); + } + return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]); + } + + args = args instanceof Array ? args : new Array(args); + return this.libs[lib].init.apply(this.libs[lib], args); + } + + return function () {}; + }, + + patch : function (lib) { + lib.scope = this.scope; + lib.namespace = this.global.namespace; + lib.rtl = this.rtl; + lib['data_options'] = this.utils.data_options; + lib['attr_name'] = attr_name; + lib['add_namespace'] = add_namespace; + lib['bindings'] = bindings; + lib['S'] = this.utils.S; + }, + + inherit : function (scope, methods) { + var methods_arr = methods.split(' '), + i = methods_arr.length; + + while (i--) { + if (this.utils.hasOwnProperty(methods_arr[i])) { + scope[methods_arr[i]] = this.utils[methods_arr[i]]; + } + } + }, + + set_namespace : function () { + + // Description: + // Don't bother reading the namespace out of the meta tag + // if the namespace has been set globally in javascript + // + // Example: + // Foundation.global.namespace = 'my-namespace'; + // or make it an empty string: + // Foundation.global.namespace = ''; + // + // + + // If the namespace has not been set (is undefined), try to read it out of the meta element. + // Otherwise use the globally defined namespace, even if it's empty ('') + var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace; + + // Finally, if the namsepace is either undefined or false, set it to an empty string. + // Otherwise use the namespace value. + this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace; + }, + + libs : {}, + + // methods that can be inherited in libraries + utils : { + + // Description: + // Fast Selector wrapper returns jQuery object. Only use where getElementById + // is not available. + // + // Arguments: + // Selector (String): CSS selector describing the element(s) to be + // returned as a jQuery object. + // + // Scope (String): CSS selector describing the area to be searched. Default + // is document. + // + // Returns: + // Element (jQuery Object): jQuery object containing elements matching the + // selector within the scope. + S : S, + + // Description: + // Executes a function a max of once every n milliseconds + // + // Arguments: + // Func (Function): Function to be throttled. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Returns: + // Lazy_function (Function): Function with throttling applied. + throttle : function (func, delay) { + var timer = null; + + return function () { + var context = this, args = arguments; + + if (timer == null) { + timer = setTimeout(function () { + func.apply(context, args); + timer = null; + }, delay); + } + }; + }, + + // Description: + // Executes a function when it stops being invoked for n seconds + // Modified version of _.debounce() http://underscorejs.org + // + // Arguments: + // Func (Function): Function to be debounced. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Immediate (Bool): Whether the function should be called at the beginning + // of the delay instead of the end. Default is false. + // + // Returns: + // Lazy_function (Function): Function with debouncing applied. + debounce : function (func, delay, immediate) { + var timeout, result; + return function () { + var context = this, args = arguments; + var later = function () { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + } + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, delay); + if (callNow) { + result = func.apply(context, args); + } + return result; + }; + }, + + // Description: + // Parses data-options attribute + // + // Arguments: + // El (jQuery Object): Element to be parsed. + // + // Returns: + // Options (Javascript Object): Contents of the element's data-options + // attribute. + data_options : function (el, data_attr_name) { + data_attr_name = data_attr_name || 'options'; + var opts = {}, ii, p, opts_arr, + data_options = function (el) { + var namespace = Foundation.global.namespace; + + if (namespace.length > 0) { + return el.data(namespace + '-' + data_attr_name); + } + + return el.data(data_attr_name); + }; + + var cached_options = data_options(el); + + if (typeof cached_options === 'object') { + return cached_options; + } + + opts_arr = (cached_options || ':').split(';'); + ii = opts_arr.length; + + function isNumber (o) { + return !isNaN (o - 0) && o !== null && o !== '' && o !== false && o !== true; + } + + function trim (str) { + if (typeof str === 'string') { + return $.trim(str); + } + return str; + } + + while (ii--) { + p = opts_arr[ii].split(':'); + p = [p[0], p.slice(1).join(':')]; + + if (/true/i.test(p[1])) { + p[1] = true; + } + if (/false/i.test(p[1])) { + p[1] = false; + } + if (isNumber(p[1])) { + if (p[1].indexOf('.') === -1) { + p[1] = parseInt(p[1], 10); + } else { + p[1] = parseFloat(p[1]); + } + } + + if (p.length === 2 && p[0].length > 0) { + opts[trim(p[0])] = trim(p[1]); + } + } + + return opts; + }, + + // Description: + // Adds JS-recognizable media queries + // + // Arguments: + // Media (String): Key string for the media query to be stored as in + // Foundation.media_queries + // + // Class (String): Class name for the generated tag + register_media : function (media, media_class) { + if (Foundation.media_queries[media] === undefined) { + $('head').append(''); + Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family')); + } + }, + + // Description: + // Add custom CSS within a JS-defined media query + // + // Arguments: + // Rule (String): CSS rule to be appended to the document. + // + // Media (String): Optional media query string for the CSS rule to be + // nested under. + add_custom_rule : function (rule, media) { + if (media === undefined && Foundation.stylesheet) { + Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length); + } else { + var query = Foundation.media_queries[media]; + + if (query !== undefined) { + Foundation.stylesheet.insertRule('@media ' + + Foundation.media_queries[media] + '{ ' + rule + ' }', Foundation.stylesheet.cssRules.length); + } + } + }, + + // Description: + // Performs a callback function when an image is fully loaded + // + // Arguments: + // Image (jQuery Object): Image(s) to check if loaded. + // + // Callback (Function): Function to execute when image is fully loaded. + image_loaded : function (images, callback) { + var self = this, + unloaded = images.length; + + function pictures_has_height(images) { + var pictures_number = images.length; + + for (var i = pictures_number - 1; i >= 0; i--) { + if(images.attr('height') === undefined) { + return false; + }; + }; + + return true; + } + + if (unloaded === 0 || pictures_has_height(images)) { + callback(images); + } + + images.each(function () { + single_image_loaded(self.S(this), function () { + unloaded -= 1; + if (unloaded === 0) { + callback(images); + } + }); + }); + }, + + // Description: + // Returns a random, alphanumeric string + // + // Arguments: + // Length (Integer): Length of string to be generated. Defaults to random + // integer. + // + // Returns: + // Rand (String): Pseudo-random, alphanumeric string. + random_str : function () { + if (!this.fidx) { + this.fidx = 0; + } + this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-'); + + return this.prefix + (this.fidx++).toString(36); + }, + + // Description: + // Helper for window.matchMedia + // + // Arguments: + // mq (String): Media query + // + // Returns: + // (Boolean): Whether the media query passes or not + match : function (mq) { + return window.matchMedia(mq).matches; + }, + + // Description: + // Helpers for checking Foundation default media queries with JS + // + // Returns: + // (Boolean): Whether the media query passes or not + + is_small_up : function () { + return this.match(Foundation.media_queries.small); + }, + + is_medium_up : function () { + return this.match(Foundation.media_queries.medium); + }, + + is_large_up : function () { + return this.match(Foundation.media_queries.large); + }, + + is_xlarge_up : function () { + return this.match(Foundation.media_queries.xlarge); + }, + + is_xxlarge_up : function () { + return this.match(Foundation.media_queries.xxlarge); + }, + + is_small_only : function () { + return !this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_medium_only : function () { + return this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_large_only : function () { + return this.is_medium_up() && this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_xlarge_only : function () { + return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_xxlarge_only : function () { + return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && this.is_xxlarge_up(); + } + } + }; + + $.fn.foundation = function () { + var args = Array.prototype.slice.call(arguments, 0); + + return this.each(function () { + Foundation.init.apply(Foundation, [this].concat(args)); + return this; + }); + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.magellan.js b/js/foundation/js/foundation/foundation.magellan.js new file mode 100644 index 0000000..aac36a7 --- /dev/null +++ b/js/foundation/js/foundation/foundation.magellan.js @@ -0,0 +1,214 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs['magellan-expedition'] = { + name : 'magellan-expedition', + + version : '5.5.3', + + settings : { + active_class : 'active', + threshold : 0, // pixels from the top of the expedition for it to become fixes + destination_threshold : 20, // pixels from the top of destination for it to be considered active + throttle_delay : 30, // calculation throttling to increase framerate + fixed_top : 0, // top distance in pixels assigend to the fixed element on scroll + offset_by_height : true, // whether to offset the destination by the expedition height. Usually you want this to be true, unless your expedition is on the side. + duration : 700, // animation duration time + easing : 'swing' // animation easing + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + settings = self.settings; + + // initialize expedition offset + self.set_expedition_position(); + + S(self.scope) + .off('.magellan') + .on('click.fndtn.magellan', '[' + self.add_namespace('data-magellan-arrival') + '] a[href*=#]', function (e) { + var sameHost = ((this.hostname === location.hostname) || !this.hostname), + samePath = self.filterPathname(location.pathname) === self.filterPathname(this.pathname), + testHash = this.hash.replace(/(:|\.|\/)/g, '\\$1'), + anchor = this; + + if (sameHost && samePath && testHash) { + e.preventDefault(); + var expedition = $(this).closest('[' + self.attr_name() + ']'), + settings = expedition.data('magellan-expedition-init'), + hash = this.hash.split('#').join(''), + target = $('a[name="' + hash + '"]'); + + if (target.length === 0) { + target = $('#' + hash); + + } + + // Account for expedition height if fixed position + var scroll_top = target.offset().top - settings.destination_threshold + 1; + if (settings.offset_by_height) { + scroll_top = scroll_top - expedition.outerHeight(); + } + $('html, body').stop().animate({ + 'scrollTop' : scroll_top + }, settings.duration, settings.easing, function () { + if (history.pushState) { + history.pushState(null, null, anchor.pathname + anchor.search + '#' + hash); + } else { + location.hash = anchor.pathname + anchor.search + '#' + hash; + } + }); + } + }) + .on('scroll.fndtn.magellan', self.throttle(this.check_for_arrivals.bind(this), settings.throttle_delay)); + }, + + check_for_arrivals : function () { + var self = this; + self.update_arrivals(); + self.update_expedition_positions(); + }, + + set_expedition_position : function () { + var self = this; + $('[' + this.attr_name() + '=fixed]', self.scope).each(function (idx, el) { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('styles'), // save styles + top_offset, fixed_top; + + expedition.attr('style', ''); + top_offset = expedition.offset().top + settings.threshold; + + //set fixed-top by attribute + fixed_top = parseInt(expedition.data('magellan-fixed-top')); + if (!isNaN(fixed_top)) { + self.settings.fixed_top = fixed_top; + } + + expedition.data(self.data_attr('magellan-top-offset'), top_offset); + expedition.attr('style', styles); + }); + }, + + update_expedition_positions : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + '=fixed]', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('style'), // save styles + top_offset = expedition.data('magellan-top-offset'); + + //scroll to the top distance + if (window_top_offset + self.settings.fixed_top >= top_offset) { + // Placeholder allows height calculations to be consistent even when + // appearing to switch between fixed/non-fixed placement + var placeholder = expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']'); + if (placeholder.length === 0) { + placeholder = expedition.clone(); + placeholder.removeAttr(self.attr_name()); + placeholder.attr(self.add_namespace('data-magellan-expedition-clone'), ''); + expedition.before(placeholder); + } + expedition.css({position :'fixed', top : settings.fixed_top}).addClass('fixed'); + } else { + expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']').remove(); + expedition.attr('style', styles).css('position', '').css('top', '').removeClass('fixed'); + } + }); + }, + + update_arrivals : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + ']', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data(self.attr_name(true) + '-init'), + offsets = self.offsets(expedition, window_top_offset), + arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'), + active_item = false; + offsets.each(function (idx, item) { + if (item.viewport_offset >= item.top_offset) { + var arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'); + arrivals.not(item.arrival).removeClass(settings.active_class); + item.arrival.addClass(settings.active_class); + active_item = true; + return true; + } + }); + + if (!active_item) { + arrivals.removeClass(settings.active_class); + } + }); + }, + + offsets : function (expedition, window_offset) { + var self = this, + settings = expedition.data(self.attr_name(true) + '-init'), + viewport_offset = window_offset; + + return expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']').map(function (idx, el) { + var name = $(this).data(self.data_attr('magellan-arrival')), + dest = $('[' + self.add_namespace('data-magellan-destination') + '=' + name + ']'); + if (dest.length > 0) { + var top_offset = dest.offset().top - settings.destination_threshold; + if (settings.offset_by_height) { + top_offset = top_offset - expedition.outerHeight(); + } + top_offset = Math.floor(top_offset); + return { + destination : dest, + arrival : $(this), + top_offset : top_offset, + viewport_offset : viewport_offset + } + } + }).sort(function (a, b) { + if (a.top_offset < b.top_offset) { + return -1; + } + if (a.top_offset > b.top_offset) { + return 1; + } + return 0; + }); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () { + this.S(this.scope).off('.magellan'); + this.S(window).off('.magellan'); + }, + + filterPathname : function (pathname) { + pathname = pathname || ''; + return pathname + .replace(/^\//,'') + .replace(/(?:index|default).[a-zA-Z]{3,4}$/,'') + .replace(/\/$/,''); + }, + + reflow : function () { + var self = this; + // remove placeholder expeditions used for height calculation purposes + $('[' + self.add_namespace('data-magellan-expedition-clone') + ']', self.scope).remove(); + } + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.offcanvas.js b/js/foundation/js/foundation/foundation.offcanvas.js new file mode 100644 index 0000000..685e9a0 --- /dev/null +++ b/js/foundation/js/foundation/foundation.offcanvas.js @@ -0,0 +1,225 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.offcanvas = { + name : 'offcanvas', + + version : '5.5.3', + + settings : { + open_method : 'move', + close_on_click : false + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + move_class = '', + right_postfix = '', + left_postfix = '', + top_postfix = '', + bottom_postfix = ''; + + if (this.settings.open_method === 'move') { + move_class = 'move-'; + right_postfix = 'right'; + left_postfix = 'left'; + top_postfix = 'top'; + bottom_postfix = 'bottom'; + } else if (this.settings.open_method === 'overlap_single') { + move_class = 'offcanvas-overlap-'; + right_postfix = 'right'; + left_postfix = 'left'; + top_postfix = 'top'; + bottom_postfix = 'bottom'; + } else if (this.settings.open_method === 'overlap') { + move_class = 'offcanvas-overlap'; + } + + S(this.scope).off('.offcanvas') + .on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + right_postfix); + if (self.settings.open_method !== 'overlap') { + S('.left-submenu').removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + right_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + right_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.left-submenu').toggleClass(move_class + right_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of left canvas + .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + left_postfix); + if (self.settings.open_method !== 'overlap') { + S('.right-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + left_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + left_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.right-submenu').toggleClass(move_class + left_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of right canvas + .on('click.fndtn.offcanvas', '.top-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + bottom_postfix); + if (self.settings.open_method !== 'overlap') { + S('.top-submenu').removeClass(move_class + bottom_postfix); + } + $('.top-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.top-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + bottom_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + bottom_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.top-submenu').toggleClass(move_class + bottom_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + bottom_postfix); + } + $('.top-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of top canvas + .on('click.fndtn.offcanvas', '.bottom-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + top_postfix); + if (self.settings.open_method !== 'overlap') { + S('.bottom-submenu').removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.bottom-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + top_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + top_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.bottom-submenu').toggleClass(move_class + top_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of bottom + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + S('.right-submenu').removeClass(move_class + left_postfix); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + S('.left-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + $('.left-off-canvas-toggle').attr('aria-expanded', 'false'); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + $('.right-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + top_postfix); + S('.bottom-submenu').removeClass(move_class + top_postfix); + if (bottom_postfix) { + self.click_remove_class(e, move_class + bottom_postfix); + S('.top-submenu').removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + top_postfix); + $('.top-off-canvas-toggle').attr('aria-expanded', 'false'); + if (bottom_postfix) { + self.click_remove_class(e, move_class + bottom_postfix); + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }); + }, + + toggle : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + if ($off_canvas.is('.' + class_name)) { + this.hide(class_name, $off_canvas); + } else { + this.show(class_name, $off_canvas); + } + }, + + show : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('open.fndtn.offcanvas'); + $off_canvas.addClass(class_name); + }, + + hide : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('close.fndtn.offcanvas'); + $off_canvas.removeClass(class_name); + }, + + click_toggle_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.toggle(class_name, $off_canvas); + }, + + click_remove_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.hide(class_name, $off_canvas); + }, + + get_settings : function (e) { + var offcanvas = this.S(e.target).closest('[' + this.attr_name() + ']'); + return offcanvas.data(this.attr_name(true) + '-init') || this.settings; + }, + + get_wrapper : function (e) { + var $off_canvas = this.S(e ? e.target : this.scope).closest('.off-canvas-wrap'); + + if ($off_canvas.length === 0) { + $off_canvas = this.S('.off-canvas-wrap'); + } + return $off_canvas; + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.orbit.js b/js/foundation/js/foundation/foundation.orbit.js new file mode 100644 index 0000000..d88bb46 --- /dev/null +++ b/js/foundation/js/foundation/foundation.orbit.js @@ -0,0 +1,476 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + var noop = function () {}; + + var Orbit = function (el, settings) { + // Don't reinitialize plugin + if (el.hasClass(settings.slides_container_class)) { + return this; + } + + var self = this, + container, + slides_container = el, + number_container, + bullets_container, + timer_container, + idx = 0, + animate, + timer, + locked = false, + adjust_height_after = false; + + self.slides = function () { + return slides_container.children(settings.slide_selector); + }; + + self.slides().first().addClass(settings.active_slide_class); + + self.update_slide_number = function (index) { + if (settings.slide_number) { + number_container.find('span:first').text(parseInt(index) + 1); + number_container.find('span:last').text(self.slides().length); + } + if (settings.bullets) { + bullets_container.children().removeClass(settings.bullets_active_class); + $(bullets_container.children().get(index)).addClass(settings.bullets_active_class); + } + }; + + self.update_active_link = function (index) { + var link = $('[data-orbit-link="' + self.slides().eq(index).attr('data-orbit-slide') + '"]'); + link.siblings().removeClass(settings.bullets_active_class); + link.addClass(settings.bullets_active_class); + }; + + self.build_markup = function () { + slides_container.wrap('
      '); + container = slides_container.parent(); + slides_container.addClass(settings.slides_container_class); + + if (settings.stack_on_small) { + container.addClass(settings.stack_on_small_class); + } + + if (settings.navigation_arrows) { + container.append($('').addClass(settings.prev_class)); + container.append($('').addClass(settings.next_class)); + } + + if (settings.timer) { + timer_container = $('
      ').addClass(settings.timer_container_class); + timer_container.append(''); + timer_container.append($('
      ').addClass(settings.timer_progress_class)); + timer_container.addClass(settings.timer_paused_class); + container.append(timer_container); + } + + if (settings.slide_number) { + number_container = $('
      ').addClass(settings.slide_number_class); + number_container.append(' ' + settings.slide_number_text + ' '); + container.append(number_container); + } + + if (settings.bullets) { + bullets_container = $('
        ').addClass(settings.bullets_container_class); + container.append(bullets_container); + bullets_container.wrap('
        '); + self.slides().each(function (idx, el) { + var bullet = $('
      1. ').attr('data-orbit-slide', idx).on('click', self.link_bullet);; + bullets_container.append(bullet); + }); + } + + }; + + self._goto = function (next_idx, start_timer) { + // if (locked) {return false;} + if (next_idx === idx) {return false;} + if (typeof timer === 'object') {timer.restart();} + var slides = self.slides(); + + var dir = 'next'; + locked = true; + if (next_idx < idx) {dir = 'prev';} + if (next_idx >= slides.length) { + if (!settings.circular) { + return false; + } + next_idx = 0; + } else if (next_idx < 0) { + if (!settings.circular) { + return false; + } + next_idx = slides.length - 1; + } + + var current = $(slides.get(idx)); + var next = $(slides.get(next_idx)); + + current.css('zIndex', 2); + current.removeClass(settings.active_slide_class); + next.css('zIndex', 4).addClass(settings.active_slide_class); + + slides_container.trigger('before-slide-change.fndtn.orbit'); + settings.before_slide_change(); + self.update_active_link(next_idx); + + var callback = function () { + var unlock = function () { + idx = next_idx; + locked = false; + if (start_timer === true) {timer = self.create_timer(); timer.start();} + self.update_slide_number(idx); + slides_container.trigger('after-slide-change.fndtn.orbit', [{slide_number : idx, total_slides : slides.length}]); + settings.after_slide_change(idx, slides.length); + }; + if (slides_container.outerHeight() != next.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 250, 'linear', unlock); + } else { + unlock(); + } + }; + + if (slides.length === 1) {callback(); return false;} + + var start_animation = function () { + if (dir === 'next') {animate.next(current, next, callback);} + if (dir === 'prev') {animate.prev(current, next, callback);} + }; + + if (next.outerHeight() > slides_container.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 250, 'linear', start_animation); + } else { + start_animation(); + } + }; + + self.next = function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + self._goto(idx + 1); + }; + + self.prev = function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + self._goto(idx - 1); + }; + + self.link_custom = function (e) { + e.preventDefault(); + var link = $(this).attr('data-orbit-link'); + if ((typeof link === 'string') && (link = $.trim(link)) != '') { + var slide = container.find('[data-orbit-slide=' + link + ']'); + if (slide.index() != -1) {self._goto(slide.index());} + } + }; + + self.link_bullet = function (e) { + var index = $(this).attr('data-orbit-slide'); + if ((typeof index === 'string') && (index = $.trim(index)) != '') { + if (isNaN(parseInt(index))) { + var slide = container.find('[data-orbit-slide=' + index + ']'); + if (slide.index() != -1) {self._goto(slide.index() + 1);} + } else { + self._goto(parseInt(index)); + } + } + + } + + self.timer_callback = function () { + self._goto(idx + 1, true); + } + + self.compute_dimensions = function () { + var current = $(self.slides().get(idx)); + var h = current.outerHeight(); + if (!settings.variable_height) { + self.slides().each(function(){ + if ($(this).outerHeight() > h) { h = $(this).outerHeight(); } + }); + } + slides_container.height(h); + }; + + self.create_timer = function () { + var t = new Timer( + container.find('.' + settings.timer_container_class), + settings, + self.timer_callback + ); + return t; + }; + + self.stop_timer = function () { + if (typeof timer === 'object') { + timer.stop(); + } + }; + + self.toggle_timer = function () { + var t = container.find('.' + settings.timer_container_class); + if (t.hasClass(settings.timer_paused_class)) { + if (typeof timer === 'undefined') {timer = self.create_timer();} + timer.start(); + } else { + if (typeof timer === 'object') {timer.stop();} + } + }; + + self.init = function () { + self.build_markup(); + if (settings.timer) { + timer = self.create_timer(); + Foundation.utils.image_loaded(this.slides().children('img'), timer.start); + } + animate = new FadeAnimation(settings, slides_container); + if (settings.animation === 'slide') { + animate = new SlideAnimation(settings, slides_container); + } + + container.on('click', '.' + settings.next_class, self.next); + container.on('click', '.' + settings.prev_class, self.prev); + + if (settings.next_on_click) { + container.on('click', '.' + settings.slides_container_class + ' [data-orbit-slide]', self.link_bullet); + } + + container.on('click', self.toggle_timer); + if (settings.swipe) { + container.on('touchstart.fndtn.orbit', function (e) { + if (!e.touches) {e = e.originalEvent;} + var data = { + start_page_x : e.touches[0].pageX, + start_page_y : e.touches[0].pageY, + start_time : (new Date()).getTime(), + delta_x : 0, + is_scrolling : undefined + }; + container.data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.orbit', function (e) { + if (!e.touches) { + e = e.originalEvent; + } + // Ignore pinch/zoom events + if (e.touches.length > 1 || e.scale && e.scale !== 1) { + return; + } + + var data = container.data('swipe-transition'); + if (typeof data === 'undefined') {data = {};} + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if ( typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? (idx + 1) : (idx - 1); + data.active = true; + self._goto(direction); + } + }) + .on('touchend.fndtn.orbit', function (e) { + container.data('swipe-transition', {}); + e.stopPropagation(); + }) + } + container.on('mouseenter.fndtn.orbit', function (e) { + if (settings.timer && settings.pause_on_hover) { + self.stop_timer(); + } + }) + .on('mouseleave.fndtn.orbit', function (e) { + if (settings.timer && settings.resume_on_mouseout) { + timer.start(); + } + }); + + $(document).on('click', '[data-orbit-link]', self.link_custom); + $(window).on('load resize', self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), function () { + container.prev('.' + settings.preloader_class).css('display', 'none'); + self.update_slide_number(0); + self.update_active_link(0); + slides_container.trigger('ready.fndtn.orbit'); + }); + }; + + self.init(); + }; + + var Timer = function (el, settings, callback) { + var self = this, + duration = settings.timer_speed, + progress = el.find('.' + settings.timer_progress_class), + start, + timeout, + left = -1; + + this.update_progress = function (w) { + var new_progress = progress.clone(); + new_progress.attr('style', ''); + new_progress.css('width', w + '%'); + progress.replaceWith(new_progress); + progress = new_progress; + }; + + this.restart = function () { + clearTimeout(timeout); + el.addClass(settings.timer_paused_class); + left = -1; + self.update_progress(0); + }; + + this.start = function () { + if (!el.hasClass(settings.timer_paused_class)) {return true;} + left = (left === -1) ? duration : left; + el.removeClass(settings.timer_paused_class); + start = new Date().getTime(); + progress.animate({'width' : '100%'}, left, 'linear'); + timeout = setTimeout(function () { + self.restart(); + callback(); + }, left); + el.trigger('timer-started.fndtn.orbit') + }; + + this.stop = function () { + if (el.hasClass(settings.timer_paused_class)) {return true;} + clearTimeout(timeout); + el.addClass(settings.timer_paused_class); + var end = new Date().getTime(); + left = left - (end - start); + var w = 100 - ((left / duration) * 100); + self.update_progress(w); + el.trigger('timer-stopped.fndtn.orbit'); + }; + }; + + var SlideAnimation = function (settings, container) { + var duration = settings.animation_speed; + var is_rtl = ($('html[dir=rtl]').length === 1); + var margin = is_rtl ? 'marginRight' : 'marginLeft'; + var animMargin = {}; + animMargin[margin] = '0%'; + + this.next = function (current, next, callback) { + current.animate({marginLeft : '-100%'}, duration); + next.animate(animMargin, duration, function () { + current.css(margin, '100%'); + callback(); + }); + }; + + this.prev = function (current, prev, callback) { + current.animate({marginLeft : '100%'}, duration); + prev.css(margin, '-100%'); + prev.animate(animMargin, duration, function () { + current.css(margin, '100%'); + callback(); + }); + }; + }; + + var FadeAnimation = function (settings, container) { + var duration = settings.animation_speed; + var is_rtl = ($('html[dir=rtl]').length === 1); + var margin = is_rtl ? 'marginRight' : 'marginLeft'; + + this.next = function (current, next, callback) { + next.css({'margin' : '0%', 'opacity' : '0.01'}); + next.animate({'opacity' :'1'}, duration, 'linear', function () { + current.css('margin', '100%'); + callback(); + }); + }; + + this.prev = function (current, prev, callback) { + prev.css({'margin' : '0%', 'opacity' : '0.01'}); + prev.animate({'opacity' : '1'}, duration, 'linear', function () { + current.css('margin', '100%'); + callback(); + }); + }; + }; + + Foundation.libs = Foundation.libs || {}; + + Foundation.libs.orbit = { + name : 'orbit', + + version : '5.5.3', + + settings : { + animation : 'slide', + timer_speed : 10000, + pause_on_hover : true, + resume_on_mouseout : false, + next_on_click : true, + animation_speed : 500, + stack_on_small : false, + navigation_arrows : true, + slide_number : true, + slide_number_text : 'of', + container_class : 'orbit-container', + stack_on_small_class : 'orbit-stack-on-small', + next_class : 'orbit-next', + prev_class : 'orbit-prev', + timer_container_class : 'orbit-timer', + timer_paused_class : 'paused', + timer_progress_class : 'orbit-progress', + slides_container_class : 'orbit-slides-container', + preloader_class : 'preloader', + slide_selector : '*', + bullets_container_class : 'orbit-bullets', + bullets_active_class : 'active', + slide_number_class : 'orbit-slide-number', + caption_class : 'orbit-caption', + active_slide_class : 'active', + orbit_transition_class : 'orbit-transitioning', + bullets : true, + circular : true, + timer : true, + variable_height : false, + swipe : true, + before_slide_change : noop, + after_slide_change : noop + }, + + init : function (scope, method, options) { + var self = this; + this.bindings(method, options); + }, + + events : function (instance) { + var orbit_instance = new Orbit(this.S(instance), this.S(instance).data('orbit-init')); + this.S(instance).data(this.name + '-instance', orbit_instance); + }, + + reflow : function () { + var self = this; + + if (self.S(self.scope).is('[data-orbit]')) { + var $el = self.S(self.scope); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + } else { + self.S('[data-orbit]', self.scope).each(function (idx, el) { + var $el = self.S(el); + var opts = self.data_options($el); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + }); + } + } + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.reveal.js b/js/foundation/js/foundation/foundation.reveal.js new file mode 100644 index 0000000..08ad413 --- /dev/null +++ b/js/foundation/js/foundation/foundation.reveal.js @@ -0,0 +1,522 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + var openModals = []; + + Foundation.libs.reveal = { + name : 'reveal', + + version : '5.5.3', + + locked : false, + + settings : { + animation : 'fadeAndPop', + animation_speed : 250, + close_on_background_click : true, + close_on_esc : true, + dismiss_modal_class : 'close-reveal-modal', + multiple_opened : false, + bg_class : 'reveal-modal-bg', + root_element : 'body', + open : function(){}, + opened : function(){}, + close : function(){}, + closed : function(){}, + on_ajax_error: $.noop, + bg : $('.reveal-modal-bg'), + css : { + open : { + 'opacity' : 0, + 'visibility' : 'visible', + 'display' : 'block' + }, + close : { + 'opacity' : 1, + 'visibility' : 'hidden', + 'display' : 'none' + } + } + }, + + init : function (scope, method, options) { + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.reveal') + .on('click.fndtn.reveal', '[' + this.add_namespace('data-reveal-id') + ']:not([disabled])', function (e) { + e.preventDefault(); + + if (!self.locked) { + var element = S(this), + ajax = element.data(self.data_attr('reveal-ajax')), + replaceContentSel = element.data(self.data_attr('reveal-replace-content')); + + self.locked = true; + + if (typeof ajax === 'undefined') { + self.open.call(self, element); + } else { + var url = ajax === true ? element.attr('href') : ajax; + self.open.call(self, element, {url : url}, { replaceContentSel : replaceContentSel }); + } + } + }); + + S(document) + .on('click.fndtn.reveal', this.close_targets(), function (e) { + e.preventDefault(); + if (!self.locked) { + var settings = S('[' + self.attr_name() + '].open').data(self.attr_name(true) + '-init') || self.settings, + bg_clicked = S(e.target)[0] === S('.' + settings.bg_class)[0]; + + if (bg_clicked) { + if (settings.close_on_background_click) { + e.stopPropagation(); + } else { + return; + } + } + + self.locked = true; + self.close.call(self, bg_clicked ? S('[' + self.attr_name() + '].open:not(.toback)') : S(this).closest('[' + self.attr_name() + ']')); + } + }); + + if (S('[' + self.attr_name() + ']', this.scope).length > 0) { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', this.settings.open) + .on('opened.fndtn.reveal', this.settings.opened) + .on('opened.fndtn.reveal', this.open_video) + .on('close.fndtn.reveal', this.settings.close) + .on('closed.fndtn.reveal', this.settings.closed) + .on('closed.fndtn.reveal', this.close_video); + } else { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.open) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.opened) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.open_video) + .on('close.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.close) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.closed) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.close_video); + } + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_on : function (scope) { + var self = this; + + // PATCH #1: fixing multiple keyup event trigger from single key press + self.S('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) { + var open_modal = self.S('[' + self.attr_name() + '].open'), + settings = open_modal.data(self.attr_name(true) + '-init') || self.settings ; + // PATCH #2: making sure that the close event can be called only while unlocked, + // so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window. + if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key + self.close.call(self, open_modal); + } + }); + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_off : function (scope) { + this.S('body').off('keyup.fndtn.reveal'); + return true; + }, + + open : function (target, ajax_settings) { + var self = this, + modal; + + if (target) { + if (typeof target.selector !== 'undefined') { + // Find the named node; only use the first one found, since the rest of the code assumes there's only one node + modal = self.S('#' + target.data(self.data_attr('reveal-id'))).first(); + } else { + modal = self.S(this.scope); + + ajax_settings = target; + } + } else { + modal = self.S(this.scope); + } + + var settings = modal.data(self.attr_name(true) + '-init'); + settings = settings || this.settings; + + + if (modal.hasClass('open') && target !== undefined && target.attr('data-reveal-id') == modal.attr('id')) { + return self.close(modal); + } + + if (!modal.hasClass('open')) { + var open_modal = self.S('[' + self.attr_name() + '].open'); + + if (typeof modal.data('css-top') === 'undefined') { + modal.data('css-top', parseInt(modal.css('top'), 10)) + .data('offset', this.cache_offset(modal)); + } + + modal.attr('tabindex','0').attr('aria-hidden','false'); + + this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open + + // Prevent namespace event from triggering twice + modal.on('open.fndtn.reveal', function(e) { + if (e.namespace !== 'fndtn.reveal') return; + }); + + modal.on('open.fndtn.reveal').trigger('open.fndtn.reveal'); + + if (open_modal.length < 1) { + this.toggle_bg(modal, true); + } + + if (typeof ajax_settings === 'string') { + ajax_settings = { + url : ajax_settings + }; + } + + var openModal = function() { + if(open_modal.length > 0) { + if(settings.multiple_opened) { + self.to_back(open_modal); + } else { + self.hide(open_modal, settings.css.close); + } + } + + // bl: add the open_modal that isn't already in the background to the openModals array + if(settings.multiple_opened) { + openModals.push(modal); + } + + self.show(modal, settings.css.open); + }; + + if (typeof ajax_settings === 'undefined' || !ajax_settings.url) { + openModal(); + } else { + var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null; + $.extend(ajax_settings, { + success : function (data, textStatus, jqXHR) { + if ( $.isFunction(old_success) ) { + var result = old_success(data, textStatus, jqXHR); + if (typeof result == 'string') { + data = result; + } + } + + if (typeof options !== 'undefined' && typeof options.replaceContentSel !== 'undefined') { + modal.find(options.replaceContentSel).html(data); + } else { + modal.html(data); + } + + self.S(modal).foundation('section', 'reflow'); + self.S(modal).children().foundation(); + + openModal(); + } + }); + + // check for if user initalized with error callback + if (settings.on_ajax_error !== $.noop) { + $.extend(ajax_settings, { + error : settings.on_ajax_error + }); + } + + $.ajax(ajax_settings); + } + } + self.S(window).trigger('resize'); + }, + + close : function (modal) { + var modal = modal && modal.length ? modal : this.S(this.scope), + open_modals = this.S('[' + this.attr_name() + '].open'), + settings = modal.data(this.attr_name(true) + '-init') || this.settings, + self = this; + + if (open_modals.length > 0) { + + modal.removeAttr('tabindex','0').attr('aria-hidden','true'); + + this.locked = true; + this.key_up_off(modal); // PATCH #3: turning on key up capture only when a reveal window is open + + modal.trigger('close.fndtn.reveal'); + + if ((settings.multiple_opened && open_modals.length === 1) || !settings.multiple_opened || modal.length > 1) { + self.toggle_bg(modal, false); + self.to_front(modal); + } + + if (settings.multiple_opened) { + var isCurrent = modal.is(':not(.toback)'); + self.hide(modal, settings.css.close, settings); + if(isCurrent) { + // remove the last modal since it is now closed + openModals.pop(); + } else { + // if this isn't the current modal, then find it in the array and remove it + openModals = $.grep(openModals, function(elt) { + var isThis = elt[0]===modal[0]; + if(isThis) { + // since it's not currently in the front, put it in the front now that it is hidden + // so that if it's re-opened, it won't be .toback + self.to_front(modal); + } + return !isThis; + }); + } + // finally, show the next modal in the stack, if there is one + if(openModals.length>0) { + self.to_front(openModals[openModals.length - 1]); + } + } else { + self.hide(open_modals, settings.css.close, settings); + } + } + }, + + close_targets : function () { + var base = '.' + this.settings.dismiss_modal_class; + + if (this.settings.close_on_background_click) { + return base + ', .' + this.settings.bg_class; + } + + return base; + }, + + toggle_bg : function (modal, state) { + if (this.S('.' + this.settings.bg_class).length === 0) { + this.settings.bg = $('
        ', {'class': this.settings.bg_class}) + .appendTo('body').hide(); + } + + var visible = this.settings.bg.filter(':visible').length > 0; + if ( state != visible ) { + if ( state == undefined ? visible : !state ) { + this.hide(this.settings.bg); + } else { + this.show(this.settings.bg); + } + } + }, + + show : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init') || this.settings, + root_element = settings.root_element, + context = this; + + if (el.parent(root_element).length === 0) { + var placeholder = el.wrap('
        ').parent(); + + el.on('closed.fndtn.reveal.wrapped', function () { + el.detach().appendTo(placeholder); + el.unwrap().unbind('closed.fndtn.reveal.wrapped'); + }); + + el.detach().appendTo(root_element); + } + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + css.top = $(window).scrollTop() - el.data('offset') + 'px'; + var end_css = { + top: $(window).scrollTop() + el.data('css-top') + 'px', + opacity: 1 + }; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.trigger('opened.fndtn.reveal'); + }) + .addClass('open'); + }, settings.animation_speed / 2); + } + + css.top = $(window).scrollTop() + el.data('css-top') + 'px'; + + if (animData.fade) { + var end_css = {opacity: 1}; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.trigger('opened.fndtn.reveal'); + }) + .addClass('open'); + }, settings.animation_speed / 2); + } + + return el.css(css).show().css({opacity : 1}).addClass('open').trigger('opened.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeIn(settings.animation_speed / 2); + } + + this.locked = false; + + return el.show(); + }, + + to_back : function(el) { + el.addClass('toback'); + }, + + to_front : function(el) { + el.removeClass('toback'); + }, + + hide : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init'), + context = this; + settings = settings || this.settings; + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + var end_css = { + top: - $(window).scrollTop() - el.data('offset') + 'px', + opacity: 0 + }; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.css(css).trigger('closed.fndtn.reveal'); + }) + .removeClass('open'); + }, settings.animation_speed / 2); + } + + if (animData.fade) { + var end_css = {opacity : 0}; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.css(css).trigger('closed.fndtn.reveal'); + }) + .removeClass('open'); + }, settings.animation_speed / 2); + } + + return el.hide().css(css).removeClass('open').trigger('closed.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeOut(settings.animation_speed / 2); + } + + return el.hide(); + }, + + close_video : function (e) { + var video = $('.flex-video', e.target), + iframe = $('iframe', video); + + if (iframe.length > 0) { + iframe.attr('data-src', iframe[0].src); + iframe.attr('src', iframe.attr('src')); + video.hide(); + } + }, + + open_video : function (e) { + var video = $('.flex-video', e.target), + iframe = video.find('iframe'); + + if (iframe.length > 0) { + var data_src = iframe.attr('data-src'); + if (typeof data_src === 'string') { + iframe[0].src = iframe.attr('data-src'); + } else { + var src = iframe[0].src; + iframe[0].src = undefined; + iframe[0].src = src; + } + video.show(); + } + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + cache_offset : function (modal) { + var offset = modal.show().height() + parseInt(modal.css('top'), 10) + modal.scrollY; + + modal.hide(); + + return offset; + }, + + off : function () { + $(this.scope).off('.fndtn.reveal'); + }, + + reflow : function () {} + }; + + /* + * getAnimationData('popAndFade') // {animate: true, pop: true, fade: true} + * getAnimationData('fade') // {animate: true, pop: false, fade: true} + * getAnimationData('pop') // {animate: true, pop: true, fade: false} + * getAnimationData('foo') // {animate: false, pop: false, fade: false} + * getAnimationData(null) // {animate: false, pop: false, fade: false} + */ + function getAnimationData(str) { + var fade = /fade/i.test(str); + var pop = /pop/i.test(str); + return { + animate : fade || pop, + pop : pop, + fade : fade + }; + } +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.slider.js b/js/foundation/js/foundation/foundation.slider.js new file mode 100644 index 0000000..0d71d56 --- /dev/null +++ b/js/foundation/js/foundation/foundation.slider.js @@ -0,0 +1,296 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.slider = { + name : 'slider', + + version : '5.5.3', + + settings : { + start : 0, + end : 100, + step : 1, + precision : 2, + initial : null, + display_selector : '', + vertical : false, + trigger_input_change : false, + on_change : function () {} + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + var self = this; + $(this.scope) + .off('.slider') + .on('mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider', + '[' + self.attr_name() + ']:not(.disabled, [disabled]) .range-slider-handle', function (e) { + if (!self.cache.active) { + e.preventDefault(); + self.set_active_slider($(e.target)); + } + }) + .on('mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider', function (e) { + if (!!self.cache.active) { + e.preventDefault(); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + }) + .on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function (e) { + if(!self.cache.active) { + // if the user has just clicked into the slider without starting to drag the handle + var slider = $(e.target).attr('role') === 'slider' ? $(e.target) : $(e.target).closest('.range-slider').find("[role='slider']"); + + if (slider.length && (!slider.parent().hasClass('disabled') && !slider.parent().attr('disabled'))) { + self.set_active_slider(slider); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + } + self.remove_active_slider(); + }) + .on('change.fndtn.slider', function (e) { + self.settings.on_change(); + }); + + self.S(window) + .on('resize.fndtn.slider', self.throttle(function (e) { + self.reflow(); + }, 300)); + + // update slider value as users change input value + this.S('[' + this.attr_name() + ']').each(function () { + var slider = $(this), + handle = slider.children('.range-slider-handle')[0], + settings = self.initialize_settings(handle); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function(){ + if ($(this).attr('value')) { + $(this).off('change').on('change', function () { + slider.foundation("slider", "set_value", $(this).val()); + }); + } + }); + } + }); + }, + + get_cursor_position : function (e, xy) { + var pageXY = 'page' + xy.toUpperCase(), + clientXY = 'client' + xy.toUpperCase(), + position; + + if (typeof e[pageXY] !== 'undefined') { + position = e[pageXY]; + } else if (typeof e.originalEvent[clientXY] !== 'undefined') { + position = e.originalEvent[clientXY]; + } else if (e.originalEvent.touches && e.originalEvent.touches[0] && typeof e.originalEvent.touches[0][clientXY] !== 'undefined') { + position = e.originalEvent.touches[0][clientXY]; + } else if (e.currentPoint && typeof e.currentPoint[xy] !== 'undefined') { + position = e.currentPoint[xy]; + } + + return position; + }, + + set_active_slider : function ($handle) { + this.cache.active = $handle; + }, + + remove_active_slider : function () { + this.cache.active = null; + }, + + calculate_position : function ($handle, cursor_x) { + var self = this, + settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + handle_o = $.data($handle[0], 'handle_o'), + bar_l = $.data($handle[0], 'bar_l'), + bar_o = $.data($handle[0], 'bar_o'); + + requestAnimationFrame(function () { + var pct; + + if (Foundation.rtl && !settings.vertical) { + pct = self.limit_to(((bar_o + bar_l - cursor_x) / bar_l), 0, 1); + } else { + pct = self.limit_to(((cursor_x - bar_o) / bar_l), 0, 1); + } + + pct = settings.vertical ? 1 - pct : pct; + + var norm = self.normalized_value(pct, settings.start, settings.end, settings.step, settings.precision); + + self.set_ui($handle, norm); + }); + }, + + set_ui : function ($handle, value) { + var settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + bar_l = $.data($handle[0], 'bar_l'), + norm_pct = this.normalized_percentage(value, settings.start, settings.end), + handle_offset = norm_pct * (bar_l - handle_l) - 1, + progress_bar_length = norm_pct * 100, + $handle_parent = $handle.parent(), + $hidden_inputs = $handle.parent().children('input[type=hidden]'); + + if (Foundation.rtl && !settings.vertical) { + handle_offset = -handle_offset; + } + + handle_offset = settings.vertical ? -handle_offset + bar_l - handle_l + 1 : handle_offset; + this.set_translate($handle, handle_offset, settings.vertical); + + if (settings.vertical) { + $handle.siblings('.range-slider-active-segment').css('height', progress_bar_length + '%'); + } else { + $handle.siblings('.range-slider-active-segment').css('width', progress_bar_length + '%'); + } + + $handle_parent.attr(this.attr_name(), value).trigger('change.fndtn.slider'); + + $hidden_inputs.val(value); + if (settings.trigger_input_change) { + $hidden_inputs.trigger('change.fndtn.slider'); + } + + if (!$handle[0].hasAttribute('aria-valuemin')) { + $handle.attr({ + 'aria-valuemin' : settings.start, + 'aria-valuemax' : settings.end + }); + } + $handle.attr('aria-valuenow', value); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function () { + if (this.hasAttribute('value')) { + $(this).val(value); + } else { + $(this).text(value); + } + }); + } + + }, + + normalized_percentage : function (val, start, end) { + return Math.min(1, (val - start) / (end - start)); + }, + + normalized_value : function (val, start, end, step, precision) { + var range = end - start, + point = val * range, + mod = (point - (point % step)) / step, + rem = point % step, + round = ( rem >= step * 0.5 ? step : 0); + return ((mod * step + round) + start).toFixed(precision); + }, + + set_translate : function (ele, offset, vertical) { + if (vertical) { + $(ele) + .css('-webkit-transform', 'translateY(' + offset + 'px)') + .css('-moz-transform', 'translateY(' + offset + 'px)') + .css('-ms-transform', 'translateY(' + offset + 'px)') + .css('-o-transform', 'translateY(' + offset + 'px)') + .css('transform', 'translateY(' + offset + 'px)'); + } else { + $(ele) + .css('-webkit-transform', 'translateX(' + offset + 'px)') + .css('-moz-transform', 'translateX(' + offset + 'px)') + .css('-ms-transform', 'translateX(' + offset + 'px)') + .css('-o-transform', 'translateX(' + offset + 'px)') + .css('transform', 'translateX(' + offset + 'px)'); + } + }, + + limit_to : function (val, min, max) { + return Math.min(Math.max(val, min), max); + }, + + initialize_settings : function (handle) { + var settings = $.extend({}, this.settings, this.data_options($(handle).parent())), + decimal_places_match_result; + + if (settings.precision === null) { + decimal_places_match_result = ('' + settings.step).match(/\.([\d]*)/); + settings.precision = decimal_places_match_result && decimal_places_match_result[1] ? decimal_places_match_result[1].length : 0; + } + + if (settings.vertical) { + $.data(handle, 'bar_o', $(handle).parent().offset().top); + $.data(handle, 'bar_l', $(handle).parent().outerHeight()); + $.data(handle, 'handle_o', $(handle).offset().top); + $.data(handle, 'handle_l', $(handle).outerHeight()); + } else { + $.data(handle, 'bar_o', $(handle).parent().offset().left); + $.data(handle, 'bar_l', $(handle).parent().outerWidth()); + $.data(handle, 'handle_o', $(handle).offset().left); + $.data(handle, 'handle_l', $(handle).outerWidth()); + } + + $.data(handle, 'bar', $(handle).parent()); + return $.data(handle, 'settings', settings); + }, + + set_initial_position : function ($ele) { + var settings = $.data($ele.children('.range-slider-handle')[0], 'settings'), + initial = ((typeof settings.initial == 'number' && !isNaN(settings.initial)) ? settings.initial : Math.floor((settings.end - settings.start) * 0.5 / settings.step) * settings.step + settings.start), + $handle = $ele.children('.range-slider-handle'); + this.set_ui($handle, initial); + }, + + set_value : function (value) { + var self = this; + $('[' + self.attr_name() + ']', this.scope).each(function () { + $(this).attr(self.attr_name(), value); + }); + if (!!$(this.scope).attr(self.attr_name())) { + $(this.scope).attr(self.attr_name(), value); + } + self.reflow(); + }, + + reflow : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var handle = $(this).children('.range-slider-handle')[0], + val = $(this).attr(self.attr_name()); + self.initialize_settings(handle); + + if (val) { + self.set_ui($(handle), parseFloat(val)); + } else { + self.set_initial_position($(this)); + } + }); + } + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.tab.js b/js/foundation/js/foundation/foundation.tab.js new file mode 100644 index 0000000..4b375c1 --- /dev/null +++ b/js/foundation/js/foundation/foundation.tab.js @@ -0,0 +1,247 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tab = { + name : 'tab', + + version : '5.5.3', + + settings : { + active_class : 'active', + callback : function () {}, + deep_linking : false, + scroll_to_content : true, + is_hover : false + }, + + default_tab_hashes : [], + + init : function (scope, method, options) { + var self = this, + S = this.S; + + // Store the default active tabs which will be referenced when the + // location hash is absent, as in the case of navigating the tabs and + // returning to the first viewing via the browser Back button. + S('[' + this.attr_name() + '] > .active > a', this.scope).each(function () { + self.default_tab_hashes.push(this.hash); + }); + + this.bindings(method, options); + this.handle_location_hash_change(); + }, + + events : function () { + var self = this, + S = this.S; + + var usual_tab_behavior = function (e, target) { + var settings = S(target).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (!settings.is_hover || Modernizr.touch) { + // if user did not pressed tab key, prevent default action + var keyCode = e.keyCode || e.which; + if (keyCode !== 9) { + e.preventDefault(); + e.stopPropagation(); + } + self.toggle_active_tab(S(target).parent()); + + } + }; + + S(this.scope) + .off('.tab') + // Key event: focus/tab key + .on('keydown.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) { + var keyCode = e.keyCode || e.which; + // if user pressed tab key + if (keyCode === 13 || keyCode === 32) { // enter or space + var el = this; + usual_tab_behavior(e, el); + } + }) + // Click event: tab title + .on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) { + var el = this; + usual_tab_behavior(e, el); + }) + // Hover event: tab title + .on('mouseenter.fndtn.tab', '[' + this.attr_name() + '] > * > a', function (e) { + var settings = S(this).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (settings.is_hover) { + self.toggle_active_tab(S(this).parent()); + } + }); + + // Location hash change event + S(window).on('hashchange.fndtn.tab', function (e) { + e.preventDefault(); + self.handle_location_hash_change(); + }); + }, + + handle_location_hash_change : function () { + + var self = this, + S = this.S; + + S('[' + this.attr_name() + ']', this.scope).each(function () { + var settings = S(this).data(self.attr_name(true) + '-init'); + if (settings.deep_linking) { + // Match the location hash to a label + var hash; + if (settings.scroll_to_content) { + hash = self.scope.location.hash; + } else { + // prefix the hash to prevent anchor scrolling + hash = self.scope.location.hash.replace('fndtn-', ''); + } + if (hash != '') { + // Check whether the location hash references a tab content div or + // another element on the page (inside or outside the tab content div) + var hash_element = S(hash); + if (hash_element.hasClass('content') && hash_element.parent().hasClass('tabs-content')) { + // Tab content div + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + hash + ']').parent()); + } else { + // Not the tab content div. If inside the tab content, find the + // containing tab and toggle it as active. + var hash_tab_container_id = hash_element.closest('.content').attr('id'); + if (hash_tab_container_id != undefined) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=#' + hash_tab_container_id + ']').parent(), hash); + } + } + } else { + // Reference the default tab hashes which were initialized in the init function + for (var ind = 0; ind < self.default_tab_hashes.length; ind++) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + self.default_tab_hashes[ind] + ']').parent()); + } + } + } + }); + }, + + toggle_active_tab : function (tab, location_hash) { + var self = this, + S = self.S, + tabs = tab.closest('[' + this.attr_name() + ']'), + tab_link = tab.find('a'), + anchor = tab.children('a').first(), + target_hash = '#' + anchor.attr('href').split('#')[1], + target = S(target_hash), + siblings = tab.siblings(), + settings = tabs.data(this.attr_name(true) + '-init'), + interpret_keyup_action = function (e) { + // Light modification of Heydon Pickering's Practical ARIA Examples: http://heydonworks.com/practical_aria_examples/js/a11y.js + + // define current, previous and next (possible) tabs + + var $original = $(this); + var $prev = $(this).parents('li').prev().children('[role="tab"]'); + var $next = $(this).parents('li').next().children('[role="tab"]'); + var $target; + + // find the direction (prev or next) + + switch (e.keyCode) { + case 37: + $target = $prev; + break; + case 39: + $target = $next; + break; + default: + $target = false + break; + } + + if ($target.length) { + $original.attr({ + 'tabindex' : '-1', + 'aria-selected' : null + }); + $target.attr({ + 'tabindex' : '0', + 'aria-selected' : true + }).focus(); + } + + // Hide panels + + $('[role="tabpanel"]') + .attr('aria-hidden', 'true'); + + // Show panel which corresponds to target + + $('#' + $(document.activeElement).attr('href').substring(1)) + .attr('aria-hidden', null); + + }, + go_to_hash = function(hash) { + // This function allows correct behaviour of the browser's back button when deep linking is enabled. Without it + // the user would get continually redirected to the default hash. + var default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : 'fndtn-' + self.default_tab_hashes[0].replace('#', ''); + + if (hash !== default_hash || window.location.hash) { + window.location.hash = hash; + } + }; + + // allow usage of data-tab-content attribute instead of href + if (anchor.data('tab-content')) { + target_hash = '#' + anchor.data('tab-content').split('#')[1]; + target = S(target_hash); + } + + if (settings.deep_linking) { + + if (settings.scroll_to_content) { + + // retain current hash to scroll to content + go_to_hash(location_hash || target_hash); + + if (location_hash == undefined || location_hash == target_hash) { + tab.parent()[0].scrollIntoView(); + } else { + S(target_hash)[0].scrollIntoView(); + } + } else { + // prefix the hashes so that the browser doesn't scroll down + if (location_hash != undefined) { + go_to_hash('fndtn-' + location_hash.replace('#', '')); + } else { + go_to_hash('fndtn-' + target_hash.replace('#', '')); + } + } + } + + // WARNING: The activation and deactivation of the tab content must + // occur after the deep linking in order to properly refresh the browser + // window (notably in Chrome). + // Clean up multiple attr instances to done once + tab.addClass(settings.active_class).triggerHandler('opened'); + tab_link.attr({'aria-selected' : 'true', tabindex : 0}); + siblings.removeClass(settings.active_class) + siblings.find('a').attr({'aria-selected' : 'false'/*, tabindex : -1*/}); + target.siblings().removeClass(settings.active_class).attr({'aria-hidden' : 'true'/*, tabindex : -1*/}); + target.addClass(settings.active_class).attr('aria-hidden', 'false').removeAttr('tabindex'); + settings.callback(tab); + target.triggerHandler('toggled', [target]); + tabs.triggerHandler('toggled', [tab]); + + tab_link.off('keydown').on('keydown', interpret_keyup_action ); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.tooltip.js b/js/foundation/js/foundation/foundation.tooltip.js new file mode 100644 index 0000000..0690e25 --- /dev/null +++ b/js/foundation/js/foundation/foundation.tooltip.js @@ -0,0 +1,348 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tooltip = { + name : 'tooltip', + + version : '5.5.3', + + settings : { + additional_inheritable_classes : [], + tooltip_class : '.tooltip', + append_to : 'body', + touch_close_text : 'Tap To Close', + disable_for_touch : false, + hover_delay : 200, + fade_in_duration : 150, + fade_out_duration : 150, + show_on : 'all', + tip_template : function (selector, content) { + return '' + content + ''; + } + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'random_str'); + this.bindings(method, options); + }, + + should_show : function (target, tip) { + var settings = $.extend({}, this.settings, this.data_options(target)); + + if (settings.show_on === 'all') { + return true; + } else if (this.small() && settings.show_on === 'small') { + return true; + } else if (this.medium() && settings.show_on === 'medium') { + return true; + } else if (this.large() && settings.show_on === 'large') { + return true; + } + return false; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + events : function (instance) { + var self = this, + S = self.S; + + self.create(this.S(instance)); + + function _startShow(elt, $this, immediate) { + if (elt.timer) { + return; + } + + if (immediate) { + elt.timer = null; + self.showTip($this); + } else { + elt.timer = setTimeout(function () { + elt.timer = null; + self.showTip($this); + }.bind(elt), self.settings.hover_delay); + } + } + + function _startHide(elt, $this) { + if (elt.timer) { + clearTimeout(elt.timer); + elt.timer = null; + } + + self.hide($this); + } + + $(this.scope) + .off('.tooltip') + .on('mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', + '[' + this.attr_name() + ']', function (e) { + var $this = S(this), + settings = $.extend({}, self.settings, self.data_options($this)), + is_touch = false; + + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type) && S(e.target).is('a')) { + return false; + } + + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($this.hasClass('open')) { + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + } + self.hide($this); + } else { + if (settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + return; + } else if (!settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + S(settings.tooltip_class + '.open').hide(); + is_touch = true; + // close other open tooltips on touch + if ($('.open[' + self.attr_name() + ']').length > 0) { + var prevOpen = S($('.open[' + self.attr_name() + ']')[0]); + self.hide(prevOpen); + } + } + + if (/enter|over/i.test(e.type)) { + _startShow(this, $this); + + } else if (e.type === 'mouseout' || e.type === 'mouseleave') { + _startHide(this, $this); + } else { + _startShow(this, $this, true); + } + } + }) + .on('mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', '[' + this.attr_name() + '].open', function (e) { + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($(this).data('tooltip-open-event-type') == 'touch' && e.type == 'mouseleave') { + return; + } else if ($(this).data('tooltip-open-event-type') == 'mouse' && /MSPointerDown|touchstart/i.test(e.type)) { + self.convert_to_touch($(this)); + } else { + _startHide(this, $(this)); + } + }) + .on('DOMNodeRemoved DOMAttrModified', '[' + this.attr_name() + ']:not(a)', function (e) { + _startHide(this, S(this)); + }); + }, + + ie_touch : function (e) { + // How do I distinguish between IE11 and Windows Phone 8????? + return false; + }, + + showTip : function ($target) { + var $tip = this.getTip($target); + if (this.should_show($target, $tip)) { + return this.show($target); + } + return; + }, + + getTip : function ($target) { + var selector = this.selector($target), + settings = $.extend({}, this.settings, this.data_options($target)), + tip = null; + + if (selector) { + tip = this.S('span[data-selector="' + selector + '"]' + settings.tooltip_class); + } + + return (typeof tip === 'object') ? tip : false; + }, + + selector : function ($target) { + var dataSelector = $target.attr(this.attr_name()) || $target.attr('data-selector'); + + if (typeof dataSelector != 'string') { + dataSelector = this.random_str(6); + $target + .attr('data-selector', dataSelector) + .attr('aria-describedby', dataSelector); + } + + return dataSelector; + }, + + create : function ($target) { + var self = this, + settings = $.extend({}, this.settings, this.data_options($target)), + tip_template = this.settings.tip_template; + + if (typeof settings.tip_template === 'string' && window.hasOwnProperty(settings.tip_template)) { + tip_template = window[settings.tip_template]; + } + + var $tip = $(tip_template(this.selector($target), $('
        ').html($target.attr('title')).html())), + classes = this.inheritable_classes($target); + + $tip.addClass(classes).appendTo(settings.append_to); + + if (Modernizr.touch) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', function (e) { + self.hide($target); + }); + } + + $target.removeAttr('title').attr('title', ''); + }, + + reposition : function (target, tip, classes) { + var width, nub, nubHeight, nubWidth, objPos; + + tip.css('visibility', 'hidden').show(); + + width = target.data('width'); + nub = tip.children('.nub'); + nubHeight = nub.outerHeight(); + nubWidth = nub.outerWidth(); + + if (this.small()) { + tip.css({'width' : '100%'}); + } else { + tip.css({'width' : (width) ? width : 'auto'}); + } + + objPos = function (obj, top, right, bottom, left, width) { + return obj.css({ + 'top' : (top) ? top : 'auto', + 'bottom' : (bottom) ? bottom : 'auto', + 'left' : (left) ? left : 'auto', + 'right' : (right) ? right : 'auto' + }).end(); + }; + + var o_top = target.offset().top; + var o_left = target.offset().left; + var outerHeight = target.outerHeight(); + + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', o_left); + + if (this.small()) { + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', 12.5, $(this.scope).width()); + tip.addClass('tip-override'); + objPos(nub, -nubHeight, 'auto', 'auto', o_left); + } else { + + if (Foundation.rtl) { + nub.addClass('rtl'); + o_left = o_left + target.outerWidth() - tip.outerWidth(); + } + + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', o_left); + // reset nub from small styles, if they've been applied + if (nub.attr('style')) { + nub.removeAttr('style'); + } + + tip.removeClass('tip-override'); + + var tip_outerHeight = tip.outerHeight(); + + if (classes && classes.indexOf('tip-top') > -1) { + if (Foundation.rtl) { + nub.addClass('rtl'); + } + objPos(tip, (o_top - tip_outerHeight), 'auto', 'auto', o_left) + .removeClass('tip-override'); + } else if (classes && classes.indexOf('tip-left') > -1) { + objPos(tip, (o_top + (outerHeight / 2) - (tip_outerHeight / 2)), 'auto', 'auto', (o_left - tip.outerWidth() - nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } else if (classes && classes.indexOf('tip-right') > -1) { + objPos(tip, (o_top + (outerHeight / 2) - (tip_outerHeight / 2)), 'auto', 'auto', (o_left + target.outerWidth() + nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } + } + + tip.css('visibility', 'visible').hide(); + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + inheritable_classes : function ($target) { + var settings = $.extend({}, this.settings, this.data_options($target)), + inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'radius', 'round'].concat(settings.additional_inheritable_classes), + classes = $target.attr('class'), + filtered = classes ? $.map(classes.split(' '), function (el, i) { + if ($.inArray(el, inheritables) !== -1) { + return el; + } + }).join(' ') : ''; + + return $.trim(filtered); + }, + + convert_to_touch : function ($target) { + var self = this, + $tip = self.getTip($target), + settings = $.extend({}, self.settings, self.data_options($target)); + + if ($tip.find('.tap-to-close').length === 0) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose', function (e) { + self.hide($target); + }); + } + + $target.data('tooltip-open-event-type', 'touch'); + }, + + show : function ($target) { + var $tip = this.getTip($target); + if ($target.data('tooltip-open-event-type') == 'touch') { + this.convert_to_touch($target); + } + + this.reposition($target, $tip, $target.attr('class')); + $target.addClass('open'); + $tip.fadeIn(this.settings.fade_in_duration); + }, + + hide : function ($target) { + var $tip = this.getTip($target); + + $tip.fadeOut(this.settings.fade_out_duration, function () { + $tip.find('.tap-to-close').remove(); + $tip.off('click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose'); + $target.removeClass('open'); + }); + }, + + off : function () { + var self = this; + this.S(this.scope).off('.fndtn.tooltip'); + this.S(this.settings.tooltip_class).each(function (i) { + $('[' + self.attr_name() + ']').eq(i).attr('title', $(this).text()); + }).remove(); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.topbar.js b/js/foundation/js/foundation/foundation.topbar.js new file mode 100644 index 0000000..23b7c7f --- /dev/null +++ b/js/foundation/js/foundation/foundation.topbar.js @@ -0,0 +1,458 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.topbar = { + name : 'topbar', + + version : '5.5.3', + + settings : { + index : 0, + start_offset : 0, + sticky_class : 'sticky', + custom_back_text : true, + back_text : 'Back', + mobile_show_parent_link : true, + is_hover : true, + scrolltop : true, // jump to top when sticky nav menu toggle is clicked + sticky_on : 'all', + dropdown_autoclose: true + }, + + init : function (section, method, options) { + Foundation.inherit(this, 'add_custom_rule register_media throttle'); + var self = this; + + self.register_media('topbar', 'foundation-mq-topbar'); + + this.bindings(method, options); + + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + var topbar = $(this), + settings = topbar.data(self.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', this); + topbar.data('index', 0); + var topbarContainer = topbar.parent(); + if (topbarContainer.hasClass('fixed') || self.is_sticky(topbar, topbarContainer, settings) ) { + self.settings.sticky_class = settings.sticky_class; + self.settings.sticky_topbar = topbar; + topbar.data('height', topbarContainer.outerHeight()); + topbar.data('stickyoffset', topbarContainer.offset().top); + } else { + topbar.data('height', topbar.outerHeight()); + } + + if (!settings.assembled) { + self.assemble(topbar); + } + + if (settings.is_hover) { + self.S('.has-dropdown', topbar).addClass('not-click'); + } else { + self.S('.has-dropdown', topbar).removeClass('not-click'); + } + + // Pad body when sticky (scrolled) or fixed. + self.add_custom_rule('.f-topbar-fixed { padding-top: ' + topbar.data('height') + 'px }'); + + if (topbarContainer.hasClass('fixed')) { + self.S('body').addClass('f-topbar-fixed'); + } + }); + + }, + + is_sticky : function (topbar, topbarContainer, settings) { + var sticky = topbarContainer.hasClass(settings.sticky_class); + var smallMatch = matchMedia(Foundation.media_queries.small).matches; + var medMatch = matchMedia(Foundation.media_queries.medium).matches; + var lrgMatch = matchMedia(Foundation.media_queries.large).matches; + + if (sticky && settings.sticky_on === 'all') { + return true; + } + if (sticky && this.small() && settings.sticky_on.indexOf('small') !== -1) { + if (smallMatch && !medMatch && !lrgMatch) { return true; } + } + if (sticky && this.medium() && settings.sticky_on.indexOf('medium') !== -1) { + if (smallMatch && medMatch && !lrgMatch) { return true; } + } + if (sticky && this.large() && settings.sticky_on.indexOf('large') !== -1) { + if (smallMatch && medMatch && lrgMatch) { return true; } + } + + return false; + }, + + toggle : function (toggleEl) { + var self = this, + topbar; + + if (toggleEl) { + topbar = self.S(toggleEl).closest('[' + this.attr_name() + ']'); + } else { + topbar = self.S('[' + this.attr_name() + ']'); + } + + var settings = topbar.data(this.attr_name(true) + '-init'); + + var section = self.S('section, .top-bar-section', topbar); + + if (self.breakpoint()) { + if (!self.rtl) { + section.css({left : '0%'}); + $('>.name', section).css({left : '100%'}); + } else { + section.css({right : '0%'}); + $('>.name', section).css({right : '100%'}); + } + + self.S('li.moved', section).removeClass('moved'); + topbar.data('index', 0); + + topbar + .toggleClass('expanded') + .css('height', ''); + } + + if (settings.scrolltop) { + if (!topbar.hasClass('expanded')) { + if (topbar.hasClass('fixed')) { + topbar.parent().addClass('fixed'); + topbar.removeClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if (topbar.parent().hasClass('fixed')) { + if (settings.scrolltop) { + topbar.parent().removeClass('fixed'); + topbar.addClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + + window.scrollTo(0, 0); + } else { + topbar.parent().removeClass('expanded'); + } + } + } else { + if (self.is_sticky(topbar, topbar.parent(), settings)) { + topbar.parent().addClass('fixed'); + } + + if (topbar.parent().hasClass('fixed')) { + if (!topbar.hasClass('expanded')) { + topbar.removeClass('fixed'); + topbar.parent().removeClass('expanded'); + self.update_sticky_positioning(); + } else { + topbar.addClass('fixed'); + topbar.parent().addClass('expanded'); + self.S('body').addClass('f-topbar-fixed'); + } + } + } + }, + + timer : null, + + events : function (bar) { + var self = this, + S = this.S; + + S(this.scope) + .off('.topbar') + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .toggle-topbar', function (e) { + e.preventDefault(); + self.toggle(this); + }) + .on('click.fndtn.topbar contextmenu.fndtn.topbar', '.top-bar .top-bar-section li a[href^="#"],[' + this.attr_name() + '] .top-bar-section li a[href^="#"]', function (e) { + var li = $(this).closest('li'), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-init'); + + if (settings.dropdown_autoclose && settings.is_hover) { + var hoverLi = $(this).closest('.hover'); + hoverLi.removeClass('hover'); + } + if (self.breakpoint() && !li.hasClass('back') && !li.hasClass('has-dropdown')) { + self.toggle(); + } + + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] li.has-dropdown', function (e) { + var li = S(this), + target = S(e.target), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-init'); + + if (target.data('revealId')) { + self.toggle(); + return; + } + + if (self.breakpoint()) { + return; + } + + if (settings.is_hover && !Modernizr.touch) { + return; + } + + e.stopImmediatePropagation(); + + if (li.hasClass('hover')) { + li + .removeClass('hover') + .find('li') + .removeClass('hover'); + + li.parents('li.hover') + .removeClass('hover'); + } else { + li.addClass('hover'); + + $(li).siblings().removeClass('hover'); + + if (target[0].nodeName === 'A' && target.parent().hasClass('has-dropdown')) { + e.preventDefault(); + } + } + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown>a', function (e) { + if (self.breakpoint()) { + + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + dropdownHeight = $this.next('.dropdown').outerHeight(), + $selectedLi = $this.closest('li'); + + topbar.data('index', topbar.data('index') + 1); + $selectedLi.addClass('moved'); + + if (!self.rtl) { + section.css({left : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({left : 100 * topbar.data('index') + '%'}); + } else { + section.css({right : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({right : 100 * topbar.data('index') + '%'}); + } + + topbar.css('height', $this.siblings('ul').outerHeight(true) + topbar.data('height')); + } + }); + + S(window).off('.topbar').on('resize.fndtn.topbar', self.throttle(function () { + self.resize.call(self); + }, 50)).trigger('resize.fndtn.topbar').load(function () { + // Ensure that the offset is calculated after all of the pages resources have loaded + S(this).trigger('resize.fndtn.topbar'); + }); + + S('body').off('.topbar').on('click.fndtn.topbar', function (e) { + var parent = S(e.target).closest('li').closest('li.hover'); + + if (parent.length > 0) { + return; + } + + S('[' + self.attr_name() + '] li.hover').removeClass('hover'); + }); + + // Go up a level on Click + S(this.scope).on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown .back', function (e) { + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + settings = topbar.data(self.attr_name(true) + '-init'), + $movedLi = $this.closest('li.moved'), + $previousLevelUl = $movedLi.parent(); + + topbar.data('index', topbar.data('index') - 1); + + if (!self.rtl) { + section.css({left : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({left : 100 * topbar.data('index') + '%'}); + } else { + section.css({right : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({right : 100 * topbar.data('index') + '%'}); + } + + if (topbar.data('index') === 0) { + topbar.css('height', ''); + } else { + topbar.css('height', $previousLevelUl.outerHeight(true) + topbar.data('height')); + } + + setTimeout(function () { + $movedLi.removeClass('moved'); + }, 300); + }); + + // Show dropdown menus when their items are focused + S(this.scope).find('.dropdown a') + .focus(function () { + $(this).parents('.has-dropdown').addClass('hover'); + }) + .blur(function () { + $(this).parents('.has-dropdown').removeClass('hover'); + }); + }, + + resize : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var topbar = self.S(this), + settings = topbar.data(self.attr_name(true) + '-init'); + + var stickyContainer = topbar.parent('.' + self.settings.sticky_class); + var stickyOffset; + + if (!self.breakpoint()) { + var doToggle = topbar.hasClass('expanded'); + topbar + .css('height', '') + .removeClass('expanded') + .find('li') + .removeClass('hover'); + + if (doToggle) { + self.toggle(topbar); + } + } + + if (self.is_sticky(topbar, stickyContainer, settings)) { + if (stickyContainer.hasClass('fixed')) { + // Remove the fixed to allow for correct calculation of the offset. + stickyContainer.removeClass('fixed'); + + stickyOffset = stickyContainer.offset().top; + if (self.S(document.body).hasClass('f-topbar-fixed')) { + stickyOffset -= topbar.data('height'); + } + + topbar.data('stickyoffset', stickyOffset); + stickyContainer.addClass('fixed'); + } else { + stickyOffset = stickyContainer.offset().top; + topbar.data('stickyoffset', stickyOffset); + } + } + + }); + }, + + breakpoint : function () { + return !matchMedia(Foundation.media_queries['topbar']).matches; + }, + + small : function () { + return matchMedia(Foundation.media_queries['small']).matches; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + assemble : function (topbar) { + var self = this, + settings = topbar.data(this.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', topbar); + + // Pull element out of the DOM for manipulation + section.detach(); + + self.S('.has-dropdown>a', section).each(function () { + var $link = self.S(this), + $dropdown = $link.siblings('.dropdown'), + url = $link.attr('href'), + $titleLi; + + if (!$dropdown.find('.title.back').length) { + + if (settings.mobile_show_parent_link == true && url) { + $titleLi = $('
      2. '); + } else { + $titleLi = $('
      3. '); + } + + // Copy link to subnav + if (settings.custom_back_text == true) { + $('h5>a', $titleLi).html(settings.back_text); + } else { + $('h5>a', $titleLi).html('« ' + $link.html()); + } + $dropdown.prepend($titleLi); + } + }); + + // Put element back in the DOM + section.appendTo(topbar); + + // check for sticky + this.sticky(); + + this.assembled(topbar); + }, + + assembled : function (topbar) { + topbar.data(this.attr_name(true), $.extend({}, topbar.data(this.attr_name(true)), {assembled : true})); + }, + + height : function (ul) { + var total = 0, + self = this; + + $('> li', ul).each(function () { + total += self.S(this).outerHeight(true); + }); + + return total; + }, + + sticky : function () { + var self = this; + + this.S(window).on('scroll', function () { + self.update_sticky_positioning(); + }); + }, + + update_sticky_positioning : function () { + var klass = '.' + this.settings.sticky_class, + $window = this.S(window), + self = this; + + if (self.settings.sticky_topbar && self.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(), this.settings)) { + var distance = this.settings.sticky_topbar.data('stickyoffset') + this.settings.start_offset; + if (!self.S(klass).hasClass('expanded')) { + if ($window.scrollTop() > (distance)) { + if (!self.S(klass).hasClass('fixed')) { + self.S(klass).addClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if ($window.scrollTop() <= distance) { + if (self.S(klass).hasClass('fixed')) { + self.S(klass).removeClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + } + } + } + } + }, + + off : function () { + this.S(this.scope).off('.fndtn.topbar'); + this.S(window).off('.fndtn.topbar'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/vendor/fastclick.js b/js/foundation/js/vendor/fastclick.js new file mode 100644 index 0000000..add0130 --- /dev/null +++ b/js/foundation/js/vendor/fastclick.js @@ -0,0 +1,8 @@ +!function(){"use strict";/** + * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs. + * + * @codingstandard ftlabs-jsv2 + * @copyright The Financial Times Limited [All Rights Reserved] + * @license MIT License (see LICENSE.txt) + */ +function a(b,d){function e(a,b){return function(){return a.apply(b,arguments)}}var f;if(d=d||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=d.touchBoundary||10,this.layer=b,this.tapDelay=d.tapDelay||200,this.tapTimeout=d.tapTimeout||700,!a.notNeeded(b)){for(var g=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],h=this,i=0,j=g.length;j>i;i++)h[g[i]]=e(h[g[i]],h);c&&(b.addEventListener("mouseover",this.onMouse,!0),b.addEventListener("mousedown",this.onMouse,!0),b.addEventListener("mouseup",this.onMouse,!0)),b.addEventListener("click",this.onClick,!0),b.addEventListener("touchstart",this.onTouchStart,!1),b.addEventListener("touchmove",this.onTouchMove,!1),b.addEventListener("touchend",this.onTouchEnd,!1),b.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(b.removeEventListener=function(a,c,d){var e=Node.prototype.removeEventListener;"click"===a?e.call(b,a,c.hijacked||c,d):e.call(b,a,c,d)},b.addEventListener=function(a,c,d){var e=Node.prototype.addEventListener;"click"===a?e.call(b,a,c.hijacked||(c.hijacked=function(a){a.propagationStopped||c(a)}),d):e.call(b,a,c,d)}),"function"==typeof b.onclick&&(f=b.onclick,b.addEventListener("click",function(a){f(a)},!1),b.onclick=null)}}var b=navigator.userAgent.indexOf("Windows Phone")>=0,c=navigator.userAgent.indexOf("Android")>0&&!b,d=/iP(ad|hone|od)/.test(navigator.userAgent)&&!b,e=d&&/OS 4_\d(_\d)?/.test(navigator.userAgent),f=d&&/OS [6-7]_\d/.test(navigator.userAgent),g=navigator.userAgent.indexOf("BB10")>0;a.prototype.needsClick=function(a){switch(a.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(a.disabled)return!0;break;case"input":if(d&&"file"===a.type||a.disabled)return!0;break;case"label":case"iframe":case"video":return!0}return/\bneedsclick\b/.test(a.className)},a.prototype.needsFocus=function(a){switch(a.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!c;case"input":switch(a.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return!1}return!a.disabled&&!a.readOnly;default:return/\bneedsfocus\b/.test(a.className)}},a.prototype.sendClick=function(a,b){var c,d;document.activeElement&&document.activeElement!==a&&document.activeElement.blur(),d=b.changedTouches[0],c=document.createEvent("MouseEvents"),c.initMouseEvent(this.determineEventType(a),!0,!0,window,1,d.screenX,d.screenY,d.clientX,d.clientY,!1,!1,!1,!1,0,null),c.forwardedTouchEvent=!0,a.dispatchEvent(c)},a.prototype.determineEventType=function(a){return c&&"select"===a.tagName.toLowerCase()?"mousedown":"click"},a.prototype.focus=function(a){var b;d&&a.setSelectionRange&&0!==a.type.indexOf("date")&&"time"!==a.type&&"month"!==a.type?(b=a.value.length,a.setSelectionRange(b,b)):a.focus()},a.prototype.updateScrollParent=function(a){var b,c;if(b=a.fastClickScrollParent,!b||!b.contains(a)){c=a;do{if(c.scrollHeight>c.offsetHeight){b=c,a.fastClickScrollParent=c;break}c=c.parentElement}while(c)}b&&(b.fastClickLastScrollTop=b.scrollTop)},a.prototype.getTargetElementFromEventTarget=function(a){return a.nodeType===Node.TEXT_NODE?a.parentNode:a},a.prototype.onTouchStart=function(a){var b,c,f;if(a.targetTouches.length>1)return!0;if(b=this.getTargetElementFromEventTarget(a.target),c=a.targetTouches[0],d){if(f=window.getSelection(),f.rangeCount&&!f.isCollapsed)return!0;if(!e){if(c.identifier&&c.identifier===this.lastTouchIdentifier)return a.preventDefault(),!1;this.lastTouchIdentifier=c.identifier,this.updateScrollParent(b)}}return this.trackingClick=!0,this.trackingClickStart=a.timeStamp,this.targetElement=b,this.touchStartX=c.pageX,this.touchStartY=c.pageY,a.timeStamp-this.lastClickTimec||Math.abs(b.pageY-this.touchStartY)>c?!0:!1},a.prototype.onTouchMove=function(a){return this.trackingClick?((this.targetElement!==this.getTargetElementFromEventTarget(a.target)||this.touchHasMoved(a))&&(this.trackingClick=!1,this.targetElement=null),!0):!0},a.prototype.findControl=function(a){return void 0!==a.control?a.control:a.htmlFor?document.getElementById(a.htmlFor):a.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")},a.prototype.onTouchEnd=function(a){var b,g,h,i,j,k=this.targetElement;if(!this.trackingClick)return!0;if(a.timeStamp-this.lastClickTimethis.tapTimeout)return!0;if(this.cancelNextClick=!1,this.lastClickTime=a.timeStamp,g=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,f&&(j=a.changedTouches[0],k=document.elementFromPoint(j.pageX-window.pageXOffset,j.pageY-window.pageYOffset)||k,k.fastClickScrollParent=this.targetElement.fastClickScrollParent),h=k.tagName.toLowerCase(),"label"===h){if(b=this.findControl(k)){if(this.focus(k),c)return!1;k=b}}else if(this.needsFocus(k))return a.timeStamp-g>100||d&&window.top!==window&&"input"===h?(this.targetElement=null,!1):(this.focus(k),this.sendClick(k,a),d&&"select"===h||(this.targetElement=null,a.preventDefault()),!1);return d&&!e&&(i=k.fastClickScrollParent,i&&i.fastClickLastScrollTop!==i.scrollTop)?!0:(this.needsClick(k)||(a.preventDefault(),this.sendClick(k,a)),!1)},a.prototype.onTouchCancel=function(){this.trackingClick=!1,this.targetElement=null},a.prototype.onMouse=function(a){return this.targetElement?a.forwardedTouchEvent?!0:a.cancelable&&(!this.needsClick(this.targetElement)||this.cancelNextClick)?(a.stopImmediatePropagation?a.stopImmediatePropagation():a.propagationStopped=!0,a.stopPropagation(),a.preventDefault(),!1):!0:!0},a.prototype.onClick=function(a){var b;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):"submit"===a.target.type&&0===a.detail?!0:(b=this.onMouse(a),b||(this.targetElement=null),b)},a.prototype.destroy=function(){var a=this.layer;c&&(a.removeEventListener("mouseover",this.onMouse,!0),a.removeEventListener("mousedown",this.onMouse,!0),a.removeEventListener("mouseup",this.onMouse,!0)),a.removeEventListener("click",this.onClick,!0),a.removeEventListener("touchstart",this.onTouchStart,!1),a.removeEventListener("touchmove",this.onTouchMove,!1),a.removeEventListener("touchend",this.onTouchEnd,!1),a.removeEventListener("touchcancel",this.onTouchCancel,!1)},a.notNeeded=function(a){var b,d,e,f;if("undefined"==typeof window.ontouchstart)return!0;if(d=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!c)return!0;if(b=document.querySelector("meta[name=viewport]")){if(-1!==b.content.indexOf("user-scalable=no"))return!0;if(d>31&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}if(g&&(e=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/),e[1]>=10&&e[2]>=3&&(b=document.querySelector("meta[name=viewport]")))){if(-1!==b.content.indexOf("user-scalable=no"))return!0;if(document.documentElement.scrollWidth<=window.outerWidth)return!0}return"none"===a.style.msTouchAction||"manipulation"===a.style.touchAction?!0:(f=+(/Firefox\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1],f>=27&&(b=document.querySelector("meta[name=viewport]"),b&&(-1!==b.content.indexOf("user-scalable=no")||document.documentElement.scrollWidth<=window.outerWidth))?!0:"none"===a.style.touchAction||"manipulation"===a.style.touchAction?!0:!1)},a.attach=function(b,c){return new a(b,c)},"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return a}):"undefined"!=typeof module&&module.exports?(module.exports=a.attach,module.exports.FastClick=a):window.FastClick=a}(); \ No newline at end of file diff --git a/js/foundation/js/vendor/jquery.cookie.js b/js/foundation/js/vendor/jquery.cookie.js new file mode 100644 index 0000000..5be813a --- /dev/null +++ b/js/foundation/js/vendor/jquery.cookie.js @@ -0,0 +1,8 @@ +/*! + * jQuery Cookie Plugin v1.4.1 + * https://github.com/carhartl/jquery-cookie + * + * Copyright 2013 Klaus Hartl + * Released under the MIT license + */ +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}}); \ No newline at end of file diff --git a/js/foundation/js/vendor/jquery.js b/js/foundation/js/vendor/jquery.js new file mode 100644 index 0000000..34b90c8 --- /dev/null +++ b/js/foundation/js/vendor/jquery.js @@ -0,0 +1,26 @@ +/*! + * jQuery JavaScript Library v2.1.4 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2015-04-28T16:01Z + */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b="length"in a&&a.length,c=_.type(a);return"function"===c||_.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return _.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c}catch(e){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("')}catch(m){e=h.createElement("iframe"),e.name=f}e.height="0";e.width="0";e.style.display="none";e.style.visibility="hidden";var g=h[y], +g=g[ea]+"//"+g.host+"/favicon.ico",g=Ga+"u/post_iframe.html#"+aa(g),a=function(){e.src="";e.parentNode&&e.parentNode.removeChild(e)};ta(L[t],"beforeunload",a);var c=!1,u=0,j=function(){if(!c){try{if(u>9||e.contentWindow[y].host==h[y].host){c=!0;a();var d=L[t],g="beforeunload",n=a;d.removeEventListener?d.removeEventListener(g,n,!1):d.detachEvent&&d.detachEvent("on"+g,n);b&&b();return}}catch(f){}u++;L.setTimeout(j,200)}};ta(e,"load",j);h.body.appendChild(e);e.src=g}else L.setTimeout(function(){d.Ob(f, +b)},100)}};var Ka=function(d){var f=this,b=d,h=new Fa(b),e=null,m=!V.pb(),g=function(){};f.Uc=function(){return"https:"==L[w][y][ea]?"https://ssl.google-analytics.com/__utm.gif":"http://www.google-analytics.com/__utm.gif"};f.A=function(a,c,d,j,i,s){e||(e=new Ja);var n=b.B,O=L[w][y];h.Z(d);var B=h.z()[x](".");if(B[1]<500||j){if(i){var S=(new Date)[da](),X;X=(S-B[3])*(b.Ac/1E3);X>=1&&(B[2]=o.min(o.floor(B[2]*1+X),b.zc),B[3]=S)}if(j||!i||B[2]>=1){!j&&i&&(B[2]=B[2]*1-1);j=B[1]*1+1;B[1]=j;i="utmwv="+ia;S="&utms="+ +j;X="&utmn="+Aa();j=i+"e"+S+X;a=i+S+X+(M(O.hostname)?"":"&utmhn="+P(O.hostname))+(b.L==100?"":"&utmsp="+P(b.L))+a;if(0==n||2==n)O=2==n?g:s||g,m&&e.Bb(b.ga,a,j,O,!0);if(1==n||2==n)c="&utmac="+c,j+=c,a+=c+"&utmcc="+f.Tc(d),V.Ab&&(d="&aip=1",j+=d,a+=d),a+="&utmu="+qa.Sc(),m&&e.Bb(f.Uc(),a,j,s)}}h.$(B[A]("."));h.aa()};f.Tc=function(a){for(var c=[],b=[F,J,I,na],d=h.g(),i,g=0;g0)for(b=0;b0;)d+=a--^c++;return za(d)}};var Z=function(d,f,b,h){function e(a){var c="",c=a[x]("://")[1][C]();R(c,"/")&&(c=c[x]("/")[0]);return c}var m=h,g=this;g.a=d;g.ob=f;g.m=b;g.mb=function(a){var c=g.ua();return new Z.v(N(a,m.Ea+E,D),N(a,m.Ha+E,D),N(a,m.Ja+E,D),g.R(a,m.Ca,"(not set)"),g.R(a,m.Fa,"(not set)"),g.R(a,m.Ia,c&&!M(c.G)?Q(c.G):k),g.R(a,m.Da,k),N(a,m.vc+E,D))};g.nb=function(a){var c=e(a),b;b=a;var d="";b=b[x]("://")[1][C]();R(b,"/")&&(b=b[x]("/")[1],R(b,"?")&&(d=b[x]("?")[0]));b=d;if(R(c,"google")&&(a=a[x]("?")[A](D),R(a,D+ +m.xc+E)&&b==m.wc))return!0;return!1};g.ua=function(){var a,c=g.ob,b,d=m.J;if(!M(c)&&"0"!=c&&R(c,"://")&&!g.nb(c)){a=e(c);for(var i=0;i9?h[z](n+1)*1:0,f++,h=0==h?1:h,a.ra([B,g.m,h,f,e.H()][A](".")),a.sa()}}}}; +Z.v=function(d,f,b,h,e,m,g,a){var c=this;c.q=d;c.Q=f;c.ya=b;c.n=h;c.P=e;c.G=m;c.Gb=g;c.xa=a;c.H=function(){var a=[],b=[["cid",c.q],["csr",c.Q],["gclid",c.ya],["ccn",c.n],["cmd",c.P],["ctr",c.G],["cct",c.Gb],["dclid",c.xa]],d,e;if(c.fb())for(d=0;d0&&b<=a.Ta){var f=P(c),h=P(d);f[v]+h[v]<=64&&(e.r[b]=[c,d,g],e.T(),n=!0)}return n};e.Zb=function(a){if((a=e.r[a])&&1===a[2])return a[1]};e.Yb=function(a){var b=e.r;b[a]&&(delete b[a],e.T())};e.Pc=function(){c.t(8);c.t(9);c.t(11);var a=e.r,b,d;for(d in a)if(b=a[d])c.j(8,d,b[0]),c.j(9,d,b[1]),(b=b[2])&&3!=b&&c.j(11,d,""+b)}};var Na=function(){function d(a,b,c,d){k==g[a]&&(g[a]={});k==g[a][b]&&(g[a][b]=[]);g[a][b][c]=d}function f(a,b,c){if(k!=g[a]&&k!=g[a][b])return g[a][b][c]}function b(a,b){if(k!=g[a]&&k!=g[a][b]){g[a][b]=k;var c=!0,d;for(d=0;d0?b+"00":"0"};b.sb=function(){var d=b.Kc();if(d==k||isNaN(d))return!1;if(d<=0)return!0;if(d>2147483648)return!1; +var a=b.rb;a.t(14);a.ia(14);var c=b.Jc(d);a.j(14,1,c)&&a.ja(14,1,d)&&b.Lc();h&&h.isValidLoadTime!=k&&h.setPageReadyTime();return!1};b.Wa=function(){if(!b.Mc())return!1;if(!L.Ic())return!1;b.sb()&&ta(L[t],"load",b.sb,!1);return!0}};var $=function(){};$.Zc=function(d){var f="gaso=",b=L[w][y].hash;d=b&&1==b[q](f)?N(b,f,D):(b=L[t].name)&&0<=b[q](f)?N(b,f,D):N(d.g(),oa,";");return d};$.ad=function(d,f){var b=(f||"www")+".google.com",b="https://"+b+"/analytics/reporting/overlay_js?gaso="+d+D+Aa(),h="_gasojs",e=L[w].createElement("script");e.type="text/javascript";e.src=b;if(h)e.id=h;(L[w].getElementsByTagName("head")[0]||L[w].getElementsByTagName("body")[0]).appendChild(e)}; +$.load=function(d,f){if(!$.$c){var b=$.Zc(f),h=b&&b.match(/^(?:\|([-0-9a-z.]{1,30})\|)?([-.\w]{10,1200})$/i);if(h)f.Dc(b),f.Ec(),V._gasoDomain=d.b,V._gasoCPath=d.f,$.ad(h[2],h[1]);$.$c=!0}};var Qa=function(d,f,b){function h(){if("auto"==j.b){var a=L[w].domain;"www."==a[z](0,4)&&(a=a[z](4));j.b=a}j.b=j.b[C]()}function e(){h();var a=j.b,b=a[q]("www.google.")*a[q](".google.")*a[q]("google.");return b||"/"!=j.f||a[q]("google.org")>-1}function m(b,c,d){if(M(b)||M(c)||M(d))return"-";b=N(b,F+a.a+".",c);M(b)||(b=b[x]("."),b[5]=""+(b[5]?b[5]*1+1:1),b[3]=b[4],b[4]=d,b=b[A]("."));return b}function g(){return"file:"!=L[w][y][ea]&&e()}var a=this,c=sa(a),u=k,j=new Da,i=!1,s=k;a.n=d;a.m=o.round((new Date)[da]()/ +1E3);a.p=f||"UA-XXXXX-X";a.ab=L[w].referrer;a.oa=k;a.d=k;a.F=!1;a.O=k;a.e=k;a.bb=k;a.pa=k;a.a=k;a.k=k;j.o=b?P(b):k;a.eb=!1;a.mc=function(){return Aa()^a.O.cc()&2147483647};a.lc=function(){if(!j.b||""==j.b||"none"==j.b)return j.b="",1;h();return j.Ua?za(j.b):1};a.kc=function(a,b){if(M(a))a="-";else{b+=j.f&&"/"!=j.f?j.f:"";var c=a[q](b),a=c>=0&&c<=8?"0":"["==a[p](0)&&"]"==a[p](a[v]-1)?"-":a}return a};a.na=function(b){var c="";c+=j.ka?a.O.dc():"";c+=j.la&&!M(L[w].title)?"&utmdt="+P(L[w].title):"";var d; +d=L.Ya(!0);if(!d.hid)d.hid=Aa();d=d.hid;c+="&utmhid="+d+"&utmr="+P(l(a.oa))+"&utmp="+P(a.pc(b));return c};a.pc=function(a){var b=L[w][y];a&&K(13);return a=k!=a&&""!=a?P(a,!0):P(b.pathname+b.search,!0)};a.uc=function(b){if(a.D()){var c="";a.e!=k&&a.e.C()[v]>0&&(c+="&utme="+P(a.e.C()));c+=a.na(b);u.A(c,a.p,a.a)}};a.jc=function(){var b=new Fa(j);return b.Z(a.a)?b.Tb():k};a.cb=c("_getLinkerUrl",52,function(b,c){var d=b[x]("#"),e=b,f=a.jc();if(f)if(c&&1>=d[v])e+="#"+f;else if(!c||1>=d[v])1>=d[v]?e+=(R(b, +"?")?D:"?")+f:e=d[0]+(R(b,"?")?D:"?")+f+"#"+d[1];return e});a.nc=function(){var b=a.m,c=a.k,d=c.g(),e=a.a+"",f=L.Ya(),g,h=R(d,F+e+"."),i=R(d,H+e),u=R(d,la+e),s,G=[],Y="",Ia=!1,d=M(d)?"":d;if(j.w&&!a.eb){g=L[w][y]&&L[w][y].hash?L[w][y][fa][z](L[w][y][fa][q]("#")):"";j.U&&!M(g)&&(Y=g+D);Y+=L[w][y].search;if(!M(Y)&&R(Y,F))c.Sb(Y),c.Ba()||c.Qb(),s=c.ba(),a.eb=!0;g=c.ea;var va=c.Pa,U=c.Sa;M(g())||(va(Q(g())),R(g(),";")||U());g=c.da;va=c.X;U=c.Y;M(g())||(va(g()),R(g(),";")||U())}M(s)?h?(s=!i||!u)?(s=m(d, +";",l(b)),a.F=!0):(s=N(d,F+e+".",";"),G=N(d,H+e,";")[x](".")):(s=[e,a.mc(),b,b,b,1][A]("."),Ia=a.F=!0):M(c.z())||M(c.ca())?(s=m(Y,D,l(b)),a.F=!0):(G=c.z()[x]("."),e=G[0]);s=s[x](".");L[t]&&f&&f.dh==e&&!j.o&&(s[4]=f.sid?f.sid:s[4],Ia&&(s[3]=f.sid?f.sid:s[4],f.vid&&(b=f.vid[x]("."),s[1]=b[0],s[2]=b[1])));c.Na(s[A]("."));G[0]=e;G[1]=G[1]?G[1]:0;G[2]=k!=G[2]?G[2]:j.Wb;G[3]=G[3]?G[3]:s[4];c.$(G[A]("."));c.Oa(e);M(c.Rb())||c.fa(c.K());c.Qa();c.aa();c.Ra()};a.oc=function(){u=new Ka(j)};a.getName=c("_getName", +58,function(){return a.n});a.c=c("_initData",2,function(){var b;if(!i){if(!a.O)a.O=new La(j.ma);a.a=a.lc();a.k=new Fa(j);a.e=new Na;s=new Ma(j,l(a.a),a.k,a.e);a.oc()}if(g()){if(!i)a.oa=a.kc(a.ab,L[w].domain),b=new Z(l(a.a),a.oa,a.m,j);a.nc(b);s.$b()}if(!i)g()&&b.Pb(a.k,a.F),a.bb=new Na,$.load(j,a.k),i=!0});a.Xa=c("_visitCode",54,function(){a.c();var b=N(a.k.g(),F+a.a+".",";"),b=b[x](".");return b[v]<4?"":b[1]});a.qd=c("_cookiePathCopy",30,function(b){a.c();a.k&&a.k.Ub(a.a,b)});a.D=function(){return a.Xa()% +1E40&&(f=g[z](0,a),g=g[z](a+1));var c=f==ga?V:f==ha?Sa:V.Hb(f);c[g].apply(c,b[e].slice(1))}}catch(u){d++}return d}};var V=new Ra;var Ua=L[t][ga];Ua&&typeof Ua._getTracker=="function"?V=Ua:L[t][ga]=V;var Sa=new Ta;a:{var Va=L[t][ha],Wa=!1;if(Va&&typeof Va[ba]=="function"&&(Wa=ua(Va),!Wa))break a;L[t][ha]=Sa;Wa&&Sa[ba].apply(Sa,Va)};})(); diff --git a/js/modernizr/test/caniuse_files/jquery.min.js b/js/modernizr/test/caniuse_files/jquery.min.js new file mode 100644 index 0000000..b2ac174 --- /dev/null +++ b/js/modernizr/test/caniuse_files/jquery.min.js @@ -0,0 +1,18 @@ +/*! + * jQuery JavaScript Library v1.6.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu May 12 15:04:36 2011 -0400 + */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
        a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(!0).fireEvent("onclick")),h=c.createElement("input"),h.value="t",h.setAttribute("type","radio"),j.radioValue=h.value==="t",h.setAttribute("checked","checked"),a.appendChild(h),k=c.createDocumentFragment(),k.appendChild(a.firstChild),j.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",l=c.createElement("body"),m={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(q in m)l.style[q]=m[q];l.appendChild(a),b.insertBefore(l,b.firstChild),j.appendChecked=h.checked,j.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,j.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
        ",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
        t
        ",n=a.getElementsByTagName("td"),r=n[0].offsetHeight===0,n[0].style.display="",n[1].style.display="none",j.reliableHiddenOffsets=r&&n[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(i=c.createElement("div"),i.style.width="0",i.style.marginRight="0",a.appendChild(i),j.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(i,null)||{marginRight:0}).marginRight,10)||0)===0),l.innerHTML="",b.removeChild(l);if(a.attachEvent)for(q in{submit:1,change:1,focusin:1})p="on"+q,r=p in a,r||(a.setAttribute(p,"return;"),r=typeof a[p]=="function"),j[q+"Bubbles"]=r;return j}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c],i||(!t.test(c)||typeof d!="boolean"&&d!==b&&d.toLowerCase()!==c.toLowerCase()?v&&(f.nodeName(a,"form")||u.test(c))&&(i=v):i=w);if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return a[f.propFix[c]||c]?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=b),a.setAttribute(c,c.toLowerCase()));return c}},f.attrHooks.value={get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return a.value},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=Object.prototype.hasOwnProperty,y=/\.(.*)$/,z=/^(?:textarea|input|select)$/i,A=/\./g,B=/ /g,C=/[^\w\s.|`]/g,D=function(a){return a.replace(C,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=E;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=E);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),D).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem +)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},K=function(c){var d=c.target,e,g;if(!!z.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=J(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:K,beforedeactivate:K,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&K.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&K.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",J(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in I)f.event.add(this,c+".specialChange",I[c]);return z.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return z.test(this.nodeName)}},I=f.event.special.change.filters,I.focus=I.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

        ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
        ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=U.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(W(c[0])||W(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=T.call(arguments);P.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!V[a]?f.unique(e):e,(this.length>1||R.test(d))&&Q.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y=/ jQuery\d+="(?:\d+|null)"/g,Z=/^\s+/,$=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,_=/<([\w:]+)/,ba=/",""],legend:[1,"
        ","
        "],thead:[1,"","
        "],tr:[2,"","
        "],td:[3,"","
        "],col:[2,"","
        "],area:[1,"",""],_default:[0,"",""]};bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
        ","
        "]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Y,""):null;if(typeof a=="string"&&!bc.test(a)&&(f.support.leadingWhitespace||!Z.test(a))&&!bg[(_.exec(a)||["",""])[1].toLowerCase()]){a=a.replace($,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bj(a,d),e=bk(a),g=bk(d);for(h=0;e[h];++h)bj(e[h],g[h])}if(b){bi(a,d);if(c){e=bk(a),g=bk(d);for(h=0;e[h];++h)bi(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument|| +b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bb.test(k))k=b.createTextNode(k);else{k=k.replace($,"<$1>");var l=(_.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=ba.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Z.test(k)&&o.insertBefore(b.createTextNode(Z.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bp.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bo.test(g)?g.replace(bo,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,c){var d,e,g;c=c.replace(br,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bs.test(d)&&bt.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bE=/%20/g,bF=/\[\]$/,bG=/\r?\n/g,bH=/#.*$/,bI=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bJ=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bK=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bL=/^(?:GET|HEAD)$/,bM=/^\/\//,bN=/\?/,bO=/)<[^<]*)*<\/script>/gi,bP=/^(?:select|textarea)/i,bQ=/\s+/,bR=/([?&])_=[^&]*/,bS=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bT=f.fn.load,bU={},bV={},bW,bX;try{bW=e.href}catch(bY){bW=c.createElement("a"),bW.href="",bW=bW.href}bX=bS.exec(bW.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bT)return bT.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
        ").append(c.replace(bO,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bP.test(this.nodeName)||bJ.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bG,"\r\n")}}):{name:b.name,value:c.replace(bG,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bW,isLocal:bK.test(bX[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bZ(bU),ajaxTransport:bZ(bV),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?ca(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=cb(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bI.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bH,"").replace(bM,bX[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bQ),d.crossDomain==null&&(r=bS.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bX[1]&&r[2]==bX[2]&&(r[3]||(r[1]==="http:"?80:443))==(bX[3]||(bX[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bU,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bL.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bN.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bR,"$1_="+x);d.url=y+(y===d.url?(bN.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bV,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bE,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq,cr=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b
        ";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/js/modernizr/test/caniuse_files/modernizr-1.7.min.js b/js/modernizr/test/caniuse_files/modernizr-1.7.min.js new file mode 100644 index 0000000..6f54850 --- /dev/null +++ b/js/modernizr/test/caniuse_files/modernizr-1.7.min.js @@ -0,0 +1,2 @@ +// Modernizr v1.7 www.modernizr.com +window.Modernizr=function(a,b,c){function G(){e.input=function(a){for(var b=0,c=a.length;b7)},r.history=function(){return !!(a.history&&history.pushState)},r.draganddrop=function(){return x("dragstart")&&x("drop")},r.websockets=function(){return"WebSocket"in a},r.rgba=function(){A("background-color:rgba(150,255,150,.5)");return D(k.backgroundColor,"rgba")},r.hsla=function(){A("background-color:hsla(120,40%,100%,.5)");return D(k.backgroundColor,"rgba")||D(k.backgroundColor,"hsla")},r.multiplebgs=function(){A("background:url(//:),url(//:),red url(//:)");return(new RegExp("(url\\s*\\(.*?){3}")).test(k.background)},r.backgroundsize=function(){return F("backgroundSize")},r.borderimage=function(){return F("borderImage")},r.borderradius=function(){return F("borderRadius","",function(a){return D(a,"orderRadius")})},r.boxshadow=function(){return F("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){B("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return F("animationName")},r.csscolumns=function(){return F("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";A((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return D(k.backgroundImage,"gradient")},r.cssreflections=function(){return F("boxReflect")},r.csstransforms=function(){return!!E(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!E(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=w("@media ("+o.join("transform-3d),(")+"modernizr)"));return a},r.csstransitions=function(){return F("transitionProperty")},r.fontface=function(){var a,c,d=h||g,e=b.createElement("style"),f=b.implementation||{hasFeature:function(){return!1}};e.type="text/css",d.insertBefore(e,d.firstChild),a=e.sheet||e.styleSheet;var i=f.hasFeature("CSS2","")?function(b){if(!a||!b)return!1;var c=!1;try{a.insertRule(b,0),c=/src/i.test(a.cssRules[0].cssText),a.deleteRule(a.cssRules.length-1)}catch(d){}return c}:function(b){if(!a||!b)return!1;a.cssText=b;return a.cssText.length!==0&&/src/i.test(a.cssText)&&a.cssText.replace(/\r+|\n+/g,"").indexOf(b.split(" ")[0])===0};c=i('@font-face { font-family: "font"; src: url(data:,); }'),d.removeChild(e);return c},r.video=function(){var a=b.createElement("video"),c=!!a.canPlayType;if(c){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}return c},r.audio=function(){var a=b.createElement("audio"),c=!!a.canPlayType;c&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;"));return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webWorkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var H in r)z(r,H)&&(v=H.toLowerCase(),e[v]=r[H](),u.push((e[v]?"":"no-")+v));e.input||G(),e.crosswindowmessaging=e.postmessage,e.historymanagement=e.history,e.addTest=function(a,b){a=a.toLowerCase();if(!e[a]){b=!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b;return e}},A(""),j=l=null,f&&a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="";return a.childNodes.length!==1}()&&function(a,b){function p(a,b){var c=-1,d=a.length,e,f=[];while(++c
          '; + for (var field in Modernizr[prop]) { + str += '
        • ' + field + ': ' + Modernizr[prop][field] + '
        • '; + } + str += '
      4. '; + } else { + str += '
      5. ' + prop + ': ' + Modernizr[prop] + '
      6. '; + } + } + return str; +} + + +function grabFeatDetects(){ + // thx github.js + $.getScript('https://api.github.com/repos/Modernizr/Modernizr/git/trees/master?recursive=1&callback=processTree'); +} + + +function processTree(data){ + var filenames = []; + + for (var i = 0; i < data.data.tree.length; i++){ + var file = data.data.tree[i]; + var match = file.path.match(/^feature-detects\/(.*)/); + if (!match) continue; + + var relpath = location.host == "modernizr.github.com" ? + '../modernizr-git/' : '../'; + + filenames.push(relpath + match[0]); + } + + var jqxhrs = filenames.map(function(filename){ + return jQuery.getScript(filename); + }); + + jQuery.when.apply(jQuery, jqxhrs).done(resultsToDOM); + +} + +function resultsToDOM(){ + + var modOutput = document.createElement('div'), + ref = document.getElementById('qunit-testresult') || document.getElementById('qunit-tests'); + + modOutput.className = 'output'; + modOutput.innerHTML = dumpModernizr(); + + ref.parentNode.insertBefore(modOutput, ref); + + // Modernizr object as text + document.getElementsByTagName('textarea')[0].innerHTML = JSON.stringify(Modernizr); + +} + +/* uno */ resultsToDOM(); +/* dos */ grabFeatDetects(); +/* tres */ setTimeout(resultsToDOM, 5e3); +/* quatro */ setTimeout(resultsToDOM, 15e3); diff --git a/js/modernizr/test/js/lib/detect-global.js b/js/modernizr/test/js/lib/detect-global.js new file mode 100644 index 0000000..48b4ac2 --- /dev/null +++ b/js/modernizr/test/js/lib/detect-global.js @@ -0,0 +1,153 @@ +// https://github.com/kangax/detect-global + +// tweaked to run without a UI. + +(function () { + function getPropertyDescriptors(object) { + var props = { }; + for (var prop in object) { + + // nerfing for firefox who goes crazy over some objects like sessionStorage + try { + + props[prop] = { + type: typeof object[prop], + value: object[prop] + }; + + } catch(e){ + props[prop] = {}; + } + } + return props; + } + + function getCleanWindow() { + var elIframe = document.createElement('iframe'); + elIframe.style.display = 'none'; + + var ref = document.getElementsByTagName('script')[0]; + ref.parentNode.insertBefore(elIframe, ref); + + elIframe.src = 'about:blank'; + return elIframe.contentWindow; + } + + function appendControl(el, name) { + var elCheckbox = document.createElement('input'); + elCheckbox.type = 'checkbox'; + elCheckbox.checked = true; + elCheckbox.id = '__' + name; + + var elLabel = document.createElement('label'); + elLabel.htmlFor = '__' + name; + elLabel.innerHTML = 'Exclude ' + name + ' properties?'; + elLabel.style.marginLeft = '0.5em'; + + var elWrapper = document.createElement('p'); + elWrapper.style.marginBottom = '0.5em'; + + elWrapper.appendChild(elCheckbox); + elWrapper.appendChild(elLabel); + + el.appendChild(elWrapper); + } + + function appendAnalyze(el) { + var elAnalyze = document.createElement('button'); + elAnalyze.id = '__analyze'; + elAnalyze.innerHTML = 'Analyze'; + elAnalyze.style.marginTop = '1em'; + el.appendChild(elAnalyze); + } + + function appendCancel(el) { + var elCancel = document.createElement('a'); + elCancel.href = '#'; + elCancel.innerHTML = 'Cancel'; + elCancel.style.cssText = 'color:#eee;margin-left:0.5em;'; + elCancel.onclick = function() { + el.parentNode.removeChild(el); + return false; + }; + el.appendChild(elCancel); + } + + function initConfigPopup() { + var el = document.createElement('div'); + + el.style.cssText = 'position:fixed; left:10px; top:10px; width:300px; background:rgba(50,50,50,0.9);' + + '-moz-border-radius:10px; padding:1em; color: #eee; text-align: left;' + + 'font-family: "Helvetica Neue", Verdana, Arial, sans serif; z-index: 99999;'; + + for (var prop in propSets) { + appendControl(el, prop); + } + + appendAnalyze(el); + appendCancel(el); + + var ref = document.getElementsByTagName('script')[0]; + ref.parentNode.insertBefore(el, ref); + } + + function getPropsCount(object) { + var count = 0; + for (var prop in object) { + count++; + } + return count; + } + + function shouldDeleteProperty(propToCheck) { + for (var prop in propSets) { + var elCheckbox = document.getElementById('__' + prop); + var isPropInSet = propSets[prop].indexOf(propToCheck) > -1; + if (isPropInSet && (elCheckbox ? elCheckbox.checked : true) ) { + return true; + } + } + } + + function analyze() { + var global = (function(){ return this; })(), + globalProps = getPropertyDescriptors(global), + cleanWindow = getCleanWindow(); + + for (var prop in cleanWindow) { + if (globalProps[prop]) { + delete globalProps[prop]; + } + } + for (var prop in globalProps) { + if (shouldDeleteProperty(prop)) { + delete globalProps[prop]; + } + } + + window.__globalsCount = getPropsCount(globalProps); + window.__globals = globalProps; + + window.console && console.log('Total number of global properties: ' + __globalsCount); + window.console && console.dir(__globals); + } + + var propSets = { + 'Prototype': '$$ $A $F $H $R $break $continue $w Abstract Ajax Class Enumerable Element Field Form ' + + 'Hash Insertion ObjectRange PeriodicalExecuter Position Prototype Selector Template Toggle Try'.split(' '), + + 'Scriptaculous': 'Autocompleter Builder Control Draggable Draggables Droppables Effect Sortable SortableObserver Sound Scriptaculous'.split(' '), + 'Firebug': 'loadFirebugConsole console _getFirebugConsoleElement _FirebugConsole _FirebugCommandLine _firebug'.split(' '), + 'Mozilla': 'Components XPCNativeWrapper XPCSafeJSObjectWrapper getInterface netscape GetWeakReference GeckoActiveXObject'.split(' '), + 'GoogleAnalytics': 'gaJsHost gaGlobal _gat _gaq pageTracker'.split(' '), + 'lazyGlobals': 'onhashchange'.split(' ') + }; + + // initConfigPopup(); // disable because we're going UI-less. + + var analyzeElem = document.getElementById('__analyze'); + analyzeElem && (analyzeElem.onclick = analyze); + + analyze(); // and assign total added globals to window.__globalsCount + +})(); \ No newline at end of file diff --git a/js/modernizr/test/js/lib/jquery-1.7b2.js b/js/modernizr/test/js/lib/jquery-1.7b2.js new file mode 100644 index 0000000..98c6d0d --- /dev/null +++ b/js/modernizr/test/js/lib/jquery-1.7b2.js @@ -0,0 +1,9279 @@ +/*! + * jQuery JavaScript Library v1.7b2 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu Oct 13 21:12:55 2011 -0400 + */ +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document, + navigator = window.navigator, + location = window.location; +var jQuery = (function() { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + + // Used for trimming whitespace + trimLeft = /^\s+/, + trimRight = /\s+$/, + + // Check for digits + rdigit = /\d/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + + // Useragent RegExp + rwebkit = /(webkit)[ \/]([\w.]+)/, + ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, + rmsie = /(msie) ([\w.]+)/, + rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, + + // Matches dashed string for camelizing + rdashAlpha = /-([a-z]|[0-9])/ig, + rmsPrefix = /^-ms-/, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return ( letter + "" ).toUpperCase(); + }, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // The deferred used on DOM ready + readyList, + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + trim = String.prototype.trim, + indexOf = Array.prototype.indexOf, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = selector; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = quickExpr.exec( selector ); + } + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return (context || rootjQuery).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if (selector.selector !== undefined) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.7b2", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return slice.call( this, 0 ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + // Build a new jQuery matched element set + var ret = this.constructor(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Attach the listeners + jQuery.bindReady(); + + // Add the callback + readyList.add( fn ); + + return this; + }, + + eq: function( i ) { + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + // Either a released hold or an DOMready/load event and not yet ready + if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.fireWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).unbind( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyList ) { + return; + } + + readyList = jQuery.Callbacks( "once memory" ); + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", DOMContentLoaded ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + // A crude way of determining if an object is a window + isWindow: function( obj ) { + return obj && typeof obj === "object" && "setInterval" in obj; + }, + + isNumeric: function( obj ) { + return obj != null && rdigit.test( obj ) && !isNaN( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw msg; + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return (new Function( "return " + data ))(); + + } + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && rnotwhite.test( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction( object ); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) { + break; + } + } + } + } + + return object; + }, + + // Use native String.trim function wherever possible + trim: trim ? + function( text ) { + return text == null ? + "" : + trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type( array ); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array, i ) { + var len; + + if ( array ) { + if ( indexOf ) { + return indexOf.call( array, elem, i ); + } + + len = array.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in array && array[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, key, ret = [], + i = 0, + length = elems.length, + // jquery objects are treated as arrays + isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( key in elems ) { + value = callback( elems[ key ], key, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + if ( typeof context === "string" ) { + var tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + var args = slice.call( arguments, 2 ), + proxy = function() { + return fn.apply( context, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can optionally be executed if it's a function + access: function( elems, key, value, exec, fn, pass ) { + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + jQuery.access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; + }, + + now: function() { + return (new Date()).getTime(); + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + sub: function() { + function jQuerySub( selector, context ) { + return new jQuerySub.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySub, this ); + jQuerySub.superclass = this; + jQuerySub.fn = jQuerySub.prototype = this(); + jQuerySub.fn.constructor = jQuerySub; + jQuerySub.sub = this.sub; + jQuerySub.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { + context = jQuerySub( context ); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); + }; + jQuerySub.fn.init.prototype = jQuerySub.fn; + var rootjQuerySub = jQuerySub(document); + return jQuerySub; + }, + + browser: {} +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +// IE doesn't match non-breaking spaces with \s +if ( rnotwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +// Expose jQuery as an AMD module, but only for AMD loaders that +// understand the issues with loading multiple versions of jQuery +// in a page that all might call define(). The loader will indicate +// they have special allowances for multiple jQuery versions by +// specifying define.amd.jQuery = true. Register as a named module, +// since jQuery can be concatenated with other files that may use define, +// but not use a proper concatenation script that understands anonymous +// AMD modules. A named AMD is safest and most robust way to register. +// Lowercase jquery is used because AMD module names are derived from +// file names, and jQuery is normally delivered in a lowercase file name. +if ( typeof define === "function" && define.amd && define.amd.jQuery ) { + define( "jquery", [], function () { return jQuery; } ); +} + +return jQuery; + +})(); + + +// String to Object flags format cache +var flagsCache = {}; + +// Convert String-formatted flags into Object-formatted ones and store in cache +function createFlags( flags ) { + var object = flagsCache[ flags ] = {}, + i, length; + flags = flags.split( /\s+/ ); + for ( i = 0, length = flags.length; i < length; i++ ) { + object[ flags[i] ] = true; + } + return object; +} + +/* + * Create a callback list using the following parameters: + * + * flags: an optional list of space-separated flags that will change how + * the callback list behaves + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible flags: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( flags ) { + + // Convert flags from String-formatted to Object-formatted + // (we check in cache first) + flags = flags ? ( flagsCache[ flags ] || createFlags( flags ) ) : {}; + + var // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = [], + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list is currently firing + firing, + // First callback to fire (used internally by add and fireWith) + firingStart, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // Add one or several callbacks to the list + add = function( args ) { + var i, + length, + elem, + type, + actual; + for ( i = 0, length = args.length; i < length; i++ ) { + elem = args[ i ]; + type = jQuery.type( elem ); + if ( type === "array" ) { + // Inspect recursively + add( elem ); + } else if ( type === "function" ) { + // Add if not in unique mode and callback is not in + if ( !flags.unique || !self.has( elem ) ) { + list.push( elem ); + } + } + } + }, + // Fire callbacks + fire = function( context, args ) { + args = args || []; + memory = !flags.memory || [ context, args ]; + firing = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( context, args ) === false && flags.stopOnFalse ) { + memory = true; // Mark as halted + break; + } + } + firing = false; + if ( list ) { + if ( !flags.once ) { + if ( stack && stack.length ) { + memory = stack.shift(); + self.fireWith( memory[ 0 ], memory[ 1 ] ); + } + } else if ( memory === true ) { + self.disable(); + } else { + list = []; + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + var length = list.length; + add( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away, unless previous + // firing was halted (stopOnFalse) + } else if ( memory && memory !== true ) { + firingStart = length; + fire( memory[ 0 ], memory[ 1 ] ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + var args = arguments, + argIndex = 0, + argLength = args.length; + for ( ; argIndex < argLength ; argIndex++ ) { + for ( var i = 0; i < list.length; i++ ) { + if ( args[ argIndex ] === list[ i ] ) { + // Handle firingIndex and firingLength + if ( firing ) { + if ( i <= firingLength ) { + firingLength--; + if ( i <= firingIndex ) { + firingIndex--; + } + } + } + // Remove the element + list.splice( i--, 1 ); + // If we have some unicity property then + // we only need to do this once + if ( flags.unique ) { + break; + } + } + } + } + } + return this; + }, + // Control if a given callback is in the list + has: function( fn ) { + if ( list ) { + var i = 0, + length = list.length; + for ( ; i < length; i++ ) { + if ( fn === list[ i ] ) { + return true; + } + } + } + return false; + }, + // Remove all callbacks from the list + empty: function() { + list = []; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory || memory === true ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( stack ) { + if ( firing ) { + if ( !flags.once ) { + stack.push( [ context, args ] ); + } + } else if ( !( flags.once && memory ) ) { + fire( context, args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!memory; + } + }; + + return self; +}; + + + + +var // Static reference to slice + sliceDeferred = [].slice; + +jQuery.extend({ + + Deferred: function( func ) { + var doneList = jQuery.Callbacks( "once memory" ), + failList = jQuery.Callbacks( "once memory" ), + progressList = jQuery.Callbacks( "memory" ), + state = "pending", + lists = { + resolve: doneList, + reject: failList, + notify: progressList + }, + promise = { + done: doneList.add, + fail: failList.add, + progress: progressList.add, + + state: function() { + return state; + }, + + // Deprecated + isResolved: doneList.fired, + isRejected: failList.fired, + + then: function( doneCallbacks, failCallbacks, progressCallbacks ) { + deferred.done( doneCallbacks ).fail( failCallbacks ).progress( progressCallbacks ); + return this; + }, + always: function() { + return deferred.done.apply( deferred, arguments ).fail.apply( deferred, arguments ); + }, + pipe: function( fnDone, fnFail, fnProgress ) { + return jQuery.Deferred(function( newDefer ) { + jQuery.each( { + done: [ fnDone, "resolve" ], + fail: [ fnFail, "reject" ], + progress: [ fnProgress, "notify" ] + }, function( handler, data ) { + var fn = data[ 0 ], + action = data[ 1 ], + returned; + if ( jQuery.isFunction( fn ) ) { + deferred[ handler ](function() { + returned = fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise().then( newDefer.resolve, newDefer.reject, newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] ); + } + }); + } else { + deferred[ handler ]( newDefer[ action ] ); + } + }); + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + if ( obj == null ) { + obj = promise; + } else { + for( var key in promise ) { + obj[ key ] = promise[ key ]; + } + } + return obj; + } + }, + deferred = promise.promise({}), + key; + + for ( key in lists ) { + deferred[ key ] = lists[ key ].fire; + deferred[ key + "With" ] = lists[ key ].fireWith; + } + + // Handle state + deferred.done( function() { + state = "resolved"; + }, failList.disable, progressList.lock ).fail( function() { + state = "rejected"; + }, doneList.disable, progressList.lock ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( firstParam ) { + var args = sliceDeferred.call( arguments, 0 ), + i = 0, + length = args.length, + pValues = new Array( length ), + count = length, + pCount = length, + deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ? + firstParam : + jQuery.Deferred(), + promise = deferred.promise(); + function resolveFunc( i ) { + return function( value ) { + args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; + if ( !( --count ) ) { + deferred.resolveWith( deferred, args ); + } + }; + } + function progressFunc( i ) { + return function( value ) { + pValues[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; + deferred.notifyWith( promise, pValues ); + }; + } + if ( length > 1 ) { + for( ; i < length; i++ ) { + if ( args[ i ] && args[ i ].promise && jQuery.isFunction( args[ i ].promise ) ) { + args[ i ].promise().then( resolveFunc(i), deferred.reject, progressFunc(i) ); + } else { + --count; + } + } + if ( !count ) { + deferred.resolveWith( deferred, args ); + } + } else if ( deferred !== firstParam ) { + deferred.resolveWith( deferred, length ? [ firstParam ] : [] ); + } + return promise; + } +}); + + + + +jQuery.support = (function() { + + var div = document.createElement( "div" ), + documentElement = document.documentElement, + all, + a, + select, + opt, + input, + marginDiv, + support, + fragment, + body, + testElementParent, + testElement, + testElementStyle, + tds, + events, + eventName, + i, + isSupported, + offsetSupport; + + // Preliminary tests + div.setAttribute("className", "t"); + div.innerHTML = "
        a"; + + + all = div.getElementsByTagName( "*" ); + a = div.getElementsByTagName( "a" )[ 0 ]; + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return {}; + } + + // First batch of supports tests + select = document.createElement( "select" ); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName( "input" )[ 0 ]; + + support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: ( div.firstChild.nodeType === 3 ), + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName( "tbody" ).length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName( "link" ).length, + + // Get the style information from getAttribute + // (IE uses .cssText instead) + style: /top/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: ( a.getAttribute( "href" ) === "/a" ), + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.55/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure unknown elements (like HTML5 elems) are handled appropriately + unknownElems: !!div.getElementsByTagName( "nav" ).length, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: ( input.value === "on" ), + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // Will be defined later + submitBubbles: true, + changeBubbles: true, + focusinBubbles: false, + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: true + }; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent( "onclick", function() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + support.noCloneEvent = false; + }); + div.cloneNode( true ).fireEvent( "onclick" ); + } + + // Check if a radio maintains its value + // after being appended to the DOM + input = document.createElement("input"); + input.value = "t"; + input.setAttribute("type", "radio"); + support.radioValue = input.value === "t"; + + input.setAttribute("checked", "checked"); + div.appendChild( input ); + fragment = document.createDocumentFragment(); + fragment.appendChild( div.firstChild ); + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + div.innerHTML = ""; + + // Figure out if the W3C box model works as expected + div.style.width = div.style.paddingLeft = "1px"; + + // We don't want to do body-related feature tests on frameset + // documents, which lack a body. So we use + // document.getElementsByTagName("body")[0], which is undefined in + // frameset documents, while document.body isn’t. (7398) + body = document.getElementsByTagName("body")[ 0 ]; + // We use our own, invisible, body unless the body is already present + // in which case we use a div (#9239) + testElement = document.createElement( body ? "div" : "body" ); + testElementStyle = { + visibility: "hidden", + width: 0, + height: 0, + border: 0, + margin: 0, + background: "none" + }; + if ( body ) { + jQuery.extend( testElementStyle, { + position: "absolute", + left: "-999px", + top: "-999px" + }); + } + for ( i in testElementStyle ) { + testElement.style[ i ] = testElementStyle[ i ]; + } + testElement.appendChild( div ); + testElementParent = body || documentElement; + testElementParent.insertBefore( testElement, testElementParent.firstChild ); + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + support.boxModel = div.offsetWidth === 2; + + if ( "zoom" in div.style ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.style.display = "inline"; + div.style.zoom = 1; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 2 ); + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = ""; + div.innerHTML = "
        "; + support.shrinkWrapBlocks = ( div.offsetWidth !== 2 ); + } + + div.innerHTML = "
        t
        "; + tds = div.getElementsByTagName( "td" ); + + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + // (only IE 8 fails this test) + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE < 8 fail this test) + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + div.innerHTML = ""; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. For more + // info see bug #3333 + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + if ( document.defaultView && document.defaultView.getComputedStyle ) { + marginDiv = document.createElement( "div" ); + marginDiv.style.width = "0"; + marginDiv.style.marginRight = "0"; + div.appendChild( marginDiv ); + support.reliableMarginRight = + ( parseInt( ( document.defaultView.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0; + } + + // Remove the body element we added + testElement.innerHTML = ""; + + // Technique from Juriy Zaytsev + // http://perfectionkills.com/detecting-event-support-without-browser-sniffing/ + // We only care about the case where non-standard event systems + // are used, namely in IE. Short-circuiting here helps us to + // avoid an eval call (in setAttribute) which can cause CSP + // to go haywire. See: https://developer.mozilla.org/en/Security/CSP + if ( div.attachEvent ) { + for( i in { + submit: 1, + change: 1, + focusin: 1 + } ) { + eventName = "on" + i; + isSupported = ( eventName in div ); + if ( !isSupported ) { + div.setAttribute( eventName, "return;" ); + isSupported = ( typeof div[ eventName ] === "function" ); + } + support[ i + "Bubbles" ] = isSupported; + } + } + + // Determine fixed-position support early + testElement.style.position = "static"; + testElement.style.top = "0px"; + testElement.style.marginTop = "1px"; + offsetSupport = (function( body, container ) { + + var outer, inner, table, td, supports, + bodyMarginTop = parseFloat( body.style.marginTop ) || 0, + ptlm = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;", + style = "style='" + ptlm + "border:5px solid #000;padding:0;'", + html = "
        " + + "" + + "
        "; + + container.style.cssText = ptlm + "border:0;visibility:hidden"; + + container.innerHTML = html; + body.insertBefore( container, body.firstChild ); + outer = container.firstChild; + inner = outer.firstChild; + td = outer.nextSibling.firstChild.firstChild; + + supports = { + doesNotAddBorder: (inner.offsetTop !== 5), + doesAddBorderForTableAndCells: (td.offsetTop === 5) + }; + + inner.style.position = "fixed"; + inner.style.top = "20px"; + + // safari subtracts parent border width here which is 5px + supports.supportsFixedPosition = (inner.offsetTop === 20 || inner.offsetTop === 15); + inner.style.position = inner.style.top = ""; + + outer.style.overflow = "hidden"; + outer.style.position = "relative"; + + supports.subtractsBorderForOverflowNotVisible = (inner.offsetTop === -5); + supports.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop); + + return supports; + + })( testElement, div ); + + jQuery.extend( support, offsetSupport ); + testElementParent.removeChild( testElement ); + + // Null connected elements to avoid leaks in IE + testElement = fragment = select = opt = body = marginDiv = div = input = null; + + return support; +})(); + +// Keep track of boxModel +jQuery.boxModel = jQuery.support.boxModel; + + + + +var rbrace = /^(?:\{.*\}|\[.*\])$/, + rmultiDash = /([A-Z])/g; + +jQuery.extend({ + cache: {}, + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ jQuery.expando ] = id = ++jQuery.uuid; + } else { + id = jQuery.expando; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // Avoids exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should + // not attempt to inspect the internal events object using jQuery.data, as this + // internal data object is undocumented and subject to change. + if ( name === "events" && !thisCache[name] ) { + return thisCache[ internalKey ] && thisCache[ internalKey ].events; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, l, + + // Reference to internal data cache key + internalKey = jQuery.expando, + + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + + // See jQuery.data for more information + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support space separated names + if ( jQuery.isArray( name ) ) { + name = name; + } else if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split( " " ); + } + } + + for ( i = 0, l = name.length; i < l; i++ ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject(cache[ id ]) ) { + return; + } + } + + // Browsers that fail expando deletion also refuse to delete expandos on + // the window, but it will allow it on all other JS objects; other browsers + // don't care + // Ensure that `cache` is not a window object #10080 + if ( jQuery.support.deleteExpando || !cache.setInterval ) { + delete cache[ id ]; + } else { + cache[ id ] = null; + } + + // We destroyed the cache and need to eliminate the expando on the node to avoid + // false lookups in the cache for entries that no longer exist + if ( isNode ) { + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } else { + elem[ jQuery.expando ] = null; + } + } + }, + + // For internal use only. + _data: function( elem, name, data ) { + return jQuery.data( elem, name, data, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var parts, attr, name, + data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + data = jQuery.data( this[0] ); + + if ( this[0].nodeType === 1 && !jQuery._data( this[0], "parsedAttrs" ) ) { + attr = this[0].attributes; + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.substring(5) ); + + dataAttr( this[0], name, data[ name ] ); + } + } + jQuery._data( this[0], "parsedAttrs", true ); + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + // Try to fetch any internally stored data first + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + data = dataAttr( this[0], key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + + } else { + return this.each(function() { + var $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.triggerHandler( "changeData" + parts[1] + "!", args ); + }); + } + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + jQuery.isNumeric( data ) ? parseFloat( data ) : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + for ( var name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + + + + +function handleQueueMarkDefer( elem, type, src ) { + var deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark", + defer = jQuery._data( elem, deferDataKey ); + if ( defer && + ( src === "queue" || !jQuery._data(elem, queueDataKey) ) && + ( src === "mark" || !jQuery._data(elem, markDataKey) ) ) { + // Give room for hard-coded callbacks to fire first + // and eventually mark/queue something else on the element + setTimeout( function() { + if ( !jQuery._data( elem, queueDataKey ) && + !jQuery._data( elem, markDataKey ) ) { + jQuery.removeData( elem, deferDataKey, true ); + defer.fire(); + } + }, 0 ); + } +} + +jQuery.extend({ + + _mark: function( elem, type ) { + if ( elem ) { + type = (type || "fx") + "mark"; + jQuery._data( elem, type, (jQuery._data( elem, type ) || 0) + 1 ); + } + }, + + _unmark: function( force, elem, type ) { + if ( force !== true ) { + type = elem; + elem = force; + force = false; + } + if ( elem ) { + type = type || "fx"; + var key = type + "mark", + count = force ? 0 : ( (jQuery._data( elem, key ) || 1) - 1 ); + if ( count ) { + jQuery._data( elem, key, count ); + } else { + jQuery.removeData( elem, key, true ); + handleQueueMarkDefer( elem, type, "mark" ); + } + } + }, + + queue: function( elem, type, data ) { + var q; + if ( elem ) { + type = (type || "fx") + "queue"; + q = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !q || jQuery.isArray(data) ) { + q = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + q.push( data ); + } + } + return q || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(), + runner = {}; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + jQuery._data( elem, type + ".run", runner ); + fn.call( elem, function() { + jQuery.dequeue( elem, type ); + }, runner ); + } + + if ( !queue.length ) { + jQuery.removeData( elem, type + "queue " + type + ".run", true ); + handleQueueMarkDefer( elem, type, "queue" ); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function() { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, runner ) { + var timeout = setTimeout( next, time ); + runner.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, object ) { + if ( typeof type !== "string" ) { + object = type; + type = undefined; + } + type = type || "fx"; + var defer = jQuery.Deferred(), + elements = this, + i = elements.length, + count = 1, + deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark", + tmp; + function resolve() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + } + while( i-- ) { + if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) || + ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) || + jQuery.data( elements[ i ], markDataKey, undefined, true ) ) && + jQuery.data( elements[ i ], deferDataKey, jQuery.Callbacks( "once memory" ), true ) )) { + count++; + tmp.add( resolve ); + } + } + resolve(); + return defer.promise(); + } +}); + + + + +var rclass = /[\n\t\r]/g, + rspace = /\s+/, + rreturn = /\r/g, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + nodeHook, boolHook, fixSpecified; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.prop ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classNames, i, l, elem, + setClass, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call(this, j, this.className) ); + }); + } + + if ( value && typeof value === "string" ) { + classNames = value.split( rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className && classNames.length === 1 ) { + elem.className = value; + + } else { + setClass = " " + elem.className + " "; + + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) { + setClass += classNames[ c ] + " "; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classNames, i, l, elem, className, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call(this, j, this.className) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + classNames = (value || "").split( rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + className = (" " + elem.className + " ").replace( rclass, " " ); + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[ c ] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( rspace ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var hooks, ret, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return undefined; + } + + var isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var self = jQuery(this), val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + }, + select: { + get: function( elem ) { + var value, + index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + + return values; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + var nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery( elem )[ name ]( value ); + } + + // Fallback to prop when attributes are not supported + if ( !("getAttribute" in elem) ) { + return jQuery.prop( elem, name, value ); + } + + var ret, hooks, + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // Normalize the name if needed + if ( notxml ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || (rboolean.test( name ) ? boolHook : nodeHook); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return undefined; + + } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, "" + value ); + return value; + } + + } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + ret = elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var propName, attrNames, name, l, + i = 0; + + if ( elem.nodeType === 1 ) { + attrNames = (value || "").split( rspace ); + l = attrNames.length; + + for ( ; i < l; i++ ) { + name = attrNames[ i ].toLowerCase(); + + // See #9699 for explanation of this approach (setting first, then removal) + jQuery.attr( elem, name, "" ); + elem.removeAttribute( name ); + + // Set corresponding property to false for boolean attributes + if ( rboolean.test( name ) && (propName = jQuery.propFix[ name ] || name) in elem ) { + elem[ propName ] = false; + } + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to it's default in case type is set after value + // This is for element creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + }, + // Use the value property for back compat + // Use the nodeHook for button elements in IE6/7 (#1954) + value: { + get: function( elem, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.get( elem, name ); + } + return name in elem ? + elem.value : + null; + }, + set: function( elem, value, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.set( elem, value, name ); + } + // Does not return so that setAttribute is also used + elem.value = value; + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return undefined; + } + + var ret, hooks, + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return (elem[ name ] = value); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Add the tabIndex propHook to attrHooks for back-compat (different case is intentional) +jQuery.attrHooks.tabindex = jQuery.propHooks.tabIndex; + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + // Align boolean attributes with corresponding properties + // Fall back to attribute presence where some booleans are not supported + var attrNode, + property = jQuery.prop( elem, name ); + return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + var propName; + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + // value is true since we know at this point it's type boolean and not false + // Set boolean attributes to the same name and set the DOM property + propName = jQuery.propFix[ name ] || name; + if ( propName in elem ) { + // Only set the IDL specifically if it already exists on the element + elem[ propName ] = true; + } + + elem.setAttribute( name, name.toLowerCase() ); + } + return name; + } +}; + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !jQuery.support.getSetAttribute ) { + + fixSpecified = { + name: true, + id: true + }; + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret; + ret = elem.getAttributeNode( name ); + return ret && (fixSpecified[ name ] ? ret.nodeValue !== "" : ret.specified) ? + ret.nodeValue : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + ret = document.createAttribute( name ); + elem.setAttributeNode( ret ); + } + return (ret.nodeValue = value + ""); + } + }; + + // Apply the nodeHook to tabindex + jQuery.attrHooks.tabindex.set = nodeHook.set; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + get: nodeHook.get, + set: function( elem, value, name ) { + if ( value === "" ) { + value = "false"; + } + nodeHook.set( elem, value, name ); + } + }; +} + + +// Some attributes require a special call on IE +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret === null ? undefined : ret; + } + }); + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Normalize to lowercase since IE uppercases css property names + return elem.style.cssText.toLowerCase() || undefined; + }, + set: function( elem, value ) { + return (elem.style.cssText = "" + value); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }); +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return (elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0); + } + } + }); +}); + + + + +var rnamespaces = /\.(.*)$/, + rformElems = /^(?:textarea|input|select)$/i, + rperiod = /\./g, + rspaces = / /g, + rescape = /[^\w\s.|`]/g, + rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/, + rhoverHack = /\bhover(\.\S+)?/, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rquickIs = /^([\w\-]+)?(?:#([\w\-]+))?(?:\.([\w\-]+))?(?:\[([\w+\-]+)=["']?([\w\-]*)["']?\])?$/, + quickParse = function( selector ) { + var quick = rquickIs.exec( selector ); + if ( quick ) { + // 0 1 2 3 4 5 + // [ _, tag, id, class, attrName, attrValue ] + quick[1] = ( quick[1] || "" ).toLowerCase(); + quick[3] = quick[3] && new RegExp( "\\b" + quick[3] + "\\b" ); + } + return quick; + }, + quickIs = function( elem, m ) { + return ( + (!m[1] || elem.nodeName.toLowerCase() === m[1]) && + (!m[2] || elem.id === m[2]) && + (!m[3] || m[3].test( elem.className )) && + (!m[4] || elem.getAttribute( m[4] ) == m[5]) + ); + }; + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + add: function( elem, types, handler, data, selector ) { + + var elemData, eventHandle, events, + t, tns, type, namespaces, handleObj, + handleObjIn, quick, handlers, special; + + // Don't attach events to noData or text/comment nodes (allow plain objects tho) + if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + events = elemData.events; + if ( !events ) { + elemData.events = events = {}; + } + eventHandle = elemData.handle; + if ( !eventHandle ) { + elemData.handle = eventHandle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.replace( rhoverHack, "mouseover$1 mouseout$1" ).split( " " ); + for ( t = 0; t < types.length; t++ ) { + + tns = rtypenamespace.exec( types[t] ) || []; + type = tns[1]; + namespaces = (tns[2] || "").split( "." ).sort(); + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: tns[1], + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + namespace: namespaces.join(".") + }, handleObjIn ); + + // Delegated event; pre-analyze selector so it's processed quickly on event dispatch + if ( selector ) { + handleObj.quick = quickParse( selector ); + if ( !handleObj.quick && jQuery.expr.match.POS.test( selector ) ) { + handleObj.isPositional = true; + } + } + + // Init the event handler queue if we're the first + handlers = events[ type ]; + if ( !handlers ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector ) { + + var elemData = jQuery.hasData( elem ) && jQuery._data( elem ), + t, tns, type, namespaces, origCount, + j, events, special, handle, eventType, handleObj; + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // For removal, types can be an Event object + if ( types && types.type && types.handler ) { + handler = types.handler; + types = types.type; + selector = types.selector; + } + + // Once for each type.namespace in types; type may be omitted + types = (types || "").replace( rhoverHack, "mouseover$1 mouseout$1" ).split(" "); + for ( t = 0; t < types.length; t++ ) { + tns = rtypenamespace.exec( types[t] ) || []; + type = tns[1]; + namespaces = tns[2]; + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + namespaces = namespaces? "." + namespaces : ""; + for ( j in events ) { + jQuery.event.remove( elem, j + namespaces, handler, selector ); + } + return; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector? special.delegateType : special.bindType ) || type; + eventType = events[ type ] || []; + origCount = eventType.length; + namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null; + + // Only need to loop for special events or selective removal + if ( handler || namespaces || selector || special.remove ) { + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( !handler || handler.guid === handleObj.guid ) { + if ( !namespaces || namespaces.test( handleObj.namespace ) ) { + if ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) { + eventType.splice( j--, 1 ); + + if ( handleObj.selector ) { + eventType.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + } + } + } else { + // Removing all events + eventType.length = 0; + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( eventType.length === 0 && origCount !== eventType.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery.removeData( elem, [ "events", "handle" ], true ); + } + }, + + // Events that are safe to short-circuit if no handlers are attached. + // Native DOM events should not be added, they may have inline handlers. + customEvent: { + "getData": true, + "setData": true, + "changeData": true + }, + + trigger: function( event, data, elem, onlyHandlers ) { + // Don't do events on text and comment nodes + if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) { + return; + } + + // Event object or event type + var type = event.type || event, + namespaces = [], + cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType; + + if ( type.indexOf( "!" ) >= 0 ) { + // Exclusive events trigger only for the exact event (no namespaces) + type = type.slice(0, -1); + exclusive = true; + } + + if ( type.indexOf( "." ) >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + + if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) { + // No jQuery handlers for this event type, and it can't have inline handlers + return; + } + + // Caller can pass in an Event, Object, or just an event type string + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + new jQuery.Event( type, event ) : + // Just the event type (string) + new jQuery.Event( type ); + + event.type = type; + event.isTrigger = true; + event.exclusive = exclusive; + event.namespace = namespaces.join( "." ); + event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)") : null; + ontype = type.indexOf( ":" ) < 0 ? "on" + type : ""; + + // triggerHandler() and global events don't bubble or run the default action + if ( onlyHandlers || !elem ) { + event.preventDefault(); + } + + // Handle a global trigger + if ( !elem ) { + + // TODO: Stop taunting the data cache; remove global events and always attach to document + cache = jQuery.cache; + event.stopPropagation(); + for ( i in cache ) { + if ( cache[ i ].events && cache[ i ].events[ type ] ) { + jQuery.event.trigger( event, data, cache[ i ].handle.elem ); + } + } + return; + } + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data != null ? jQuery.makeArray( data ) : []; + data.unshift( event ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + eventPath = [[ elem, special.bindType || type ]]; + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + old = null; + for ( cur = elem.parentNode; cur; cur = cur.parentNode ) { + eventPath.push([ cur, bubbleType ]); + old = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( old && old === elem.ownerDocument ) { + eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]); + } + } + + // Fire handlers on the event path + for ( i = 0; i < eventPath.length; i++ ) { + + cur = eventPath[i][0]; + event.type = eventPath[i][1]; + + handle = (jQuery._data( cur, "events" ) || {})[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) ) { + handle.apply( cur, data ); + } + + if ( event.isPropagationStopped() ) { + break; + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.call( elem.ownerDocument, event, data ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + // IE<9 dies on focus/blur to hidden element (#1486) + if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + old = elem[ ontype ]; + + if ( old ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( old ) { + elem[ ontype ] = old; + } + } + } + } + + return event.result; + }, + + handle: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event || window.event ); + + var handlers = ((jQuery._data( this, "events" ) || {})[ event.type ] || []), + delegateCount = handlers.delegateCount, + args = [].slice.call( arguments, 0 ), + handlerQueue = [], + i, cur, selMatch, matches, handleObj, sel, hit, related; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + + // Determine handlers that should run if there are delegated events + // Avoid disabled elements in IE (#6911) and non-left-click bubbling in Firefox (#3861) + if ( delegateCount && !event.target.disabled && !(event.button && event.type === "click") ) { + + for ( cur = event.target; cur != this; cur = cur.parentNode || this ) { + selMatch = {}; + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + sel = handleObj.selector; + hit = selMatch[ sel ]; + + if ( handleObj.isPositional ) { + // Since .is() does not work for positionals; see http://jsfiddle.net/eJ4yd/3/ + hit = ( hit || (selMatch[ sel ] = jQuery( sel )) ).index( cur ) >= 0; + } else if ( hit === undefined ) { + hit = selMatch[ sel ] = ( handleObj.quick ? quickIs( cur, handleObj.quick ) : jQuery( cur ).is( sel ) ); + } + if ( hit ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, matches: matches }); + } + } + } + + // Copy the remaining (bound) handlers in case they're changed + handlers = handlers.slice( delegateCount ); + + // Run delegates first; they may want to stop propagation beneath us + event.delegateTarget = this; + for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) { + matched = handlerQueue[ i ]; + dispatch( matched.elem, event, matched.matches, args ); + } + delete event.delegateTarget; + + // Run non-delegated handlers for this level + if ( handlers.length ) { + dispatch( this, event, handlers, args ); + } + + return event.result; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + // *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 *** + props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement layerX layerY offsetX offsetY pageX pageY screenX screenY toElement wheelDelta".split(" "), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = original.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, + originalEvent = event, + fixHook = jQuery.event.fixHooks[ event.type ] || {}, + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = jQuery.Event( originalEvent ); + + for ( i = copy.length; i; ) { + prop = copy[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary (#1925, IE 6/7/8 & Safari2) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Target should not be a text node (#504, Safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // For mouse/key events; add metaKey if it's not there (#3368, IE6/7/8) + if ( event.metaKey === undefined ) { + event.metaKey = event.ctrlKey; + } + + return fixHook.filter? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady + }, + + focus: { + delegateType: "focusin", + noBubble: true + }, + blur: { + delegateType: "focusout", + noBubble: true + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.handle.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +// Run jQuery handler functions; called from jQuery.event.handle +function dispatch( target, event, handlers, args ) { + var run_all = !event.exclusive && !event.namespace, + specialHandle = ( jQuery.event.special[ event.type ] || {} ).handle, + j, handleObj, ret; + + event.currentTarget = target; + for ( j = 0; j < handlers.length && !event.isImmediatePropagationStopped(); j++ ) { + handleObj = handlers[ j ]; + + // Triggered event must either 1) be non-exclusive and have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) { + + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + ret = ( specialHandle || handleObj.handler ).apply( target, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } +} + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + if ( elem.detachEvent ) { + elem.detachEvent( "on" + type, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = jQuery.event.special[ fix ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var target = this, + related = event.relatedTarget, + handleObj = event.handleObj, + selector = handleObj.selector, + oldType, ret; + + // For a real mouseover/out, always call the handler; for + // mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || handleObj.origType === event.type || (related !== target && !jQuery.contains( target, related )) ) { + oldType = event.type; + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = oldType; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !form._submit_attached ) { + jQuery.event.add( form, "submit._submit", function( event ) { + // Form was submitted, bubble the event up the tree + if ( this.parentNode ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + }); + form._submit_attached = true; + } + }); + // return undefined since we don't need an event listener + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed ) { + this._just_changed = false; + jQuery.event.simulate( "change", this, event, true ); + } + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !elem._change_attached ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + elem._change_attached = true; + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + jQuery.event.remove( event.delegateTarget || this, event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on.call( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + if ( types && types.preventDefault ) { + // ( event ) native or jQuery.Event + return this.off( types.type, types.handler, types.selector ); + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( var type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + live: function( types, data, fn ) { + jQuery( this.context ).on( types, this.selector, data, fn ); + return this; + }, + die: function( types, fn ) { + jQuery( this.context ).off( types, this.selector || "**", fn ); + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length == 1? this.off( selector, "**" ) : this.off( types, selector, fn ); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + if ( this[0] ) { + return jQuery.event.trigger( type, data, this[0], true ); + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + }; + + // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; + while ( i < args.length ) { + args[ i++ ].guid = guid; + } + + return this.click( toggler ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } + + if ( rkeyEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks; + } + + if ( rmouseEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks; + } +}); + + + +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + expando = "sizcache" + (Math.random() + '').replace('.', ''), + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true, + rBackslash = /\\/g, + rReturn = /\r\n/g, + rNonWord = /\W/; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context, seed ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set, seed ); + } + } + + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set, i, len, match, type, left; + + if ( !expr ) { + return []; + } + + for ( i = 0, len = Expr.order.length; i < len; i++ ) { + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace( rBackslash, "" ); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( "*" ) : + []; + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + type, found, item, filter, left, + i, pass, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + filter = Expr.filter[ type ]; + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + pass = not ^ found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +/** + * Utility function for retreiving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +var getText = Sizzle.getText = function( elem ) { + var i, node, + nodeType = elem.nodeType, + ret = ""; + + if ( nodeType ) { + if ( nodeType === 1 ) { + // Use textContent || innerText for elements + if ( typeof elem.textContent === 'string' ) { + return elem.textContent; + } else if ( typeof elem.innerText === 'string' ) { + // Replace IE's carriage returns + return elem.innerText.replace( rReturn, '' ); + } else { + // Traverse it's children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + } else { + + // If no nodeType, this is expected to be an array + for ( i = 0; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + if ( node.nodeType !== 8 ) { + ret += getText( node ); + } + } + } + return ret; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + }, + type: function( elem ) { + return elem.getAttribute( "type" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !rNonWord.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( match[1] ); + } + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace( rBackslash, "" ) + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace( rBackslash, "" ); + }, + + TAG: function( match, curLoop ) { + return match[1].replace( rBackslash, "" ).toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + match[2] = match[2].replace(/^\+|\s*/g, ''); + + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1] = match[1].replace( rBackslash, "" ); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + // Handle if an un-quoted value was used + match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + selected: function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + var attr = elem.getAttribute( "type" ), type = elem.type; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null ); + }, + + radio: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type; + }, + + checkbox: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type; + }, + + file: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "file" === elem.type; + }, + + password: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "password" === elem.type; + }, + + submit: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "submit" === elem.type; + }, + + image: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "image" === elem.type; + }, + + reset: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "reset" === elem.type; + }, + + button: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && "button" === elem.type || name === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + }, + + focus: function( elem ) { + return elem === elem.ownerDocument.activeElement; + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( name ); + } + }, + + CHILD: function( elem, match ) { + var first, last, + doneName, parent, cache, + count, diff, + type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + first = match[2]; + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + doneName = match[0]; + parent = elem.parentNode; + + if ( parent && (parent[ expando ] !== doneName || !elem.nodeIndex) ) { + count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent[ expando ] = doneName; + } + + diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || !!elem.nodeName && elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Sizzle.attr ? + Sizzle.attr( elem, name ) : + Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + !type && Sizzle.attr ? + result != null : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Fallback to using sourceIndex (in IE) if it's available on both nodes + } else if ( a.sourceIndex && b.sourceIndex ) { + return a.sourceIndex - b.sourceIndex; + } + + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // If the nodes are siblings (or identical) we can do a quick check + if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date()).getTime(), + root = document.documentElement; + + form.innerHTML = ""; + + // Inject it into the root element, check its status, and remove it quickly + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + + // release memory in IE + root = form = null; +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = ""; + + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + + Expr.attrHandle.href = function( elem ) { + return elem.getAttribute( "href", 2 ); + }; + } + + // release memory in IE + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "

        "; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + // See if we find a selector to speed up + var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); + + if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { + // Speed-up: Sizzle("TAG") + if ( match[1] ) { + return makeArray( context.getElementsByTagName( query ), extra ); + + // Speed-up: Sizzle(".CLASS") + } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { + return makeArray( context.getElementsByClassName( match[2] ), extra ); + } + } + + if ( context.nodeType === 9 ) { + // Speed-up: Sizzle("body") + // The body element only exists once, optimize finding it + if ( query === "body" && context.body ) { + return makeArray( [ context.body ], extra ); + + // Speed-up: Sizzle("#ID") + } else if ( match && match[3] ) { + var elem = context.getElementById( match[3] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id === match[3] ) { + return makeArray( [ elem ], extra ); + } + + } else { + return makeArray( [], extra ); + } + } + + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var oldContext = context, + old = context.getAttribute( "id" ), + nid = old || id, + hasParent = context.parentNode, + relativeHierarchySelector = /^\s*[+~]/.test( query ); + + if ( !old ) { + context.setAttribute( "id", nid ); + } else { + nid = nid.replace( /'/g, "\\$&" ); + } + if ( relativeHierarchySelector && hasParent ) { + context = context.parentNode; + } + + try { + if ( !relativeHierarchySelector || hasParent ) { + return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); + } + + } catch(pseudoError) { + } finally { + if ( !old ) { + oldContext.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + // release memory in IE + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector; + + if ( matches ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9 fails this) + var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ), + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + Sizzle.matchesSelector = function( node, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + var ret = matches.call( node, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || !disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9, so check for that + node.document && node.document.nodeType !== 11 ) { + return ret; + } + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
        "; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + // release memory in IE + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem[ expando ] === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem[ expando ] = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem[ expando ] === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem[ expando ] = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context, seed ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet, seed ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +// Override sizzle attribute retrieval +Sizzle.attr = jQuery.attr; +Sizzle.selectors.attrMap = {}; +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})(); + + +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + isSimple = /^.[^:#\[\.,]*$/, + slice = Array.prototype.slice, + POS = jQuery.expr.match.POS, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var self = this, + i, l; + + if ( typeof selector !== "string" ) { + return jQuery( selector ).filter(function() { + for ( i = 0, l = self.length; i < l; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }); + } + + var ret = this.pushStack( "", "find", selector ), + length, n, r; + + for ( i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( n = length; n < ret.length; n++ ) { + for ( r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && ( + typeof selector === "string" ? + // If this is a positional selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + POS.test( selector ) ? + jQuery( selector, this.context ).index( this[0] ) >= 0 : + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var ret = [], i, l, cur = this[0]; + + // Array (deprecated as of jQuery 1.7) + if ( jQuery.isArray( selectors ) ) { + var level = 1; + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( i = 0; i < selectors.length; i++ ) { + + if ( jQuery( cur ).is( selectors[ i ] ) ) { + ret.push({ selector: selectors[ i ], elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + + return ret; + } + + // String + var pos = POS.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique( ret ) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( elem.parentNode.firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return (elem === qualifier) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return (jQuery.inArray( elem, qualifier ) >= 0) === keep; + }); +} + + + + +function createSafeFragment( document ) { + var nodeNames = ( + "abbr article aside audio canvas datalist details figcaption figure footer " + + "header hgroup mark meter nav output progress section summary time video" + ).split( " " ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( nodeNames.length ) { + safeFrag.createElement( + nodeNames.pop() + ); + } + } + return safeFrag; +} + +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /", "" ], + legend: [ 1, "
        ", "
        " ], + thead: [ 1, "", "
        " ], + tr: [ 2, "", "
        " ], + td: [ 3, "", "
        " ], + col: [ 2, "", "
        " ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }, + safeFragment = createSafeFragment( document ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and + + + + diff --git a/nggallery/album-glmalbums.php b/nggallery/album-glmalbums.php new file mode 100644 index 0000000..9ebf91f --- /dev/null +++ b/nggallery/album-glmalbums.php @@ -0,0 +1,60 @@ + + If you would like to show the timestamp of the image ,you can use +**/ +?> + + +
        + + + + +
        +
        + +
        + +
        +

        + > + title); ?> + +

        + +
        +
        + + +
        + +
        + + diff --git a/nggallery/gallery-glmphotos-8.php b/nggallery/gallery-glmphotos-8.php new file mode 100644 index 0000000..28bb6c9 --- /dev/null +++ b/nggallery/gallery-glmphotos-8.php @@ -0,0 +1,55 @@ + + If you would like to show the timestamp of the image ,you can use +**/ +?> + + + + + + + + + + diff --git a/nggallery/gallery-glmphotos-narrow.php b/nggallery/gallery-glmphotos-narrow.php new file mode 100644 index 0000000..bc07527 --- /dev/null +++ b/nggallery/gallery-glmphotos-narrow.php @@ -0,0 +1,55 @@ + + If you would like to show the timestamp of the image ,you can use +**/ +?> + + + + + + + + + + diff --git a/nggallery/gallery-glmphotos.php b/nggallery/gallery-glmphotos.php new file mode 100644 index 0000000..c5329e2 --- /dev/null +++ b/nggallery/gallery-glmphotos.php @@ -0,0 +1,66 @@ + + If you would like to show the timestamp of the image ,you can use +**/ +?> + + +
        + + + + + + +
        + + diff --git a/nggallery/gallery-glmvideos.php b/nggallery/gallery-glmvideos.php new file mode 100644 index 0000000..367627d --- /dev/null +++ b/nggallery/gallery-glmvideos.php @@ -0,0 +1,72 @@ + + If you would like to show the timestamp of the image ,you can use +**/ +?> + + + + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..31a60ee --- /dev/null +++ b/package.json @@ -0,0 +1,14 @@ +{ + "name": "CampPetosega", + "description": "Gaslight Media", + "version": "0.0.1", + "devDependencies": { + "node-sass": "~2.0.1", + "grunt": "~0.4.5", + "grunt-contrib-watch": "~0.6.1", + "grunt-sass": "~0.18.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/parts/blog-sidebar-r.php b/parts/blog-sidebar-r.php new file mode 100644 index 0000000..7697b99 --- /dev/null +++ b/parts/blog-sidebar-r.php @@ -0,0 +1,33 @@ +
        +
        +
        +
        + +
        +
        +

        Recent Posts

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

        Categories

        + +

        Archive

        +
          'monthly', 'limit' => 12 ) ); ?>
        +
        +
        \ No newline at end of file diff --git a/parts/bread-crumbs.php b/parts/bread-crumbs.php new file mode 100644 index 0000000..e450bcd --- /dev/null +++ b/parts/bread-crumbs.php @@ -0,0 +1,8 @@ +'; ?> +"; + bcn_display(); + echo "
      "; +} +?> diff --git a/parts/client-info-footer.php b/parts/client-info-footer.php new file mode 100644 index 0000000..ec4237b --- /dev/null +++ b/parts/client-info-footer.php @@ -0,0 +1,49 @@ + + + + + + , + + +
      + +
      +
      + +
      +
      + + + + +
      Email
      + +
      +
      + + + + + + + + +
      + diff --git a/parts/client-info-offcanvas.php b/parts/client-info-offcanvas.php new file mode 100644 index 0000000..24a6987 --- /dev/null +++ b/parts/client-info-offcanvas.php @@ -0,0 +1,24 @@ + +
        +
      • + +
      • +
      • , +
      • + + +
      • +
      • , +
      • + + +
      • + + +
      • + + +
      • + +
      + diff --git a/parts/glm-blocks.php b/parts/glm-blocks.php new file mode 100644 index 0000000..b6e0295 --- /dev/null +++ b/parts/glm-blocks.php @@ -0,0 +1,30 @@ + + +
      + + ID), "glm_block_size", true); ?> + + +
      + + diff --git a/parts/glm-kitchen-sink.php b/parts/glm-kitchen-sink.php new file mode 100644 index 0000000..15298dc --- /dev/null +++ b/parts/glm-kitchen-sink.php @@ -0,0 +1,293 @@ + + + +
      + +
      social +

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

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

      sample Text in case there is no content

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

      + +

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

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

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

      Guests and staff join for a farewell photo

      +
      +

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

      +
      + This is alt text for the image +

      Guests and staff join for a farewell photo

      +
      +

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

      +
      + This is alt text for the image +

      Guests and staff join for a farewell photo

      +
      +

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

      +
      + This is alt text for the image +

      Guests and staff join for a farewell photo

      +
      +

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

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

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

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

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

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

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

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

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

      +
      + +
      test-header-fonts +
      +

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

      +

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

      +

      this is a paragraph for reference.

      +

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

      +

      this is a paragraph for reference.

      +

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

      +

      this is a paragraph for reference.

      +

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

      +

      this is a paragraph for reference.

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

      this is a paragraph for reference.

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

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

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

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

      + + +
      + +
      footer +
      + Example footer. +
      + +
      address +
      + Business Name + + 123 Lane Street, P.O. Box 321 + + Village City, MI 49586 + + 231-123-1231 + + Contact Us +
      + +
      copyright + \ No newline at end of file diff --git a/parts/off-canvas-menu.php b/parts/off-canvas-menu.php new file mode 100644 index 0000000..30f52c8 --- /dev/null +++ b/parts/off-canvas-menu.php @@ -0,0 +1,46 @@ + + diff --git a/parts/search.php b/parts/search.php new file mode 100644 index 0000000..4ee7990 --- /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..b0cc064 --- /dev/null +++ b/parts/slide-show.php @@ -0,0 +1,6 @@ +'; + echo '

      Slideshow Here

      '; + echo '
      '; +} +?> diff --git a/parts/top-bar.php b/parts/top-bar.php new file mode 100644 index 0000000..d34aeb2 --- /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/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..0e36fc4cd5751b8669fecf1f84d107438f2675b5 GIT binary patch literal 489593 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

      )S3OIwM+`U@+; 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

      vWt-iE% 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

        0pt^-5wlEkBC*ZpK3YaE=- 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