From b70b7ff6bb2b759647552bcac7744f3d9b66a628 Mon Sep 17 00:00:00 2001 From: Laury GvR Date: Wed, 14 Jan 2015 09:42:13 -0500 Subject: [PATCH] Weather, featured, ninja, blog, search, grunt Styling for weather widgetm, ninja, blog, header. Activated featured image, search. Nggallery templates. --- Gruntfile.js | 60 +- assets/Irvine_Park__Zoo.jpg | Bin 0 -> 194684 bytes css/app.css | 2 +- footer.php | 34 +- front-page.php | 61 +- functions.php | 39 +- header.php | 36 +- home.php | 71 + js/app.js | 13 +- js/fastclick/lib/fastclick.js | 821 ++ js/foundation/css/foundation.css.map | 7 + js/foundation/css/normalize.css.map | 7 + js/foundation/js/foundation.js | 5976 +++++++++++ js/foundation/js/foundation.min.js | 4 + .../js/foundation/foundation.abide.js | 318 + .../js/foundation/foundation.accordion.js | 67 + .../js/foundation/foundation.alert.js | 43 + .../js/foundation/foundation.clearing.js | 558 + .../js/foundation/foundation.dropdown.js | 439 + .../js/foundation/foundation.equalizer.js | 73 + .../js/foundation/foundation.interchange.js | 348 + .../js/foundation/foundation.joyride.js | 924 ++ js/foundation/js/foundation/foundation.js | 690 ++ .../js/foundation/foundation.magellan.js | 198 + .../js/foundation/foundation.offcanvas.js | 152 + .../js/foundation/foundation.orbit.js | 472 + .../js/foundation/foundation.reveal.js | 449 + .../js/foundation/foundation.slider.js | 267 + js/foundation/js/foundation/foundation.tab.js | 217 + .../js/foundation/foundation.tooltip.js | 300 + .../js/foundation/foundation.topbar.js | 445 + js/foundation/js/vendor/fastclick.js | 9 + js/foundation/js/vendor/jquery.cookie.js | 8 + js/foundation/js/vendor/jquery.js | 26 + js/foundation/js/vendor/modernizr.js | 8 + js/foundation/js/vendor/placeholder.js | 2 + js/jquery-placeholder/jquery.placeholder.js | 192 + js/jquery.cookie/jquery.cookie.js | 117 + js/jquery/dist/jquery.js | 9205 ++++++++++++++++ js/jquery/dist/jquery.min.js | 5 + js/jquery/dist/jquery.min.map | 1 + js/jquery/src/ajax.js | 786 ++ js/jquery/src/ajax/jsonp.js | 89 + js/jquery/src/ajax/load.js | 75 + js/jquery/src/ajax/parseJSON.js | 13 + js/jquery/src/ajax/parseXML.js | 28 + js/jquery/src/ajax/script.js | 64 + js/jquery/src/ajax/var/nonce.js | 5 + js/jquery/src/ajax/var/rquery.js | 3 + js/jquery/src/ajax/xhr.js | 136 + js/jquery/src/attributes.js | 11 + js/jquery/src/attributes/attr.js | 141 + js/jquery/src/attributes/classes.js | 158 + js/jquery/src/attributes/prop.js | 94 + js/jquery/src/attributes/support.js | 35 + js/jquery/src/attributes/val.js | 161 + js/jquery/src/callbacks.js | 205 + js/jquery/src/core.js | 497 + js/jquery/src/core/access.js | 60 + js/jquery/src/core/init.js | 123 + js/jquery/src/core/parseHTML.js | 39 + js/jquery/src/core/ready.js | 97 + js/jquery/src/core/var/rsingleTag.js | 4 + js/jquery/src/css.js | 450 + js/jquery/src/css/addGetHookIf.js | 22 + js/jquery/src/css/curCSS.js | 57 + js/jquery/src/css/defaultDisplay.js | 70 + js/jquery/src/css/hiddenVisibleSelectors.js | 15 + js/jquery/src/css/support.js | 96 + js/jquery/src/css/swap.js | 28 + js/jquery/src/css/var/cssExpand.js | 3 + js/jquery/src/css/var/getStyles.js | 12 + js/jquery/src/css/var/isHidden.js | 13 + js/jquery/src/css/var/rmargin.js | 3 + js/jquery/src/css/var/rnumnonpx.js | 5 + js/jquery/src/data.js | 178 + js/jquery/src/data/Data.js | 181 + js/jquery/src/data/accepts.js | 20 + js/jquery/src/data/var/data_priv.js | 5 + js/jquery/src/data/var/data_user.js | 5 + js/jquery/src/deferred.js | 149 + js/jquery/src/deprecated.js | 13 + js/jquery/src/dimensions.js | 50 + js/jquery/src/effects.js | 648 ++ js/jquery/src/effects/Tween.js | 114 + js/jquery/src/effects/animatedSelector.js | 13 + js/jquery/src/event.js | 868 ++ js/jquery/src/event/ajax.js | 13 + js/jquery/src/event/alias.js | 39 + js/jquery/src/event/support.js | 9 + js/jquery/src/exports/amd.js | 24 + js/jquery/src/exports/global.js | 32 + js/jquery/src/intro.js | 44 + js/jquery/src/jquery.js | 37 + js/jquery/src/manipulation.js | 580 ++ js/jquery/src/manipulation/_evalUrl.js | 18 + js/jquery/src/manipulation/support.js | 32 + .../src/manipulation/var/rcheckableType.js | 3 + js/jquery/src/offset.js | 207 + js/jquery/src/outro.js | 1 + js/jquery/src/queue.js | 142 + js/jquery/src/queue/delay.js | 22 + js/jquery/src/selector-native.js | 172 + js/jquery/src/selector-sizzle.js | 14 + js/jquery/src/selector.js | 1 + js/jquery/src/serialize.js | 111 + js/jquery/src/sizzle/dist/sizzle.js | 2067 ++++ js/jquery/src/sizzle/dist/sizzle.min.js | 3 + js/jquery/src/sizzle/dist/sizzle.min.map | 1 + js/jquery/src/traversing.js | 199 + js/jquery/src/traversing/findFilter.js | 100 + js/jquery/src/traversing/var/rneedsContext.js | 6 + js/jquery/src/var/arr.js | 3 + js/jquery/src/var/class2type.js | 4 + js/jquery/src/var/concat.js | 5 + js/jquery/src/var/hasOwn.js | 5 + js/jquery/src/var/indexOf.js | 5 + js/jquery/src/var/pnum.js | 3 + js/jquery/src/var/push.js | 5 + js/jquery/src/var/rnotwhite.js | 3 + js/jquery/src/var/slice.js | 5 + js/jquery/src/var/strundefined.js | 3 + js/jquery/src/var/support.js | 4 + js/jquery/src/var/toString.js | 5 + js/jquery/src/wrap.js | 79 + js/modernizr/feature-detects/a-download.js | 8 + .../feature-detects/audio-audiodata-api.js | 4 + .../feature-detects/audio-webaudio-api.js | 4 + js/modernizr/feature-detects/battery-api.js | 8 + js/modernizr/feature-detects/battery-level.js | 11 + .../feature-detects/blob-constructor.js | 10 + .../feature-detects/canvas-todataurl-type.js | 28 + .../feature-detects/contenteditable.js | 9 + .../feature-detects/contentsecuritypolicy.js | 10 + js/modernizr/feature-detects/contextmenu.js | 11 + js/modernizr/feature-detects/cookies.js | 15 + js/modernizr/feature-detects/cors.js | 3 + .../css-backgroundposition-shorthand.js | 19 + .../css-backgroundposition-xy.js | 15 + .../feature-detects/css-backgroundrepeat.js | 31 + .../css-backgroundsizecover.js | 10 + js/modernizr/feature-detects/css-boxsizing.js | 9 + js/modernizr/feature-detects/css-calc.js | 12 + .../feature-detects/css-cubicbezierrange.js | 8 + .../feature-detects/css-displayrunin.js | 18 + .../feature-detects/css-displaytable.js | 27 + js/modernizr/feature-detects/css-filters.js | 7 + js/modernizr/feature-detects/css-hyphens.js | 205 + js/modernizr/feature-detects/css-lastchild.js | 11 + js/modernizr/feature-detects/css-mask.js | 12 + .../feature-detects/css-mediaqueries.js | 3 + js/modernizr/feature-detects/css-objectfit.js | 6 + .../feature-detects/css-overflow-scrolling.js | 9 + .../feature-detects/css-pointerevents.js | 25 + .../feature-detects/css-positionsticky.js | 13 + js/modernizr/feature-detects/css-regions.js | 55 + js/modernizr/feature-detects/css-remunit.js | 19 + js/modernizr/feature-detects/css-resize.js | 8 + .../feature-detects/css-scrollbars.js | 19 + js/modernizr/feature-detects/css-shapes.js | 4 + .../feature-detects/css-subpixelfont.js | 23 + js/modernizr/feature-detects/css-supports.js | 6 + .../feature-detects/css-userselect.js | 10 + js/modernizr/feature-detects/css-vhunit.js | 14 + js/modernizr/feature-detects/css-vmaxunit.js | 14 + js/modernizr/feature-detects/css-vminunit.js | 14 + js/modernizr/feature-detects/css-vwunit.js | 14 + .../custom-protocol-handler.js | 10 + js/modernizr/feature-detects/dart.js | 6 + js/modernizr/feature-detects/dataview-api.js | 4 + js/modernizr/feature-detects/dom-classlist.js | 4 + .../dom-createElement-attrs.js | 11 + js/modernizr/feature-detects/dom-dataset.js | 9 + js/modernizr/feature-detects/dom-microdata.js | 4 + js/modernizr/feature-detects/elem-datalist.js | 12 + js/modernizr/feature-detects/elem-details.js | 25 + js/modernizr/feature-detects/elem-output.js | 4 + .../feature-detects/elem-progress-meter.js | 11 + js/modernizr/feature-detects/elem-ruby.js | 53 + js/modernizr/feature-detects/elem-time.js | 4 + js/modernizr/feature-detects/elem-track.js | 11 + js/modernizr/feature-detects/emoji.js | 11 + .../feature-detects/es5-strictmode.js | 7 + .../event-deviceorientation-motion.js | 11 + .../feature-detects/exif-orientation.js | 32 + js/modernizr/feature-detects/file-api.js | 12 + .../feature-detects/file-filesystem.js | 9 + .../feature-detects/forms-fileinput.js | 13 + .../feature-detects/forms-formattribute.js | 29 + .../feature-detects/forms-inputnumber-l10n.js | 32 + .../feature-detects/forms-placeholder.js | 10 + .../feature-detects/forms-speechinput.js | 19 + .../feature-detects/forms-validation.js | 62 + .../feature-detects/fullscreen-api.js | 10 + js/modernizr/feature-detects/gamepad.js | 12 + js/modernizr/feature-detects/getusermedia.js | 5 + js/modernizr/feature-detects/ie8compat.js | 12 + .../feature-detects/iframe-sandbox.js | 5 + .../feature-detects/iframe-seamless.js | 5 + js/modernizr/feature-detects/iframe-srcdoc.js | 5 + js/modernizr/feature-detects/img-apng.js | 26 + js/modernizr/feature-detects/img-webp.js | 20 + js/modernizr/feature-detects/json.js | 7 + .../feature-detects/lists-reversed.js | 6 + js/modernizr/feature-detects/mathml.js | 23 + .../feature-detects/network-connection.js | 22 + .../feature-detects/network-eventsource.js | 5 + js/modernizr/feature-detects/network-xhr2.js | 13 + js/modernizr/feature-detects/notification.js | 10 + js/modernizr/feature-detects/performance.js | 5 + .../feature-detects/pointerlock-api.js | 4 + .../feature-detects/quota-management-api.js | 11 + .../feature-detects/requestanimationframe.js | 7 + js/modernizr/feature-detects/script-async.js | 3 + js/modernizr/feature-detects/script-defer.js | 3 + js/modernizr/feature-detects/style-scoped.js | 6 + js/modernizr/feature-detects/svg-filters.js | 13 + js/modernizr/feature-detects/unicode.js | 32 + js/modernizr/feature-detects/url-data-uri.js | 26 + js/modernizr/feature-detects/userdata.js | 7 + js/modernizr/feature-detects/vibration.js | 4 + js/modernizr/feature-detects/web-intents.js | 6 + .../feature-detects/webgl-extensions.js | 42 + .../feature-detects/websockets-binary.js | 20 + js/modernizr/feature-detects/window-framed.js | 8 + .../feature-detects/workers-blobworkers.js | 66 + .../feature-detects/workers-dataworkers.js | 34 + .../feature-detects/workers-sharedworkers.js | 3 + js/modernizr/grunt.js | 69 + js/modernizr/modernizr.js | 1406 +++ js/modernizr/modernizr.min.js | 1 + js/modernizr/test/caniuse_files/ga.js | 43 + js/modernizr/test/caniuse_files/jquery.min.js | 18 + .../test/caniuse_files/modernizr-1.7.min.js | 2 + js/modernizr/test/js/dumpdata.js | 75 + js/modernizr/test/js/lib/detect-global.js | 153 + js/modernizr/test/js/lib/jquery-1.7b2.js | 9279 +++++++++++++++++ js/modernizr/test/js/lib/jsonselect.js | 279 + js/modernizr/test/js/lib/polyfills.js | 96 + js/modernizr/test/js/lib/uaparser.js | 215 + js/modernizr/test/js/setup.js | 44 + js/modernizr/test/js/unit-caniuse.js | 191 + js/modernizr/test/js/unit.js | 669 ++ js/modernizr/test/qunit/qunit.js | 1932 ++++ js/modernizr/test/qunit/run-qunit.js | 72 + nggallery/album-glmalbums.php | 64 + nggallery/gallery-glmphotos.php | 55 + nggallery/gallery-glmvideos.php | 74 + package.json | 5 +- page.php | 14 +- scss/_settings.scss | 4 +- scss/_structure.scss | 347 +- search.php | 55 + single.php | 113 + 254 files changed, 49341 insertions(+), 108 deletions(-) create mode 100644 assets/Irvine_Park__Zoo.jpg create mode 100644 home.php create mode 100644 js/fastclick/lib/fastclick.js create mode 100644 js/foundation/css/foundation.css.map create mode 100644 js/foundation/css/normalize.css.map create mode 100644 js/foundation/js/foundation.js create mode 100644 js/foundation/js/foundation.min.js create mode 100644 js/foundation/js/foundation/foundation.abide.js create mode 100644 js/foundation/js/foundation/foundation.accordion.js create mode 100644 js/foundation/js/foundation/foundation.alert.js create mode 100644 js/foundation/js/foundation/foundation.clearing.js create mode 100644 js/foundation/js/foundation/foundation.dropdown.js create mode 100644 js/foundation/js/foundation/foundation.equalizer.js create mode 100644 js/foundation/js/foundation/foundation.interchange.js create mode 100644 js/foundation/js/foundation/foundation.joyride.js create mode 100644 js/foundation/js/foundation/foundation.js create mode 100644 js/foundation/js/foundation/foundation.magellan.js create mode 100644 js/foundation/js/foundation/foundation.offcanvas.js create mode 100644 js/foundation/js/foundation/foundation.orbit.js create mode 100644 js/foundation/js/foundation/foundation.reveal.js create mode 100644 js/foundation/js/foundation/foundation.slider.js create mode 100644 js/foundation/js/foundation/foundation.tab.js create mode 100644 js/foundation/js/foundation/foundation.tooltip.js create mode 100644 js/foundation/js/foundation/foundation.topbar.js create mode 100644 js/foundation/js/vendor/fastclick.js create mode 100644 js/foundation/js/vendor/jquery.cookie.js create mode 100644 js/foundation/js/vendor/jquery.js create mode 100644 js/foundation/js/vendor/modernizr.js create mode 100644 js/foundation/js/vendor/placeholder.js create mode 100644 js/jquery-placeholder/jquery.placeholder.js create mode 100644 js/jquery.cookie/jquery.cookie.js create mode 100644 js/jquery/dist/jquery.js create mode 100644 js/jquery/dist/jquery.min.js create mode 100644 js/jquery/dist/jquery.min.map create mode 100644 js/jquery/src/ajax.js create mode 100644 js/jquery/src/ajax/jsonp.js create mode 100644 js/jquery/src/ajax/load.js create mode 100644 js/jquery/src/ajax/parseJSON.js create mode 100644 js/jquery/src/ajax/parseXML.js create mode 100644 js/jquery/src/ajax/script.js create mode 100644 js/jquery/src/ajax/var/nonce.js create mode 100644 js/jquery/src/ajax/var/rquery.js create mode 100644 js/jquery/src/ajax/xhr.js create mode 100644 js/jquery/src/attributes.js create mode 100644 js/jquery/src/attributes/attr.js create mode 100644 js/jquery/src/attributes/classes.js create mode 100644 js/jquery/src/attributes/prop.js create mode 100644 js/jquery/src/attributes/support.js create mode 100644 js/jquery/src/attributes/val.js create mode 100644 js/jquery/src/callbacks.js create mode 100644 js/jquery/src/core.js create mode 100644 js/jquery/src/core/access.js create mode 100644 js/jquery/src/core/init.js create mode 100644 js/jquery/src/core/parseHTML.js create mode 100644 js/jquery/src/core/ready.js create mode 100644 js/jquery/src/core/var/rsingleTag.js create mode 100644 js/jquery/src/css.js create mode 100644 js/jquery/src/css/addGetHookIf.js create mode 100644 js/jquery/src/css/curCSS.js create mode 100644 js/jquery/src/css/defaultDisplay.js create mode 100644 js/jquery/src/css/hiddenVisibleSelectors.js create mode 100644 js/jquery/src/css/support.js create mode 100644 js/jquery/src/css/swap.js create mode 100644 js/jquery/src/css/var/cssExpand.js create mode 100644 js/jquery/src/css/var/getStyles.js create mode 100644 js/jquery/src/css/var/isHidden.js create mode 100644 js/jquery/src/css/var/rmargin.js create mode 100644 js/jquery/src/css/var/rnumnonpx.js create mode 100644 js/jquery/src/data.js create mode 100644 js/jquery/src/data/Data.js create mode 100644 js/jquery/src/data/accepts.js create mode 100644 js/jquery/src/data/var/data_priv.js create mode 100644 js/jquery/src/data/var/data_user.js create mode 100644 js/jquery/src/deferred.js create mode 100644 js/jquery/src/deprecated.js create mode 100644 js/jquery/src/dimensions.js create mode 100644 js/jquery/src/effects.js create mode 100644 js/jquery/src/effects/Tween.js create mode 100644 js/jquery/src/effects/animatedSelector.js create mode 100644 js/jquery/src/event.js create mode 100644 js/jquery/src/event/ajax.js create mode 100644 js/jquery/src/event/alias.js create mode 100644 js/jquery/src/event/support.js create mode 100644 js/jquery/src/exports/amd.js create mode 100644 js/jquery/src/exports/global.js create mode 100644 js/jquery/src/intro.js create mode 100644 js/jquery/src/jquery.js create mode 100644 js/jquery/src/manipulation.js create mode 100644 js/jquery/src/manipulation/_evalUrl.js create mode 100644 js/jquery/src/manipulation/support.js create mode 100644 js/jquery/src/manipulation/var/rcheckableType.js create mode 100644 js/jquery/src/offset.js create mode 100644 js/jquery/src/outro.js create mode 100644 js/jquery/src/queue.js create mode 100644 js/jquery/src/queue/delay.js create mode 100644 js/jquery/src/selector-native.js create mode 100644 js/jquery/src/selector-sizzle.js create mode 100644 js/jquery/src/selector.js create mode 100644 js/jquery/src/serialize.js create mode 100644 js/jquery/src/sizzle/dist/sizzle.js create mode 100644 js/jquery/src/sizzle/dist/sizzle.min.js create mode 100644 js/jquery/src/sizzle/dist/sizzle.min.map create mode 100644 js/jquery/src/traversing.js create mode 100644 js/jquery/src/traversing/findFilter.js create mode 100644 js/jquery/src/traversing/var/rneedsContext.js create mode 100644 js/jquery/src/var/arr.js create mode 100644 js/jquery/src/var/class2type.js create mode 100644 js/jquery/src/var/concat.js create mode 100644 js/jquery/src/var/hasOwn.js create mode 100644 js/jquery/src/var/indexOf.js create mode 100644 js/jquery/src/var/pnum.js create mode 100644 js/jquery/src/var/push.js create mode 100644 js/jquery/src/var/rnotwhite.js create mode 100644 js/jquery/src/var/slice.js create mode 100644 js/jquery/src/var/strundefined.js create mode 100644 js/jquery/src/var/support.js create mode 100644 js/jquery/src/var/toString.js create mode 100644 js/jquery/src/wrap.js create mode 100644 js/modernizr/feature-detects/a-download.js create mode 100644 js/modernizr/feature-detects/audio-audiodata-api.js create mode 100644 js/modernizr/feature-detects/audio-webaudio-api.js create mode 100644 js/modernizr/feature-detects/battery-api.js create mode 100644 js/modernizr/feature-detects/battery-level.js create mode 100644 js/modernizr/feature-detects/blob-constructor.js create mode 100644 js/modernizr/feature-detects/canvas-todataurl-type.js create mode 100644 js/modernizr/feature-detects/contenteditable.js create mode 100644 js/modernizr/feature-detects/contentsecuritypolicy.js create mode 100644 js/modernizr/feature-detects/contextmenu.js create mode 100644 js/modernizr/feature-detects/cookies.js create mode 100644 js/modernizr/feature-detects/cors.js create mode 100644 js/modernizr/feature-detects/css-backgroundposition-shorthand.js create mode 100644 js/modernizr/feature-detects/css-backgroundposition-xy.js create mode 100644 js/modernizr/feature-detects/css-backgroundrepeat.js create mode 100644 js/modernizr/feature-detects/css-backgroundsizecover.js create mode 100644 js/modernizr/feature-detects/css-boxsizing.js create mode 100644 js/modernizr/feature-detects/css-calc.js create mode 100644 js/modernizr/feature-detects/css-cubicbezierrange.js create mode 100644 js/modernizr/feature-detects/css-displayrunin.js create mode 100644 js/modernizr/feature-detects/css-displaytable.js create mode 100644 js/modernizr/feature-detects/css-filters.js create mode 100644 js/modernizr/feature-detects/css-hyphens.js create mode 100644 js/modernizr/feature-detects/css-lastchild.js create mode 100644 js/modernizr/feature-detects/css-mask.js create mode 100644 js/modernizr/feature-detects/css-mediaqueries.js create mode 100644 js/modernizr/feature-detects/css-objectfit.js create mode 100644 js/modernizr/feature-detects/css-overflow-scrolling.js create mode 100644 js/modernizr/feature-detects/css-pointerevents.js create mode 100644 js/modernizr/feature-detects/css-positionsticky.js create mode 100644 js/modernizr/feature-detects/css-regions.js create mode 100644 js/modernizr/feature-detects/css-remunit.js create mode 100644 js/modernizr/feature-detects/css-resize.js create mode 100644 js/modernizr/feature-detects/css-scrollbars.js create mode 100644 js/modernizr/feature-detects/css-shapes.js create mode 100644 js/modernizr/feature-detects/css-subpixelfont.js create mode 100644 js/modernizr/feature-detects/css-supports.js create mode 100644 js/modernizr/feature-detects/css-userselect.js create mode 100644 js/modernizr/feature-detects/css-vhunit.js create mode 100644 js/modernizr/feature-detects/css-vmaxunit.js create mode 100644 js/modernizr/feature-detects/css-vminunit.js create mode 100644 js/modernizr/feature-detects/css-vwunit.js create mode 100644 js/modernizr/feature-detects/custom-protocol-handler.js create mode 100644 js/modernizr/feature-detects/dart.js create mode 100644 js/modernizr/feature-detects/dataview-api.js create mode 100644 js/modernizr/feature-detects/dom-classlist.js create mode 100644 js/modernizr/feature-detects/dom-createElement-attrs.js create mode 100644 js/modernizr/feature-detects/dom-dataset.js create mode 100644 js/modernizr/feature-detects/dom-microdata.js create mode 100644 js/modernizr/feature-detects/elem-datalist.js create mode 100644 js/modernizr/feature-detects/elem-details.js create mode 100644 js/modernizr/feature-detects/elem-output.js create mode 100644 js/modernizr/feature-detects/elem-progress-meter.js create mode 100644 js/modernizr/feature-detects/elem-ruby.js create mode 100644 js/modernizr/feature-detects/elem-time.js create mode 100644 js/modernizr/feature-detects/elem-track.js create mode 100644 js/modernizr/feature-detects/emoji.js create mode 100644 js/modernizr/feature-detects/es5-strictmode.js create mode 100644 js/modernizr/feature-detects/event-deviceorientation-motion.js create mode 100644 js/modernizr/feature-detects/exif-orientation.js create mode 100644 js/modernizr/feature-detects/file-api.js create mode 100644 js/modernizr/feature-detects/file-filesystem.js create mode 100644 js/modernizr/feature-detects/forms-fileinput.js create mode 100644 js/modernizr/feature-detects/forms-formattribute.js create mode 100644 js/modernizr/feature-detects/forms-inputnumber-l10n.js create mode 100644 js/modernizr/feature-detects/forms-placeholder.js create mode 100644 js/modernizr/feature-detects/forms-speechinput.js create mode 100644 js/modernizr/feature-detects/forms-validation.js create mode 100644 js/modernizr/feature-detects/fullscreen-api.js create mode 100644 js/modernizr/feature-detects/gamepad.js create mode 100644 js/modernizr/feature-detects/getusermedia.js create mode 100644 js/modernizr/feature-detects/ie8compat.js create mode 100644 js/modernizr/feature-detects/iframe-sandbox.js create mode 100644 js/modernizr/feature-detects/iframe-seamless.js create mode 100644 js/modernizr/feature-detects/iframe-srcdoc.js create mode 100644 js/modernizr/feature-detects/img-apng.js create mode 100644 js/modernizr/feature-detects/img-webp.js create mode 100644 js/modernizr/feature-detects/json.js create mode 100644 js/modernizr/feature-detects/lists-reversed.js create mode 100644 js/modernizr/feature-detects/mathml.js create mode 100644 js/modernizr/feature-detects/network-connection.js create mode 100644 js/modernizr/feature-detects/network-eventsource.js create mode 100644 js/modernizr/feature-detects/network-xhr2.js create mode 100644 js/modernizr/feature-detects/notification.js create mode 100644 js/modernizr/feature-detects/performance.js create mode 100644 js/modernizr/feature-detects/pointerlock-api.js create mode 100644 js/modernizr/feature-detects/quota-management-api.js create mode 100644 js/modernizr/feature-detects/requestanimationframe.js create mode 100644 js/modernizr/feature-detects/script-async.js create mode 100644 js/modernizr/feature-detects/script-defer.js create mode 100644 js/modernizr/feature-detects/style-scoped.js create mode 100644 js/modernizr/feature-detects/svg-filters.js create mode 100644 js/modernizr/feature-detects/unicode.js create mode 100644 js/modernizr/feature-detects/url-data-uri.js create mode 100644 js/modernizr/feature-detects/userdata.js create mode 100644 js/modernizr/feature-detects/vibration.js create mode 100644 js/modernizr/feature-detects/web-intents.js create mode 100644 js/modernizr/feature-detects/webgl-extensions.js create mode 100644 js/modernizr/feature-detects/websockets-binary.js create mode 100644 js/modernizr/feature-detects/window-framed.js create mode 100644 js/modernizr/feature-detects/workers-blobworkers.js create mode 100644 js/modernizr/feature-detects/workers-dataworkers.js create mode 100644 js/modernizr/feature-detects/workers-sharedworkers.js create mode 100644 js/modernizr/grunt.js create mode 100644 js/modernizr/modernizr.js create mode 100644 js/modernizr/modernizr.min.js create mode 100644 js/modernizr/test/caniuse_files/ga.js create mode 100644 js/modernizr/test/caniuse_files/jquery.min.js create mode 100644 js/modernizr/test/caniuse_files/modernizr-1.7.min.js create mode 100644 js/modernizr/test/js/dumpdata.js create mode 100644 js/modernizr/test/js/lib/detect-global.js create mode 100644 js/modernizr/test/js/lib/jquery-1.7b2.js create mode 100644 js/modernizr/test/js/lib/jsonselect.js create mode 100644 js/modernizr/test/js/lib/polyfills.js create mode 100644 js/modernizr/test/js/lib/uaparser.js create mode 100644 js/modernizr/test/js/setup.js create mode 100644 js/modernizr/test/js/unit-caniuse.js create mode 100644 js/modernizr/test/js/unit.js create mode 100644 js/modernizr/test/qunit/qunit.js create mode 100644 js/modernizr/test/qunit/run-qunit.js create mode 100644 nggallery/album-glmalbums.php create mode 100644 nggallery/gallery-glmphotos.php create mode 100644 nggallery/gallery-glmvideos.php create mode 100644 search.php create mode 100644 single.php diff --git a/Gruntfile.js b/Gruntfile.js index 8da6324..6055dd4 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -12,23 +12,73 @@ module.exports = function(grunt) { }, 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', + 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']); - grunt.registerTask('default', ['build','watch']); -} \ No newline at end of file + grunt.registerTask('build', ['sass', 'copy', 'uglify', 'concat']); + grunt.registerTask('runwatch', ['sass','uglify', 'concat']); + grunt.registerTask('default', ['runwatch','watch']); +} diff --git a/assets/Irvine_Park__Zoo.jpg b/assets/Irvine_Park__Zoo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b8c8510b047a294bc994894255d3380326cbb6d4 GIT binary patch literal 194684 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 jZ=!Bki%o4z0}j!A3ga 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ɽ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%0A6OtFMYqHhLxc?Yh%LL;GULlZ%2+LIw#0`s1PY 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 literal 0 HcmV?d00001 diff --git a/css/app.css b/css/app.css index 2313984..bf8f234 100755 --- a/css/app.css +++ b/css/app.css @@ -1 +1 @@ -meta.foundation-version{font-family:"/5.5.0/"}meta.foundation-mq-small{font-family:"/only screen/";width:0}meta.foundation-mq-small-only{font-family:"/only screen and (max-width: 40em)/";width:0}meta.foundation-mq-medium{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}meta.foundation-mq-medium-only{font-family:"/only screen and (min-width:40.063em) and (max-width:64em)/";width:40.063em}meta.foundation-mq-large{font-family:"/only screen and (min-width:64.063em)/";width:64.063em}meta.foundation-mq-large-only{font-family:"/only screen and (min-width:64.063em) and (max-width:90em)/";width:64.063em}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:90.063em)/";width:90.063em}meta.foundation-mq-xlarge-only{font-family:"/only screen and (min-width:90.063em) and (max-width:120em)/";width:90.063em}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:120.063em)/";width:120.063em}meta.foundation-data-attribute-namespace{font-family:false}html,body{height:100%}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body{font-size:100%}body{background:#fff;color:#222;padding:0;margin:0;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-style:normal;line-height:1.5;position:relative;cursor:auto}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{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 !important;visibility:hidden}.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{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5rem}.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{width:auto;margin-left:-0.9375rem;margin-right:-0.9375rem;margin-top:0;margin-bottom:0;max-width:none}.row .row:before,.row .row:after{content:" ";display:table}.row .row:after{clear:both}.row .row.collapse{width:auto;margin:0;max-width:none}.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}[class*="column"]+[class*="column"]:last-child{float:right}[class*="column"]+[class*="column"].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{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.small-centered,.columns.small-centered{margin-left:auto;margin-right:auto;float:none}.column.small-uncentered,.columns.small-uncentered{margin-left:0;margin-right:0;float:left}.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{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.medium-centered,.columns.medium-centered{margin-left:auto;margin-right:auto;float:none}.column.medium-uncentered,.columns.medium-uncentered{margin-left:0;margin-right:0;float:left}.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{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.large-centered,.columns.large-centered{margin-left:auto;margin-right:auto;float:none}.column.large-uncentered,.columns.large-uncentered{margin-left:0;margin-right:0;float:left}.column.large-centered:last-child,.columns.large-centered:last-child{float:none}.column.large-uncentered:last-child,.columns.large-uncentered:last-child{float:left}.column.large-uncentered.opposite,.columns.large-uncentered.opposite{float:right}.row.large-collapse>.column,.row.large-collapse>.columns{padding-left:0;padding-right:0}.row.large-collapse .row{margin-left:0;margin-right:0}.row.large-uncollapse>.column,.row.large-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}.push-0{position:relative;left:0%;right:auto}.pull-0{position:relative;right:0%;left:auto}.push-1{position:relative;left:8.3333333333%;right:auto}.pull-1{position:relative;right:8.3333333333%;left:auto}.push-2{position:relative;left:16.6666666667%;right:auto}.pull-2{position:relative;right:16.6666666667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.3333333333%;right:auto}.pull-4{position:relative;right:33.3333333333%;left:auto}.push-5{position:relative;left:41.6666666667%;right:auto}.pull-5{position:relative;right:41.6666666667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.3333333333%;right:auto}.pull-7{position:relative;right:58.3333333333%;left:auto}.push-8{position:relative;left:66.6666666667%;right:auto}.pull-8{position:relative;right:66.6666666667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.3333333333%;right:auto}.pull-10{position:relative;right:83.3333333333%;left:auto}.push-11{position:relative;left:91.6666666667%;right:auto}.pull-11{position:relative;right:91.6666666667%;left:auto}}.accordion{margin-bottom:0}.accordion:before,.accordion:after{content:" ";display:table}.accordion:after{clear:both}.accordion .accordion-navigation,.accordion dd{display:block;margin-bottom:0 !important}.accordion .accordion-navigation.active>a,.accordion dd.active>a{background:#e8e8e8}.accordion .accordion-navigation>a,.accordion dd>a{background:#EFEFEF;color:#222222;padding:1rem;display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size: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{display:block;background:#FFFFFF}.alert-box{border-style:solid;border-width:1px;display:block;font-weight:normal;margin-bottom:1.25rem;position:relative;padding:0.875rem 1.5rem 0.875rem 0.875rem;font-size:0.8125rem;transition:opacity 300ms ease-out;background-color:#008CBA;border-color:#0078a0;color:#FFFFFF}.alert-box .close{font-size:1.375rem;padding:9px 6px 4px;line-height:0;position:absolute;top:50%;margin-top:-0.6875rem;right:0.25rem;color:#333333;opacity:0.3;background:inherit}.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;height:auto;float:left;padding:0 0.625rem 1.25rem}@media only screen{.small-block-grid-1>li{width:100%;list-style:none}.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{width:50%;list-style:none}.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{width:33.3333333333%;list-style:none}.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{width:25%;list-style:none}.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{width:20%;list-style:none}.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{width:16.6666666667%;list-style:none}.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{width:14.2857142857%;list-style:none}.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{width:12.5%;list-style:none}.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{width:11.1111111111%;list-style:none}.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{width:10%;list-style:none}.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{width:9.0909090909%;list-style:none}.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{width:8.3333333333%;list-style:none}.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{width:100%;list-style:none}.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{width:50%;list-style:none}.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{width:33.3333333333%;list-style:none}.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{width:25%;list-style:none}.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{width:20%;list-style:none}.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{width:16.6666666667%;list-style:none}.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{width:14.2857142857%;list-style:none}.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{width:12.5%;list-style:none}.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{width:11.1111111111%;list-style:none}.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{width:10%;list-style:none}.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{width:9.0909090909%;list-style:none}.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{width:8.3333333333%;list-style:none}.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{width:100%;list-style:none}.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{width:50%;list-style:none}.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{width:33.3333333333%;list-style:none}.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{width:25%;list-style:none}.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{width:20%;list-style:none}.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{width:16.6666666667%;list-style:none}.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{width:14.2857142857%;list-style:none}.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{width:12.5%;list-style:none}.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{width:11.1111111111%;list-style:none}.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{width:10%;list-style:none}.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{width:9.0909090909%;list-style:none}.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{width:8.3333333333%;list-style:none}.large-block-grid-12>li:nth-of-type(1n){clear:none}.large-block-grid-12>li:nth-of-type(12n+1){clear:both}}.breadcrumbs{display:block;padding:0.5625rem 0.875rem 0.5625rem;overflow:hidden;margin-left:0;list-style:none;border-style:solid;border-width:1px;background-color:#f4f4f4;border-color:gainsboro;border-radius:3px}.breadcrumbs>*{margin:0;float:left;font-size:0.6875rem;line-height:0.6875rem;text-transform:uppercase;color:#008CBA}.breadcrumbs>*:hover a,.breadcrumbs>*:focus a{text-decoration:underline}.breadcrumbs>* a{color:#008CBA}.breadcrumbs>*.current{cursor:default;color:#333333}.breadcrumbs>*.current a{cursor:default;color:#333333}.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{text-decoration:none;color:#999999;cursor:default}.breadcrumbs>*:before{content:"/";color:#AAAAAA;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{border-style:solid;border-width:0;cursor:pointer;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-decoration:none;text-align:center;-webkit-appearance:none;border-radius:0;display:inline-block;padding-top:1rem;padding-right:2rem;padding-bottom:1.0625rem;padding-left: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-top:1.125rem;padding-right:2.25rem;padding-bottom:1.1875rem;padding-left:2.25rem;font-size:1.25rem}button.small,.button.small{padding-top:0.875rem;padding-right:1.75rem;padding-bottom:0.9375rem;padding-left:1.75rem;font-size:0.8125rem}button.tiny,.button.tiny{padding-top:0.625rem;padding-right:1.25rem;padding-bottom:0.6875rem;padding-left:1.25rem;font-size:0.6875rem}button.expand,.button.expand{padding-right:0;padding-left:0;width:100%}button.left-align,.button.left-align{text-align:left;text-indent:0.75rem}button.right-align,.button.right-align{text-align:right;padding-right:0.75rem}button.radius,.button.radius{border-radius:3px}button.round,.button.round{border-radius:1000px}button.disabled,button[disabled],.button.disabled,.button[disabled]{background-color:#008CBA;border-color:#007095;color:#FFFFFF;cursor:default;opacity:0.7;box-shadow:none}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;cursor:default;opacity:0.7;box-shadow:none}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;cursor:default;opacity:0.7;box-shadow:none}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;cursor:default;opacity:0.7;box-shadow:none}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;cursor:default;opacity:0.7;box-shadow:none}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;cursor:default;opacity:0.7;box-shadow:none}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>li{margin:0 -2px;display:inline-block}.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{margin:0 -2px;display:inline-block;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-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-top:0}.button-group.stack-for-small>li{margin:0 -2px;display:inline-block}.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{margin:0 -2px;display:inline-block;display:block;margin:0;}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-top:0}}.button-group.radius>*{margin:0 -2px;display:inline-block}.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>*{margin:0 -2px;display:inline-block;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-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.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>*{margin:0 -2px;display:inline-block;}.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>*{margin:0 -2px;display:inline-block;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-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.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>*{margin:0 -2px;display:inline-block}.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>*{margin:0 -2px;display:inline-block;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-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.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>*{margin:0 -2px;display:inline-block;}.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>*{margin:0 -2px;display:inline-block;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-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.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-group.even-2 li{margin:0 -2px;display:inline-block;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{margin:0 -2px;display:inline-block;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{margin:0 -2px;display:inline-block;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{margin:0 -2px;display:inline-block;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{margin:0 -2px;display:inline-block;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{margin:0 -2px;display:inline-block;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{margin:0 -2px;display:inline-block;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-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]{margin-bottom:0;margin-left:0;list-style:none}.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;position:fixed;width:100%;height:100%;top:0;left:0;z-index:998}.clearing-blackout .clearing-close{display:block}.clearing-container{position:relative;z-index:998;height:100%;overflow:hidden;margin:0}.clearing-touch-label{position:absolute;top:50%;left:50%;color:#AAAAAA;font-size:0.6em}.visible-img{height:95%;position:relative}.visible-img img{position:absolute;left:50%;top:50%;margin-left:-50%;max-height:100%;max-width:100%}.clearing-caption{color:#CCCCCC;font-size:0.875em;line-height:1.3;margin-bottom:0;text-align:center;bottom:0;background:#333333;width:100%;padding:10px 30px 20px;position:absolute;left:0}.clearing-close{z-index:999;padding-left:20px;padding-top:10px;font-size:30px;line-height:1;color:#CCCCCC;display:none}.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{position:absolute;height:100%;width:40px;top:0}.clearing-main-prev>span,.clearing-main-next>span{position:absolute;top:50%;display:block;width:0;height:0;border:solid 12px}.clearing-main-prev>span:hover,.clearing-main-next>span:hover{opacity:0.8}.clearing-main-prev{left:0}.clearing-main-prev>span{left:5px;border-color:transparent;border-right-color:#CCCCCC}.clearing-main-next{right:0}.clearing-main-next>span{border-color:transparent;border-left-color:#CCCCCC}.clearing-main-prev.disabled,.clearing-main-next.disabled{opacity:0.3}.clearing-assembled .clearing-container .carousel{background:rgba(51,51,51,0.8);height:120px;margin-top:10px;text-align:center}.clearing-assembled .clearing-container .carousel>ul{display:inline-block;z-index:999;height:100%;position:relative;float:none}.clearing-assembled .clearing-container .carousel>ul li{display:block;width:120px;min-height:inherit;float:left;overflow:hidden;margin-right:0;padding:0;position:relative;cursor:pointer;opacity:0.4;clear:none}.clearing-assembled .clearing-container .carousel>ul li.fix-height img{height:100%;max-width:none}.clearing-assembled .clearing-container .carousel>ul li a.th{border:none;box-shadow:none;display:block}.clearing-assembled .clearing-container .carousel>ul li img{cursor:pointer !important;width:100% !important}.clearing-assembled .clearing-container .carousel>ul li.visible{opacity:1}.clearing-assembled .clearing-container .carousel>ul li:hover{opacity:0.8}.clearing-assembled .clearing-container .visible-img{background:#333333;overflow:hidden;height:85%}.clearing-close{position:absolute;top:10px;right:20px;padding-left:0;padding-top:0}}.f-dropdown{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;margin-top:2px;max-width:200px}.f-dropdown>*:first-child{margin-top:0}.f-dropdown>*:last-child{margin-bottom:0}.f-dropdown:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:transparent transparent #FFFFFF transparent;border-bottom-style:solid;position:absolute;top:-12px;left:10px;z-index:89}.f-dropdown:after{content:"";display:block;width:0;height:0;border:inset 7px;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{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;margin-top:0;margin-left:2px;max-width:200px}.f-dropdown.drop-right>*:first-child{margin-top:0}.f-dropdown.drop-right>*:last-child{margin-bottom:0}.f-dropdown.drop-right:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:transparent #FFFFFF transparent transparent;border-right-style:solid;position:absolute;top:10px;left:-12px;z-index:89}.f-dropdown.drop-right:after{content:"";display:block;width:0;height:0;border:inset 7px;border-color:transparent #cccccc transparent transparent;border-right-style:solid;position:absolute;top:9px;left:-14px;z-index:88}.f-dropdown.drop-left{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;margin-top:0;margin-left:-2px;max-width:200px}.f-dropdown.drop-left>*:first-child{margin-top:0}.f-dropdown.drop-left>*:last-child{margin-bottom:0}.f-dropdown.drop-left:before{content:"";display:block;width:0;height:0;border:inset 6px;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{content:"";display:block;width:0;height:0;border:inset 7px;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{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;margin-top:-2px;margin-left:0;max-width:200px}.f-dropdown.drop-top>*:first-child{margin-top:0}.f-dropdown.drop-top>*:last-child{margin-bottom:0}.f-dropdown.drop-top:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:#FFFFFF transparent transparent transparent;border-top-style:solid;position:absolute;top:auto;bottom:-12px;left:10px;right:auto;z-index:89}.f-dropdown.drop-top:after{content:"";display:block;width:0;height:0;border:inset 7px;border-color:#cccccc transparent transparent transparent;border-top-style:solid;position:absolute;top:auto;bottom:-14px;left:9px;right:auto;z-index:88}.f-dropdown li{font-size:0.875rem;cursor:pointer;line-height:1.125rem;margin:0}.f-dropdown li:hover,.f-dropdown li:focus{background:#EEEEEE}.f-dropdown li.radius{border-radius:3px}.f-dropdown li a{display:block;padding:0.5rem;color:#555555}.f-dropdown.content{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;padding:1.25rem;width:100%;height:auto;max-height:none;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;max-width:200px}.f-dropdown.content>*:first-child{margin-top:0}.f-dropdown.content>*:last-child{margin-bottom:0}.f-dropdown.tiny{max-width:200px}.f-dropdown.small{max-width:300px}.f-dropdown.medium{max-width:500px}.f-dropdown.large{max-width:800px}.f-dropdown.mega{width:100% !important;max-width:100% !important}.f-dropdown.mega.open{left:0 !important}.dropdown.button,button.dropdown{position:relative;outline:none;padding-right:3.5625rem}.dropdown.button::after,button.dropdown::after{position:absolute;content:"";width:0;height:0;display:block;border-style:solid;border-color:#FFFFFF transparent transparent transparent;top:50%}.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{position:relative;padding-top:1.5625rem;padding-bottom:67.5%;height:0;margin-bottom:1rem;overflow:hidden}.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{position:absolute;top:0;left:0;width:100%;height:100%}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{font-size:0.875rem;color:#4d4d4d;cursor:pointer;display:block;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{display:block;position:relative;z-index:2;text-align:center;width:100%;padding-top:0;padding-bottom:0;border-style:solid;border-width:1px;overflow:hidden;font-size:0.875rem;height:2.3125rem;line-height:2.3125rem}.postfix.button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;text-align:center;border:none}.prefix.button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;text-align:center;border:none}.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[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;border-radius:0;background-color:#FFFFFF;font-family:inherit;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-size:0.875rem;margin:0 0 1rem 0;padding:0.5rem;height:2.3125rem;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:box-shadow 0.45s,border-color 0.45s ease-in-out}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{box-shadow:0 0 5px #999999;border-color:#999999}input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="week"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input[type="color"]:focus,textarea:focus{background:#fafafa;border-color:#999999;outline:none}input[type="text"]:disabled,input[type="password"]:disabled,input[type="date"]:disabled,input[type="datetime"]:disabled,input[type="datetime-local"]:disabled,input[type="month"]:disabled,input[type="week"]:disabled,input[type="email"]:disabled,input[type="number"]:disabled,input[type="search"]:disabled,input[type="tel"]:disabled,input[type="time"]:disabled,input[type="url"]:disabled,input[type="color"]:disabled,textarea:disabled{background-color:#DDDDDD;cursor:default}input[type="text"][disabled],input[type="text"][readonly],fieldset[disabled] input[type="text"],input[type="password"][disabled],input[type="password"][readonly],fieldset[disabled] input[type="password"],input[type="date"][disabled],input[type="date"][readonly],fieldset[disabled] input[type="date"],input[type="datetime"][disabled],input[type="datetime"][readonly],fieldset[disabled] input[type="datetime"],input[type="datetime-local"][disabled],input[type="datetime-local"][readonly],fieldset[disabled] input[type="datetime-local"],input[type="month"][disabled],input[type="month"][readonly],fieldset[disabled] input[type="month"],input[type="week"][disabled],input[type="week"][readonly],fieldset[disabled] input[type="week"],input[type="email"][disabled],input[type="email"][readonly],fieldset[disabled] input[type="email"],input[type="number"][disabled],input[type="number"][readonly],fieldset[disabled] input[type="number"],input[type="search"][disabled],input[type="search"][readonly],fieldset[disabled] input[type="search"],input[type="tel"][disabled],input[type="tel"][readonly],fieldset[disabled] input[type="tel"],input[type="time"][disabled],input[type="time"][readonly],fieldset[disabled] input[type="time"],input[type="url"][disabled],input[type="url"][readonly],fieldset[disabled] input[type="url"],input[type="color"][disabled],input[type="color"][readonly],fieldset[disabled] input[type="color"],textarea[disabled],textarea[readonly],fieldset[disabled] textarea{background-color:#DDDDDD;cursor:default}input[type="text"].radius,input[type="password"].radius,input[type="date"].radius,input[type="datetime"].radius,input[type="datetime-local"].radius,input[type="month"].radius,input[type="week"].radius,input[type="email"].radius,input[type="number"].radius,input[type="search"].radius,input[type="tel"].radius,input[type="time"].radius,input[type="url"].radius,input[type="color"].radius,textarea.radius{border-radius:3px}form .row .prefix-radius.row.collapse input,form .row .prefix-radius.row.collapse textarea,form .row .prefix-radius.row.collapse select{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{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{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{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;border-radius:0}textarea[rows]{height:auto}textarea{max-width:100%}select{-webkit-appearance:none !important;border-radius:0;background-color:#FAFAFA;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;padding:0.5rem;font-size:0.875rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:rgba(0,0,0,0.75);line-height:normal;border-radius:0;height:2.3125rem}select::-ms-expand{display:none}select.radius{border-radius:3px}select:hover{background-color:#f3f3f3;border-color:#999999}select:disabled{background-color:#DDDDDD;cursor:default}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;padding:1.25rem;margin:1.125rem 0}fieldset legend{font-weight:bold;background:#FFFFFF;padding:0 0.1875rem;margin:0;margin-left:-0.1875rem}[data-abide] .error small.error,[data-abide] .error span.error,[data-abide] span.error,[data-abide] small.error{display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#FFFFFF}[data-abide] span.error,[data-abide] small.error{display:none}span.error,small.error{display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;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;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#FFFFFF}.error>label>small{color:#676767;background:transparent;padding:0;text-transform:capitalize;font-style:normal;font-size:60%;margin:0;display:inline}.error span.error-message{display:block}input.error,textarea.error,select.error{margin-bottom:0}label.error{color:#f04124}.icon-bar{width:100%;font-size:0;display:inline-block;background:#333333}.icon-bar>*{text-align:center;font-size:1rem;width:25%;margin:0 auto;display:block;padding:1.25rem;float:left}.icon-bar>* i,.icon-bar>* img{display:block;margin:0 auto}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:0.0625rem}.icon-bar>* i{font-size:1.875rem;vertical-align:middle}.icon-bar>* img{width:1.875rem;height:1.875rem}.icon-bar.label-right>* i,.icon-bar.label-right>* img{margin:0 0.0625rem 0 0;display:inline-block}.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{width:auto;margin:auto;float:none}@media only screen and (min-width:40.063em){.icon-bar.medium-vertical{height:100%;width:auto;}.icon-bar.medium-vertical .item{width:auto;margin:auto;float:none}}@media only screen and (min-width:64.063em){.icon-bar.large-vertical{height:100%;width:auto;}.icon-bar.large-vertical .item{width:auto;margin:auto;float:none}}.icon-bar>*{font-size:1rem;padding:1.25rem}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:0.0625rem}.icon-bar>* i{font-size:1.875rem}.icon-bar>* img{width:1.875rem;height: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.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;}}.inline-list{margin:0 auto 1.0625rem auto;margin-left:-1.375rem;margin-right:0;padding:0;list-style:none;overflow:hidden}.inline-list>li{list-style:none;float:left;margin-left:1.375rem;display:block}.inline-list>li>*{display:block}.joyride-list{display:none}.joyride-tip-guide{display:none;position:absolute;background:#333333;color:#FFFFFF;z-index:101;top:0;left:2.5%;font-family:inherit;font-weight:normal;width:95%}.lt-ie9 .joyride-tip-guide{max-width:800px;left:50%;margin-left:-400px}.joyride-content-wrapper{width:100%;padding:1.125rem 1.25rem 1.5rem}.joyride-content-wrapper .button{margin-bottom:0 !important}.joyride-content-wrapper .joyride-prev-tip{margin-right:10px}.joyride-tip-guide .joyride-nub{display:block;position:absolute;left:22px;width:0;height:0;border:10px solid #333333}.joyride-tip-guide .joyride-nub.top{border-top-style:solid;border-color:#333333;border-top-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;top:-20px}.joyride-tip-guide .joyride-nub.bottom{border-bottom-style:solid;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{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{line-height:1.25;margin:0;font-weight:bold;color:#FFFFFF}.joyride-tip-guide p{margin:0 0 1.125rem 0;font-size:0.875rem;line-height:1.3}.joyride-timer-indicator-wrap{width:50px;height:3px;border:solid 1px #555555;position:absolute;right:1.0625rem;bottom:1rem}.joyride-timer-indicator{display:block;width:0;height:inherit;background:#666666}.joyride-close-tip{position:absolute;right:12px;top:10px;color:#777777 !important;text-decoration:none;font-size:24px;font-weight:normal;line-height:0.5 !important}.joyride-close-tip:hover,.joyride-close-tip:focus{color:#EEEEEE !important}.joyride-modal-bg{position:fixed;height:100%;width:100%;background:transparent;background:rgba(0,0,0,0.5);z-index:100;display:none;top:0;left:0;cursor:pointer}.joyride-expose-wrapper{background-color:#FFFFFF;position:absolute;border-radius:3px;z-index:102;box-shadow:0 0 15px #FFFFFF}.joyride-expose-cover{background:transparent;border-radius:3px;position:absolute;z-index:9999;top:0;left:0}@media only screen and (min-width:40.063em){.joyride-tip-guide{width:300px;left:inherit}.joyride-tip-guide .joyride-nub.bottom{border-color:#333333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{border-color:#333333 !important;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important;top:22px;left:auto;right:-20px}.joyride-tip-guide .joyride-nub.left{border-color:#333333 !important;border-top-color:transparent !important;border-left-color:transparent !important;border-bottom-color:transparent !important;top:22px;left:-20px;right:auto}}.keystroke,kbd{background-color:#ededed;border-color:#dddddd;color:#222222;border-style:solid;border-width:1px;margin:0;font-family:"Consolas","Menlo","Courier",monospace;font-size:inherit;padding:0.125rem 0.25rem 0;border-radius:3px}.label{font-weight:normal;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-align:center;text-decoration:none;line-height:1;white-space:nowrap;display:inline-block;position:relative;margin-bottom:auto;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;z-index:50;min-width:100%;padding:10px}[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)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes rotate{from{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}@-o-keyframes rotate{from{-o-transform:rotate(0deg)}to{-o-transform:rotate(360deg)}}@keyframes rotate{from{transform:rotate(0deg)}to{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{display:block;width:40px;height:40px;position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-20px;border:solid 3px;border-color:#555555 #FFFFFF;border-radius:1000px;animation-name:rotate;animation-duration:1.5s;animation-iteration-count:infinite;animation-timing-function:linear}.orbit-container{overflow:hidden;width:100%;position:relative;background:none}.orbit-container .orbit-slides-container{list-style:none;margin:0;padding:0;position:relative;-webkit-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{position:absolute;bottom:0;background-color:rgba(51,51,51,0.8);color:#FFFFFF;width:100%;padding:0.625rem 0.875rem;font-size:0.875rem}.orbit-container .orbit-slide-number{position:absolute;top:10px;left:10px;font-size:12px;color:#FFFFFF;background:rgba(0,0,0,0);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{display:none;position:absolute;top:0;right:0;width:11px;height:14px;border:solid 4px #FFFFFF;border-top:none;border-bottom:none}.orbit-container .orbit-timer.paused>span{right:-4px;top:0;width:11px;height:14px;border:inset 8px;border-left-style:solid;border-color:transparent;border-left-color:#FFFFFF}.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{position:absolute;top:45%;margin-top:-25px;width:36px;height:60px;line-height:50px;color:white;background-color:transparent;text-indent:-9999px !important;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{position:absolute;top:50%;margin-top:-10px;display:block;width:0;height:0;border:inset 10px}.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{margin:0 auto 30px auto;overflow:hidden;position:relative;top:10px;float:none;text-align:center;display:block}.orbit-bullets li{cursor:pointer;display:inline-block;width:0.5625rem;height:0.5625rem;background:#CCCCCC;float:none;margin-right:6px;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>*{position:relative;margin:0 !important;opacity:1 !important}.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;min-height:1.5rem;margin-left:-0.3125rem}ul.pagination li{height:1.5rem;color:#222222;font-size:0.875rem;margin-left:0.3125rem}ul.pagination li a,ul.pagination li button{display:block;padding:0.0625rem 0.625rem 0.0625rem;color:#999999;background:none;border-radius:3px;font-weight:normal;font-size:1em;line-height:inherit;transition:background-color 300ms ease-out}ul.pagination li:hover a,ul.pagination li a:focus,ul.pagination li:hover button,ul.pagination li button:focus{background:#e6e6e6}ul.pagination li.unavailable a,ul.pagination li.unavailable button{cursor:default;color:#999999}ul.pagination li.unavailable:hover a,ul.pagination li.unavailable a:focus,ul.pagination li.unavailable:hover button,ul.pagination li.unavailable button:focus{background:transparent}ul.pagination li.current a,ul.pagination li.current button{background:#008CBA;color:#FFFFFF;font-weight:bold;cursor:default}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{float:left;display:block}.pagination-centered{text-align:center}.pagination-centered ul.pagination li{float:none;display:inline-block}.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:#b6edff;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;padding:0.9375rem 1.25rem;text-align:center;color:#EEEEEE;font-weight:normal;font-size:1rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.pricing-table .price{background-color:#F6F6F6;padding:0.9375rem 1.25rem;text-align:center;color:#333333;font-weight:normal;font-size:2rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.pricing-table .description{background-color:#FFFFFF;padding:0.9375rem;text-align:center;color:#777777;font-size:0.75rem;font-weight:normal;line-height:1.4;border-bottom:dotted 1px #DDDDDD}.pricing-table .bullet-item{background-color:#FFFFFF;padding:0.9375rem;text-align:center;color:#333333;font-size:0.875rem;font-weight:normal;border-bottom:dotted 1px #DDDDDD}.pricing-table .cta-button{background-color:#FFFFFF;text-align:center;padding:1.25rem 1.25rem 0}.progress{background-color:#F6F6F6;height:1.5625rem;border:1px solid white;padding:0.125rem;margin-bottom:0.625rem}.progress .meter{background:#008CBA;height:100%;display:block}.progress.secondary .meter{background:#e7e7e7;height:100%;display:block}.progress.success .meter{background:#43AC6A;height:100%;display:block}.progress.alert .meter{background:#f04124;height:100%;display:block}.progress.radius{border-radius:3px}.progress.radius .meter{border-radius:2px}.progress.round{border-radius:1000px}.progress.round .meter{border-radius:999px}.range-slider{display:block;position:relative;width:100%;height:1rem;border:1px solid #DDDDDD;margin:1.25rem 0;-ms-touch-action:none;touch-action:none;background:#FAFAFA}.range-slider.vertical-range{display:block;position:relative;width:100%;height:1rem;border:1px solid #DDDDDD;margin:1.25rem 0;-ms-touch-action:none;touch-action:none;display:inline-block;width:1rem;height:12.5rem}.range-slider.vertical-range .range-slider-handle{margin-top:0;margin-left:-0.5rem;position:absolute;bottom:-10.5rem}.range-slider.vertical-range .range-slider-active-segment{width:0.875rem;height:auto;bottom:0}.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:default;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{display:inline-block;position:absolute;height:0.875rem;background:#e5e5e5}.range-slider-handle{display:inline-block;position:absolute;z-index:1;top:-0.3125rem;width:2rem;height:1.375rem;border:1px solid none;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background:#008CBA}.range-slider-handle:hover{background:#007ba4}.reveal-modal-bg{position:absolute;top:0;bottom:0;left:0;right:0;background:#000000;background:rgba(0,0,0,0.45);z-index:1004;display:none;left:0}.reveal-modal,dialog{visibility:hidden;display:none;position:absolute;z-index:1005;width:100vw;top:0;border-radius:3px;left:0;background-color:#FFFFFF;padding:1.25rem;border:solid 1px #666666;box-shadow:0 0 10px rgba(0,0,0,0.4);padding:1.875rem}@media only screen and (max-width: 40em){.reveal-modal,dialog{min-height:100vh;}}.reveal-modal .column,dialog .column,.reveal-modal .columns,dialog .columns{min-width:0}.reveal-modal>:first-child,dialog>:first-child{margin-top:0}.reveal-modal>:last-child,dialog>:last-child{margin-bottom:0}@media only screen and (min-width:40.063em){.reveal-modal,dialog{width:80%;max-width:62.5rem;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal,dialog{top:6.25rem;}}.reveal-modal.radius,dialog.radius{border-radius:3px}.reveal-modal.round,dialog.round{border-radius:1000px}.reveal-modal.collapse,dialog.collapse{padding:0}@media only screen and (min-width:40.063em){.reveal-modal.tiny,dialog.tiny{width:30%;max-width:62.5rem;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal.small,dialog.small{width:40%;max-width:62.5rem;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal.medium,dialog.medium{width:60%;max-width:62.5rem;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal.large,dialog.large{width:70%;max-width:62.5rem;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal.xlarge,dialog.xlarge{width:95%;max-width:62.5rem;left:0;right:0;margin:0 auto;}}.reveal-modal.full,dialog.full{top:0;left:0;height:100%;height:100vh;min-height:100vh;max-width:none !important;margin-left:0 !important}@media only screen and (min-width:40.063em){.reveal-modal.full,dialog.full{width:100vw;max-width:62.5rem;left:0;right:0;margin:0 auto;}}.reveal-modal .close-reveal-modal,dialog .close-reveal-modal{font-size:2.5rem;line-height:1;position:absolute;top:0.625rem;right:1.375rem;color:#AAAAAA;font-weight:bold;cursor:pointer}dialog{display:none}dialog::backdrop,dialog+.backdrop{position:absolute;top:0;bottom:0;left:0;right:0;background:#000000;background:rgba(0,0,0,0.45);z-index:auto;display:none;left:0}dialog[open]{display:block}@media print{dialog,.reveal-modal,dialog{display:none;background:#FFFFFF !important}}.side-nav{display:block;margin:0;padding:0.875rem 0;list-style-type:none;list-style-position:outside;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.side-nav li{margin:0 0 0.4375rem 0;font-size:0.875rem;font-weight:normal}.side-nav li a:not(.button){display:block;color:#008CBA;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.active>a:first-child:not(.button){color:#1cc7ff;font-weight:normal;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.side-nav li.divider{border-top:1px solid;height:0;padding:0;list-style:none;border-top-color:white}.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;top:48%;margin-left:-0.375rem}.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;top:48%;margin-left:-0.375rem}.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;top:48%;margin-left:-0.375rem}.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;top:48%;margin-left:-0.375rem}.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}.sub-nav{display:block;width:auto;overflow:hidden;margin:-0.25rem 0 1.125rem;padding-top:0.25rem}.sub-nav dt{text-transform:uppercase}.sub-nav dt,.sub-nav dd,.sub-nav li{float:left;display:inline;margin-left:1rem;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-size:0.875rem;color:#999999}.sub-nav dt a,.sub-nav dd a,.sub-nav li a{text-decoration:none;color:#999999;padding:0.1875rem 1rem}.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;font-weight:normal;background:#008CBA;padding:0.1875rem 1rem;cursor:default;color:#FFFFFF}.sub-nav dt.active a:hover,.sub-nav dd.active a:hover,.sub-nav li.active a:hover{background:#0078a0}.switch{padding:0;border:none;position:relative;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch label{display:block;margin-bottom:1rem;position:relative;color:transparent;background:#DDDDDD;text-indent:100%;width:4rem;height:2rem;cursor:pointer;transition:left 0.15s ease-out}.switch input{opacity:0;position:absolute;top:9px;left:10px;padding:0}.switch input+label{margin-left:0;margin-right:0}.switch label:after{content:"";display:block;background:#FFFFFF;position:absolute;top:0.25rem;left:0.25rem;width:1.5rem;height: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);-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{width:4rem;height:2rem}.switch label:after{width:1.5rem;height: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{width:5rem;height:2.5rem}.switch.large label:after{width:2rem;height:2rem}.switch.large input:checked+label:after{left:2.75rem}.switch.small label{width:3.5rem;height:1.75rem}.switch.small label:after{width:1.25rem;height:1.25rem}.switch.small input:checked+label:after{left:2rem}.switch.tiny label{width:3rem;height:1.5rem}.switch.tiny label:after{width:1rem;height: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;margin-bottom:1.25rem;border:solid 1px #DDDDDD;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{padding:0.5rem 0.625rem 0.625rem;font-size:0.875rem;font-weight:bold;color:#222222}table tfoot{background:#F5F5F5}table tfoot tr th,table tfoot tr td{padding:0.5rem 0.625rem 0.625rem;font-size:0.875rem;font-weight:bold;color:#222222}table tr th,table tr td{padding:0.5625rem 0.625rem;font-size:0.875rem;color:#222222;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{position:relative;margin-bottom:0 !important;list-style:none;float:left}.tabs dd>a,.tabs .tab-title>a{outline:none;display:block;background-color:#EFEFEF;color:#222222;padding:1rem 2rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem}.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{width:20%;max-width:20%;float:left;margin:0 0 1.25rem}.tabs-content.vertical{width:80%;max-width:80%;float:left;margin-left:-1px;padding-left:1rem}}.no-js .tabs-content>.content{display:block;float:none}.th{line-height:0;display:inline-block;border:solid 4px #FFFFFF;max-width:100%;box-shadow:0 0 0 1px rgba(0,0,0,0.2);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;cursor:help;font-weight:bold;color:#333333}.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{display:none;position:absolute;z-index:1006;font-weight:normal;font-size:0.875rem;line-height:1.3;padding:0.75rem;max-width:300px;left:50%;width:100%;color:#FFFFFF;background:#333333}.tooltip>.nub{display:block;left:5px;position:absolute;width:0;height:0;border:solid 5px;border-color:transparent transparent #333333 transparent;top:-10px;pointer-events:none}.tooltip>.nub.rtl{left:auto;right:5px}.tooltip.radius{border-radius:3px}.tooltip.round{border-radius:1000px}.tooltip.round>.nub{left:2rem}.tooltip.opened{color:#008CBA !important;border-bottom:dotted 1px #003f54 !important}.tap-to-close{display:block;font-size:0.625rem;color:#777777;font-weight:normal}@media only screen and (min-width:40.063em){.tooltip>.nub{border-color:transparent transparent #333333 transparent;top:-10px}.tooltip.tip-top>.nub{border-color:#333333 transparent transparent transparent;top:auto;bottom:-10px}.tooltip.tip-left,.tooltip.tip-right{float:none !important}.tooltip.tip-left>.nub{border-color:transparent transparent transparent #333333;right:-10px;left:auto;top:50%;margin-top:-5px}.tooltip.tip-right>.nub{border-color:transparent #333333 transparent transparent;right:auto;left:-10px;top:50%;margin-top:-5px}}meta.foundation-mq-topbar{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}.contain-to-grid{width:100%;background:#333333}.contain-to-grid .top-bar{margin-bottom:0}.fixed{width:100%;left:0;position:fixed;top:0;z-index:99}.fixed.expanded:not(.top-bar){overflow-y:auto;height:auto;width:100%;max-height:100%}.fixed.expanded:not(.top-bar) .title-area{position:fixed;width:100%;z-index:99}.fixed.expanded:not(.top-bar) .top-bar-section{z-index:98;margin-top:2.8125rem}.top-bar{overflow:hidden;height:2.8125rem;line-height:2.8125rem;position:relative;background:#333333;margin-bottom:0}.top-bar ul{margin-bottom:0;list-style:none}.top-bar .row{max-width:none}.top-bar form,.top-bar input{margin-bottom:0}.top-bar input{height:1.75rem;padding-top:0.35rem;padding-bottom:0.35rem;font-size:0.75rem}.top-bar .button,.top-bar button{padding-top:0.4125rem;padding-bottom:0.4125rem;margin-bottom:0;font-size:0.75rem}@media only screen and (max-width: 40em){.top-bar .button,.top-bar button{position:relative;top:-1px;}}.top-bar .title-area{position:relative;margin:0}.top-bar .name{height:2.8125rem;margin:0;font-size:16px}.top-bar .name h1,.top-bar .name h2,.top-bar .name h3,.top-bar .name h4,.top-bar .name p,.top-bar .name span{line-height:2.8125rem;font-size:1.0625rem;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{font-weight:normal;color:#FFFFFF;width:75%;display:block;padding:0 0.9375rem}.top-bar .toggle-topbar{position:absolute;right:0;top:0}.top-bar .toggle-topbar a{color:#FFFFFF;text-transform:uppercase;font-size:0.8125rem;font-weight:bold;position:relative;display:block;padding:0 0.9375rem;height:2.8125rem;line-height:2.8125rem}.top-bar .toggle-topbar.menu-icon{top:50%;margin-top:-16px}.top-bar .toggle-topbar.menu-icon a{height:34px;line-height:33px;padding:0 2.5rem 0 0.9375rem;color:#FFFFFF;position:relative}.top-bar .toggle-topbar.menu-icon a span::after{content:"";position:absolute;display:block;height:0;top:50%;margin-top:-8px;right:0.9375rem;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{height:auto;background:transparent}.top-bar.expanded .title-area{background:#333333}.top-bar.expanded .toggle-topbar a{color:#888888}.top-bar.expanded .toggle-topbar a span::after{box-shadow:0 0 0 1px #888888,0 7px 0 1px #888888,0 14px 0 1px #888888}.top-bar-section{left:0;position:relative;width:auto;transition:left 300ms ease-out}.top-bar-section ul{padding:0;width:100%;height:auto;display:block;font-size:16px;margin:0}.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:#333333}.top-bar-section ul li>a{display:block;width:100%;color:#FFFFFF;padding:12px 0 12px 0;padding-left:0.9375rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:0.8125rem;font-weight:normal;text-transform:none}.top-bar-section ul li>a.button{font-size:0.8125rem;padding-right:0.9375rem;padding-left:0.9375rem;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>button{font-size:0.8125rem;padding-right:0.9375rem;padding-left:0.9375rem;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:hover:not(.has-form)>a{background-color:#555555;background:#333333;color:#FFFFFF}.top-bar-section ul li.active>a{background:#008CBA;color:#FFFFFF}.top-bar-section ul li.active>a:hover{background:#0078a0;color:#FFFFFF}.top-bar-section .has-form{padding:0.9375rem}.top-bar-section .has-dropdown{position:relative}.top-bar-section .has-dropdown>a:after{content:"";display:block;width:0;height:0;border:inset 5px;border-color:transparent transparent transparent rgba(255,255,255,0.4);border-left-style:solid;margin-right:0.9375rem;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{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important;width:100%}.top-bar-section .has-dropdown.moved>a:after{display:none}.top-bar-section .dropdown{padding:0;position:absolute;left:100%;top:0;z-index:99;display:block;position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}.top-bar-section .dropdown li{width:100%;height:auto}.top-bar-section .dropdown li a{font-weight:normal;padding:8px 0.9375rem}.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 0.9375rem}.top-bar-section .dropdown li .button,.top-bar-section .dropdown li button{top:auto}.top-bar-section .dropdown label{padding:8px 0.9375rem 2px;margin-bottom:0;text-transform:uppercase;color:#777777;font-weight:bold;font-size:0.625rem}.js-generated{display:block}@media only screen and (min-width:40.063em){.top-bar{background:#333333;overflow:visible}.top-bar:before,.top-bar:after{content:" ";display:table}.top-bar:after{clear:both}.top-bar .toggle-topbar{display:none}.top-bar .title-area{float:left}.top-bar .name h1 a{width:auto}.top-bar input,.top-bar .button,.top-bar button{font-size:0.875rem;position:relative;height:1.75rem;top:0.53125rem}.top-bar.expanded{background:#333333}.contain-to-grid .top-bar{max-width:62.5rem;margin:0 auto;margin-bottom:0}.top-bar-section{transition:none 0 0;left:0 !important}.top-bar-section ul{width:auto;height:auto !important;display:inline}.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:#555555;background:#333333;color:#FFFFFF}.top-bar-section li:not(.has-form) a:not(.button){padding:0 0.9375rem;line-height:2.8125rem;background:#333333}.top-bar-section li:not(.has-form) a:not(.button):hover{background-color:#555555;background:#333333}.top-bar-section li.active:not(.has-form) a:not(.button){padding:0 0.9375rem;line-height:2.8125rem;color:#FFFFFF;background:#008CBA}.top-bar-section li.active:not(.has-form) a:not(.button):hover{background:#0078a0;color:#FFFFFF}.top-bar-section .has-dropdown>a{padding-right:2.1875rem !important}.top-bar-section .has-dropdown>a:after{content:"";display:block;width:0;height:0;border:inset 5px;border-color:rgba(255,255,255,0.4) transparent transparent transparent;border-top-style:solid;margin-top:-2.5px;top:1.40625rem}.top-bar-section .has-dropdown.moved{position:relative}.top-bar-section .has-dropdown.moved>.dropdown{display:block;position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}.top-bar-section .has-dropdown.hover>.dropdown,.top-bar-section .has-dropdown.not-click:hover>.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}.top-bar-section .has-dropdown>a:focus+.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}.top-bar-section .has-dropdown .dropdown li.has-dropdown>a:after{border:none;content:"\00bb";top:1rem;margin-top:-1px;right:5px;line-height:1.2}.top-bar-section .dropdown{left:0;top:auto;background:transparent;min-width:100%}.top-bar-section .dropdown li a{color:#FFFFFF;line-height:2.8125rem;white-space:nowrap;padding:12px 0.9375rem;background:#333333}.top-bar-section .dropdown li:not(.has-form):not(.active)>a:not(.button){color:#FFFFFF;background:#333333}.top-bar-section .dropdown li:not(.has-form):not(.active):hover>a:not(.button){color:#FFFFFF;background-color:#555555;background:#333333}.top-bar-section .dropdown li label{white-space:nowrap;background:#333333}.top-bar-section .dropdown li .dropdown{left:100%;top:0}.top-bar-section>ul>.divider,.top-bar-section>ul>[role="separator"]{border-bottom:none;border-top:none;border-right:solid 1px #4e4e4e;clear:none;height:2.8125rem;width:0}.top-bar-section .has-form{background:#333333;padding:0 0.9375rem;height:2.8125rem}.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:#555555;background:#333333;color:#FFFFFF}.no-js .top-bar-section ul li:active>a{background:#008CBA;color:#FFFFFF}.no-js .top-bar-section .has-dropdown:hover>.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}.no-js .top-bar-section .has-dropdown>a:focus+.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify !important}@media only screen and (max-width: 40em){.small-only-text-left{text-align:left !important}.small-only-text-right{text-align:right !important}.small-only-text-center{text-align:center !important}.small-only-text-justify{text-align:justify !important}}@media only screen{.small-text-left{text-align:left !important}.small-text-right{text-align:right !important}.small-text-center{text-align:center !important}.small-text-justify{text-align:justify !important}}@media only screen and (min-width:40.063em) and (max-width:64em){.medium-only-text-left{text-align:left !important}.medium-only-text-right{text-align:right !important}.medium-only-text-center{text-align:center !important}.medium-only-text-justify{text-align:justify !important}}@media only screen and (min-width:40.063em){.medium-text-left{text-align:left !important}.medium-text-right{text-align:right !important}.medium-text-center{text-align:center !important}.medium-text-justify{text-align:justify !important}}@media only screen and (min-width:64.063em) and (max-width:90em){.large-only-text-left{text-align:left !important}.large-only-text-right{text-align:right !important}.large-only-text-center{text-align:center !important}.large-only-text-justify{text-align:justify !important}}@media only screen and (min-width:64.063em){.large-text-left{text-align:left !important}.large-text-right{text-align:right !important}.large-text-center{text-align:center !important}.large-text-justify{text-align:justify !important}}@media only screen and (min-width:90.063em) and (max-width:120em){.xlarge-only-text-left{text-align:left !important}.xlarge-only-text-right{text-align:right !important}.xlarge-only-text-center{text-align:center !important}.xlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width:90.063em){.xlarge-text-left{text-align:left !important}.xlarge-text-right{text-align:right !important}.xlarge-text-center{text-align:center !important}.xlarge-text-justify{text-align:justify !important}}@media only screen and (min-width:120.063em) and (max-width:99999999em){.xxlarge-only-text-left{text-align:left !important}.xxlarge-only-text-right{text-align:right !important}.xxlarge-only-text-center{text-align:center !important}.xxlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width:120.063em){.xxlarge-text-left{text-align:left !important}.xxlarge-text-right{text-align:right !important}.xxlarge-text-center{text-align:center !important}.xxlarge-text-justify{text-align:justify !important}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}a{color:#008CBA;text-decoration:none;line-height:inherit}a:hover,a:focus{color:#0078a0}a img{border:none}p{font-family:inherit;font-weight:normal;font-size:1rem;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;line-height:1.35;font-style:italic}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-style:normal;color:#222222;text-rendering:optimizeLegibility;margin-top:0.2rem;margin-bottom:0.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-size:60%;color:#6f6f6f;line-height:0}h1{font-size:2.125rem}h2{font-size:1.6875rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1.125rem}h6{font-size:1rem}.subheader{line-height:1.4;color:#6f6f6f;font-weight:normal;margin-top:0.2rem;margin-bottom:0.5rem}hr{border:solid #DDDDDD;border-width:1px 0 0;clear:both;margin:1.25rem 0 1.1875rem;height:0}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:60%;line-height:inherit}code{font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#333333;background-color:#f8f8f8;border-width:1px;border-style:solid;border-color:#dfdfdf;padding:0.125rem 0.3125rem 0.0625rem}ul,ol,dl{font-size:1rem;line-height:1.6;margin-bottom:1.25rem;list-style-position:outside;font-family:inherit}ul{margin-left:1.1rem}ul.no-bullet{margin-left:0}ul.no-bullet li ul,ul.no-bullet li ol{margin-left:1.25rem;margin-bottom:0;list-style:none}ul li ul,ul li ol{margin-left:1.25rem;margin-bottom:0}ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}ul.square{list-style-type:square;margin-left:1.1rem}ul.circle{list-style-type:circle;margin-left:1.1rem}ul.disc{list-style-type:disc;margin-left:1.1rem}ul.no-bullet{list-style:none}ol{margin-left:1.4rem}ol li ul,ol li ol{margin-left:1.25rem;margin-bottom:0}dl dt{margin-bottom:0.3rem;font-weight:bold}dl dd{margin-bottom:0.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#222;cursor:help}abbr{text-transform:none}abbr[title]{border-bottom:1px dotted #DDDDDD}blockquote{margin:0 0 1.25rem;padding:0.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #DDDDDD}blockquote cite{display:block;font-size:0.8125rem;color:#555555}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#555555}blockquote,blockquote p{line-height:1.6;color:#6f6f6f}.vcard{display:inline-block;margin:0 0 1.25rem 0;border:1px solid #DDDDDD;padding:0.625rem 0.75rem}.vcard li{margin:0;display:block}.vcard .fn{font-weight:bold;font-size:0.9375rem}.vevent .summary{font-weight:bold}.vevent abbr{cursor:default;text-decoration:none;font-weight:bold;border:none;padding:0 0.0625rem}@media only screen and (min-width:40.063em){h1,h2,h3,h4,h5,h6{line-height:1.4}h1{font-size:2.75rem}h2{font-size:2.3125rem}h3{font-size:1.6875rem}h4{font-size:1.4375rem}h5{font-size:1.125rem}h6{font-size:1rem}}.print-only{display:none !important}@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.5cm;}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.hide-on-print{display:none !important}.print-only{display:block !important}.hide-for-print{display:none !important}.show-for-print{display:inherit !important}}.off-canvas-wrap{-webkit-backface-visibility:hidden;position:relative;width:100%;overflow:hidden}.off-canvas-wrap.move-right,.off-canvas-wrap.move-left{min-height:100%;-webkit-overflow-scrolling:touch}.inner-wrap{position:relative;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.inner-wrap:before,.inner-wrap:after{content:" ";display:table}.inner-wrap:after{clear:both}.tab-bar{-webkit-backface-visibility:hidden;background:#333333;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:1.125rem}.left-small{width:2.8125rem;height:2.8125rem;position:absolute;top:0;border-right:solid 1px #1a1a1a;left:0}.right-small{width:2.8125rem;height:2.8125rem;position:absolute;top:0;border-left:solid 1px #1a1a1a;right:0}.tab-bar-section{padding:0 0.625rem;position:absolute;text-align:center;height:2.8125rem;top:0}@media only screen and (min-width:40.063em){.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{text-indent:2.1875rem;width:2.8125rem;height:2.8125rem;display:block;padding:0;color:#FFFFFF;position:relative;transform:translate3d(0, 0, 0)}.tab-bar .menu-icon span::after{content:"";position:absolute;display:block;height:0;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;width:15.625rem;top:0;bottom:0;position:absolute;overflow-x:hidden;overflow-y:auto;background:#333333;z-index:1001;box-sizing:content-box;transition:transform 500ms ease 0s;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;-ms-transform:translate(-100%, 0);-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.left-off-canvas-menu *{-webkit-backface-visibility:hidden}.right-off-canvas-menu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;overflow-x:hidden;overflow-y:auto;background:#333333;z-index:1001;box-sizing:content-box;transition:transform 500ms ease 0s;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;-ms-transform:translate(100%, 0);-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0}.right-off-canvas-menu *{-webkit-backface-visibility:hidden}ul.off-canvas-list{list-style-type:none;padding:0;margin:0}ul.off-canvas-list li label{display:block;padding:0.3rem 0.9375rem;color:#999999;text-transform:uppercase;font-size:0.75rem;font-weight:bold;background:#444444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0}ul.off-canvas-list li a{display:block;padding:0.6666666667rem;color:rgba(255,255,255,0.7);border-bottom:1px solid #262626;transition:background 300ms ease}ul.off-canvas-list li a:hover{background:#242424}.move-right>.inner-wrap{-ms-transform:translate(15.625rem, 0);-webkit-transform:translate3d(15.625rem, 0, 0);-moz-transform:translate3d(15.625rem, 0, 0);-ms-transform:translate3d(15.625rem, 0, 0);-o-transform:translate3d(15.625rem, 0, 0);transform:translate3d(15.625rem, 0, 0)}.move-right .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@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{-ms-transform:translate(-15.625rem, 0);-webkit-transform:translate3d(-15.625rem, 0, 0);-moz-transform:translate3d(-15.625rem, 0, 0);-ms-transform:translate3d(-15.625rem, 0, 0);-o-transform:translate3d(-15.625rem, 0, 0);transform:translate3d(-15.625rem, 0, 0)}.move-left .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width:40.063em){.move-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap .left-off-canvas-menu,.offcanvas-overlap .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@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;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@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;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width:40.063em){.offcanvas-overlap-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.no-csstransforms .left-off-canvas-menu{left:-15.625rem}.no-csstransforms .right-off-canvas-menu{right:-15.625rem}.no-csstransforms .move-left>.inner-wrap{right:15.625rem}.no-csstransforms .move-right>.inner-wrap{left:15.625rem}.left-submenu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;margin:0;overflow-x:hidden;overflow-y:auto;background:#333333;z-index:1002;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-transform:translate(-100%, 0);-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.left-submenu *{-webkit-backface-visibility:hidden}.left-submenu .back>a{padding:0.3rem 0.9375rem;color:#999999;text-transform:uppercase;font-weight:bold;background:#444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0}.left-submenu .back>a:hover{background:#303030;border-top:1px solid #5e5e5e;border-bottom:none}.left-submenu .back>a:before{content:"\AB";margin-right:0.5rem;display:inline}.left-submenu.move-right,.left-submenu.offcanvas-overlap-right,.left-submenu.offcanvas-overlap{-ms-transform:translate(0%, 0);-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)}.right-submenu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;margin:0;overflow-x:hidden;overflow-y:auto;background:#333333;z-index:1002;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-transform:translate(100%, 0);-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.right-submenu *{-webkit-backface-visibility:hidden}.right-submenu .back>a{padding:0.3rem 0.9375rem;color:#999999;text-transform:uppercase;font-weight:bold;background:#444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0}.right-submenu .back>a:hover{background:#303030;border-top:1px solid #5e5e5e;border-bottom:none}.right-submenu .back>a:after{content:"\BB";margin-left:0.5rem;display:inline}.right-submenu.move-left,.right-submenu.offcanvas-overlap-left,.right-submenu.offcanvas-overlap{-ms-transform:translate(0%, 0);-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)}.left-off-canvas-menu ul.off-canvas-list li.has-submenu>a:after{content:"\BB";margin-left:0.5rem;display:inline}.right-off-canvas-menu ul.off-canvas-list li.has-submenu>a:before{content:"\AB";margin-right:0.5rem;display:inline}@media only screen{.show-for-small-only,.show-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.hide-for-small-only,.hide-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.visible-for-small-only,.visible-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.hidden-for-small-only,.hidden-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 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 !important}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{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 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 !important}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{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 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 !important}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{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 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 !important}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{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 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 !important}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}@media print{.show-for-print{display:block}.hide-for-print{display:none}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}}body{background:url(../assets/back.jpg);background-repeat:repeat}body p{font-family:Arial,sans-serif;font-size:14px;color:#000}h1,h2{font-family:Times New Roman,sans-serif;color:#509d0f}h1{font-size:36px}h2{font-size:24px}.content{background:#fff;-webkit-box-shadow:5px 5px 10px 0px rgba(0,0,0,0.75);-moz-box-shadow:5px 5px 10px 0px rgba(0,0,0,0.75);box-shadow:5px 5px 10px 0px rgba(0,0,0,0.75)}header{background:url(../assets/header-swoosh.png);background-size:contain;background-repeat:no-repeat}header a{font-family:Arial,sans-serif;color:#fff}header .row{margin:0 -0.9375rem}.top-bar{background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #509d0f), color-stop(1, #2d6a29));background:-moz-linear-gradient(top, #509d0f 5%, #2d6a29 100%);background:-o-linear-gradient(top, bottom, #509d0f 5%, #2d6a29 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#509d0f', endColorstr='#2d6a29');float:none;text-align:center;height:auto;line-height:normal}.top-bar-section{background:none;float:none;margin-left:auto;margin-right:auto;display:inline-block}.top-bar-section ul li{background:none;padding:0 5px}.top-bar-section ul li>a{display:block;font-family:Arial,sans-serif;font-size:16px;color:#fff}.top-bar-section li:not(.has-form) a:not(.button):hover{color:#fff;font-weight:bold;background:none}.top-bar-section li:not(.has-form) a:not(.button):focus{color:#fff;font-weight:bold;background:none}.top-bar-section li:not(.has-form) a:not(.button){background:none;padding:10px 0.4em;line-height:inherit}.top-bar-section .dropdown li a{color:#fff;text-decoration:none;background:rgba(0,56,91,0.7)}.top-bar-section .dropdown li:not(.has-form):not(.active)>a:not(.button){color:#fff;text-decoration:none;background:rgba(0,56,91,0.7)}.top-bar-section .dropdown li:not(.has-form):not(.active):hover>a:not(.button){color:#509d0f;text-decoration:none;background:rgba(0,56,91,0.7);font-weight:bold}.top-bar-section .dropdown li:not(.has-form):not(.active):focus>a:not(.button){color:#509d0f;text-decoration:none;background:rgba(0,56,91,0.7);font-weight:bold}.top-bar-section ul li:hover:not(.has-form)>a{color:#fff;background:none;font-weight:bold}.top-bar-section>ul>li{position:relative}.top-bar-section>ul>li:before{color:#fff;content:"|";position:absolute;top:5px;left:-13px;font-size:20px;font-weight:bold;display:block;padding:0 10px}.top-bar-section>ul>li:first-child:before{content:none}.top-bar-section .has-dropdown>a{padding-right:0.4em !important}.top-bar-section .has-dropdown>a:after{display:none}.top-bar-section>ul>li .dropdown li a{border-bottom:1px dotted #fff}.top-bar-section>ul>li .dropdown li:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.top-bar-section>ul>li .dropdown li:last-child a{border-bottom:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.tab-bar{background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #509d0f), color-stop(1, #2d6a29));background:-moz-linear-gradient(top, #509d0f 5%, #2d6a29 100%);background:-o-linear-gradient(top, bottom, #509d0f 5%, #2d6a29 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#509d0f', endColorstr='#2d6a29')}.left-off-canvas-menu{background:#509d0f}.left-off-canvas-list{list-style:none}.left-off-canvas-list ul{list-style:none}.left-off-canvas-list li>ul{list-style:none}.left-off-canvas-list li a:hover,.left-off-canvas-list li a:focus{color:#fff;text-decoration:underline;text-decoration-color:#fff}#phone{font-family:Times New Roman,sans-serif;font-size:24px;color:#083e62;float:right;margin-top:25px}#phone-2{font-family:Times New Roman,sans-serif;font-size:24px;color:#083e62;float:right;margin-top:75px}a.link{font-family:Times New Roman,sans-serif;font-size:14px;color:#2b5e88;text-decoration:underline;text-decoration-color:#2b5e88}footer p{font-family:Times New Roman,sans-serif;font-size:20px;color:#fff;padding-top:45px;display:inline-block;padding-right:15px}footer .row{margin:0 1.9375rem !important}#copy>.medium-12{text-align:center;height:110px}#copy>.small-12{text-align:center;height:auto}#copy p{font-size:14px;color:#fff;font-family:Times New Roman,sans-serif;margin-top:15px}#copy a{font-size:14px;color:#fff;text-decoration:underline;text-decoration-color:#fff;font-family:Times New Roman,sans-serif;margin-top:15px}#copy>.small-12{background:url(../assets/back.jpg)}img.framed{border:10px solid #2b5e88;margin-top:25px}.small-12>img.framed{display:block;clear:both;float:none;margin-left:auto;margin-right:auto;margin-top:40px}input[type="text"],textarea{display:inline;width:67%;height:1.59rem;padding:0;transition:none;box-shadow:none;float:right;margin-right:-10px}.logo{padding-top:25px;padding-bottom:10px}.small-12>.logo{margin:0}.large-8>.logo{margin-left:20px}.search{padding:0;margin-top:12px}#glass{border:6px solid #fff;margin-top:-2px;margin-left:10px}#main{margin:0 45px}#main>.row>.small-12,#main>.row>.medium-4{margin-left:-10px}#address{background:url(../assets/footer-swoosh.png);background-repeat:no-repeat;background-size:cover;margin:35px 0 0 !important;text-align:center}footer>#address>.small-12{padding-top:20px}footer>#address>.small-12 p{font-family:Times New Roman,sans-serif;font-size:16px;color:#fff;display:inline-block;padding-right:15px;padding-top:0;margin-bottom:0}footer h1{margin-left:-10px}#contact{color:#fff;text-decoration:underline;text-decoration-color:#fff;font-size:14px;margin-left:32px}#contact:hover{color:#fff;text-decoration:underline;text-decoration-color:#fff}.arrow{margin-top:-215px}#r-arrow{text-align:right}#mi{padding-top:15px}#part{text-align:center;margin-top:10px !important}#weather{text-align:center}#p-1{margin-top:33px}#p-2{margin-top:34px;margin-left:-10px}#p-3{margin-top:45px;margin-left:-45px}#p-4{margin-top:48px;margin-left:-35px}#p-5{margin-top:35px;margin-left:-25px}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}.alignright{float:right}.alignnone{float:none}.alignleft{float:left}.wp-caption{background:#008000;width:auto}.wp-caption-text{font-family:Open Sans,sans-serif;font-size:9px !important;color:#fff;font-style:italic;margin:0;padding:0 5px}.gallery-one-title{height:45px;font-size:0.8em;text-align:center;font-family:sans-serif;padding:5px}.gallery-holder{margin:10px 0 20px 0}@media (max-width: 640px){img.alignright,img.alignleft,img.aligncenter{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 (min-width: 40.063em){img.aligncenter,img.alignnone{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}} \ No newline at end of file +meta.foundation-version{font-family:"/5.5.0/"}meta.foundation-mq-small{font-family:"/only screen/";width:0}meta.foundation-mq-small-only{font-family:"/only screen and (max-width: 40em)/";width:0}meta.foundation-mq-medium{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}meta.foundation-mq-medium-only{font-family:"/only screen and (min-width:40.063em) and (max-width:64em)/";width:40.063em}meta.foundation-mq-large{font-family:"/only screen and (min-width:64.063em)/";width:64.063em}meta.foundation-mq-large-only{font-family:"/only screen and (min-width:64.063em) and (max-width:90em)/";width:64.063em}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:90.063em)/";width:90.063em}meta.foundation-mq-xlarge-only{font-family:"/only screen and (min-width:90.063em) and (max-width:120em)/";width:90.063em}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:120.063em)/";width:120.063em}meta.foundation-data-attribute-namespace{font-family:false}html,body{height:100%}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body{font-size:100%}body{background:#fff;color:#222;padding:0;margin:0;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-style:normal;line-height:1.5;position:relative;cursor:auto}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{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 !important;visibility:hidden}.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{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5rem}.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{width:auto;margin-left:-0.9375rem;margin-right:-0.9375rem;margin-top:0;margin-bottom:0;max-width:none}.row .row:before,.row .row:after{content:" ";display:table}.row .row:after{clear:both}.row .row.collapse{width:auto;margin:0;max-width:none}.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}[class*="column"]+[class*="column"]:last-child{float:right}[class*="column"]+[class*="column"].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{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.small-centered,.columns.small-centered{margin-left:auto;margin-right:auto;float:none}.column.small-uncentered,.columns.small-uncentered{margin-left:0;margin-right:0;float:left}.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{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.medium-centered,.columns.medium-centered{margin-left:auto;margin-right:auto;float:none}.column.medium-uncentered,.columns.medium-uncentered{margin-left:0;margin-right:0;float:left}.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{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.large-centered,.columns.large-centered{margin-left:auto;margin-right:auto;float:none}.column.large-uncentered,.columns.large-uncentered{margin-left:0;margin-right:0;float:left}.column.large-centered:last-child,.columns.large-centered:last-child{float:none}.column.large-uncentered:last-child,.columns.large-uncentered:last-child{float:left}.column.large-uncentered.opposite,.columns.large-uncentered.opposite{float:right}.row.large-collapse>.column,.row.large-collapse>.columns{padding-left:0;padding-right:0}.row.large-collapse .row{margin-left:0;margin-right:0}.row.large-uncollapse>.column,.row.large-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}.push-0{position:relative;left:0%;right:auto}.pull-0{position:relative;right:0%;left:auto}.push-1{position:relative;left:8.3333333333%;right:auto}.pull-1{position:relative;right:8.3333333333%;left:auto}.push-2{position:relative;left:16.6666666667%;right:auto}.pull-2{position:relative;right:16.6666666667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.3333333333%;right:auto}.pull-4{position:relative;right:33.3333333333%;left:auto}.push-5{position:relative;left:41.6666666667%;right:auto}.pull-5{position:relative;right:41.6666666667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.3333333333%;right:auto}.pull-7{position:relative;right:58.3333333333%;left:auto}.push-8{position:relative;left:66.6666666667%;right:auto}.pull-8{position:relative;right:66.6666666667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.3333333333%;right:auto}.pull-10{position:relative;right:83.3333333333%;left:auto}.push-11{position:relative;left:91.6666666667%;right:auto}.pull-11{position:relative;right:91.6666666667%;left:auto}}.accordion{margin-bottom:0}.accordion:before,.accordion:after{content:" ";display:table}.accordion:after{clear:both}.accordion .accordion-navigation,.accordion dd{display:block;margin-bottom:0 !important}.accordion .accordion-navigation.active>a,.accordion dd.active>a{background:#e8e8e8}.accordion .accordion-navigation>a,.accordion dd>a{background:#EFEFEF;color:#222222;padding:1rem;display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size: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{display:block;background:#FFFFFF}.alert-box{border-style:solid;border-width:1px;display:block;font-weight:normal;margin-bottom:1.25rem;position:relative;padding:0.875rem 1.5rem 0.875rem 0.875rem;font-size:0.8125rem;transition:opacity 300ms ease-out;background-color:#2b5e88;border-color:#255175;color:#FFFFFF}.alert-box .close{font-size:1.375rem;padding:9px 6px 4px;line-height:0;position:absolute;top:50%;margin-top:-0.6875rem;right:0.25rem;color:#333333;opacity:0.3;background:inherit}.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:#509d0f;border-color:#45870d;color:#FFFFFF}.alert-box.warning{background-color:#f08a24;border-color:#de770f;color:#FFFFFF}.alert-box.info{background-color:#a0d3e8;border-color:#74bfdd;color:#1b3505}.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;height:auto;float:left;padding:0 0.625rem 1.25rem}@media only screen{.small-block-grid-1>li{width:100%;list-style:none}.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{width:50%;list-style:none}.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{width:33.3333333333%;list-style:none}.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{width:25%;list-style:none}.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{width:20%;list-style:none}.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{width:16.6666666667%;list-style:none}.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{width:14.2857142857%;list-style:none}.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{width:12.5%;list-style:none}.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{width:11.1111111111%;list-style:none}.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{width:10%;list-style:none}.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{width:9.0909090909%;list-style:none}.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{width:8.3333333333%;list-style:none}.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{width:100%;list-style:none}.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{width:50%;list-style:none}.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{width:33.3333333333%;list-style:none}.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{width:25%;list-style:none}.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{width:20%;list-style:none}.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{width:16.6666666667%;list-style:none}.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{width:14.2857142857%;list-style:none}.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{width:12.5%;list-style:none}.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{width:11.1111111111%;list-style:none}.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{width:10%;list-style:none}.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{width:9.0909090909%;list-style:none}.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{width:8.3333333333%;list-style:none}.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{width:100%;list-style:none}.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{width:50%;list-style:none}.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{width:33.3333333333%;list-style:none}.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{width:25%;list-style:none}.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{width:20%;list-style:none}.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{width:16.6666666667%;list-style:none}.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{width:14.2857142857%;list-style:none}.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{width:12.5%;list-style:none}.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{width:11.1111111111%;list-style:none}.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{width:10%;list-style:none}.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{width:9.0909090909%;list-style:none}.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{width:8.3333333333%;list-style:none}.large-block-grid-12>li:nth-of-type(1n){clear:none}.large-block-grid-12>li:nth-of-type(12n+1){clear:both}}.breadcrumbs{display:block;padding:0.5625rem 0.875rem 0.5625rem;overflow:hidden;margin-left:0;list-style:none;border-style:solid;border-width:1px;background-color:#aef274;border-color:#9bef53;border-radius:3px}.breadcrumbs>*{margin:0;float:left;font-size:0.6875rem;line-height:0.6875rem;text-transform:uppercase;color:#2b5e88}.breadcrumbs>*:hover a,.breadcrumbs>*:focus a{text-decoration:underline}.breadcrumbs>* a{color:#2b5e88}.breadcrumbs>*.current{cursor:default;color:#333333}.breadcrumbs>*.current a{cursor:default;color:#333333}.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{text-decoration:none;color:#999999;cursor:default}.breadcrumbs>*:before{content:"/";color:#AAAAAA;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{border-style:solid;border-width:0;cursor:pointer;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-decoration:none;text-align:center;-webkit-appearance:none;border-radius:0;display:inline-block;padding-top:1rem;padding-right:2rem;padding-bottom:1.0625rem;padding-left:2rem;font-size:1rem;background-color:#2b5e88;border-color:#224b6d;color:#FFFFFF;transition:background-color 300ms ease-out}button:hover,button:focus,.button:hover,.button:focus{background-color:#224b6d}button:hover,button:focus,.button:hover,.button:focus{color:#FFFFFF}button.secondary,.button.secondary{background-color:#509d0f;border-color:#407e0c;color:#FFFFFF}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{background-color:#407e0c}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{color:#FFFFFF}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-top:1.125rem;padding-right:2.25rem;padding-bottom:1.1875rem;padding-left:2.25rem;font-size:1.25rem}button.small,.button.small{padding-top:0.875rem;padding-right:1.75rem;padding-bottom:0.9375rem;padding-left:1.75rem;font-size:0.8125rem}button.tiny,.button.tiny{padding-top:0.625rem;padding-right:1.25rem;padding-bottom:0.6875rem;padding-left:1.25rem;font-size:0.6875rem}button.expand,.button.expand{padding-right:0;padding-left:0;width:100%}button.left-align,.button.left-align{text-align:left;text-indent:0.75rem}button.right-align,.button.right-align{text-align:right;padding-right:0.75rem}button.radius,.button.radius{border-radius:3px}button.round,.button.round{border-radius:1000px}button.disabled,button[disabled],.button.disabled,.button[disabled]{background-color:#2b5e88;border-color:#224b6d;color:#FFFFFF;cursor:default;opacity:0.7;box-shadow:none}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:#224b6d}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:#2b5e88}button.disabled.secondary,button[disabled].secondary,.button.disabled.secondary,.button[disabled].secondary{background-color:#509d0f;border-color:#407e0c;color:#FFFFFF;cursor:default;opacity:0.7;box-shadow:none}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:#407e0c}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:#FFFFFF}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:#509d0f}button.disabled.success,button[disabled].success,.button.disabled.success,.button[disabled].success{background-color:#43AC6A;border-color:#368a55;color:#FFFFFF;cursor:default;opacity:0.7;box-shadow:none}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;cursor:default;opacity:0.7;box-shadow:none}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;cursor:default;opacity:0.7;box-shadow:none}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;cursor:default;opacity:0.7;box-shadow:none}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>li{margin:0 -2px;display:inline-block}.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{margin:0 -2px;display:inline-block;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-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-top:0}.button-group.stack-for-small>li{margin:0 -2px;display:inline-block}.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{margin:0 -2px;display:inline-block;display:block;margin:0;}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-top:0}}.button-group.radius>*{margin:0 -2px;display:inline-block}.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>*{margin:0 -2px;display:inline-block;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-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.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>*{margin:0 -2px;display:inline-block;}.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>*{margin:0 -2px;display:inline-block;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-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.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>*{margin:0 -2px;display:inline-block}.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>*{margin:0 -2px;display:inline-block;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-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.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>*{margin:0 -2px;display:inline-block;}.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>*{margin:0 -2px;display:inline-block;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-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.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-group.even-2 li{margin:0 -2px;display:inline-block;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{margin:0 -2px;display:inline-block;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{margin:0 -2px;display:inline-block;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{margin:0 -2px;display:inline-block;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{margin:0 -2px;display:inline-block;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{margin:0 -2px;display:inline-block;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{margin:0 -2px;display:inline-block;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-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]{margin-bottom:0;margin-left:0;list-style:none}.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;position:fixed;width:100%;height:100%;top:0;left:0;z-index:998}.clearing-blackout .clearing-close{display:block}.clearing-container{position:relative;z-index:998;height:100%;overflow:hidden;margin:0}.clearing-touch-label{position:absolute;top:50%;left:50%;color:#AAAAAA;font-size:0.6em}.visible-img{height:95%;position:relative}.visible-img img{position:absolute;left:50%;top:50%;margin-left:-50%;max-height:100%;max-width:100%}.clearing-caption{color:#CCCCCC;font-size:0.875em;line-height:1.3;margin-bottom:0;text-align:center;bottom:0;background:#333333;width:100%;padding:10px 30px 20px;position:absolute;left:0}.clearing-close{z-index:999;padding-left:20px;padding-top:10px;font-size:30px;line-height:1;color:#CCCCCC;display:none}.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{position:absolute;height:100%;width:40px;top:0}.clearing-main-prev>span,.clearing-main-next>span{position:absolute;top:50%;display:block;width:0;height:0;border:solid 12px}.clearing-main-prev>span:hover,.clearing-main-next>span:hover{opacity:0.8}.clearing-main-prev{left:0}.clearing-main-prev>span{left:5px;border-color:transparent;border-right-color:#CCCCCC}.clearing-main-next{right:0}.clearing-main-next>span{border-color:transparent;border-left-color:#CCCCCC}.clearing-main-prev.disabled,.clearing-main-next.disabled{opacity:0.3}.clearing-assembled .clearing-container .carousel{background:rgba(51,51,51,0.8);height:120px;margin-top:10px;text-align:center}.clearing-assembled .clearing-container .carousel>ul{display:inline-block;z-index:999;height:100%;position:relative;float:none}.clearing-assembled .clearing-container .carousel>ul li{display:block;width:120px;min-height:inherit;float:left;overflow:hidden;margin-right:0;padding:0;position:relative;cursor:pointer;opacity:0.4;clear:none}.clearing-assembled .clearing-container .carousel>ul li.fix-height img{height:100%;max-width:none}.clearing-assembled .clearing-container .carousel>ul li a.th{border:none;box-shadow:none;display:block}.clearing-assembled .clearing-container .carousel>ul li img{cursor:pointer !important;width:100% !important}.clearing-assembled .clearing-container .carousel>ul li.visible{opacity:1}.clearing-assembled .clearing-container .carousel>ul li:hover{opacity:0.8}.clearing-assembled .clearing-container .visible-img{background:#333333;overflow:hidden;height:85%}.clearing-close{position:absolute;top:10px;right:20px;padding-left:0;padding-top:0}}.f-dropdown{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;margin-top:2px;max-width:200px}.f-dropdown>*:first-child{margin-top:0}.f-dropdown>*:last-child{margin-bottom:0}.f-dropdown:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:transparent transparent #FFFFFF transparent;border-bottom-style:solid;position:absolute;top:-12px;left:10px;z-index:89}.f-dropdown:after{content:"";display:block;width:0;height:0;border:inset 7px;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{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;margin-top:0;margin-left:2px;max-width:200px}.f-dropdown.drop-right>*:first-child{margin-top:0}.f-dropdown.drop-right>*:last-child{margin-bottom:0}.f-dropdown.drop-right:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:transparent #FFFFFF transparent transparent;border-right-style:solid;position:absolute;top:10px;left:-12px;z-index:89}.f-dropdown.drop-right:after{content:"";display:block;width:0;height:0;border:inset 7px;border-color:transparent #cccccc transparent transparent;border-right-style:solid;position:absolute;top:9px;left:-14px;z-index:88}.f-dropdown.drop-left{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;margin-top:0;margin-left:-2px;max-width:200px}.f-dropdown.drop-left>*:first-child{margin-top:0}.f-dropdown.drop-left>*:last-child{margin-bottom:0}.f-dropdown.drop-left:before{content:"";display:block;width:0;height:0;border:inset 6px;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{content:"";display:block;width:0;height:0;border:inset 7px;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{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;margin-top:-2px;margin-left:0;max-width:200px}.f-dropdown.drop-top>*:first-child{margin-top:0}.f-dropdown.drop-top>*:last-child{margin-bottom:0}.f-dropdown.drop-top:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:#FFFFFF transparent transparent transparent;border-top-style:solid;position:absolute;top:auto;bottom:-12px;left:10px;right:auto;z-index:89}.f-dropdown.drop-top:after{content:"";display:block;width:0;height:0;border:inset 7px;border-color:#cccccc transparent transparent transparent;border-top-style:solid;position:absolute;top:auto;bottom:-14px;left:9px;right:auto;z-index:88}.f-dropdown li{font-size:0.875rem;cursor:pointer;line-height:1.125rem;margin:0}.f-dropdown li:hover,.f-dropdown li:focus{background:#EEEEEE}.f-dropdown li.radius{border-radius:3px}.f-dropdown li a{display:block;padding:0.5rem;color:#555555}.f-dropdown.content{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;padding:1.25rem;width:100%;height:auto;max-height:none;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;max-width:200px}.f-dropdown.content>*:first-child{margin-top:0}.f-dropdown.content>*:last-child{margin-bottom:0}.f-dropdown.tiny{max-width:200px}.f-dropdown.small{max-width:300px}.f-dropdown.medium{max-width:500px}.f-dropdown.large{max-width:800px}.f-dropdown.mega{width:100% !important;max-width:100% !important}.f-dropdown.mega.open{left:0 !important}.dropdown.button,button.dropdown{position:relative;outline:none;padding-right:3.5625rem}.dropdown.button::after,button.dropdown::after{position:absolute;content:"";width:0;height:0;display:block;border-style:solid;border-color:#FFFFFF transparent transparent transparent;top:50%}.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{position:relative;padding-top:1.5625rem;padding-bottom:67.5%;height:0;margin-bottom:1rem;overflow:hidden}.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{position:absolute;top:0;left:0;width:100%;height:100%}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{font-size:0.875rem;color:#4d4d4d;cursor:pointer;display:block;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{display:block;position:relative;z-index:2;text-align:center;width:100%;padding-top:0;padding-bottom:0;border-style:solid;border-width:1px;overflow:hidden;font-size:0.875rem;height:2.3125rem;line-height:2.3125rem}.postfix.button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;text-align:center;border:none}.prefix.button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;text-align:center;border:none}.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[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;border-radius:0;background-color:#FFFFFF;font-family:inherit;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-size:0.875rem;margin:0 0 1rem 0;padding:0.5rem;height:2.3125rem;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:box-shadow 0.45s,border-color 0.45s ease-in-out}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{box-shadow:0 0 5px #999999;border-color:#999999}input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="week"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input[type="color"]:focus,textarea:focus{background:#fafafa;border-color:#999999;outline:none}input[type="text"]:disabled,input[type="password"]:disabled,input[type="date"]:disabled,input[type="datetime"]:disabled,input[type="datetime-local"]:disabled,input[type="month"]:disabled,input[type="week"]:disabled,input[type="email"]:disabled,input[type="number"]:disabled,input[type="search"]:disabled,input[type="tel"]:disabled,input[type="time"]:disabled,input[type="url"]:disabled,input[type="color"]:disabled,textarea:disabled{background-color:#DDDDDD;cursor:default}input[type="text"][disabled],input[type="text"][readonly],fieldset[disabled] input[type="text"],input[type="password"][disabled],input[type="password"][readonly],fieldset[disabled] input[type="password"],input[type="date"][disabled],input[type="date"][readonly],fieldset[disabled] input[type="date"],input[type="datetime"][disabled],input[type="datetime"][readonly],fieldset[disabled] input[type="datetime"],input[type="datetime-local"][disabled],input[type="datetime-local"][readonly],fieldset[disabled] input[type="datetime-local"],input[type="month"][disabled],input[type="month"][readonly],fieldset[disabled] input[type="month"],input[type="week"][disabled],input[type="week"][readonly],fieldset[disabled] input[type="week"],input[type="email"][disabled],input[type="email"][readonly],fieldset[disabled] input[type="email"],input[type="number"][disabled],input[type="number"][readonly],fieldset[disabled] input[type="number"],input[type="search"][disabled],input[type="search"][readonly],fieldset[disabled] input[type="search"],input[type="tel"][disabled],input[type="tel"][readonly],fieldset[disabled] input[type="tel"],input[type="time"][disabled],input[type="time"][readonly],fieldset[disabled] input[type="time"],input[type="url"][disabled],input[type="url"][readonly],fieldset[disabled] input[type="url"],input[type="color"][disabled],input[type="color"][readonly],fieldset[disabled] input[type="color"],textarea[disabled],textarea[readonly],fieldset[disabled] textarea{background-color:#DDDDDD;cursor:default}input[type="text"].radius,input[type="password"].radius,input[type="date"].radius,input[type="datetime"].radius,input[type="datetime-local"].radius,input[type="month"].radius,input[type="week"].radius,input[type="email"].radius,input[type="number"].radius,input[type="search"].radius,input[type="tel"].radius,input[type="time"].radius,input[type="url"].radius,input[type="color"].radius,textarea.radius{border-radius:3px}form .row .prefix-radius.row.collapse input,form .row .prefix-radius.row.collapse textarea,form .row .prefix-radius.row.collapse select{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{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{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{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;border-radius:0}textarea[rows]{height:auto}textarea{max-width:100%}select{-webkit-appearance:none !important;border-radius:0;background-color:#FAFAFA;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;padding:0.5rem;font-size:0.875rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:rgba(0,0,0,0.75);line-height:normal;border-radius:0;height:2.3125rem}select::-ms-expand{display:none}select.radius{border-radius:3px}select:hover{background-color:#f3f3f3;border-color:#999999}select:disabled{background-color:#DDDDDD;cursor:default}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;padding:1.25rem;margin:1.125rem 0}fieldset legend{font-weight:bold;background:#FFFFFF;padding:0 0.1875rem;margin:0;margin-left:-0.1875rem}[data-abide] .error small.error,[data-abide] .error span.error,[data-abide] span.error,[data-abide] small.error{display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#FFFFFF}[data-abide] span.error,[data-abide] small.error{display:none}span.error,small.error{display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;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;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#FFFFFF}.error>label>small{color:#676767;background:transparent;padding:0;text-transform:capitalize;font-style:normal;font-size:60%;margin:0;display:inline}.error span.error-message{display:block}input.error,textarea.error,select.error{margin-bottom:0}label.error{color:#f04124}.icon-bar{width:100%;font-size:0;display:inline-block;background:#333333}.icon-bar>*{text-align:center;font-size:1rem;width:25%;margin:0 auto;display:block;padding:1.25rem;float:left}.icon-bar>* i,.icon-bar>* img{display:block;margin:0 auto}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:0.0625rem}.icon-bar>* i{font-size:1.875rem;vertical-align:middle}.icon-bar>* img{width:1.875rem;height:1.875rem}.icon-bar.label-right>* i,.icon-bar.label-right>* img{margin:0 0.0625rem 0 0;display:inline-block}.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{width:auto;margin:auto;float:none}@media only screen and (min-width:40.063em){.icon-bar.medium-vertical{height:100%;width:auto;}.icon-bar.medium-vertical .item{width:auto;margin:auto;float:none}}@media only screen and (min-width:64.063em){.icon-bar.large-vertical{height:100%;width:auto;}.icon-bar.large-vertical .item{width:auto;margin:auto;float:none}}.icon-bar>*{font-size:1rem;padding:1.25rem}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:0.0625rem}.icon-bar>* i{font-size:1.875rem}.icon-bar>* img{width:1.875rem;height:1.875rem}.icon-bar>* label{color:#FFFFFF}.icon-bar>* i{color:#FFFFFF}.icon-bar>a:hover{background:#2b5e88}.icon-bar>a:hover label{color:#FFFFFF}.icon-bar>a:hover i{color:#FFFFFF}.icon-bar>a.active{background:#2b5e88}.icon-bar>a.active label{color:#FFFFFF}.icon-bar>a.active i{color:#FFFFFF}.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;}}.inline-list{margin:0 auto 1.0625rem auto;margin-left:-1.375rem;margin-right:0;padding:0;list-style:none;overflow:hidden}.inline-list>li{list-style:none;float:left;margin-left:1.375rem;display:block}.inline-list>li>*{display:block}.joyride-list{display:none}.joyride-tip-guide{display:none;position:absolute;background:#333333;color:#FFFFFF;z-index:101;top:0;left:2.5%;font-family:inherit;font-weight:normal;width:95%}.lt-ie9 .joyride-tip-guide{max-width:800px;left:50%;margin-left:-400px}.joyride-content-wrapper{width:100%;padding:1.125rem 1.25rem 1.5rem}.joyride-content-wrapper .button{margin-bottom:0 !important}.joyride-content-wrapper .joyride-prev-tip{margin-right:10px}.joyride-tip-guide .joyride-nub{display:block;position:absolute;left:22px;width:0;height:0;border:10px solid #333333}.joyride-tip-guide .joyride-nub.top{border-top-style:solid;border-color:#333333;border-top-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;top:-20px}.joyride-tip-guide .joyride-nub.bottom{border-bottom-style:solid;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{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{line-height:1.25;margin:0;font-weight:bold;color:#FFFFFF}.joyride-tip-guide p{margin:0 0 1.125rem 0;font-size:0.875rem;line-height:1.3}.joyride-timer-indicator-wrap{width:50px;height:3px;border:solid 1px #555555;position:absolute;right:1.0625rem;bottom:1rem}.joyride-timer-indicator{display:block;width:0;height:inherit;background:#666666}.joyride-close-tip{position:absolute;right:12px;top:10px;color:#777777 !important;text-decoration:none;font-size:24px;font-weight:normal;line-height:0.5 !important}.joyride-close-tip:hover,.joyride-close-tip:focus{color:#EEEEEE !important}.joyride-modal-bg{position:fixed;height:100%;width:100%;background:transparent;background:rgba(0,0,0,0.5);z-index:100;display:none;top:0;left:0;cursor:pointer}.joyride-expose-wrapper{background-color:#FFFFFF;position:absolute;border-radius:3px;z-index:102;box-shadow:0 0 15px #FFFFFF}.joyride-expose-cover{background:transparent;border-radius:3px;position:absolute;z-index:9999;top:0;left:0}@media only screen and (min-width:40.063em){.joyride-tip-guide{width:300px;left:inherit}.joyride-tip-guide .joyride-nub.bottom{border-color:#333333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{border-color:#333333 !important;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important;top:22px;left:auto;right:-20px}.joyride-tip-guide .joyride-nub.left{border-color:#333333 !important;border-top-color:transparent !important;border-left-color:transparent !important;border-bottom-color:transparent !important;top:22px;left:-20px;right:auto}}.keystroke,kbd{background-color:#ededed;border-color:#dddddd;color:#222222;border-style:solid;border-width:1px;margin:0;font-family:"Consolas","Menlo","Courier",monospace;font-size:inherit;padding:0.125rem 0.25rem 0;border-radius:3px}.label{font-weight:normal;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-align:center;text-decoration:none;line-height:1;white-space:nowrap;display:inline-block;position:relative;margin-bottom:auto;padding:0.25rem 0.5rem 0.25rem;font-size:0.6875rem;background-color:#2b5e88;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:#509d0f;color:#FFFFFF}.label.info{background-color:#a0d3e8;color:#333333}[data-magellan-expedition],[data-magellan-expedition-clone]{background:#FFFFFF;z-index:50;min-width:100%;padding:10px}[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)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes rotate{from{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}@-o-keyframes rotate{from{-o-transform:rotate(0deg)}to{-o-transform:rotate(360deg)}}@keyframes rotate{from{transform:rotate(0deg)}to{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{display:block;width:40px;height:40px;position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-20px;border:solid 3px;border-color:#555555 #FFFFFF;border-radius:1000px;animation-name:rotate;animation-duration:1.5s;animation-iteration-count:infinite;animation-timing-function:linear}.orbit-container{overflow:hidden;width:100%;position:relative;background:none}.orbit-container .orbit-slides-container{list-style:none;margin:0;padding:0;position:relative;-webkit-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{position:absolute;bottom:0;background-color:rgba(51,51,51,0.8);color:#FFFFFF;width:100%;padding:0.625rem 0.875rem;font-size:0.875rem}.orbit-container .orbit-slide-number{position:absolute;top:10px;left:10px;font-size:12px;color:#FFFFFF;background:rgba(0,0,0,0);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{display:none;position:absolute;top:0;right:0;width:11px;height:14px;border:solid 4px #FFFFFF;border-top:none;border-bottom:none}.orbit-container .orbit-timer.paused>span{right:-4px;top:0;width:11px;height:14px;border:inset 8px;border-left-style:solid;border-color:transparent;border-left-color:#FFFFFF}.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{position:absolute;top:45%;margin-top:-25px;width:36px;height:60px;line-height:50px;color:white;background-color:transparent;text-indent:-9999px !important;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{position:absolute;top:50%;margin-top:-10px;display:block;width:0;height:0;border:inset 10px}.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{margin:0 auto 30px auto;overflow:hidden;position:relative;top:10px;float:none;text-align:center;display:block}.orbit-bullets li{cursor:pointer;display:inline-block;width:0.5625rem;height:0.5625rem;background:#CCCCCC;float:none;margin-right:6px;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>*{position:relative;margin:0 !important;opacity:1 !important}.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;min-height:1.5rem;margin-left:-0.3125rem}ul.pagination li{height:1.5rem;color:#222222;font-size:0.875rem;margin-left:0.3125rem}ul.pagination li a,ul.pagination li button{display:block;padding:0.0625rem 0.625rem 0.0625rem;color:#999999;background:none;border-radius:3px;font-weight:normal;font-size:1em;line-height:inherit;transition:background-color 300ms ease-out}ul.pagination li:hover a,ul.pagination li a:focus,ul.pagination li:hover button,ul.pagination li button:focus{background:#e6e6e6}ul.pagination li.unavailable a,ul.pagination li.unavailable button{cursor:default;color:#999999}ul.pagination li.unavailable:hover a,ul.pagination li.unavailable a:focus,ul.pagination li.unavailable:hover button,ul.pagination li.unavailable button:focus{background:transparent}ul.pagination li.current a,ul.pagination li.current button{background:#2b5e88;color:#FFFFFF;font-weight:bold;cursor:default}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:#2b5e88}ul.pagination li{float:left;display:block}.pagination-centered{text-align:center}.pagination-centered ul.pagination li{float:none;display:inline-block}.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:#c7dced;margin-bottom:1.25rem;padding:1.25rem;background:#f0f6fa;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:#2b5e88}.panel.callout a:not(.button):hover,.panel.callout a:not(.button):focus{color:#255175}.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;padding:0.9375rem 1.25rem;text-align:center;color:#EEEEEE;font-weight:normal;font-size:1rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.pricing-table .price{background-color:#F6F6F6;padding:0.9375rem 1.25rem;text-align:center;color:#333333;font-weight:normal;font-size:2rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.pricing-table .description{background-color:#FFFFFF;padding:0.9375rem;text-align:center;color:#777777;font-size:0.75rem;font-weight:normal;line-height:1.4;border-bottom:dotted 1px #DDDDDD}.pricing-table .bullet-item{background-color:#FFFFFF;padding:0.9375rem;text-align:center;color:#333333;font-size:0.875rem;font-weight:normal;border-bottom:dotted 1px #DDDDDD}.pricing-table .cta-button{background-color:#FFFFFF;text-align:center;padding:1.25rem 1.25rem 0}.progress{background-color:#F6F6F6;height:1.5625rem;border:1px solid white;padding:0.125rem;margin-bottom:0.625rem}.progress .meter{background:#2b5e88;height:100%;display:block}.progress.secondary .meter{background:#509d0f;height:100%;display:block}.progress.success .meter{background:#43AC6A;height:100%;display:block}.progress.alert .meter{background:#f04124;height:100%;display:block}.progress.radius{border-radius:3px}.progress.radius .meter{border-radius:2px}.progress.round{border-radius:1000px}.progress.round .meter{border-radius:999px}.range-slider{display:block;position:relative;width:100%;height:1rem;border:1px solid #DDDDDD;margin:1.25rem 0;-ms-touch-action:none;touch-action:none;background:#FAFAFA}.range-slider.vertical-range{display:block;position:relative;width:100%;height:1rem;border:1px solid #DDDDDD;margin:1.25rem 0;-ms-touch-action:none;touch-action:none;display:inline-block;width:1rem;height:12.5rem}.range-slider.vertical-range .range-slider-handle{margin-top:0;margin-left:-0.5rem;position:absolute;bottom:-10.5rem}.range-slider.vertical-range .range-slider-active-segment{width:0.875rem;height:auto;bottom:0}.range-slider.radius{background:#FAFAFA;border-radius:3px}.range-slider.radius .range-slider-handle{background:#2b5e88;border-radius:3px}.range-slider.radius .range-slider-handle:hover{background:#265378}.range-slider.round{background:#FAFAFA;border-radius:1000px}.range-slider.round .range-slider-handle{background:#2b5e88;border-radius:1000px}.range-slider.round .range-slider-handle:hover{background:#265378}.range-slider.disabled,.range-slider[disabled]{background:#FAFAFA;cursor:default;opacity:0.7}.range-slider.disabled .range-slider-handle,.range-slider[disabled] .range-slider-handle{background:#2b5e88;cursor:default;opacity:0.7}.range-slider.disabled .range-slider-handle:hover,.range-slider[disabled] .range-slider-handle:hover{background:#265378}.range-slider-active-segment{display:inline-block;position:absolute;height:0.875rem;background:#4f9b0f}.range-slider-handle{display:inline-block;position:absolute;z-index:1;top:-0.3125rem;width:2rem;height:1.375rem;border:1px solid none;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background:#2b5e88}.range-slider-handle:hover{background:#265378}.reveal-modal-bg{position:absolute;top:0;bottom:0;left:0;right:0;background:#000000;background:rgba(0,0,0,0.45);z-index:1004;display:none;left:0}.reveal-modal,dialog{visibility:hidden;display:none;position:absolute;z-index:1005;width:100vw;top:0;border-radius:3px;left:0;background-color:#FFFFFF;padding:1.25rem;border:solid 1px #666666;box-shadow:0 0 10px rgba(0,0,0,0.4);padding:1.875rem}@media only screen and (max-width: 40em){.reveal-modal,dialog{min-height:100vh;}}.reveal-modal .column,dialog .column,.reveal-modal .columns,dialog .columns{min-width:0}.reveal-modal>:first-child,dialog>:first-child{margin-top:0}.reveal-modal>:last-child,dialog>:last-child{margin-bottom:0}@media only screen and (min-width:40.063em){.reveal-modal,dialog{width:80%;max-width:62.5rem;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal,dialog{top:6.25rem;}}.reveal-modal.radius,dialog.radius{border-radius:3px}.reveal-modal.round,dialog.round{border-radius:1000px}.reveal-modal.collapse,dialog.collapse{padding:0}@media only screen and (min-width:40.063em){.reveal-modal.tiny,dialog.tiny{width:30%;max-width:62.5rem;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal.small,dialog.small{width:40%;max-width:62.5rem;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal.medium,dialog.medium{width:60%;max-width:62.5rem;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal.large,dialog.large{width:70%;max-width:62.5rem;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal.xlarge,dialog.xlarge{width:95%;max-width:62.5rem;left:0;right:0;margin:0 auto;}}.reveal-modal.full,dialog.full{top:0;left:0;height:100%;height:100vh;min-height:100vh;max-width:none !important;margin-left:0 !important}@media only screen and (min-width:40.063em){.reveal-modal.full,dialog.full{width:100vw;max-width:62.5rem;left:0;right:0;margin:0 auto;}}.reveal-modal .close-reveal-modal,dialog .close-reveal-modal{font-size:2.5rem;line-height:1;position:absolute;top:0.625rem;right:1.375rem;color:#AAAAAA;font-weight:bold;cursor:pointer}dialog{display:none}dialog::backdrop,dialog+.backdrop{position:absolute;top:0;bottom:0;left:0;right:0;background:#000000;background:rgba(0,0,0,0.45);z-index:auto;display:none;left:0}dialog[open]{display:block}@media print{dialog,.reveal-modal,dialog{display:none;background:#FFFFFF !important}}.side-nav{display:block;margin:0;padding:0.875rem 0;list-style-type:none;list-style-position:outside;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.side-nav li{margin:0 0 0.4375rem 0;font-size:0.875rem;font-weight:normal}.side-nav li a:not(.button){display:block;color:#2b5e88;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:#4f91c7}.side-nav li.active>a:first-child:not(.button){color:#4f91c7;font-weight:normal;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.side-nav li.divider{border-top:1px solid;height:0;padding:0;list-style:none;border-top-color:white}.side-nav li.heading{color:#2b5e88;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;top:48%;margin-left:-0.375rem}.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;top:48%;margin-left:-0.375rem}.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;top:48%;margin-left:-0.375rem}.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;top:48%;margin-left:-0.375rem}.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}.sub-nav{display:block;width:auto;overflow:hidden;margin:-0.25rem 0 1.125rem;padding-top:0.25rem}.sub-nav dt{text-transform:uppercase}.sub-nav dt,.sub-nav dd,.sub-nav li{float:left;display:inline;margin-left:1rem;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-size:0.875rem;color:#999999}.sub-nav dt a,.sub-nav dd a,.sub-nav li a{text-decoration:none;color:#999999;padding:0.1875rem 1rem}.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;font-weight:normal;background:#2b5e88;padding:0.1875rem 1rem;cursor:default;color:#FFFFFF}.sub-nav dt.active a:hover,.sub-nav dd.active a:hover,.sub-nav li.active a:hover{background:#255175}.switch{padding:0;border:none;position:relative;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch label{display:block;margin-bottom:1rem;position:relative;color:transparent;background:#DDDDDD;text-indent:100%;width:4rem;height:2rem;cursor:pointer;transition:left 0.15s ease-out}.switch input{opacity:0;position:absolute;top:9px;left:10px;padding:0}.switch input+label{margin-left:0;margin-right:0}.switch label:after{content:"";display:block;background:#FFFFFF;position:absolute;top:0.25rem;left:0.25rem;width:1.5rem;height: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);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.switch input:checked+label{background:#2b5e88}.switch input:checked+label:after{left:2.25rem}.switch label{width:4rem;height:2rem}.switch label:after{width:1.5rem;height: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:#2b5e88}.switch.large label{width:5rem;height:2.5rem}.switch.large label:after{width:2rem;height:2rem}.switch.large input:checked+label:after{left:2.75rem}.switch.small label{width:3.5rem;height:1.75rem}.switch.small label:after{width:1.25rem;height:1.25rem}.switch.small input:checked+label:after{left:2rem}.switch.tiny label{width:3rem;height:1.5rem}.switch.tiny label:after{width:1rem;height: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;margin-bottom:1.25rem;border:solid 1px #DDDDDD;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{padding:0.5rem 0.625rem 0.625rem;font-size:0.875rem;font-weight:bold;color:#222222}table tfoot{background:#F5F5F5}table tfoot tr th,table tfoot tr td{padding:0.5rem 0.625rem 0.625rem;font-size:0.875rem;font-weight:bold;color:#222222}table tr th,table tr td{padding:0.5625rem 0.625rem;font-size:0.875rem;color:#222222;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{position:relative;margin-bottom:0 !important;list-style:none;float:left}.tabs dd>a,.tabs .tab-title>a{outline:none;display:block;background-color:#EFEFEF;color:#222222;padding:1rem 2rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem}.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{width:20%;max-width:20%;float:left;margin:0 0 1.25rem}.tabs-content.vertical{width:80%;max-width:80%;float:left;margin-left:-1px;padding-left:1rem}}.no-js .tabs-content>.content{display:block;float:none}.th{line-height:0;display:inline-block;border:solid 4px #FFFFFF;max-width:100%;box-shadow:0 0 0 1px rgba(0,0,0,0.2);transition:all 200ms ease-out}.th:hover,.th:focus{box-shadow:0 0 6px 1px rgba(43,94,136,0.5)}.th.radius{border-radius:3px}.has-tip{border-bottom:dotted 1px #CCCCCC;cursor:help;font-weight:bold;color:#333333}.has-tip:hover,.has-tip:focus{border-bottom:dotted 1px #132a3d;color:#2b5e88}.has-tip.tip-left,.has-tip.tip-right{float:none !important}.tooltip{display:none;position:absolute;z-index:1006;font-weight:normal;font-size:0.875rem;line-height:1.3;padding:0.75rem;max-width:300px;left:50%;width:100%;color:#FFFFFF;background:#333333}.tooltip>.nub{display:block;left:5px;position:absolute;width:0;height:0;border:solid 5px;border-color:transparent transparent #333333 transparent;top:-10px;pointer-events:none}.tooltip>.nub.rtl{left:auto;right:5px}.tooltip.radius{border-radius:3px}.tooltip.round{border-radius:1000px}.tooltip.round>.nub{left:2rem}.tooltip.opened{color:#2b5e88 !important;border-bottom:dotted 1px #132a3d !important}.tap-to-close{display:block;font-size:0.625rem;color:#777777;font-weight:normal}@media only screen and (min-width:40.063em){.tooltip>.nub{border-color:transparent transparent #333333 transparent;top:-10px}.tooltip.tip-top>.nub{border-color:#333333 transparent transparent transparent;top:auto;bottom:-10px}.tooltip.tip-left,.tooltip.tip-right{float:none !important}.tooltip.tip-left>.nub{border-color:transparent transparent transparent #333333;right:-10px;left:auto;top:50%;margin-top:-5px}.tooltip.tip-right>.nub{border-color:transparent #333333 transparent transparent;right:auto;left:-10px;top:50%;margin-top:-5px}}meta.foundation-mq-topbar{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}.contain-to-grid{width:100%;background:#333333}.contain-to-grid .top-bar{margin-bottom:0}.fixed{width:100%;left:0;position:fixed;top:0;z-index:99}.fixed.expanded:not(.top-bar){overflow-y:auto;height:auto;width:100%;max-height:100%}.fixed.expanded:not(.top-bar) .title-area{position:fixed;width:100%;z-index:99}.fixed.expanded:not(.top-bar) .top-bar-section{z-index:98;margin-top:2.8125rem}.top-bar{overflow:hidden;height:2.8125rem;line-height:2.8125rem;position:relative;background:#333333;margin-bottom:0}.top-bar ul{margin-bottom:0;list-style:none}.top-bar .row{max-width:none}.top-bar form,.top-bar input{margin-bottom:0}.top-bar input{height:1.75rem;padding-top:0.35rem;padding-bottom:0.35rem;font-size:0.75rem}.top-bar .button,.top-bar button{padding-top:0.4125rem;padding-bottom:0.4125rem;margin-bottom:0;font-size:0.75rem}@media only screen and (max-width: 40em){.top-bar .button,.top-bar button{position:relative;top:-1px;}}.top-bar .title-area{position:relative;margin:0}.top-bar .name{height:2.8125rem;margin:0;font-size:16px}.top-bar .name h1,.top-bar .name h2,.top-bar .name h3,.top-bar .name h4,.top-bar .name p,.top-bar .name span{line-height:2.8125rem;font-size:1.0625rem;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{font-weight:normal;color:#FFFFFF;width:75%;display:block;padding:0 0.9375rem}.top-bar .toggle-topbar{position:absolute;right:0;top:0}.top-bar .toggle-topbar a{color:#FFFFFF;text-transform:uppercase;font-size:0.8125rem;font-weight:bold;position:relative;display:block;padding:0 0.9375rem;height:2.8125rem;line-height:2.8125rem}.top-bar .toggle-topbar.menu-icon{top:50%;margin-top:-16px}.top-bar .toggle-topbar.menu-icon a{height:34px;line-height:33px;padding:0 2.5rem 0 0.9375rem;color:#FFFFFF;position:relative}.top-bar .toggle-topbar.menu-icon a span::after{content:"";position:absolute;display:block;height:0;top:50%;margin-top:-8px;right:0.9375rem;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{height:auto;background:transparent}.top-bar.expanded .title-area{background:#333333}.top-bar.expanded .toggle-topbar a{color:#888888}.top-bar.expanded .toggle-topbar a span::after{box-shadow:0 0 0 1px #888888,0 7px 0 1px #888888,0 14px 0 1px #888888}.top-bar-section{left:0;position:relative;width:auto;transition:left 300ms ease-out}.top-bar-section ul{padding:0;width:100%;height:auto;display:block;font-size:16px;margin:0}.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:#333333}.top-bar-section ul li>a{display:block;width:100%;color:#FFFFFF;padding:12px 0 12px 0;padding-left:0.9375rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:0.8125rem;font-weight:normal;text-transform:none}.top-bar-section ul li>a.button{font-size:0.8125rem;padding-right:0.9375rem;padding-left:0.9375rem;background-color:#2b5e88;border-color:#224b6d;color:#FFFFFF}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{background-color:#224b6d}.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:#509d0f;border-color:#407e0c;color:#FFFFFF}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{background-color:#407e0c}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{color:#FFFFFF}.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>button{font-size:0.8125rem;padding-right:0.9375rem;padding-left:0.9375rem;background-color:#2b5e88;border-color:#224b6d;color:#FFFFFF}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{background-color:#224b6d}.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:#509d0f;border-color:#407e0c;color:#FFFFFF}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{background-color:#407e0c}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{color:#FFFFFF}.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:hover:not(.has-form)>a{background-color:#555555;background:#333333;color:#FFFFFF}.top-bar-section ul li.active>a{background:#2b5e88;color:#FFFFFF}.top-bar-section ul li.active>a:hover{background:#255175;color:#FFFFFF}.top-bar-section .has-form{padding:0.9375rem}.top-bar-section .has-dropdown{position:relative}.top-bar-section .has-dropdown>a:after{content:"";display:block;width:0;height:0;border:inset 5px;border-color:transparent transparent transparent rgba(255,255,255,0.4);border-left-style:solid;margin-right:0.9375rem;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{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important;width:100%}.top-bar-section .has-dropdown.moved>a:after{display:none}.top-bar-section .dropdown{padding:0;position:absolute;left:100%;top:0;z-index:99;display:block;position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}.top-bar-section .dropdown li{width:100%;height:auto}.top-bar-section .dropdown li a{font-weight:normal;padding:8px 0.9375rem}.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 0.9375rem}.top-bar-section .dropdown li .button,.top-bar-section .dropdown li button{top:auto}.top-bar-section .dropdown label{padding:8px 0.9375rem 2px;margin-bottom:0;text-transform:uppercase;color:#777777;font-weight:bold;font-size:0.625rem}.js-generated{display:block}@media only screen and (min-width:40.063em){.top-bar{background:#333333;overflow:visible}.top-bar:before,.top-bar:after{content:" ";display:table}.top-bar:after{clear:both}.top-bar .toggle-topbar{display:none}.top-bar .title-area{float:left}.top-bar .name h1 a{width:auto}.top-bar input,.top-bar .button,.top-bar button{font-size:0.875rem;position:relative;height:1.75rem;top:0.53125rem}.top-bar.expanded{background:#333333}.contain-to-grid .top-bar{max-width:62.5rem;margin:0 auto;margin-bottom:0}.top-bar-section{transition:none 0 0;left:0 !important}.top-bar-section ul{width:auto;height:auto !important;display:inline}.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:#555555;background:#333333;color:#FFFFFF}.top-bar-section li:not(.has-form) a:not(.button){padding:0 0.9375rem;line-height:2.8125rem;background:#333333}.top-bar-section li:not(.has-form) a:not(.button):hover{background-color:#555555;background:#333333}.top-bar-section li.active:not(.has-form) a:not(.button){padding:0 0.9375rem;line-height:2.8125rem;color:#FFFFFF;background:#2b5e88}.top-bar-section li.active:not(.has-form) a:not(.button):hover{background:#255175;color:#FFFFFF}.top-bar-section .has-dropdown>a{padding-right:2.1875rem !important}.top-bar-section .has-dropdown>a:after{content:"";display:block;width:0;height:0;border:inset 5px;border-color:rgba(255,255,255,0.4) transparent transparent transparent;border-top-style:solid;margin-top:-2.5px;top:1.40625rem}.top-bar-section .has-dropdown.moved{position:relative}.top-bar-section .has-dropdown.moved>.dropdown{display:block;position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}.top-bar-section .has-dropdown.hover>.dropdown,.top-bar-section .has-dropdown.not-click:hover>.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}.top-bar-section .has-dropdown>a:focus+.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}.top-bar-section .has-dropdown .dropdown li.has-dropdown>a:after{border:none;content:"\00bb";top:1rem;margin-top:-1px;right:5px;line-height:1.2}.top-bar-section .dropdown{left:0;top:auto;background:transparent;min-width:100%}.top-bar-section .dropdown li a{color:#FFFFFF;line-height:2.8125rem;white-space:nowrap;padding:12px 0.9375rem;background:#333333}.top-bar-section .dropdown li:not(.has-form):not(.active)>a:not(.button){color:#FFFFFF;background:#333333}.top-bar-section .dropdown li:not(.has-form):not(.active):hover>a:not(.button){color:#FFFFFF;background-color:#555555;background:#333333}.top-bar-section .dropdown li label{white-space:nowrap;background:#333333}.top-bar-section .dropdown li .dropdown{left:100%;top:0}.top-bar-section>ul>.divider,.top-bar-section>ul>[role="separator"]{border-bottom:none;border-top:none;border-right:solid 1px #4e4e4e;clear:none;height:2.8125rem;width:0}.top-bar-section .has-form{background:#333333;padding:0 0.9375rem;height:2.8125rem}.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:#555555;background:#333333;color:#FFFFFF}.no-js .top-bar-section ul li:active>a{background:#2b5e88;color:#FFFFFF}.no-js .top-bar-section .has-dropdown:hover>.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}.no-js .top-bar-section .has-dropdown>a:focus+.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;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:#2b5e88;text-decoration:none;line-height:inherit}a:hover,a:focus{color:#255175}a img{border:none}p{font-family:inherit;font-weight:normal;font-size:1rem;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;line-height:1.35;font-style:italic}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-style:normal;color:#222222;text-rendering:optimizeLegibility;margin-top:0.2rem;margin-bottom:0.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-size:60%;color:#6f6f6f;line-height:0}h1{font-size:2.125rem}h2{font-size:1.6875rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1.125rem}h6{font-size:1rem}.subheader{line-height:1.4;color:#6f6f6f;font-weight:normal;margin-top:0.2rem;margin-bottom:0.5rem}hr{border:solid #DDDDDD;border-width:1px 0 0;clear:both;margin:1.25rem 0 1.1875rem;height:0}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:60%;line-height:inherit}code{font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#333333;background-color:#c9f6a2;border-width:1px;border-style:solid;border-color:#b3f37d;padding:0.125rem 0.3125rem 0.0625rem}ul,ol,dl{font-size:1rem;line-height:1.6;margin-bottom:1.25rem;list-style-position:outside;font-family:inherit}ul{margin-left:1.1rem}ul.no-bullet{margin-left:0}ul.no-bullet li ul,ul.no-bullet li ol{margin-left:1.25rem;margin-bottom:0;list-style:none}ul li ul,ul li ol{margin-left:1.25rem;margin-bottom:0}ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}ul.square{list-style-type:square;margin-left:1.1rem}ul.circle{list-style-type:circle;margin-left:1.1rem}ul.disc{list-style-type:disc;margin-left:1.1rem}ul.no-bullet{list-style:none}ol{margin-left:1.4rem}ol li ul,ol li ol{margin-left:1.25rem;margin-bottom:0}dl dt{margin-bottom:0.3rem;font-weight:bold}dl dd{margin-bottom:0.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#222;cursor:help}abbr{text-transform:none}abbr[title]{border-bottom:1px dotted #DDDDDD}blockquote{margin:0 0 1.25rem;padding:0.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #DDDDDD}blockquote cite{display:block;font-size:0.8125rem;color:#555555}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#555555}blockquote,blockquote p{line-height:1.6;color:#6f6f6f}.vcard{display:inline-block;margin:0 0 1.25rem 0;border:1px solid #DDDDDD;padding:0.625rem 0.75rem}.vcard li{margin:0;display:block}.vcard .fn{font-weight:bold;font-size:0.9375rem}.vevent .summary{font-weight:bold}.vevent abbr{cursor:default;text-decoration:none;font-weight:bold;border:none;padding:0 0.0625rem}@media only screen and (min-width:40.063em){h1,h2,h3,h4,h5,h6{line-height:1.4}h1{font-size:2.75rem}h2{font-size:2.3125rem}h3{font-size:1.6875rem}h4{font-size:1.4375rem}h5{font-size:1.125rem}h6{font-size:1rem}}.print-only{display:none !important}@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.5cm;}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.hide-on-print{display:none !important}.print-only{display:block !important}.hide-for-print{display:none !important}.show-for-print{display:inherit !important}}.off-canvas-wrap{-webkit-backface-visibility:hidden;position:relative;width:100%;overflow:hidden}.off-canvas-wrap.move-right,.off-canvas-wrap.move-left{min-height:100%;-webkit-overflow-scrolling:touch}.inner-wrap{position:relative;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.inner-wrap:before,.inner-wrap:after{content:" ";display:table}.inner-wrap:after{clear:both}.tab-bar{-webkit-backface-visibility:hidden;background:#333333;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:1.125rem}.left-small{width:2.8125rem;height:2.8125rem;position:absolute;top:0;border-right:solid 1px #1a1a1a;left:0}.right-small{width:2.8125rem;height:2.8125rem;position:absolute;top:0;border-left:solid 1px #1a1a1a;right:0}.tab-bar-section{padding:0 0.625rem;position:absolute;text-align:center;height:2.8125rem;top:0}@media only screen and (min-width:40.063em){.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{text-indent:2.1875rem;width:2.8125rem;height:2.8125rem;display:block;padding:0;color:#FFFFFF;position:relative;transform:translate3d(0, 0, 0)}.tab-bar .menu-icon span::after{content:"";position:absolute;display:block;height:0;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;width:15.625rem;top:0;bottom:0;position:absolute;overflow-x:hidden;overflow-y:auto;background:#333333;z-index:1001;box-sizing:content-box;transition:transform 500ms ease 0s;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;-ms-transform:translate(-100%, 0);-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.left-off-canvas-menu *{-webkit-backface-visibility:hidden}.right-off-canvas-menu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;overflow-x:hidden;overflow-y:auto;background:#333333;z-index:1001;box-sizing:content-box;transition:transform 500ms ease 0s;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;-ms-transform:translate(100%, 0);-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0}.right-off-canvas-menu *{-webkit-backface-visibility:hidden}ul.off-canvas-list{list-style-type:none;padding:0;margin:0}ul.off-canvas-list li label{display:block;padding:0.3rem 0.9375rem;color:#999999;text-transform:uppercase;font-size:0.75rem;font-weight:bold;background:#444444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0}ul.off-canvas-list li a{display:block;padding:0.6666666667rem;color:rgba(255,255,255,0.7);border-bottom:1px solid #262626;transition:background 300ms ease}ul.off-canvas-list li a:hover{background:#242424}.move-right>.inner-wrap{-ms-transform:translate(15.625rem, 0);-webkit-transform:translate3d(15.625rem, 0, 0);-moz-transform:translate3d(15.625rem, 0, 0);-ms-transform:translate3d(15.625rem, 0, 0);-o-transform:translate3d(15.625rem, 0, 0);transform:translate3d(15.625rem, 0, 0)}.move-right .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@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{-ms-transform:translate(-15.625rem, 0);-webkit-transform:translate3d(-15.625rem, 0, 0);-moz-transform:translate3d(-15.625rem, 0, 0);-ms-transform:translate3d(-15.625rem, 0, 0);-o-transform:translate3d(-15.625rem, 0, 0);transform:translate3d(-15.625rem, 0, 0)}.move-left .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width:40.063em){.move-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap .left-off-canvas-menu,.offcanvas-overlap .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@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;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@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;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width:40.063em){.offcanvas-overlap-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.no-csstransforms .left-off-canvas-menu{left:-15.625rem}.no-csstransforms .right-off-canvas-menu{right:-15.625rem}.no-csstransforms .move-left>.inner-wrap{right:15.625rem}.no-csstransforms .move-right>.inner-wrap{left:15.625rem}.left-submenu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;margin:0;overflow-x:hidden;overflow-y:auto;background:#333333;z-index:1002;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-transform:translate(-100%, 0);-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.left-submenu *{-webkit-backface-visibility:hidden}.left-submenu .back>a{padding:0.3rem 0.9375rem;color:#999999;text-transform:uppercase;font-weight:bold;background:#444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0}.left-submenu .back>a:hover{background:#303030;border-top:1px solid #5e5e5e;border-bottom:none}.left-submenu .back>a:before{content:"\AB";margin-right:0.5rem;display:inline}.left-submenu.move-right,.left-submenu.offcanvas-overlap-right,.left-submenu.offcanvas-overlap{-ms-transform:translate(0%, 0);-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)}.right-submenu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;margin:0;overflow-x:hidden;overflow-y:auto;background:#333333;z-index:1002;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-transform:translate(100%, 0);-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.right-submenu *{-webkit-backface-visibility:hidden}.right-submenu .back>a{padding:0.3rem 0.9375rem;color:#999999;text-transform:uppercase;font-weight:bold;background:#444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0}.right-submenu .back>a:hover{background:#303030;border-top:1px solid #5e5e5e;border-bottom:none}.right-submenu .back>a:after{content:"\BB";margin-left:0.5rem;display:inline}.right-submenu.move-left,.right-submenu.offcanvas-overlap-left,.right-submenu.offcanvas-overlap{-ms-transform:translate(0%, 0);-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)}.left-off-canvas-menu ul.off-canvas-list li.has-submenu>a:after{content:"\BB";margin-left:0.5rem;display:inline}.right-off-canvas-menu ul.off-canvas-list li.has-submenu>a:before{content:"\AB";margin-right:0.5rem;display:inline}@media only screen{.show-for-small-only,.show-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.hide-for-small-only,.hide-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.visible-for-small-only,.visible-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.hidden-for-small-only,.hidden-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 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 !important}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{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 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 !important}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{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 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 !important}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{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 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 !important}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{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 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 !important}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}@media print{.show-for-print{display:block}.hide-for-print{display:none}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}}body{background:url(../assets/back.jpg);background-repeat:repeat}body p{font-family:Arial,sans-serif;font-size:14px;color:#000}h1,h2{font-family:Times New Roman,sans-serif;color:#509d0f}h1{font-size:36px;margin:20px 0}h2{font-size:24px}.content{background:#fff;-webkit-box-shadow:5px 5px 10px 0px rgba(0,0,0,0.75);-moz-box-shadow:5px 5px 10px 0px rgba(0,0,0,0.75);box-shadow:5px 5px 10px 0px rgba(0,0,0,0.75)}header{background:url(../assets/header-swoosh.png);background-size:contain;background-repeat:no-repeat}header a{font-family:Arial,sans-serif;color:#fff}header .row{margin:0 -0.9375rem}.top-bar{background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #509d0f), color-stop(1, #2d6a29));background:-moz-linear-gradient(top, #509d0f 5%, #2d6a29 100%);background:-o-linear-gradient(top, bottom, #509d0f 5%, #2d6a29 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#509d0f', endColorstr='#2d6a29');float:none;text-align:center;height:auto;line-height:normal}.top-bar li,.top-bar a{display:inline-block;text-align:center}.top-bar a::hover,.top-bar li::hover a,.top-bar li::hover{text-shadow:1px 0 7px white,1px 0 0px white,1px 0 0px white}.top-bar-section{background:none;float:none;margin-left:auto;margin-right:auto;display:inline-block}.top-bar-section ul li{background:none;padding:0 5px}.top-bar-section ul li>a{display:block;font-family:Arial,sans-serif;font-size:16px;color:#fff}.top-bar-section li:not(.has-form) a:not(.button):hover{background:none;text-shadow:1px 0 7px white,1px 0 0px white,1px 0 0px white}.top-bar-section li:not(.has-form) a:not(.button):focus{background:none;text-shadow:1px 0 7px white,1px 0 0px white,1px 0 0px white}.top-bar-section li:not(.has-form) a:not(.button){background:none;padding:10px 0.4em;line-height:inherit}.top-bar-section .dropdown li a{color:#fff;text-decoration:none;background:rgba(0,56,91,0.7)}.top-bar-section .dropdown li:not(.has-form):not(.active)>a:not(.button){color:#fff;text-decoration:none;background:rgba(0,56,91,0.7)}.top-bar-section .dropdown li:not(.has-form):not(.active):hover>a:not(.button){background:rgba(0,56,91,0.7);text-shadow:1px 0 7px white,1px 0 0px white,1px 0 0px white}.top-bar-section .dropdown li:not(.has-form):not(.active):focus>a:not(.button){background:rgba(0,56,91,0.7);text-shadow:1px 0 7px white,1px 0 0px white,1px 0 0px white}.top-bar-section ul li:hover:not(.has-form)>a{background:none;text-shadow:1px 0 7px white,1px 0 0px white,1px 0 0px white}.top-bar-section>ul>li{position:relative}.top-bar-section>ul>li:before{color:#fff;content:"|";position:absolute;top:5px;left:-13px;font-size:20px;font-weight:bold;display:block;padding:0 10px}.top-bar-section>ul>li:first-child:before{content:none}.top-bar-section .has-dropdown>a{padding-right:0.4em !important}.top-bar-section .has-dropdown>a:after{display:none}.top-bar-section>ul>li .dropdown li a{border-bottom:1px dotted #fff}.top-bar-section>ul>li .dropdown li:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.top-bar-section>ul>li .dropdown li:last-child a{border-bottom:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.tab-bar{background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #509d0f), color-stop(1, #2d6a29));background:-moz-linear-gradient(top, #509d0f 5%, #2d6a29 100%);background:-o-linear-gradient(top, bottom, #509d0f 5%, #2d6a29 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#509d0f', endColorstr='#2d6a29')}.left-off-canvas-menu{background:#509d0f}.left-off-canvas-list{list-style:none}.left-off-canvas-list ul{list-style:none}.left-off-canvas-list li>ul{list-style:none}.left-off-canvas-list li a:hover,.left-off-canvas-list li a:focus{color:#fff;text-decoration:underline;text-decoration-color:#fff;text-shadow:1px 0 7px white,1px 0 0px white,1px 0 0px white}#phone{font-family:Times New Roman,sans-serif;font-size:24px;color:#083e62;float:right;margin-top:25px}#phone-2{font-family:Times New Roman,sans-serif;font-size:24px;color:#083e62;float:right;margin-top:75px}a.link{font-family:Times New Roman,sans-serif;font-size:14px;color:#2b5e88;text-decoration:underline;text-decoration-color:#2b5e88}footer p{font-family:Times New Roman,sans-serif;font-size:20px;color:#fff;padding-top:45px;display:inline-block;padding-right:15px}footer .row{margin:0 1.9375rem !important}#copy>.medium-12{text-align:center;height:110px}#copy>.small-12{text-align:center;height:auto}#copy p{font-size:14px;color:#fff;font-family:Times New Roman,sans-serif;margin-top:15px}#copy a{font-size:14px;color:#fff;text-decoration:underline;text-decoration-color:#fff;font-family:Times New Roman,sans-serif;margin-top:15px}#copy>.small-12{background:url(../assets/back.jpg)}img.framed{border:10px solid #2b5e88;margin-top:25px}.small-12>img.framed{display:block;clear:both;float:none;margin-left:auto;margin-right:auto;margin-top:40px}input[type="text"],textarea{display:inline;width:67%;height:1.59rem;padding:0;transition:none;box-shadow:none;float:right;margin-right:-10px}.logo{padding:25px 20px 10px}.small-12>.logo{margin:0}.large-8>.logo{margin-left:20px}.search{padding:0;margin-top:12px}#glass{background-image:url("../assets/search-icon.jpg");background-repeat:no-repeat;background-size:cover;border:6px solid #fff;height:24px;margin-left:10px;width:24px;padding:0;display:inherit}#main{margin:0 45px}#main>.row>.small-12,#main>.row>.medium-4{margin-left:-10px}#address{background:url(../assets/footer-swoosh.png);background-repeat:no-repeat;background-size:cover;margin:35px 0 0 !important;text-align:center}footer>#address>.small-12{padding-top:20px}footer>#address>.small-12 p{font-family:Times New Roman,sans-serif;font-size:16px;color:#fff;display:inline-block;padding-right:15px;padding-top:0;margin-bottom:0}footer h1{margin-left:-10px}#contact{color:#fff;text-decoration:underline;text-decoration-color:#fff;font-size:14px;margin-left:32px}#contact:hover{color:#fff;text-decoration:underline;text-decoration-color:#fff}.arrow{margin-top:-215px}#r-arrow{text-align:right}#mi{padding-top:15px}footer #part p{text-align:center;color:black;list-style:none;display:inherit;padding:0;margin:0;font-size:14px;text-align:inherit}#weather{text-align:center}#p-1{margin-top:33px}#p-2{margin-top:34px;margin-left:20px}#p-3{margin-top:45px;margin-left:-45px}#p-4{margin-top:48px;margin-left:-35px}#p-5{margin-top:35px;margin-left:-25px}#blocks{margin-top:30px}#blocks img{background-color:white;border:10px solid #2b5e88;box-shadow:2px 3px 7px -3px black}#weather-widget{margin-top:20px}#weather-widget .awesome-weather-wrap{background:url(../assets/Irvine_Park__Zoo.jpg) no-repeat scroll 0 0/cover rgba(0,0,0,0) !important}#search_button{padding:1px 0;border:solid white 3px;border-radius:5px;box-shadow:0 6px 12px -5px #9b9b9b;background:url("../assets/search-icon.jpg") no-repeat local 0 0/cover rgba(0,0,0,0)}#search_button:hover{background:url("../assets/search-icon.jpg") no-repeat local 0 0/cover rgba(0,0,0,0);border-color:#9acd68}.vcard{width:100%;background-color:rgba(255,255,255,0.6)}#copyright{padding:5px 20px;padding:5px 20px}#copyright p,#copyright a{color:white}#copyright span{color:white}@media only screen and (max-width: 40em){footer span,#copyright span{display:block;margin:10px 0;}}footer span.bullet,#copyright span.bullet{margin:0 2px}@media only screen and (max-width: 40em){footer span.bullet,#copyright span.bullet{display:none;}}aside.left-off-canvas-menu{background:transparent;background-color:#2b5e88;color:white}aside.left-off-canvas-menu li.page_item{display:block;overflow:hidden;position:relative}aside.left-off-canvas-menu .off-canvas-list ul li a{line-height:20px;color:white;border-bottom:1px solid #b1b3b6;background-repeat:no-repeat;background-position:3px 50%}aside.left-off-canvas-menu .off-canvas-list ul li a:hover{background-color:#509d0f;color:black}aside.left-off-canvas-menu li.page_item_has_children a.toggle{background:url('../assets/cceoem-arrow-mmenu.png');background-repeat:no-repeat;background-position:50% 3px;width:40px;height:100%;position:absolute;right:0;top:0;transition:none}aside.left-off-canvas-menu li.page_item_has_children a.toggle.open{background-position:50% -40px;border-bottom:0}aside.left-off-canvas-menu li.page_item_has_children a.toggle.open:hover{background-color:#2b5e88}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}.imgBorderMe{border:1px solid #dddfdd;border-radius:3px;box-shadow:1px 1px 3px rgba(0,0,0,0.05);padding-bottom:5px}.gallery li a img{display:block;width:100%}.gallery li img{border:1px solid #2797ab;box-sizing:border-box;height:auto}.photoimg img{margin-bottom:5px !important}#interior.container #main img{margin-bottom:15px}.gallery{margin-left:0}.gallery li a{display:block;overflow:hidden;width:100%}#media-photo-gallery div{clear:none;font-size:1em;height:auto;margin:0}.gallery li{background:none repeat scroll 0 0 #fdfdff;display:block;list-style:outside none none;float:left}.ngg-gallery-thumbnail img{background-color:#ffffff;border:none !important;margin:0 !important;padding:4px;position:relative}.photoTitle{color:#2b5e88}#blog-posts-container{margin:30px 0 60px 0}#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 .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{clear:both;padding:15px 0 0;position:relative;text-align:center}#searchform_container{margin-top:40px}#searchform{max-width:100%}.textarea-wrap textarea{min-height:200px;max-width:100%}.ninja-forms-form-wrap{margin-left:auto;margin-right:auto;margin-top:40px;max-width:550px}.ninja-forms-form-wrap input,.ninja-forms-form-wrap select,.ninja-forms-form-wrap textarea{min-height:40px;border-radius:4px;padding:4px}.ninja-forms-field-error{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;background:none repeat scroll 0 0 #c00000;border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-color:#c00000;border-image:none;border-style:solid;border-width:0 1px 1px;margin-top:-10px;margin-bottom:16px}.ninja-forms-field-error>p{color:#fff;font-size:12px;font-weight:bold;margin-top:-16px;padding:6px 4px;box-sizing:border-box;display:block;margin-bottom:0}.ninja-forms-success-msg>p,.ninja-forms-success-msg>div>p{color:#43AC6A;font-size:1.25rem;font-weight:bold}.honeypot-wrap{display:none}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}.alignright{float:right}.alignnone{float:none}.alignleft{float:left}.wp-caption{background:#008000;width:auto}.wp-caption-text{font-family:Open Sans,sans-serif;font-size:9px !important;color:#fff;font-style:italic;margin:0;padding:0 5px}.gallery-one-title{height:45px;font-size:0.8em;text-align:center;font-family:sans-serif;padding:5px}.gallery-holder{margin:10px 0 20px 0}@media (max-width: 640px){img.alignright,img.alignleft,img.aligncenter{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 (min-width: 40.063em){img.aligncenter,img.alignnone{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}} \ No newline at end of file diff --git a/footer.php b/footer.php index 6f88f37..b0c2ed6 100755 --- a/footer.php +++ b/footer.php @@ -6,19 +6,19 @@
- +
- +
- +
- +
- +
- +
- +
- +
- +
diff --git a/front-page.php b/front-page.php index 99c0a27..87e5bce 100755 --- a/front-page.php +++ b/front-page.php @@ -1,52 +1,20 @@
- -
- -
-
- -
+
-
- -

Title

-

Uptatiorrum ratatet quoditias as coquo ven dipitis et acea illabor oditi qasi aesto.

- Link -
-
- -

Title

-

Uptatiorrum ratatet quoditias as coquo ven dipitis et acea illabor oditi qasi aesto.

- Link -
-
- -

Title

-

Uptatiorrum ratatet quoditias as coquo ven dipitis et acea illabor oditi qasi aesto.

- Link -
-
- -

Title

-

Uptatiorrum ratatet quoditias as coquo ven dipitis et acea illabor oditi qasi aesto.

- Link -
-
- -

Title

-

Uptatiorrum ratatet quoditias as coquo ven dipitis et acea illabor oditi qasi aesto.

- Link -
-
- -

Title

-

Uptatiorrum ratatet quoditias as coquo ven dipitis et acea illabor oditi qasi aesto.

- Link +
+
@@ -54,10 +22,11 @@
-

Welcome

-

On this site you can find information about our organization, properties available for leasing, and support facilities that are available to help establish and support local businesses. Ease of access to a modern commercial airport and the close proximity of Interstate 75 help make our facility easy to find and easy to access. We currently have a number of tenants that engage in a variety of activities.

-

Ceatest assitas doluptatur si dolore, od mo et aut hilit que quossi sitia ne planimus re num alit latia consectat anis eum as voluptam aut aut liquiae porit volupta temporia dit omnis autem. Nequiae ne velenda epudaec usdaest dolesto to ditibus pliquuntur? Sediae aut moloritates re dolorerum secta nis nempost modicium aut quibust hicat quo et, nam harchit rem volut odis.

-

de vendundem quiducil moluptiunti dit laborrum veligen ectur, con pre nos dolorum ellabor eruptio nsequam es acepel molor maximpo rempelit, odit fugitat uriam, niatqui derferrum volo dellendis esse sum rehent volupta quaspel ent untiostibus ad eum sparum quodi ipit.

+ + + +

+
diff --git a/functions.php b/functions.php index 10a3e99..c6c50e8 100755 --- a/functions.php +++ b/functions.php @@ -66,14 +66,6 @@ function glm_page_menu($parent = 0, $class = '') } -function SearchFilter($query) { - if ($query->is_search) { - $query->set('post_type', 'post'); - } - return $query; -} -add_filter('pre_get_posts','SearchFilter'); - /** * glm_offcanvas_menu * @@ -87,7 +79,11 @@ function glm_offcanvas_menu() 'menu_class' => 'left-off-canvas-list' )); } -function preston_feather_scripts() + +add_theme_support('post-thumbnails'); +set_post_thumbnail_size(190, 190, true); + +function glm_site_scripts() { wp_enqueue_script( 'modernizr', @@ -118,7 +114,30 @@ function preston_feather_scripts() if(is_front_page()) { } + if(is_page('videos')) { + wp_enqueue_script('glm_ngg_video_gallery', get_template_directory_uri() . '/js/custom/glm-ngg-video-gallery.js','jquery','1.0.0', true ); + } } -add_action('wp_enqueue_scripts', 'preston_feather_scripts'); +add_action('wp_enqueue_scripts', 'glm_site_scripts'); + +/* Header for posts*/ +function GLM_get_header() { + echo ''; + echo ''; + echo '
'; + echo '
'; + echo '
'; + echo '
'; +} + + ?> \ No newline at end of file diff --git a/header.php b/header.php index 95af893..67149b3 100755 --- a/header.php +++ b/header.php @@ -22,13 +22,16 @@
- - +

906-495-5631

@@ -36,6 +39,25 @@

906-495-5631

+
+
+ +
+
diff --git a/home.php b/home.php new file mode 100644 index 0000000..a6ddd12 --- /dev/null +++ b/home.php @@ -0,0 +1,71 @@ + +
+ +
+ + +
+
+
+
+ +
> +
+ +

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

+
+ +
+
+ +

Recent Posts

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

Archive

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

Categories

+ +
+ diff --git a/js/app.js b/js/app.js index c3c8817..a5b3aa7 100755 --- a/js/app.js +++ b/js/app.js @@ -1 +1,12 @@ -$(document).foundation(); \ No newline at end of file +/* + * To avoid conflicts, Wordpress tends to prefer jQuery being used over $. + * As long as this file is included, no such conflicts should arise. Ensure it + * is called before other .js files using $. + */ + + +var $=jQuery.noConflict(); +;!function(a,b,c,d){"use strict";function e(a){return("string"==typeof a||a instanceof String)&&(a=a.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g,"")),a}var f=function(b){for(var c=b.length,d=a("head");c--;)0===d.has("."+b[c]).length&&d.append('')};f(["foundation-mq-small","foundation-mq-small-only","foundation-mq-medium","foundation-mq-medium-only","foundation-mq-large","foundation-mq-large-only","foundation-mq-xlarge","foundation-mq-xlarge-only","foundation-mq-xxlarge","foundation-data-attribute-namespace"]),a(function(){"undefined"!=typeof FastClick&&"undefined"!=typeof c.body&&FastClick.attach(c.body)});var g=function(b,d){if("string"==typeof b){if(d){var e;if(d.jquery){if(e=d[0],!e)return d}else e=d;return a(e.querySelectorAll(b))}return a(c.querySelectorAll(b))}return a(b,d)},h=function(a){var b=[];return a||b.push("data"),this.namespace.length>0&&b.push(this.namespace),b.push(this.name),b.join("-")},i=function(a){for(var b=a.split("-"),c=b.length,d=[];c--;)0!==c?d.push(b[c]):this.namespace.length>0?d.push(this.namespace,b[c]):d.push(b[c]);return d.reverse().join("-")},j=function(b,c){var d=this,e=!g(this).data(this.attr_name(!0));return g(this.scope).is("["+this.attr_name()+"]")?(g(this.scope).data(this.attr_name(!0)+"-init",a.extend({},this.settings,c||b,this.data_options(g(this.scope)))),e&&this.events(this.scope)):g("["+this.attr_name()+"]",this.scope).each(function(){var e=!g(this).data(d.attr_name(!0)+"-init");g(this).data(d.attr_name(!0)+"-init",a.extend({},d.settings,c||b,d.data_options(g(this)))),e&&d.events(this)}),"string"==typeof b?this[b].call(this,c):void 0},k=function(a,b){function c(){b(a[0])}function d(){if(this.one("load",c),/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var a=this.attr("src"),b=a.match(/\?/)?"&":"?";b+="random="+(new Date).getTime(),this.attr("src",a+b)}}return a.attr("src")?void(a[0].complete||4===a[0].readyState?c():d.call(a)):void c()};b.matchMedia=b.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(c),function(){function a(){c&&(f(a),h&&jQuery.fx.tick())}for(var c,d=0,e=["webkit","moz"],f=b.requestAnimationFrame,g=b.cancelAnimationFrame,h="undefined"!=typeof jQuery.fx;d").appendTo("head")[0].sheet,global:{namespace:d},init:function(a,c,d,e,f){var h=[a,d,e,f],i=[];if(this.rtl=/rtl/i.test(g("html").attr("dir")),this.scope=a||this.scope,this.set_namespace(),c&&"string"==typeof c&&!/reflow/i.test(c))this.libs.hasOwnProperty(c)&&i.push(this.init_lib(c,h));else for(var j in this.libs)i.push(this.init_lib(j,c));return g(b).load(function(){g(b).trigger("resize.fndtn.clearing").trigger("resize.fndtn.dropdown").trigger("resize.fndtn.equalizer").trigger("resize.fndtn.interchange").trigger("resize.fndtn.joyride").trigger("resize.fndtn.magellan").trigger("resize.fndtn.topbar").trigger("resize.fndtn.slider")}),a},init_lib:function(b,c){return this.libs.hasOwnProperty(b)?(this.patch(this.libs[b]),c&&c.hasOwnProperty(b)?("undefined"!=typeof this.libs[b].settings?a.extend(!0,this.libs[b].settings,c[b]):"undefined"!=typeof this.libs[b].defaults&&a.extend(!0,this.libs[b].defaults,c[b]),this.libs[b].init.apply(this.libs[b],[this.scope,c[b]])):(c=c instanceof Array?c:new Array(c),this.libs[b].init.apply(this.libs[b],c))):function(){}},patch:function(a){a.scope=this.scope,a.namespace=this.global.namespace,a.rtl=this.rtl,a.data_options=this.utils.data_options,a.attr_name=h,a.add_namespace=i,a.bindings=j,a.S=this.utils.S},inherit:function(a,b){for(var c=b.split(" "),d=c.length;d--;)this.utils.hasOwnProperty(c[d])&&(a[c[d]]=this.utils[c[d]])},set_namespace:function(){var b=this.global.namespace===d?a(".foundation-data-attribute-namespace").css("font-family"):this.global.namespace;this.global.namespace=b===d||/false/i.test(b)?"":b},libs:{},utils:{S:g,throttle:function(a,b){var c=null;return function(){var d=this,e=arguments;null==c&&(c=setTimeout(function(){a.apply(d,e),c=null},b))}},debounce:function(a,b,c){var d,e;return function(){var f=this,g=arguments,h=function(){d=null,c||(e=a.apply(f,g))},i=c&&!d;return clearTimeout(d),d=setTimeout(h,b),i&&(e=a.apply(f,g)),e}},data_options:function(b,c){function d(a){return!isNaN(a-0)&&null!==a&&""!==a&&a!==!1&&a!==!0}function e(b){return"string"==typeof b?a.trim(b):b}c=c||"options";var f,g,h,i={},j=function(a){var b=Foundation.global.namespace;return a.data(b.length>0?b+"-"+c:c)},k=j(b);if("object"==typeof k)return k;for(h=(k||":").split(";"),f=h.length;f--;)g=h[f].split(":"),g=[g[0],g.slice(1).join(":")],/true/i.test(g[1])&&(g[1]=!0),/false/i.test(g[1])&&(g[1]=!1),d(g[1])&&(g[1]=-1===g[1].indexOf(".")?parseInt(g[1],10):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+" }")}},image_loaded:function(a,b){var c=this,d=a.length;0===d&&b(a),a.each(function(){k(c.S(this),function(){d-=1,0===d&&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){"use strict";Foundation.libs.abide={name:"abide",version:"5.5.0",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):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,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){var b=c.getElementById(a.getAttribute(this.add_namespace("data-equalto"))).value,d=a.value,e=b===d;return e}}},timer:null,init:function(a,b,c){this.bindings(b,c)},events:function(b){var c=this,d=c.S(b).attr("novalidate","novalidate"),e=d.data(this.attr_name(!0)+"-init")||{};this.invalid_attr=this.add_namespace("data-invalid"),d.off(".abide").on("submit.fndtn.abide validate.fndtn.abide",function(a){var b=/ajax/i.test(c.S(this).attr(c.attr_name()));return c.validate(c.S(this).find("input, textarea, select").get(),a,b)}).on("reset",function(){return c.reset(a(this))}).find("input, textarea, select").off(".abide").on("blur.fndtn.abide change.fndtn.abide",function(a){e.validate_on_blur===!0&&c.validate([this],a)}).on("keydown.fndtn.abide",function(a){e.live_validate===!0&&9!=a.which&&(clearTimeout(c.timer),c.timer=setTimeout(function(){c.validate([this],a)}.bind(this),e.timeout))})},reset:function(b){b.removeAttr(this.invalid_attr),a(this.invalid_attr,b).removeAttr(this.invalid_attr),a("."+this.settings.error_class,b).not("small").removeClass(this.settings.error_class)},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").trigger("invalid.fndtn.abide"),this.S(a[h]).closest("form").attr(this.invalid_attr,""),!1;return(g||c)&&f.trigger("valid").trigger("valid.fndtn.abide"),f.removeAttr(this.invalid_attr),c?!1:!0},parse_patterns:function(a){for(var b=a.length,c=[];b--;)c.push(this.pattern(a[b]));return this.check_validation_and_apply_styles(c)},pattern:function(a){var b=a.getAttribute("type"),c="string"==typeof a.getAttribute("required"),d=a.getAttribute("pattern")||"";return this.settings.patterns.hasOwnProperty(d)&&d.length>0?[a,this.settings.patterns[d],c]:d.length>0?[a,new RegExp(d),c]:this.settings.patterns.hasOwnProperty(b)?[a,this.settings.patterns[b],c]:(d=/.*/,[a,d,c])},check_validation_and_apply_styles:function(b){var c=b.length,d=[],e=this.S(b[0][0]).closest("[data-"+this.attr_name(!0)+"]");for(e.data(this.attr_name(!0)+"-init")||{};c--;){var f,g,h=b[c][0],i=b[c][2],j=h.value.trim(),k=this.S(h).parent(),l=h.getAttribute(this.add_namespace("data-abide-validator")),m="radio"===h.type,n="checkbox"===h.type,o=this.S('label[for="'+h.getAttribute("id")+'"]'),p=i?h.value.length>0:!0,q=[];if(h.getAttribute(this.add_namespace("data-equalto"))&&(l="equalTo"),f=k.is("label")?k.parent():k,l&&(g=this.settings.validators[l].apply(this,[h,i,f]),q.push(g)),m&&i)q.push(this.valid_radio(h,i));else if(n&&i)q.push(this.valid_checkbox(h,i));else if(q.push(b[c][1].test(j)&&p||!i&&h.value.length<1||a(h).attr("disabled")?!0:!1),q=[q.every(function(a){return a})],q[0])this.S(h).removeAttr(this.invalid_attr),h.setAttribute("aria-invalid","false"),h.removeAttribute("aria-describedby"),f.removeClass(this.settings.error_class),o.length>0&&this.settings.error_labels&&o.removeClass(this.settings.error_class).removeAttr("role"),a(h).triggerHandler("valid");else{this.S(h).attr(this.invalid_attr,""),h.setAttribute("aria-invalid","true");var r=f.find("small."+this.settings.error_class,"span."+this.settings.error_class),s=r.length>0?r[0].id:"";s.length>0&&h.setAttribute("aria-describedby",s),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.push(q[0])}return d=[d.every(function(a){return a})]},valid_checkbox:function(a,b){var a=this.S(a),c=a.is(":checked")||!b;return c?a.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class):a.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),c},valid_radio:function(a){for(var b=a.getAttribute("name"),c=this.S(a).closest("[data-"+this.attr_name(!0)+"]").find("[name='"+b+"']"),d=c.length,e=!1,f=0;d>f;f++)c[f].checked&&(e=!0);for(var f=0;d>f;f++)e?this.S(c[f]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class):this.S(c[f]).attr(this.invalid_attr,"").parent().addClass(this.settings.error_class);return e},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}}}(jQuery,window,window.document),function(a){"use strict";Foundation.libs.accordion={name:"accordion",version:"5.5.0",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(){var b=this,c=this.S;c(this.scope).off(".fndtn.accordion").on("click.fndtn.accordion","["+this.attr_name()+"] > .accordion-navigation > a",function(d){var e=c(this).closest("["+b.attr_name()+"]"),f=b.attr_name()+"="+e.attr(b.attr_name()),g=e.data(b.attr_name(!0)+"-init")||b.settings,h=c("#"+this.href.split("#")[1]),i=a("> .accordion-navigation",e),j=i.children("."+g.content_class),k=j.filter("."+g.active_class);return d.preventDefault(),e.attr(b.attr_name())&&(j=j.add("["+f+"] dd > ."+g.content_class),i=i.add("["+f+"] .accordion-navigation")),g.toggleable&&h.is(k)?(h.parent(".accordion-navigation").toggleClass(g.active_class,!1),h.toggleClass(g.active_class,!1),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)),h.addClass(g.active_class).parent().addClass(g.active_class),g.callback(h),h.triggerHandler("toggled",[e]),void e.triggerHandler("toggled",[h]))})},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a){"use strict";Foundation.libs.alert={name:"alert",version:"5.5.0",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(){c(this).trigger("close").trigger("close.fndtn.alert").remove(),e.callback()})):d.fadeOut(300,function(){c(this).trigger("close").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.0",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(){var a=this,b=a.S;b(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(a){a.touches||(a=a.originalEvent);var c={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};b(this).data("swipe-transition",c),a.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(c){if(c.touches||(c=c.originalEvent),!(c.touches.length>1||c.scale&&1!==c.scale)){var d=b(this).data("swipe-transition");if("undefined"==typeof d&&(d={}),d.delta_x=c.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"),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;a("body").on("touchmove",function(a){a.preventDefault()}),m.error(function(){o=!0}),this.locked()||(l.trigger("open.fndtn.clearing"),m.attr("src",this.load(b)).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").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?(a.css({marginRight:-(a.outerWidth()/2),marginTop:-(a.outerHeight()/2),left:"auto",right:"50%"}),b.length>0&&b.css({marginRight:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10,left:"auto",right:"50%"})):(a.css({marginLeft:-(a.outerWidth()/2),marginTop:-(a.outerHeight()/2)}),b.length>0&&b.css({marginLeft:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10})),this},load:function(a){var b;return b="A"===a[0].nodeName?a.attr("href"):a.closest("a").attr("href"),this.preload(a),b?b:a.attr("src")},preload:function(a){this.img(a.closest("li").next()).img(a.closest("li").prev())},img:function(a){if(a.length){var b=new Image,c=this.S("a",a);b.src=c.length?c.attr("href"):this.S("img",a).attr("src")}return this},caption:function(a,b){var c=b.attr("data-caption");return c?a.html(c).show():a.text("").hide(),this},go:function(a,b){var c=this.S(".visible",a),d=c[b]();this.settings.skip_selector&&0!=d.find(this.settings.skip_selector).length&&(d=d[b]()),d.length&&this.S("img",d).trigger("click",[c,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){"use strict";Foundation.libs.dropdown={name:"dropdown",version:"5.5.0",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(){var c=this,d=c.S;d(this.scope).off(".dropdown").on("click.fndtn.dropdown","["+this.attr_name()+"]",function(b){var e=d(this).data(c.attr_name(!0)+"-init")||c.settings;(!e.is_hover||Modernizr.touch)&&(b.preventDefault(),d(this).parent("[data-reveal-id]")&&b.stopPropagation(),c.toggle(a(this)))}).on("mouseenter.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(a){var b,e,f=d(this);clearTimeout(c.timeout),f.data(c.data_attr())?(b=d("#"+f.data(c.data_attr())),e=f):(b=f,e=d("["+c.attr_name()+'="'+b.attr("id")+'"]'));var g=e.data(c.attr_name(!0)+"-init")||c.settings;d(a.currentTarget).data(c.data_attr())&&g.is_hover&&c.closeall.call(c),g.is_hover&&c.open.apply(c,[b,e])}).on("mouseleave.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(){var a,b=d(this);if(b.data(c.data_attr()))a=b.data(c.data_attr(!0)+"-init")||c.settings;else var e=d("["+c.attr_name()+'="'+d(this).attr("id")+'"]'),a=e.data(c.attr_name(!0)+"-init")||c.settings;c.timeout=setTimeout(function(){b.data(c.data_attr())?a.is_hover&&c.close.call(c,d("#"+b.data(c.data_attr()))):a.is_hover&&c.close.call(c,b)}.bind(this),a.hover_timeout)}).on("click.fndtn.dropdown",function(b){var e=d(b.target).closest("["+c.attr_name()+"-content]"),f=e.find("a");return f.length>0&&"false"!==e.attr("aria-autoclose")&&c.close.call(c,d("["+c.attr_name()+"-content]")),d(b.target).closest("["+c.attr_name()+"]").length>0?void 0:!d(b.target).data("revealId")&&e.length>0&&(d(b.target).is("["+c.attr_name()+"-content]")||a.contains(e.first()[0],b.target))?void b.stopPropagation():void c.close.call(c,d("["+c.attr_name()+"-content]"))}).on("opened.fndtn.dropdown","["+c.attr_name()+"-content]",function(){c.settings.opened.call(this)}).on("closed.fndtn.dropdown","["+c.attr_name()+"-content]",function(){c.settings.closed.call(this)}),d(b).off(".dropdown").on("resize.fndtn.dropdown",c.throttle(function(){c.resize.call(c)},50)),this.resize()},close:function(b){var c=this;b.each(function(){var d=a("["+c.attr_name()+"="+b[0].id+"]")||a("aria-controls="+b[0].id+"]");d.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").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").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 a=this.S("["+this.attr_name()+"-content].open"),b=this.S("["+this.attr_name()+'="'+a.attr("id")+'"]');a.length&&b.length&&this.css(a,b)},css:function(a,b){var c=Math.max((b.width()-a.width())/2,8),d=b.data(this.attr_name(!0)+"-init")||this.settings;if(this.clear_idx(),this.small()){var e=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:e.top}),a.css(Foundation.rtl?"right":"left",c)}else this.style(a,b,d);return a},style:function(b,c,d){var e=a.extend({position:"absolute"},this.dirs[d.align].call(b,c,d));b.attr("style","").css(e)},dirs:{_base:function(a){var d=this.offsetParent(),e=d.offset(),f=a.offset();f.top-=e.top,f.left-=e.left,f.missRight=!1,f.missTop=!1,f.missLeft=!1,f.leftRightFlag=!1;var g;g=c.getElementsByClassName("row")[0]?c.getElementsByClassName("row")[0].clientWidth:b.outerWidth;var h=(b.outerWidth-g)/2,i=g;return this.hasClass("mega")||(a.offset().top<=this.outerHeight()&&(f.missTop=!0,i=b.outerWidth-h,f.leftRightFlag=!0),a.offset().left+this.outerWidth()>a.offset().left+h&&a.offset().left-h>this.outerWidth()&&(f.missRight=!0,f.missLeft=!1),a.offset().left-this.outerWidth()<=0&&(f.missLeft=!0,f.missRight=!1)),f},top:function(a,b){var c=Foundation.libs.dropdown,d=c.dirs._base.call(this,a);return this.addClass("drop-top"),1==d.missTop&&(d.top=d.top+a.outerHeight()+this.outerHeight(),this.removeClass("drop-top")),1==d.missRight&&(d.left=d.left-this.outerWidth()+a.outerWidth()),(a.outerWidth()0)for(var d=this.S("["+this.add_namespace("data-uuid")+'="'+a+'"]');c--;){var e,f=b[c][2];if(e=matchMedia(this.settings.named_queries.hasOwnProperty(f)?this.settings.named_queries[f]:f),e.matches)return{el:d,scenario:b[c]}}return!1},load:function(a,b){return("undefined"==typeof this["cached_"+a]||b)&&this["update_"+a](),this["cached_"+a]},update_images:function(){var a=this.S("img["+this.data_attr+"]"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cache={},this.cached_images=[],this.images_loaded=0===b;c--;){if(d++,a[c]){var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_images.push(a[c])}d===b&&(this.images_loaded=!0,this.enhance("images"))}return this},update_nodes:function(){var a=this.S("["+this.data_attr+"]").not("img"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cached_nodes=[],this.nodes_loaded=0===b;c--;){d++;var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_nodes.push(a[c]),d===b&&(this.nodes_loaded=!0,this.enhance("nodes"))}return this},enhance:function(c){for(var d=this["cached_"+c].length;d--;)this.object(a(this["cached_"+c][d]));return a(b).trigger("resize").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];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)]},object:function(a){var b=this.parse_data_attr(a),c=[],d=b.length;if(d>0)for(;d--;){var e=b[d].split(/\((.*?)(\))$/);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.0",defaults:{expose:!1,modal:!0,keyboard:!0,tip_location:"bottom",nub_position:"auto",scroll_speed:1500,scroll_animation:"linear",timer:0,start_timer_on_click:!0,start_offset:0,next_button:!0,prev_button:!0,tip_animation:"fade",pause_after:[],exposed:[],tip_animation_fade_speed:300,cookie_monster:!1,cookie_name:"joyride",cookie_domain:!1,cookie_expires:365,tip_container:"body",abort_on_close:!0,tip_location_patterns:{top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},post_ride_callback:function(){},post_step_callback:function(){},pre_step_callback:function(){},pre_ride_callback:function(){},post_expose_callback:function(){},template:{link:'×',timer:'
',tip:'
',wrapper:'
',button:'',prev_button:'',modal:'
',expose:'
',expose_cover:'
'},expose_add_class:""},init:function(b,c,d){Foundation.inherit(this,"throttle random_str"),this.settings=this.settings||a.extend({},this.defaults,d||c),this.bindings(c,d)},go_next:function(){this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())},go_prev:function(){this.settings.$li.prev().length<1||(this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(null,!0),this.startTimer()):(this.hide(),this.show(null,!0)))},events:function(){var c=this;a(this.scope).off(".joyride").on("click.fndtn.joyride",".joyride-next-tip, .joyride-modal-bg",function(a){a.preventDefault(),this.go_next()}.bind(this)).on("click.fndtn.joyride",".joyride-prev-tip",function(a){a.preventDefault(),this.go_prev()}.bind(this)).on("click.fndtn.joyride",".joyride-close-tip",function(a){a.preventDefault(),this.end(this.settings.abort_on_close)}.bind(this)).on("keyup.fndtn.joyride",function(a){if(this.settings.keyboard&&this.settings.riding)switch(a.which){case 39:a.preventDefault(),this.go_next();break;case 37:a.preventDefault(),this.go_prev();break;case 27:a.preventDefault(),this.end(this.settings.abort_on_close)}}.bind(this)),a(b).off(".joyride").on("resize.fndtn.joyride",c.throttle(function(){if(a("["+c.attr_name()+"]").length>0&&c.settings.$next_tip&&c.settings.riding){if(c.settings.exposed.length>0){var b=a(c.settings.exposed);b.each(function(){var b=a(this);c.un_expose(b),c.expose(b)})}c.is_phone()?c.pos_phone():c.pos_default(!1)}},100))},start:function(){var b=this,c=a("["+this.attr_name()+"]",this.scope),d=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],e=d.length;!c.length>0||(this.settings.init||this.events(),this.settings=c.data(this.attr_name(!0)+"-init"),this.settings.$content_el=c,this.settings.$body=a(this.settings.tip_container),this.settings.body_offset=a(this.settings.tip_container).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,this.settings.riding=!0,"function"!=typeof a.cookie&&(this.settings.cookie_monster=!1),(!this.settings.cookie_monster||this.settings.cookie_monster&&!a.cookie(this.settings.cookie_name))&&(this.settings.$tip_content.each(function(c){var f=a(this);this.settings=a.extend({},b.defaults,b.data_options(f));for(var g=e;g--;)b.settings[d[g]]=parseInt(b.settings[d[g]],10);b.create({$li:f,index:c})}),!this.settings.start_timer_on_click&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")))},resume:function(){this.set_li(),this.show()},tip_template:function(b){var c,d;return b.tip_class=b.tip_class||"",c=a(this.settings.template.tip).addClass(b.tip_class),d=a.trim(a(b.li).html())+this.prev_button_text(b.prev_button_text,b.index)+this.button_text(b.button_text)+this.settings.template.link+this.timer_instance(b.index),c.append(a(this.settings.template.wrapper)),c.first().attr(this.add_namespace("data-index"),b.index),a(".joyride-content-wrapper",c).append(d),c[0]},timer_instance:function(b){var c;return c=0===b&&this.settings.start_timer_on_click&&this.settings.timer>0||0===this.settings.timer?"":a(this.settings.template.timer)[0].outerHTML},button_text:function(b){return this.settings.tip_settings.next_button?(b=a.trim(b)||"Next",b=a(this.settings.template.button).append(b)[0].outerHTML):b="",b},prev_button_text:function(b,c){return this.settings.tip_settings.prev_button?(b=a.trim(b)||"Previous",b=0==c?a(this.settings.template.prev_button).append(b).addClass("disabled")[0].outerHTML:a(this.settings.template.prev_button).append(b)[0].outerHTML):b="",b},create:function(b){this.settings.tip_settings=a.extend({},this.settings,this.data_options(b.$li));var c=b.$li.attr(this.add_namespace("data-button"))||b.$li.attr(this.add_namespace("data-text")),d=b.$li.attr(this.add_namespace("data-button-prev"))||b.$li.attr(this.add_namespace("data-prev-text")),e=b.$li.attr("class"),f=a(this.tip_template({tip_class:e,index:b.index,button_text:c,prev_button_text:d,li:b.$li}));a(this.settings.tip_container).append(f)},show:function(b,c){var e=null;if(this.settings.$li===d||-1===a.inArray(this.settings.$li.index(),this.settings.pause_after))if(this.settings.paused?this.settings.paused=!1:this.set_li(b,c),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0){if(b&&(this.settings.pre_ride_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.pre_step_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tip_settings=a.extend({},this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tip_settings.tip_location_pattern=this.settings.tip_location_patterns[this.settings.tip_settings.tip_location],!/body/i.test(this.settings.$target.selector)){var f=a(".joyride-modal-bg");/pop/i.test(this.settings.tipAnimation)?f.hide():f.fadeOut(this.settings.tipAnimationFadeSpeed),this.scroll_to()}this.is_phone()?this.pos_phone(!0):this.pos_default(!0),e=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tip_animation)?(e.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tip_animation)&&(e.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed).show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed)),this.settings.$current_tip=this.settings.$next_tip}else this.settings.$li&&this.settings.$target.length<1?this.show(b,c):this.end();else this.settings.paused=!0},is_phone:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||a(".joyride-modal-bg").hide(),this.settings.$current_tip.css("visibility","hidden"),setTimeout(a.proxy(function(){this.hide(),this.css("visibility","visible")},this.settings.$current_tip),0),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(a,b){a?(this.settings.$li=this.settings.$tip_content.eq(this.settings.start_offset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(this.settings.$li=b?this.settings.$li.prev():this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=a(".joyride-tip-guide").eq(this.settings.$li.index()),this.settings.$next_tip.data("closed","")},set_target:function(){var b=this.settings.$li.attr(this.add_namespace("data-class")),d=this.settings.$li.attr(this.add_namespace("data-id")),e=function(){return d?a(c.getElementById(d)):b?a("."+b).first():a("body")};this.settings.$target=e()},scroll_to:function(){var c,d;c=a(b).height()/2,d=Math.ceil(this.settings.$target.offset().top-c+this.settings.$next_tip.outerHeight()),0!=d&&a("html, body").stop().animate({scrollTop:d},this.settings.scroll_speed,"swing")},paused:function(){return-1===a.inArray(this.settings.$li.index()+1,this.settings.pause_after)},restart:function(){this.hide(),this.settings.$li=d,this.show("init")},pos_default:function(a){var b=this.settings.$next_tip.find(".joyride-nub"),c=Math.ceil(b.outerWidth()/2),d=Math.ceil(b.outerHeight()/2),e=a||!1;if(e&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),/body/i.test(this.settings.$target.selector))this.settings.$li.length&&this.pos_modal(b);else{var f=this.settings.tip_settings.tipAdjustmentY?parseInt(this.settings.tip_settings.tipAdjustmentY):0,g=this.settings.tip_settings.tipAdjustmentX?parseInt(this.settings.tip_settings.tipAdjustmentX):0;this.bottom()?(this.settings.$next_tip.css(this.rtl?{top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()+g}:{top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"top")):this.top()?(this.settings.$next_tip.css(this.rtl?{top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()}:{top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"bottom")):this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.outerWidth()+this.settings.$target.offset().left+c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.offset().left-this.settings.$next_tip.outerWidth()-c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"right")),!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts0&&arguments[0]instanceof a)e=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;e=this.settings.$target}return e.length<1?(b.console&&console.error("element not valid",e),!1):(c=a(this.settings.template.expose),this.settings.$body.append(c),c.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),d=a(this.settings.template.expose_cover),f={zIndex:e.css("z-index"),position:e.css("position")},g=null==e.attr("class")?"":e.attr("class"),e.css("z-index",parseInt(c.css("z-index"))+1),"static"==f.position&&e.css("position","relative"),e.data("expose-css",f),e.data("orig-class",g),e.attr("class",g+" "+this.settings.expose_add_class),d.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),this.settings.modal&&this.show_modal(),this.settings.$body.append(d),c.addClass(h),d.addClass(h),e.data("expose",h),this.settings.post_expose_callback(this.settings.$li.index(),this.settings.$next_tip,e),void this.add_exposed(e))},un_expose:function(){var c,d,e,f,g,h=!1;if(arguments.length>0&&arguments[0]instanceof a)d=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;d=this.settings.$target}return d.length<1?(b.console&&console.error("element not valid",d),!1):(c=d.data("expose"),e=a("."+c),arguments.length>1&&(h=arguments[1]),h===!0?a(".joyride-expose-wrapper,.joyride-expose-cover").remove():e.remove(),f=d.data("expose-css"),"auto"==f.zIndex?d.css("z-index",""):d.css("z-index",f.zIndex),f.position!=d.css("position")&&("static"==f.position?d.css("position",""):d.css("position",f.position)),g=d.data("orig-class"),d.attr("class",g),d.removeData("orig-classes"),d.removeData("expose"),d.removeData("expose-z-index"),void this.remove_exposed(d))},add_exposed:function(b){this.settings.exposed=this.settings.exposed||[],b instanceof a||"object"==typeof b?this.settings.exposed.push(b[0]):"string"==typeof b&&this.settings.exposed.push(b)},remove_exposed:function(b){var c,d;for(b instanceof a?c=b[0]:"string"==typeof b&&(c=b),this.settings.exposed=this.settings.exposed||[],d=this.settings.exposed.length;d--;)if(this.settings.exposed[d]==c)return void this.settings.exposed.splice(d,1)},center:function(){var c=a(b);return this.settings.$next_tip.css({top:(c.height()-this.settings.$next_tip.outerHeight())/2+c.scrollTop(),left:(c.width()-this.settings.$next_tip.outerWidth())/2+c.scrollLeft()}),!0},bottom:function(){return/bottom/i.test(this.settings.tip_settings.tip_location)},top:function(){return/top/i.test(this.settings.tip_settings.tip_location)},right:function(){return/right/i.test(this.settings.tip_settings.tip_location)},left:function(){return/left/i.test(this.settings.tip_settings.tip_location)},corners:function(c){var d=a(b),e=d.height()/2,f=Math.ceil(this.settings.$target.offset().top-e+this.settings.$next_tip.outerHeight()),g=d.width()+d.scrollLeft(),h=d.height()+f,i=d.height()+d.scrollTop(),j=d.scrollTop();return j>f&&(j=0>f?0:f),h>i&&(i=h),[c.offset().topc.offset().left]},visible:function(a){for(var b=a.length;b--;)if(a[b])return!1;return!0},nub_position:function(a,b,c){a.addClass("auto"===b?c:b)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(b){this.settings.cookie_monster&&a.cookie(this.settings.cookie_name,"ridden",{expires:this.settings.cookie_expires,domain:this.settings.cookie_domain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),a(this.scope).off("keyup.joyride"),this.settings.$next_tip.data("closed",!0),this.settings.riding=!1,a(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),("undefined"==typeof b||b===!1)&&(this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip),this.settings.post_ride_callback(this.settings.$li.index(),this.settings.$current_tip)),a(".joyride-tip-guide").remove()},off:function(){a(this.scope).off(".joyride"),a(b).off(".joyride"),a(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),a(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate),this.settings={}},reflow:function(){}}}(jQuery,window,window.document),function(a,b){"use strict";Foundation.libs["magellan-expedition"]={name:"magellan-expedition",version:"5.5.0",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 c=this,d=c.S,e=c.settings;c.set_expedition_position(),d(c.scope).off(".magellan").on("click.fndtn.magellan","["+c.add_namespace("data-magellan-arrival")+'] a[href^="#"]',function(b){b.preventDefault();var d=a(this).closest("["+c.attr_name()+"]"),e=d.data("magellan-expedition-init"),f=this.hash.split("#").join(""),g=a('a[name="'+f+'"]');0===g.length&&(g=a("#"+f));var h=g.offset().top-e.destination_threshold+1;e.offset_by_height&&(h-=d.outerHeight()),a("html, body").stop().animate({scrollTop:h},e.duration,e.easing,function(){history.pushState?history.pushState(null,null,"#"+f):location.hash="#"+f})}).on("scroll.fndtn.magellan",c.throttle(this.check_for_arrivals.bind(this),e.throttle_delay)),a(b).on("resize.fndtn.magellan",c.throttle(this.set_expedition_position.bind(this),e.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(){var c,d,e=a(this),f=e.data("magellan-expedition-init"),g=e.attr("styles");e.attr("style",""),c=e.offset().top+f.threshold,d=parseInt(e.data("magellan-fixed-top")),isNaN(d)||(b.settings.fixed_top=d),e.data(b.data_attr("magellan-top-offset"),c),e.attr("style",g)})},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(){var c=a(this).data(d.data_attr("magellan-arrival")),g=a("["+d.add_namespace("data-magellan-destination")+"="+c+"]");if(g.length>0){var h=g.offset().top-e.destination_threshold;return e.offset_by_height&&(h-=b.outerHeight()),h=Math.floor(h),{destination:g,arrival:a(this),top_offset:h,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")},reflow:function(){var b=this;a("["+b.add_namespace("data-magellan-expedition-clone")+"]",b.scope).remove()}}}(jQuery,window,window.document),function(a){"use strict";Foundation.libs.offcanvas={name:"offcanvas",version:"5.5.0",settings:{open_method:"move",close_on_click:!1},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this,c=b.S,d="",e="",f="";"move"===this.settings.open_method?(d="move-",e="right",f="left"):"overlap_single"===this.settings.open_method?(d="offcanvas-overlap-",e="right",f="left"):"overlap"===this.settings.open_method&&(d="offcanvas-overlap"),c(this.scope).off(".offcanvas").on("click.fndtn.offcanvas",".left-off-canvas-toggle",function(f){b.click_toggle_class(f,d+e),"overlap"!==b.settings.open_method&&c(".left-submenu").removeClass(d+e),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".left-off-canvas-menu a",function(f){var g=b.get_settings(f),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(f.preventDefault(),c(this).siblings(".left-submenu").toggleClass(d+e)):h.hasClass("back")&&(f.preventDefault(),h.parent().removeClass(d+e)):(b.hide.call(b,d+e,b.get_wrapper(f)),h.parent().removeClass(d+e)),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-toggle",function(e){b.click_toggle_class(e,d+f),"overlap"!==b.settings.open_method&&c(".right-submenu").removeClass(d+f),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-menu a",function(e){var g=b.get_settings(e),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".right-submenu").toggleClass(d+f)):h.hasClass("back")&&(e.preventDefault(),h.parent().removeClass(d+f)):(b.hide.call(b,d+f,b.get_wrapper(e)),h.parent().removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(g){b.click_remove_class(g,d+f),c(".right-submenu").removeClass(d+f),e&&(b.click_remove_class(g,d+e),c(".left-submenu").removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(c){b.click_remove_class(c,d+f),a(".left-off-canvas-toggle").attr("aria-expanded","false"),e&&(b.click_remove_class(c,d+e),a(".right-off-canvas-toggle").attr("aria-expanded","false"))})},toggle:function(a,b){b=b||this.get_wrapper(),b.is("."+a)?this.hide(a,b):this.show(a,b)},show:function(a,b){b=b||this.get_wrapper(),b.trigger("open").trigger("open.fndtn.offcanvas"),b.addClass(a)},hide:function(a,b){b=b||this.get_wrapper(),b.trigger("close").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){var c=a("
  1. ").attr("data-orbit-slide",b).on("click",p.link_bullet);l.append(c)}))},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.height()!=h.height()&&f.variable_height?q.animate({height:h.height()},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.height()>q.height()&&f.variable_height?q.animate({height:h.height()},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(){var b=a(this).attr("data-orbit-slide");if("string"==typeof b&&""!=(b=a.trim(b)))if(isNaN(parseInt(b))){var c=j.find("[data-orbit-slide="+b+"]");-1!=c.index()&&p._goto(c.index()+1)}else p._goto(parseInt(b))},p.timer_callback=function(){p._goto(r+1,!0)},p.compute_dimensions=function(){var b=a(p.slides().get(r)),c=b.height();f.variable_height||p.slides().each(function(){a(this).height()>c&&(c=a(this).height())}),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?b(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):b(this.scope).on("open.fndtn.reveal","["+a.attr_name()+"]",this.settings.open).on("opened.fndtn.reveal","["+a.attr_name()+"]",this.settings.opened).on("opened.fndtn.reveal","["+a.attr_name()+"]",this.open_video).on("close.fndtn.reveal","["+a.attr_name()+"]",this.settings.close).on("closed.fndtn.reveal","["+a.attr_name()+"]",this.settings.closed).on("closed.fndtn.reveal","["+a.attr_name()+"]",this.close_video),!0},key_up_on:function(){var a=this;return a.S("body").off("keyup.fndtn.reveal").on("keyup.fndtn.reveal",function(b){var c=a.S("["+a.attr_name()+"].open"),d=c.data(a.attr_name(!0)+"-init")||a.settings;d&&27===b.which&&d.close_on_esc&&!a.locked&&a.close.call(a,c)}),!0},key_up_off:function(){return this.S("body").off("keyup.fndtn.reveal"),!0},open:function(c,d){var e,f=this;c?"undefined"!=typeof c.selector?e=f.S("#"+c.data(f.data_attr("reveal-id"))).first():(e=f.S(this.scope),d=c):e=f.S(this.scope);var g=e.data(f.attr_name(!0)+"-init");if(g=g||this.settings,e.hasClass("open")&&c.attr("data-reveal-id")==e.attr("id"))return f.close(e);if(!e.hasClass("open")){var h=f.S("["+f.attr_name()+"].open");if("undefined"==typeof e.data("css-top")&&e.data("css-top",parseInt(e.css("top"),10)).data("offset",this.cache_offset(e)),this.key_up_on(e),e.trigger("open").trigger("open.fndtn.reveal"),h.length<1&&this.toggle_bg(e,!0),"string"==typeof d&&(d={url:d}),"undefined"!=typeof d&&d.url){var i="undefined"!=typeof d.success?d.success:null;a.extend(d,{success:function(b,c,d){if(a.isFunction(i)){var j=i(b,c,d);"string"==typeof j&&(b=j)}e.html(b),f.S(e).foundation("section","reflow"),f.S(e).children().foundation(),h.length>0&&f.hide(h,g.css.close),f.show(e,g.css.open)}}),a.ajax(d)}else h.length>0&&this.hide(h,g.css.close),this.show(e,g.css.open)}f.S(b).trigger("resize")},close:function(a){var a=a&&a.length?a:this.S(this.scope),b=this.S("["+this.attr_name()+"].open"),c=a.data(this.attr_name(!0)+"-init")||this.settings;b.length>0&&(this.locked=!0,this.key_up_off(a),a.trigger("close").trigger("close.fndtn.reveal"),this.toggle_bg(a,!1),this.hide(b,c.css.close,c))},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,e){var f=b.data(this.attr_name(!0)+"-init")||this.settings,g=f.bg_root_element;0===this.S("."+this.settings.bg_class).length&&(this.settings.bg=a("
    ",{"class":this.settings.bg_class}).appendTo(g).hide());var h=this.settings.bg.filter(":visible").length>0;e!=h&&((e==d?h:!e)?this.hide(this.settings.bg):this.show(this.settings.bg))},show:function(b,c){if(c){var d=b.data(this.attr_name(!0)+"-init")||this.settings,f=d.root_element;if(0===b.parent(f).length){var g=b.wrap('
    ').parent();b.on("closed.fndtn.reveal.wrapped",function(){b.detach().appendTo(g),b.unwrap().unbind("closed.fndtn.reveal.wrapped")}),b.detach().appendTo(f)}var h=e(d.animation);if(h.animate||(this.locked=!1),h.pop){c.top=a(f).scrollTop()-b.data("offset")+"px";var i={top:a(f).scrollTop()+b.data("css-top")+"px",opacity:1};return setTimeout(function(){return b.css(c).animate(i,d.animation_speed,"linear",function(){this.locked=!1,b.trigger("opened").trigger("opened.fndtn.reveal")}.bind(this)).addClass("open")}.bind(this),d.animation_speed/2)}if(h.fade){c.top=a(f).scrollTop()+b.data("css-top")+"px";var i={opacity:1};return setTimeout(function(){return b.css(c).animate(i,d.animation_speed,"linear",function(){this.locked=!1,b.trigger("opened").trigger("opened.fndtn.reveal")}.bind(this)).addClass("open")}.bind(this),d.animation_speed/2)}return b.css(c).show().css({opacity:1}).addClass("open").trigger("opened").trigger("opened.fndtn.reveal")}var d=this.settings;return e(d.animation).fade?b.fadeIn(d.animation_speed/2):(this.locked=!1,b.show())},hide:function(b,c){if(c){var d=b.data(this.attr_name(!0)+"-init")||this.settings,f=d.root_element,g=e(d.animation);if(g.animate||(this.locked=!1),g.pop){var h={top:-a(f).scrollTop()-b.data("offset")+"px",opacity:0};return setTimeout(function(){return b.animate(h,d.animation_speed,"linear",function(){this.locked=!1,b.css(c).trigger("closed").trigger("closed.fndtn.reveal")}.bind(this)).removeClass("open")}.bind(this),d.animation_speed/2)}if(g.fade){var h={opacity:0};return setTimeout(function(){return b.animate(h,d.animation_speed,"linear",function(){this.locked=!1,b.css(c).trigger("closed").trigger("closed.fndtn.reveal")}.bind(this)).removeClass("open")}.bind(this),d.animation_speed/2)}return b.hide().css(c).removeClass("open").trigger("closed").trigger("closed.fndtn.reveal")}var d=this.settings;return e(d.animation).fade?b.fadeOut(d.animation_speed/2):b.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);return a.hide(),b},off:function(){a(this.scope).off(".fndtn.reveal")},reflow:function(){}}}(jQuery,window,window.document),function(a,b){"use strict";Foundation.libs.slider={name:"slider",version:"5.5.0",settings:{start:0,end:100,step:1,precision:null,initial:null,display_selector:"",vertical:!1,trigger_input_change:!1,on_change:function(){}},cache:{},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c),this.reflow()},events:function(){var c=this;a(this.scope).off(".slider").on("mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider","["+c.attr_name()+"]:not(.disabled, [disabled]) .range-slider-handle",function(b){c.cache.active||(b.preventDefault(),c.set_active_slider(a(b.target)))}).on("mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider",function(d){if(c.cache.active)if(d.preventDefault(),a.data(c.cache.active[0],"settings").vertical){var e=0;d.pageY||(e=b.scrollY),c.calculate_position(c.cache.active,c.get_cursor_position(d,"y")+e)}else c.calculate_position(c.cache.active,c.get_cursor_position(d,"x"))}).on("mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider",function(){c.remove_active_slider()}).on("change.fndtn.slider",function(){c.settings.on_change()}),c.S(b).on("resize.fndtn.slider",c.throttle(function(){c.reflow()},300))},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").trigger("change.fndtn.slider"),k.val(c),d.trigger_input_change&&k.trigger("change"),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.hasOwnProperty("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()));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.0",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;this.bindings(b,c),this.handle_location_hash_change(),e("["+this.attr_name()+"] > .active > a",this.scope).each(function(){d.default_tab_hashes.push(this.hash)})},events:function(){var a=this,c=this.S,d=function(b){var d=c(this).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");(!d.is_hover||Modernizr.touch)&&(b.preventDefault(),b.stopPropagation(),a.toggle_active_tab(c(this).parent()))};c(this.scope).off(".tab").on("focus.fndtn.tab","["+this.attr_name()+"] > * > a",d).on("click.fndtn.tab","["+this.attr_name()+"] > * > a",d).on("mouseenter.fndtn.tab","["+this.attr_name()+"] > * > a",function(){var b=c(this).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");b.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.S,h=e.closest("["+this.attr_name()+"]"),i=e.find("a"),j=e.children("a").first(),k="#"+j.attr("href").split("#")[1],l=g(k),m=e.siblings(),n=h.data(this.attr_name(!0)+"-init"),o=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)};g(this).data(this.data_attr("tab-content"))&&(k="#"+g(this).data(this.data_attr("tab-content")).split("#")[1],l=g(k)),n.deep_linking&&(n.scroll_to_content?(b.location.hash=f||k,f==d||f==k?e.parent()[0].scrollIntoView():g(k)[0].scrollIntoView()):b.location.hash=f!=d?"fndtn-"+f.replace("#",""):"fndtn-"+k.replace("#","")),e.addClass(n.active_class).triggerHandler("opened"),i.attr({"aria-selected":"true",tabindex:0}),m.removeClass(n.active_class),m.find("a").attr({"aria-selected":"false",tabindex:-1}),l.siblings().removeClass(n.active_class).attr({"aria-hidden":"true",tabindex:-1}),l.addClass(n.active_class).attr("aria-hidden","false").removeAttr("tabindex"),n.callback(e),l.triggerHandler("toggled",[e]),h.triggerHandler("toggled",[l]),i.off("keydown").on("keydown",o)},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b){"use strict";Foundation.libs.tooltip={name:"tooltip",version:"5.5.0",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,hover_delay:200,show_on:"all",tip_template:function(a,b){return''+b+''}},cache:{},init:function(a,b,c){Foundation.inherit(this,"random_str"),this.bindings(b,c)},should_show:function(b){var c=a.extend({},this.settings,this.data_options(b));return"all"===c.show_on?!0:this.small()&&"small"===c.show_on?!0:this.medium()&&"medium"===c.show_on?!0:this.large()&&"large"===c.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){var c=this,d=c.S;c.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 e=d(this),f=a.extend({},c.settings,c.data_options(e)),g=!1;if(Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&d(b.target).is("a"))return!1;if(/mouse/i.test(b.type)&&c.ie_touch(b))return!1;if(e.hasClass("open"))Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&b.preventDefault(),c.hide(e);else{if(f.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type))return;!f.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&(b.preventDefault(),d(f.tooltip_class+".open").hide(),g=!0),/enter|over/i.test(b.type)?this.timer=setTimeout(function(){c.showTip(e)}.bind(this),c.settings.hover_delay):"mouseout"===b.type||"mouseleave"===b.type?(clearTimeout(this.timer),c.hide(e)):c.showTip(e)}}).on("mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"].open",function(b){return/mouse/i.test(b.type)&&c.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)?c.convert_to_touch(a(this)):c.hide(a(this))))}).on("DOMNodeRemoved DOMAttrModified","["+this.attr_name()+"]:not(a)",function(){c.hide(d(this))})},ie_touch:function(){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("id"),c=a.attr(this.attr_name())||a.attr("data-selector");return(b&&b.length<1||!b)&&"string"!=typeof c&&(c=this.random_str(6),a.attr("data-selector",c).attr("aria-describedby",c)),b&&b.length>0?b:c},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(){d.hide(c)})),c.removeAttr("title").attr("title","")},reposition:function(b,c,d){var e,f,g,h,i;if(c.css("visibility","hidden").show(),e=b.data("width"),f=c.children(".nub"),g=f.outerHeight(),h=f.outerHeight(),c.css(this.small()?{width:"100%"}:{width:e?e:"auto"}),i=function(a,b,c,d,e){return a.css({top:b?b:"auto",bottom:d?d:"auto",left:e?e:"auto",right:c?c:"auto"}).end()},i(c,b.offset().top+b.outerHeight()+10,"auto","auto",b.offset().left),this.small())i(c,b.offset().top+b.outerHeight()+10,"auto","auto",12.5,a(this.scope).width()),c.addClass("tip-override"),i(f,-g,"auto","auto",b.offset().left);else{var j=b.offset().left;Foundation.rtl&&(f.addClass("rtl"),j=b.offset().left+b.outerWidth()-c.outerWidth()),i(c,b.offset().top+b.outerHeight()+10,"auto","auto",j),c.removeClass("tip-override"),d&&d.indexOf("tip-top")>-1?(Foundation.rtl&&f.addClass("rtl"),i(c,b.offset().top-c.outerHeight(),"auto","auto",j).removeClass("tip-override")):d&&d.indexOf("tip-left")>-1?(i(c,b.offset().top+b.outerHeight()/2-c.outerHeight()/2,"auto","auto",b.offset().left-c.outerWidth()-g).removeClass("tip-override"),f.removeClass("rtl")):d&&d.indexOf("tip-right")>-1&&(i(c,b.offset().top+b.outerHeight()/2-c.outerHeight()/2,"auto","auto",b.offset().left+b.outerWidth()+g).removeClass("tip-override"),f.removeClass("rtl"))}c.css("visibility","visible").hide()},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},inheritable_classes:function(b){var c=a.extend({},this.settings,this.data_options(b)),d=["tip-top","tip-left","tip-bottom","tip-right","radius","round"].concat(c.additional_inheritable_classes),e=b.attr("class"),f=e?a.map(e.split(" "),function(b){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(){c.hide(b)})),b.data("tooltip-open-event-type","touch")},show:function(a){var b=this.getTip(a);"touch"==a.data("tooltip-open-event-type")&&this.convert_to_touch(a),this.reposition(a,b,a.attr("class")),a.addClass("open"),b.fadeIn(150)},hide:function(a){var b=this.getTip(a);b.fadeOut(150,function(){b.find(".tap-to-close").remove(),b.off("click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose"),a.removeClass("open")})},off:function(){var b=this;this.S(this.scope).off(".fndtn.tooltip"),this.S(this.settings.tooltip_class).each(function(c){a("["+b.attr_name()+"]").eq(c).attr("title",a(this).text())}).remove()},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c){"use strict";Foundation.libs.topbar={name:"topbar",version:"5.5.0",settings:{index:0,sticky_class:"sticky",custom_back_text:!0,back_text:"Back",mobile_show_parent_link:!0,is_hover:!0,scrolltop:!0,sticky_on:"all"},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);return d&&"all"===c.sticky_on?!0:d&&this.small()&&"small"===c.sticky_on?matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches&&!matchMedia(Foundation.media_queries.large).matches:d&&this.medium()&&"medium"===c.sticky_on?matchMedia(Foundation.media_queries.small).matches&&matchMedia(Foundation.media_queries.medium).matches&&!matchMedia(Foundation.media_queries.large).matches:d&&this.large()&&"large"===c.sticky_on?matchMedia(Foundation.media_queries.small).matches&&matchMedia(Foundation.media_queries.medium).matches&&matchMedia(Foundation.media_queries.large).matches:!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(){var c=this,d=this.S;d(this.scope).off(".topbar").on("click.fndtn.topbar","["+this.attr_name()+"] .toggle-topbar",function(a){a.preventDefault(),c.toggle(this)}).on("click.fndtn.topbar",'.top-bar .top-bar-section li a[href^="#"],['+this.attr_name()+'] .top-bar-section li a[href^="#"]',function(){var b=a(this).closest("li");!c.breakpoint()||b.hasClass("back")||b.hasClass("has-dropdown")||c.toggle()}).on("click.fndtn.topbar","["+this.attr_name()+"] li.has-dropdown",function(b){var e=d(this),f=d(b.target),g=e.closest("["+c.attr_name()+"]"),h=g.data(c.attr_name(!0)+"-init");return f.data("revealId")?void c.toggle():void(c.breakpoint()||(!h.is_hover||Modernizr.touch)&&(b.stopImmediatePropagation(),e.hasClass("hover")?(e.removeClass("hover").find("li").removeClass("hover"),e.parents("li.hover").removeClass("hover")):(e.addClass("hover"),a(e).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(c.breakpoint()){a.preventDefault();var b=d(this),e=b.closest("["+c.attr_name()+"]"),f=e.find("section, .top-bar-section"),g=(b.next(".dropdown").outerHeight(),b.closest("li"));e.data("index",e.data("index")+1),g.addClass("moved"),c.rtl?(f.css({right:-(100*e.data("index"))+"%"}),f.find(">.name").css({right:100*e.data("index")+"%"})):(f.css({left:-(100*e.data("index"))+"%"}),f.find(">.name").css({left:100*e.data("index")+"%"})),e.css("height",b.siblings("ul").outerHeight(!0)+e.data("height"))}}),d(b).off(".topbar").on("resize.fndtn.topbar",c.throttle(function(){c.resize.call(c)},50)).trigger("resize").trigger("resize.fndtn.topbar").load(function(){d(this).trigger("resize.fndtn.topbar")}),d("body").off(".topbar").on("click.fndtn.topbar",function(a){var b=d(a.target).closest("li").closest("li.hover");b.length>0||d("["+c.attr_name()+"] li.hover").removeClass("hover")}),d(this.scope).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown .back",function(a){a.preventDefault();var b=d(this),e=b.closest("["+c.attr_name()+"]"),f=e.find("section, .top-bar-section"),g=(e.data(c.attr_name(!0)+"-init"),b.closest("li.moved")),h=g.parent();e.data("index",e.data("index")-1),c.rtl?(f.css({right:-(100*e.data("index"))+"%"}),f.find(">.name").css({right:100*e.data("index")+"%"})):(f.css({left:-(100*e.data("index"))+"%"}),f.find(">.name").css({left:100*e.data("index")+"%"})),0===e.data("index")?e.css("height",""):e.css("height",h.outerHeight(!0)+e.data("height")),setTimeout(function(){g.removeClass("moved")},300)}),d(this.scope).find(".dropdown a").focus(function(){a(this).parents(".has-dropdown").addClass("hover")}).blur(function(){a(this).parents(".has-dropdown").removeClass("hover")})},resize:function(){var a=this;a.S("["+this.attr_name()+"]").each(function(){var b,d=a.S(this),e=d.data(a.attr_name(!0)+"-init"),f=d.parent("."+a.settings.sticky_class);if(!a.breakpoint()){var g=d.hasClass("expanded");d.css("height","").removeClass("expanded").find("li").removeClass("hover"),g&&a.toggle(d)}a.is_sticky(d,f,e)&&(f.hasClass("fixed")?(f.removeClass("fixed"),b=f.offset().top,a.S(c.body).hasClass("f-topbar-fixed")&&(b-=d.data("height")),d.data("stickyoffset",b),f.addClass("fixed")):(b=f.offset().top,d.data("stickyoffset",b)))})},breakpoint:function(){return!matchMedia(Foundation.media_queries.topbar).matches},small:function(){return matchMedia(Foundation.media_queries.small).matches},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},assemble:function(b){var c=this,d=b.data(this.attr_name(!0)+"-init"),e=c.S("section, .top-bar-section",b);e.detach(),c.S(".has-dropdown>a",e).each(function(){var b,e=c.S(this),f=e.siblings(".dropdown"),g=e.attr("href");f.find(".title.back").length||(b=a(1==d.mobile_show_parent_link&&g?'
  2. ":'
  3. '),a("h5>a",b).html(1==d.custom_back_text?d.back_text:"« "+e.html()),f.prepend(b))}),e.appendTo(b),this.sticky(),this.assembled(b)},assembled:function(b){b.data(this.attr_name(!0),a.extend({},b.data(this.attr_name(!0)),{assembled:!0}))},height:function(b){var c=0,d=this;return a("> li",b).each(function(){c+=d.S(this).outerHeight(!0)}),c},sticky:function(){var a=this;this.S(b).on("scroll",function(){a.update_sticky_positioning()})},update_sticky_positioning:function(){var a="."+this.settings.sticky_class,c=this.S(b),d=this;if(d.settings.sticky_topbar&&d.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(),this.settings)){var e=this.settings.sticky_topbar.data("stickyoffset");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/fastclick/lib/fastclick.js b/js/fastclick/lib/fastclick.js new file mode 100644 index 0000000..35a81d6 --- /dev/null +++ b/js/fastclick/lib/fastclick.js @@ -0,0 +1,821 @@ +/** + * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs. + * + * @version 1.0.3 + * @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) { + 'use strict'; + 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; + + 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; + } +} + + +/** + * Android requires exceptions. + * + * @type boolean + */ +var deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0; + + +/** + * iOS requires exceptions. + * + * @type boolean + */ +var deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent); + + +/** + * iOS 4 requires an exception for select elements. + * + * @type boolean + */ +var deviceIsIOS4 = deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent); + + +/** + * iOS 6.0(+?) requires the target element to be manually derived + * + * @type boolean + */ +var deviceIsIOSWithBadTarget = deviceIsIOS && (/OS ([6-9]|\d{2})_\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) { + 'use strict'; + 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 '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) { + 'use strict'; + 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) { + 'use strict'; + 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) { + 'use strict'; + + //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) { + 'use strict'; + var length; + + // Issue #160: on iOS 7, some input elements (e.g. date datetime) 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') { + 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) { + 'use strict'; + 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) { + 'use strict'; + + // 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) { + 'use strict'; + 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) { + 'use strict'; + 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) { + 'use strict'; + 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) { + 'use strict'; + + // 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) { + 'use strict'; + 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; + } + + // 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() { + 'use strict'; + this.trackingClick = false; + this.targetElement = null; +}; + + +/** + * Determine mouse events which should be permitted. + * + * @param {Event} event + * @returns {boolean} + */ +FastClick.prototype.onMouse = function(event) { + 'use strict'; + + // 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) { + 'use strict'; + 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() { + 'use strict'; + 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) { + 'use strict'; + var metaViewport; + var chromeVersion; + var blackberryVersion; + + // 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, which disables double-tap-to-zoom (issue #97) + if (layer.style.msTouchAction === 'none') { + 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) { + 'use strict'; + return new FastClick(layer, options); +}; + + +if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) { + + // AMD. Register as an anonymous module. + define(function() { + 'use strict'; + 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..fc92ee4 --- /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..8f3bfc8 --- /dev/null +++ b/js/foundation/css/normalize.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"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..870a32a --- /dev/null +++ b/js/foundation/js/foundation.js @@ -0,0 +1,5976 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2014, ZURB + * Free to use under the MIT license. + * http://www.opensource.org/licenses/mit-license.php +*/ + +(function ($, window, document, undefined) { + 'use strict'; + + var header_helpers = function (class_array) { + var i = class_array.length; + var head = $('head'); + + while (i--) { + if(head.has('.' + class_array[i]).length === 0) { + head.append(''); + } + } + }; + + header_helpers([ + 'foundation-mq-small', + 'foundation-mq-small-only', + 'foundation-mq-medium', + 'foundation-mq-medium-only', + 'foundation-mq-large', + 'foundation-mq-large-only', + 'foundation-mq-xlarge', + 'foundation-mq-xlarge-only', + 'foundation-mq-xxlarge', + 'foundation-data-attribute-namespace']); + + // Enable FastClick if present + + $(function() { + if (typeof FastClick !== 'undefined') { + // Don't attach to body if undefined + if (typeof document.body !== 'undefined') { + FastClick.attach(document.body); + } + } + }); + + // private Fast Selector wrapper, + // returns jQuery object. Only use where + // getElementById is not available. + var S = function (selector, context) { + if (typeof selector === 'string') { + if (context) { + var cont; + if (context.jquery) { + cont = context[0]; + if (!cont) return context; + } else { + cont = context; + } + return $(cont.querySelectorAll(selector)); + } + + return $(document.querySelectorAll(selector)); + } + + return $(selector, context); + }; + + // Namespace functions. + + var attr_name = function (init) { + var arr = []; + if (!init) arr.push('data'); + if (this.namespace.length > 0) arr.push(this.namespace); + arr.push(this.name); + + return arr.join('-'); + }; + + var add_namespace = function (str) { + var parts = str.split('-'), + i = parts.length, + arr = []; + + while (i--) { + if (i !== 0) { + arr.push(parts[i]); + } else { + if (this.namespace.length > 0) { + arr.push(this.namespace, parts[i]); + } else { + arr.push(parts[i]); + } + } + } + + return arr.reverse().join('-'); + }; + + // Event binding and data-options updating. + + var bindings = function (method, options) { + var self = this, + should_bind_events = !S(this).data(this.attr_name(true)); + + if (S(this.scope).is('[' + this.attr_name() +']')) { + S(this.scope).data(this.attr_name(true) + '-init', $.extend({}, this.settings, (options || method), this.data_options(S(this.scope)))); + + if (should_bind_events) { + this.events(this.scope); + } + + } else { + S('[' + this.attr_name() +']', this.scope).each(function () { + var should_bind_events = !S(this).data(self.attr_name(true) + '-init'); + S(this).data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options(S(this)))); + + if (should_bind_events) { + self.events(this); + } + }); + } + // # 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); + } + }; + + /* + https://github.com/paulirish/matchMedia.js + */ + + window.matchMedia = window.matchMedia || (function( doc ) { + + 'use strict'; + + var bool, + docElem = doc.documentElement, + refNode = docElem.firstElementChild || docElem.firstChild, + // fakeBody required for + fakeBody = doc.createElement( 'body' ), + div = doc.createElement( 'div' ); + + div.id = 'mq-test-1'; + div.style.cssText = 'position:absolute;top:-100em'; + fakeBody.style.background = 'none'; + fakeBody.appendChild(div); + + return function (q) { + + div.innerHTML = '­'; + + docElem.insertBefore( fakeBody, refNode ); + bool = div.offsetWidth === 42; + docElem.removeChild( fakeBody ); + + return { + matches: bool, + media: q + }; + + }; + + }( document )); + + /* + * jquery.requestAnimationFrame + * https://github.com/gnarf37/jquery-requestAnimationFrame + * Requires jQuery 1.8+ + * + * Copyright (c) 2012 Corey Frang + * Licensed under the MIT license. + */ + + (function($) { + + // 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); + }; + + } + + }( jQuery )); + + + function removeQuotes (string) { + if (typeof string === 'string' || string instanceof String) { + string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, ''); + } + + return string; + } + + window.Foundation = { + name : 'Foundation', + + version : '5.5.0', + + media_queries : { + 'small' : S('.foundation-mq-small').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'small-only' : S('.foundation-mq-small-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'medium' : S('.foundation-mq-medium').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'medium-only' : S('.foundation-mq-medium-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'large' : S('.foundation-mq-large').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'large-only' : S('.foundation-mq-large-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xlarge' : S('.foundation-mq-xlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xlarge-only' : S('.foundation-mq-xlarge-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xxlarge' : S('.foundation-mq-xxlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '') + }, + + stylesheet : $('').appendTo('head')[0].sheet, + + global: { + namespace: undefined + }, + + init : function (scope, libraries, method, options, response) { + var args = [scope, method, options, response], + responses = []; + + // check RTL + this.rtl = /rtl/i.test(S('html').attr('dir')); + + // set foundation global scope + this.scope = scope || this.scope; + + this.set_namespace(); + + if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) { + if (this.libs.hasOwnProperty(libraries)) { + responses.push(this.init_lib(libraries, args)); + } + } else { + for (var lib in this.libs) { + responses.push(this.init_lib(lib, libraries)); + } + } + + S(window).load(function(){ + S(window) + .trigger('resize.fndtn.clearing') + .trigger('resize.fndtn.dropdown') + .trigger('resize.fndtn.equalizer') + .trigger('resize.fndtn.interchange') + .trigger('resize.fndtn.joyride') + .trigger('resize.fndtn.magellan') + .trigger('resize.fndtn.topbar') + .trigger('resize.fndtn.slider'); + }); + + return scope; + }, + + init_lib : function (lib, args) { + if (this.libs.hasOwnProperty(lib)) { + this.patch(this.libs[lib]); + + if (args && args.hasOwnProperty(lib)) { + if (typeof this.libs[lib].settings !== 'undefined') { + $.extend(true, this.libs[lib].settings, args[lib]); + } + else if (typeof this.libs[lib].defaults !== 'undefined') { + $.extend(true, this.libs[lib].defaults, args[lib]); + } + return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]); + } + + args = args instanceof Array ? args : new Array(args); + return this.libs[lib].init.apply(this.libs[lib], args); + } + + return function () {}; + }, + + patch : function (lib) { + lib.scope = this.scope; + lib.namespace = this.global.namespace; + lib.rtl = this.rtl; + lib['data_options'] = this.utils.data_options; + lib['attr_name'] = attr_name; + lib['add_namespace'] = add_namespace; + lib['bindings'] = bindings; + lib['S'] = this.utils.S; + }, + + inherit : function (scope, methods) { + var methods_arr = methods.split(' '), + i = methods_arr.length; + + while (i--) { + if (this.utils.hasOwnProperty(methods_arr[i])) { + scope[methods_arr[i]] = this.utils[methods_arr[i]]; + } + } + }, + + set_namespace: function () { + + // Description: + // Don't bother reading the namespace out of the meta tag + // if the namespace has been set globally in javascript + // + // Example: + // Foundation.global.namespace = 'my-namespace'; + // or make it an empty string: + // Foundation.global.namespace = ''; + // + // + + // If the namespace has not been set (is undefined), try to read it out of the meta element. + // Otherwise use the globally defined namespace, even if it's empty ('') + var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace; + + // Finally, if the namsepace is either undefined or false, set it to an empty string. + // Otherwise use the namespace value. + this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace; + }, + + libs : {}, + + // methods that can be inherited in libraries + utils : { + + // Description: + // Fast Selector wrapper returns jQuery object. Only use where getElementById + // is not available. + // + // Arguments: + // Selector (String): CSS selector describing the element(s) to be + // returned as a jQuery object. + // + // Scope (String): CSS selector describing the area to be searched. Default + // is document. + // + // Returns: + // Element (jQuery Object): jQuery object containing elements matching the + // selector within the scope. + S : S, + + // Description: + // Executes a function a max of once every n milliseconds + // + // Arguments: + // Func (Function): Function to be throttled. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Returns: + // Lazy_function (Function): Function with throttling applied. + throttle : function (func, delay) { + var timer = null; + + return function () { + var context = this, args = arguments; + + if (timer == null) { + timer = setTimeout(function () { + func.apply(context, args); + timer = null; + }, delay); + } + }; + }, + + // Description: + // Executes a function when it stops being invoked for n seconds + // Modified version of _.debounce() http://underscorejs.org + // + // Arguments: + // Func (Function): Function to be debounced. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Immediate (Bool): Whether the function should be called at the beginning + // of the delay instead of the end. Default is false. + // + // Returns: + // Lazy_function (Function): Function with debouncing applied. + debounce : function (func, delay, immediate) { + var timeout, result; + return function () { + var context = this, args = arguments; + var later = function () { + timeout = null; + if (!immediate) result = func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, delay); + if (callNow) result = func.apply(context, args); + return result; + }; + }, + + // Description: + // Parses data-options attribute + // + // Arguments: + // El (jQuery Object): Element to be parsed. + // + // Returns: + // Options (Javascript Object): Contents of the element's data-options + // attribute. + data_options : function (el, data_attr_name) { + data_attr_name = data_attr_name || 'options'; + var opts = {}, ii, p, opts_arr, + data_options = function (el) { + var namespace = Foundation.global.namespace; + + if (namespace.length > 0) { + return el.data(namespace + '-' + data_attr_name); + } + + return el.data(data_attr_name); + }; + + var cached_options = data_options(el); + + if (typeof cached_options === 'object') { + return cached_options; + } + + opts_arr = (cached_options || ':').split(';'); + ii = opts_arr.length; + + function isNumber (o) { + return ! isNaN (o-0) && o !== null && o !== '' && o !== false && o !== true; + } + + function trim (str) { + if (typeof str === 'string') return $.trim(str); + return str; + } + + while (ii--) { + p = opts_arr[ii].split(':'); + p = [p[0], p.slice(1).join(':')]; + + if (/true/i.test(p[1])) p[1] = true; + if (/false/i.test(p[1])) p[1] = false; + if (isNumber(p[1])) { + if (p[1].indexOf('.') === -1) { + p[1] = parseInt(p[1], 10); + } else { + p[1] = parseFloat(p[1]); + } + } + + if (p.length === 2 && p[0].length > 0) { + opts[trim(p[0])] = trim(p[1]); + } + } + + return opts; + }, + + // Description: + // Adds JS-recognizable media queries + // + // Arguments: + // Media (String): Key string for the media query to be stored as in + // Foundation.media_queries + // + // Class (String): Class name for the generated tag + register_media : function (media, media_class) { + if(Foundation.media_queries[media] === undefined) { + $('head').append(''); + Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family')); + } + }, + + // Description: + // Add custom CSS within a JS-defined media query + // + // Arguments: + // Rule (String): CSS rule to be appended to the document. + // + // Media (String): Optional media query string for the CSS rule to be + // nested under. + add_custom_rule : function (rule, media) { + if (media === undefined && Foundation.stylesheet) { + Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length); + } else { + var query = Foundation.media_queries[media]; + + if (query !== undefined) { + Foundation.stylesheet.insertRule('@media ' + + Foundation.media_queries[media] + '{ ' + rule + ' }'); + } + } + }, + + // 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; + + if (unloaded === 0) { + 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.0', + + settings : { + live_validate : true, + validate_on_blur: true, + focus_on_invalid : true, + error_labels: true, // labels with a for="inputId" will recieve an `error` class + error_class: 'error', + timeout : 1000, + patterns : { + alpha: /^[a-zA-Z]+$/, + alpha_numeric : /^[a-zA-Z0-9]+$/, + integer: /^[-+]?\d+$/, + number: /^[-+]?\d*(?:[\.\,]\d+)?$/, + + // amex, visa, diners + card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/, + cvv : /^([0-9]){3,4}$/, + + // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address + email : /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/, + + url: /^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/, + // 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'); + + form + .off('.abide') + .on('submit.fndtn.abide validate.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').get(), e, is_ajax); + }) + .on('reset', function() { + return self.reset($(this)); + }) + .find('input, textarea, select') + .off('.abide') + .on('blur.fndtn.abide change.fndtn.abide', function (e) { + if (settings.validate_on_blur === true) { + self.validate([this], e); + } + }) + .on('keydown.fndtn.abide', function (e) { + if (settings.live_validate === true && e.which != 9) { + clearTimeout(self.timer); + self.timer = setTimeout(function () { + self.validate([this], e); + }.bind(this), settings.timeout); + } + }); + }, + + reset : function (form) { + form.removeAttr(this.invalid_attr); + $(this.invalid_attr, form).removeAttr(this.invalid_attr); + $('.' + this.settings.error_class, form).not('small').removeClass(this.settings.error_class); + }, + + 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').trigger('invalid.fndtn.abide'); + this.S(els[i]).closest('form').attr(this.invalid_attr, ''); + return false; + } + } + + if (submit_event || is_ajax) { + form.trigger('valid').trigger('valid.fndtn.abide'); + } + + form.removeAttr(this.invalid_attr); + + if (is_ajax) return false; + + return true; + }, + + parse_patterns : function (els) { + var i = els.length, + el_patterns = []; + + while (i--) { + el_patterns.push(this.pattern(els[i])); + } + + return this.check_validation_and_apply_styles(el_patterns); + }, + + pattern : function (el) { + var type = el.getAttribute('type'), + required = typeof el.getAttribute('required') === 'string'; + + var pattern = el.getAttribute('pattern') || ''; + + if (this.settings.patterns.hasOwnProperty(pattern) && pattern.length > 0) { + return [el, this.settings.patterns[pattern], required]; + } else if (pattern.length > 0) { + return [el, new RegExp(pattern), required]; + } + + if (this.settings.patterns.hasOwnProperty(type)) { + return [el, this.settings.patterns[type], required]; + } + + pattern = /.*/; + + return [el, pattern, required]; + }, + + // TODO: Break this up into smaller methods, getting hard to read. + check_validation_and_apply_styles : function (el_patterns) { + var i = el_patterns.length, + validations = [], + form = this.S(el_patterns[0][0]).closest('[data-' + this.attr_name(true) + ']'), + settings = form.data(this.attr_name(true) + '-init') || {}; + while (i--) { + var el = el_patterns[i][0], + required = el_patterns[i][2], + value = el.value.trim(), + direct_parent = this.S(el).parent(), + validator = el.getAttribute(this.add_namespace('data-abide-validator')), + is_radio = el.type === "radio", + is_checkbox = el.type === "checkbox", + label = this.S('label[for="' + el.getAttribute('id') + '"]'), + valid_length = (required) ? (el.value.length > 0) : true, + el_validations = []; + + var parent, valid; + + // support old way to do equalTo validations + if(el.getAttribute(this.add_namespace('data-equalto'))) { validator = "equalTo" } + + if (!direct_parent.is('label')) { + parent = direct_parent; + } else { + parent = direct_parent.parent(); + } + + if (validator) { + valid = this.settings.validators[validator].apply(this, [el, required, parent]); + el_validations.push(valid); + } + + 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 (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.push(el_validations[0]); + } + validations = [validations.every(function(valid){return valid;})]; + return validations; + }, + + valid_checkbox : function(el, required) { + var el = this.S(el), + valid = (el.is(':checked') || !required); + + 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); + } + + 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; + + // 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].checked) valid = true; + } + + // 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); + } else { + this.S(group[i]).attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + } + } + + 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; + } + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.accordion = { + name : 'accordion', + + version : '5.5.0', + + 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 () { + var self = this; + var S = this.S; + S(this.scope) + .off('.fndtn.accordion') + .on('click.fndtn.accordion', '[' + this.attr_name() + '] > .accordion-navigation > 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 = $('> .accordion-navigation', 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); + aunts = aunts.add('[' + groupSelector + '] .accordion-navigation'); + } + + if (settings.toggleable && target.is(active_content)) { + target.parent('.accordion-navigation').toggleClass(settings.active_class, false); + target.toggleClass(settings.active_class, false); + 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); + } + + target.addClass(settings.active_class).parent().addClass(settings.active_class); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + }); + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.alert = { + name : 'alert', + + version : '5.5.0', + + 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').trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } else { + alertBox.fadeOut(300, function () { + S(this).trigger('close').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.0', + + settings : { + templates : { + viewing : '×' + + '' + }, + + // comma delimited list of selectors that, on click, will close clearing, + // add 'div.clearing-blackout, div.visible-img' to close on background click + close_selectors : '.clearing-close, div.clearing-blackout', + + // Default to the entire li element. + open_selectors : '', + + // Image will be skipped in carousel. + skip_selector : '', + + touch_label : '', + + // event initializers and locks + init : false, + locked : false + }, + + init : function (scope, method, options) { + var self = this; + Foundation.inherit(this, 'throttle image_loaded'); + + this.bindings(method, options); + + if (self.S(this.scope).is('[' + this.attr_name() + ']')) { + this.assemble(self.S('li', this.scope)); + } else { + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + self.assemble(self.S('li', this)); + }); + } + }, + + events : function (scope) { + var self = this, + S = self.S, + $scroll_container = $('.scroll-container'); + + if ($scroll_container.length > 0) { + this.scope = $scroll_container; + } + + S(this.scope) + .off('.clearing') + .on('click.fndtn.clearing', 'ul[' + this.attr_name() + '] li ' + this.settings.open_selectors, + function (e, current, target) { + var current = current || S(this), + target = target || current, + next = current.next('li'), + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'), + image = S(e.target); + + e.preventDefault(); + + if (!settings) { + self.init(); + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + } + + // if clearing is open and the current image is + // clicked, go to the next image in sequence + if (target.hasClass('visible') && + current[0] === target[0] && + next.length > 0 && self.is_open(current)) { + target = next; + image = S('img', target); + } + + // set current and target to the clicked li if not otherwise defined. + self.open(image, current, target); + self.update_paddles(target); + }) + + .on('click.fndtn.clearing', '.clearing-main-next', + function (e) { self.nav(e, 'next') }) + .on('click.fndtn.clearing', '.clearing-main-prev', + function (e) { self.nav(e, 'prev') }) + .on('click.fndtn.clearing', this.settings.close_selectors, + function (e) { Foundation.libs.clearing.close(e, this) }); + + $(document).on('keydown.fndtn.clearing', + function (e) { self.keydown(e) }); + + S(window).off('.clearing').on('resize.fndtn.clearing', + function () { self.resize() }); + + this.swipe_events(scope); + }, + + swipe_events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .on('touchstart.fndtn.clearing', '.visible-img', function(e) { + if (!e.touches) { e = e.originalEvent; } + var data = { + start_page_x: e.touches[0].pageX, + start_page_y: e.touches[0].pageY, + start_time: (new Date()).getTime(), + delta_x: 0, + is_scrolling: undefined + }; + + S(this).data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.clearing', '.visible-img', function(e) { + if (!e.touches) { e = e.originalEvent; } + // Ignore pinch/zoom events + if(e.touches.length > 1 || e.scale && e.scale !== 1) return; + + var data = S(this).data('swipe-transition'); + + if (typeof data === 'undefined') { + data = {}; + } + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if (Foundation.rtl) { + data.delta_x = -data.delta_x; + } + + if (typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? 'next' : 'prev'; + data.active = true; + self.nav(e, direction); + } + }) + .on('touchend.fndtn.clearing', '.visible-img', function(e) { + S(this).data('swipe-transition', {}); + e.stopPropagation(); + }); + }, + + assemble : function ($li) { + var $el = $li.parent(); + + if ($el.parent().hasClass('carousel')) { + return; + } + + $el.after('
    '); + + var grid = $el.detach(), + grid_outerHTML = ''; + + if (grid[0] == null) { + return; + } else { + grid_outerHTML = grid[0].outerHTML; + } + + var holder = this.S('#foundationClearingHolder'), + settings = $el.data(this.attr_name(true) + '-init'), + data = { + grid: '', + viewing: settings.templates.viewing + }, + wrapper = '
    ' + data.viewing + + data.grid + '
    ', + touch_label = this.settings.touch_label; + + if (Modernizr.touch) { + wrapper = $(wrapper).find('.clearing-touch-label').html(touch_label).end(); + } + + holder.after(wrapper).remove(); + }, + + open : function ($image, current, target) { + var self = this, + body = $(document.body), + root = target.closest('.clearing-assembled'), + container = self.S('div', root).first(), + visible_image = self.S('.visible-img', container), + image = self.S('img', visible_image).not($image), + label = self.S('.clearing-touch-label', container), + error = false; + + // 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'); + // 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 + image + .attr('src', this.load($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').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) { + target.css({ + marginLeft : -(target.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2) + }); + + if (label.length > 0) { + label.css({ + marginLeft : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10 + }); + } + } else { + target.css({ + marginRight : -(target.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2), + left: 'auto', + right: '50%' + }); + + if (label.length > 0) { + 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; + + if ($image[0].nodeName === 'A') { + href = $image.attr('href'); + } else { + href = $image.closest('a').attr('href'); + } + + this.preload($image); + + if (href) return href; + return $image.attr('src'); + }, + + preload : function ($image) { + this + .img($image.closest('li').next()) + .img($image.closest('li').prev()); + }, + + img : function (img) { + if (img.length) { + var new_img = new Image(), + new_a = this.S('a', img); + + if (new_a.length) { + new_img.src = new_a.attr('href'); + } else { + new_img.src = this.S('img', img).attr('src'); + } + } + return this; + }, + + // image caption + + caption : function (container, $image) { + var caption = $image.attr('data-caption'); + + if (caption) { + container + .html(caption) + .show(); + } else { + container + .text('') + .hide(); + } + return this; + }, + + // directional methods + + go : function ($ul, direction) { + var current = this.S('.visible', $ul), + target = current[direction](); + + // Check for skip selector. + if (this.settings.skip_selector && target.find(this.settings.skip_selector).length != 0) { + target = target[direction](); + } + + if (target.length) { + this.S('img', target) + .trigger('click', [current, 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.0', + + 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]')) { + 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 (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 () { + var original_target = $('[' + self.attr_name() + '=' + dropdown[0].id + ']') || $('aria-controls=' + dropdown[0].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').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').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'), + target = this.S('[' + this.attr_name() + '="' + dropdown.attr('id') + '"]'); + + 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; + + 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); + } else { + + this.style(dropdown, target, settings); + } + + return dropdown; + }, + + style : function (dropdown, target, settings) { + var css = $.extend({position: 'absolute'}, + this.dirs[settings.align].call(dropdown, target, settings)); + + dropdown.attr('style', '').css(css); + }, + + // return CSS property object + // `this` is the dropdown + dirs : { + // Calculate target offset + _base : function (t) { + var o_p = this.offsetParent(), + o = o_p.offset(), + p = t.offset(); + + p.top -= o.top; + p.left -= o.left; + + //set some flags on the p object to pass along + p.missRight = false; + p.missTop = false; + p.missLeft = false; + p.leftRightFlag = false; + + //lets see if the panel will be off the screen + //get the actual width of the page and store it + var actualBodyWidth; + if (document.getElementsByClassName('row')[0]) { + actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth; + } else { + actualBodyWidth = window.outerWidth; + } + + var actualMarginWidth = (window.outerWidth - actualBodyWidth) / 2; + var actualBoundary = actualBodyWidth; + + if (!this.hasClass('mega')) { + //miss top + if (t.offset().top <= this.outerHeight()) { + p.missTop = true; + actualBoundary = window.outerWidth - actualMarginWidth; + p.leftRightFlag = true; + } + + //miss right + if (t.offset().left + this.outerWidth() > t.offset().left + actualMarginWidth && t.offset().left - actualMarginWidth > this.outerWidth()) { + p.missRight = true; + p.missLeft = false; + } + + //miss left + if (t.offset().left - this.outerWidth() <= 0) { + p.missLeft = true; + p.missRight = false; + } + } + + return p; + }, + + top: function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t); + + this.addClass('drop-top'); + + if (p.missTop == true) { + p.top = p.top + t.outerHeight() + this.outerHeight(); + this.removeClass('drop-top'); + } + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this,t,s,p); + } + + if (Foundation.rtl) { + return {left: p.left - this.outerWidth() + t.outerWidth(), + top: p.top - this.outerHeight()}; + } + + return {left: p.left, top: p.top - this.outerHeight()}; + }, + + bottom: function (t,s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this,t,s,p); + } + + if (self.rtl) { + return {left: p.left - this.outerWidth() + t.outerWidth(), top: p.top + t.outerHeight()}; + } + + return {left: p.left, top: p.top + t.outerHeight()}; + }, + + left: function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t); + + this.addClass('drop-left'); + + if (p.missLeft == true) { + p.left = p.left + this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-left'); + } + + return {left: p.left - this.outerWidth(), top: p.top}; + }, + + right: function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t); + + this.addClass('drop-right'); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-right'); + } else { + p.triggeredRight = true; + } + + var self = Foundation.libs.dropdown; + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this,t,s,p); + } + + return {left: p.left + t.outerWidth(), top: p.top}; + } + }, + + // Insert rule to style psuedo elements + adjust_pip : function (dropdown,target,settings,position) { + var sheet = Foundation.stylesheet, + pip_offset_base = 8; + + if (dropdown.hasClass(settings.mega_class)) { + pip_offset_base = position.left + (target.outerWidth()/2) - 8; + } + else if (this.small()) { + pip_offset_base += position.left - 8; + } + + this.rule_idx = sheet.cssRules.length; + + //default + var sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + + if (position.missRight == true) { + pip_offset_base = dropdown.outerWidth() - 23; + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + } + + //just a case where right is fired, but its not missing right + if (position.triggeredRight == true) { + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left:-12px;', + css_after = 'left:-14px;'; + } + + if (sheet.insertRule) { + sheet.insertRule([sel_before, '{', css_before, '}'].join(' '), this.rule_idx); + sheet.insertRule([sel_after, '{', css_after, '}'].join(' '), this.rule_idx + 1); + } else { + sheet.addRule(sel_before, css_before, this.rule_idx); + sheet.addRule(sel_after, css_after, this.rule_idx + 1); + } + }, + + // Remove old dropdown rule index + clear_idx : function () { + var sheet = Foundation.stylesheet; + + if (typeof this.rule_idx !== 'undefined') { + sheet.deleteRule(this.rule_idx); + sheet.deleteRule(this.rule_idx); + delete this.rule_idx; + } + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + off: function () { + this.S(this.scope).off('.fndtn.dropdown'); + this.S('html, body').off('.fndtn.dropdown'); + this.S(window).off('.fndtn.dropdown'); + this.S('[data-dropdown-content]').off('.fndtn.dropdown'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.equalizer = { + name : 'equalizer', + + version : '5.5.0', + + settings : { + use_tallest: true, + before_height_change: $.noop, + after_height_change: $.noop, + equalize_on_stack: 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, + vals = equalizer.find('[' + this.attr_name() + '-watch]:visible'), + settings = equalizer.data(this.attr_name(true)+'-init'); + + if (vals.length === 0) return; + var firstTopOffset = vals.first().offset().top; + settings.before_height_change(); + equalizer.trigger('before-height-change').trigger('before-height-change.fndth.equalizer'); + vals.height('inherit'); + vals.each(function(){ + var el = $(this); + if (el.offset().top !== firstTopOffset) { + isStacked = true; + } + }); + + if (settings.equalize_on_stack === 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').trigger('after-height-change.fndtn.equalizer'); + }, + + reflow : function () { + var self = this; + + this.S('[' + this.attr_name() + ']', this.scope).each(function(){ + var $eq_target = $(this); + self.image_loaded(self.S('img', this), function(){ + self.equalize($eq_target) + }); + }); + } + }; +})(jQuery, window, window.document); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.interchange = { + name : 'interchange', + + version : '5.5.0', + + 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 (/IMG/.test(el[0].nodeName)) { + var orig_path = el[0].src; + + if (new RegExp(path, 'i').test(orig_path)) return; + + el[0].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.load('images'); + this.load('nodes'); + }, + + 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 () { + if (arguments[0] instanceof Array) { + var args = arguments[0]; + } else { + var args = Array.prototype.slice.call(arguments, 0); + } + + passed.el.trigger(passed.scenario[1], args); + }); + } + } + } + + }, + + 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').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*$/), + media_query = scenario[1]; + + 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)]; + }, + + object : function(el) { + var raw_arr = this.parse_data_attr(el), + scenarios = [], + i = raw_arr.length; + + if (i > 0) { + while (i--) { + var split = raw_arr[i].split(/\((.*?)(\))$/); + + if (split.length > 1) { + var params = this.parse_scenario(split); + 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.0', + + defaults : { + expose : false, // turn on or off the expose feature + modal : true, // Whether to cover page with modal during the tour + keyboard : true, // enable left, right and esc keystrokes + tip_location : 'bottom', // 'top' or 'bottom' in relation to parent + nub_position : 'auto', // override on a per tooltip bases + scroll_speed : 1500, // Page scrolling speed in milliseconds, 0 = no scroll animation + scroll_animation : 'linear', // supports 'swing' and 'linear', extend with jQuery UI. + timer : 0, // 0 = no timer , all other numbers = timer in milliseconds + start_timer_on_click : true, // true or false - true requires clicking the first button start the timer + start_offset : 0, // the index of the tooltip you want to start on (index of the li) + next_button : true, // true or false to control whether a next button is used + prev_button : true, // true or false to control whether a prev button is used + tip_animation : 'fade', // 'pop' or 'fade' in each tip + pause_after : [], // array of indexes where to pause the tour after + exposed : [], // array of expose elements + tip_animation_fade_speed : 300, // when tipAnimation = 'fade' this is speed in milliseconds for the transition + cookie_monster : false, // true or false to control whether cookies are used + cookie_name : 'joyride', // Name the cookie you'll use + cookie_domain : false, // Will this cookie be attached to a domain, ie. '.notableapp.com' + cookie_expires : 365, // set when you would like the cookie to expire. + tip_container : 'body', // Where will the tip be attached + abort_on_close : true, // When true, the close event will not fire any callback + tip_location_patterns : { + top: ['bottom'], + bottom: [], // bottom should not need to be repositioned + left: ['right', 'top', 'bottom'], + right: ['left', 'top', 'bottom'] + }, + post_ride_callback : function (){}, // A method to call once the tour closes (canceled or complete) + post_step_callback : function (){}, // A method to call after each step + pre_step_callback : function (){}, // A method to call before each step + pre_ride_callback : function (){}, // A method to call before the tour starts (passed index, tip, and cloned exposed element) + post_expose_callback : function (){}, // A method to call after an element has been exposed + template : { // HTML segments for tip layout + link : '×', + timer : '
    ', + tip : '
    ', + wrapper : '
    ', + button : '', + prev_button : '', + modal : '
    ', + expose : '
    ', + expose_cover : '
    ' + }, + expose_add_class : '' // One or more space-separated class names to be added to exposed element + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.settings = this.settings || $.extend({}, this.defaults, (options || method)); + + this.bindings(method, options) + }, + + go_next : function() { + if (this.settings.$li.next().length < 1) { + this.end(); + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(); + this.startTimer(); + } else { + this.hide(); + this.show(); + } + }, + + go_prev : function() { + if (this.settings.$li.prev().length < 1) { + // Do nothing if there are no prev element + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(null, true); + this.startTimer(); + } else { + this.hide(); + this.show(null, true); + } + }, + + events : function () { + var self = this; + + $(this.scope) + .off('.joyride') + .on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) { + e.preventDefault(); + this.go_next() + }.bind(this)) + .on('click.fndtn.joyride', '.joyride-prev-tip', function (e) { + e.preventDefault(); + this.go_prev(); + }.bind(this)) + + .on('click.fndtn.joyride', '.joyride-close-tip', function (e) { + e.preventDefault(); + this.end(this.settings.abort_on_close); + }.bind(this)) + + .on('keyup.fndtn.joyride', function(e) { + // Don't do anything if keystrokes are disabled + // or if the joyride is not being shown + if (!this.settings.keyboard || !this.settings.riding) return; + + switch (e.which) { + case 39: // right arrow + e.preventDefault(); + this.go_next(); + break; + case 37: // left arrow + e.preventDefault(); + this.go_prev(); + break; + case 27: // escape + e.preventDefault(); + this.end(this.settings.abort_on_close); + } + }.bind(this)); + + $(window) + .off('.joyride') + .on('resize.fndtn.joyride', self.throttle(function () { + if ($('[' + self.attr_name() + ']').length > 0 && self.settings.$next_tip && self.settings.riding) { + if (self.settings.exposed.length > 0) { + var $els = $(self.settings.exposed); + + $els.each(function () { + var $this = $(this); + self.un_expose($this); + self.expose($this); + }); + } + + if (self.is_phone()) { + self.pos_phone(); + } else { + self.pos_default(false); + } + } + }, 100)); + }, + + start : function () { + var self = this, + $this = $('[' + this.attr_name() + ']', this.scope), + integer_settings = ['timer', 'scrollSpeed', 'startOffset', 'tipAnimationFadeSpeed', 'cookieExpires'], + int_settings_count = integer_settings.length; + + if (!$this.length > 0) return; + + if (!this.settings.init) this.events(); + + this.settings = $this.data(this.attr_name(true) + '-init'); + + // non configureable settings + this.settings.$content_el = $this; + this.settings.$body = $(this.settings.tip_container); + this.settings.body_offset = $(this.settings.tip_container).position(); + this.settings.$tip_content = this.settings.$content_el.find('> li'); + this.settings.paused = false; + this.settings.attempts = 0; + this.settings.riding = true; + + // can we create cookies? + if (typeof $.cookie !== 'function') { + this.settings.cookie_monster = false; + } + + // generate the tips and insert into dom. + if (!this.settings.cookie_monster || this.settings.cookie_monster && !$.cookie(this.settings.cookie_name)) { + this.settings.$tip_content.each(function (index) { + var $this = $(this); + this.settings = $.extend({}, self.defaults, self.data_options($this)); + + // Make sure that settings parsed from data_options are integers where necessary + var i = int_settings_count; + while (i--) { + self.settings[integer_settings[i]] = parseInt(self.settings[integer_settings[i]], 10); + } + self.create({$li : $this, index : index}); + }); + + // show first tip + if (!this.settings.start_timer_on_click && this.settings.timer > 0) { + this.show('init'); + this.startTimer(); + } else { + this.show('init'); + } + + } + }, + + resume : function () { + this.set_li(); + this.show(); + }, + + tip_template : function (opts) { + var $blank, content; + + opts.tip_class = opts.tip_class || ''; + + $blank = $(this.settings.template.tip).addClass(opts.tip_class); + content = $.trim($(opts.li).html()) + + this.prev_button_text(opts.prev_button_text, opts.index) + + this.button_text(opts.button_text) + + this.settings.template.link + + this.timer_instance(opts.index); + + $blank.append($(this.settings.template.wrapper)); + $blank.first().attr(this.add_namespace('data-index'), opts.index); + $('.joyride-content-wrapper', $blank).append(content); + + return $blank[0]; + }, + + timer_instance : function (index) { + var txt; + + if ((index === 0 && this.settings.start_timer_on_click && this.settings.timer > 0) || this.settings.timer === 0) { + txt = ''; + } else { + txt = $(this.settings.template.timer)[0].outerHTML; + } + return txt; + }, + + button_text : function (txt) { + if (this.settings.tip_settings.next_button) { + txt = $.trim(txt) || 'Next'; + txt = $(this.settings.template.button).append(txt)[0].outerHTML; + } else { + txt = ''; + } + return txt; + }, + + prev_button_text : function (txt, idx) { + if (this.settings.tip_settings.prev_button) { + txt = $.trim(txt) || 'Previous'; + + // Add the disabled class to the button if it's the first element + if (idx == 0) + txt = $(this.settings.template.prev_button).append(txt).addClass('disabled')[0].outerHTML; + else + txt = $(this.settings.template.prev_button).append(txt)[0].outerHTML; + } else { + txt = ''; + } + return txt; + }, + + create : function (opts) { + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(opts.$li)); + var buttonText = opts.$li.attr(this.add_namespace('data-button')) + || opts.$li.attr(this.add_namespace('data-text')), + prevButtonText = opts.$li.attr(this.add_namespace('data-button-prev')) + || opts.$li.attr(this.add_namespace('data-prev-text')), + tipClass = opts.$li.attr('class'), + $tip_content = $(this.tip_template({ + tip_class : tipClass, + index : opts.index, + button_text : buttonText, + prev_button_text : prevButtonText, + li : opts.$li + })); + + $(this.settings.tip_container).append($tip_content); + }, + + show : function (init, is_prev) { + var $timer = null; + + // are we paused? + if (this.settings.$li === undefined + || ($.inArray(this.settings.$li.index(), this.settings.pause_after) === -1)) { + + // don't go to the next li if the tour was paused + if (this.settings.paused) { + this.settings.paused = false; + } else { + this.set_li(init, is_prev); + } + + this.settings.attempts = 0; + + if (this.settings.$li.length && this.settings.$target.length > 0) { + if (init) { //run when we first start + this.settings.pre_ride_callback(this.settings.$li.index(), this.settings.$next_tip); + if (this.settings.modal) { + this.show_modal(); + } + } + + this.settings.pre_step_callback(this.settings.$li.index(), this.settings.$next_tip); + + if (this.settings.modal && this.settings.expose) { + this.expose(); + } + + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(this.settings.$li)); + + this.settings.timer = parseInt(this.settings.timer, 10); + + this.settings.tip_settings.tip_location_pattern = this.settings.tip_location_patterns[this.settings.tip_settings.tip_location]; + + // scroll and hide bg if not modal + if (!/body/i.test(this.settings.$target.selector)) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (/pop/i.test(this.settings.tipAnimation)) { + joyridemodalbg.hide(); + } else { + joyridemodalbg.fadeOut(this.settings.tipAnimationFadeSpeed); + } + this.scroll_to(); + } + + if (this.is_phone()) { + this.pos_phone(true); + } else { + this.pos_default(true); + } + + $timer = this.settings.$next_tip.find('.joyride-timer-indicator'); + + if (/pop/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip.show(); + + setTimeout(function () { + $timer.animate({ + width: $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.show(); + + } + + + } else if (/fade/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip + .fadeIn(this.settings.tip_animation_fade_speed) + .show(); + + setTimeout(function () { + $timer.animate({ + width: $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed); + } + } + + this.settings.$current_tip = this.settings.$next_tip; + + // skip non-existant targets + } else if (this.settings.$li && this.settings.$target.length < 1) { + + this.show(init, is_prev); + + } else { + + this.end(); + + } + } else { + + this.settings.paused = true; + + } + + }, + + is_phone : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + hide : function () { + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + if (!this.settings.modal) { + $('.joyride-modal-bg').hide(); + } + + // Prevent scroll bouncing...wait to remove from layout + this.settings.$current_tip.css('visibility', 'hidden'); + setTimeout($.proxy(function() { + this.hide(); + this.css('visibility', 'visible'); + }, this.settings.$current_tip), 0); + this.settings.post_step_callback(this.settings.$li.index(), + this.settings.$current_tip); + }, + + set_li : function (init, is_prev) { + if (init) { + this.settings.$li = this.settings.$tip_content.eq(this.settings.start_offset); + this.set_next_tip(); + this.settings.$current_tip = this.settings.$next_tip; + } else { + if (is_prev) + this.settings.$li = this.settings.$li.prev(); + else + this.settings.$li = this.settings.$li.next(); + this.set_next_tip(); + } + + this.set_target(); + }, + + set_next_tip : function () { + this.settings.$next_tip = $('.joyride-tip-guide').eq(this.settings.$li.index()); + this.settings.$next_tip.data('closed', ''); + }, + + set_target : function () { + var cl = this.settings.$li.attr(this.add_namespace('data-class')), + id = this.settings.$li.attr(this.add_namespace('data-id')), + $sel = function () { + if (id) { + return $(document.getElementById(id)); + } else if (cl) { + return $('.' + cl).first(); + } else { + return $('body'); + } + }; + + this.settings.$target = $sel(); + }, + + scroll_to : function () { + var window_half, tipOffset; + + window_half = $(window).height() / 2; + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()); + + if (tipOffset != 0) { + $('html, body').stop().animate({ + scrollTop: tipOffset + }, this.settings.scroll_speed, 'swing'); + } + }, + + paused : function () { + return ($.inArray((this.settings.$li.index() + 1), this.settings.pause_after) === -1); + }, + + restart : function () { + this.hide(); + this.settings.$li = undefined; + this.show('init'); + }, + + pos_default : function (init) { + var $nub = this.settings.$next_tip.find('.joyride-nub'), + nub_width = Math.ceil($nub.outerWidth() / 2), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + // tip must not be "display: none" to calculate position + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0, + leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0; + + if (this.bottom()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top: (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left: this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth() + leftAdjustment}); + } else { + this.settings.$next_tip.css({ + top: (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left: this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'top'); + + } else if (this.top()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top: (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left: this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()}); + } else { + this.settings.$next_tip.css({ + top: (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left: this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'bottom'); + + } else if (this.right()) { + + this.settings.$next_tip.css({ + top: this.settings.$target.offset().top + topAdjustment, + left: (this.settings.$target.outerWidth() + this.settings.$target.offset().left + nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'left'); + + } else if (this.left()) { + + this.settings.$next_tip.css({ + top: this.settings.$target.offset().top + topAdjustment, + left: (this.settings.$target.offset().left - this.settings.$next_tip.outerWidth() - nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'right'); + + } + + if (!this.visible(this.corners(this.settings.$next_tip)) && this.settings.attempts < this.settings.tip_settings.tip_location_pattern.length) { + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + this.settings.tip_settings.tip_location = this.settings.tip_settings.tip_location_pattern[this.settings.attempts]; + + this.settings.attempts++; + + this.pos_default(); + + } + + } else if (this.settings.$li.length) { + + this.pos_modal($nub); + + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + + }, + + pos_phone : function (init) { + var tip_height = this.settings.$next_tip.outerHeight(), + tip_offset = this.settings.$next_tip.offset(), + target_height = this.settings.$target.outerHeight(), + $nub = $('.joyride-nub', this.settings.$next_tip), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + + if (this.top()) { + + this.settings.$next_tip.offset({top: this.settings.$target.offset().top - tip_height - nub_height}); + $nub.addClass('bottom'); + + } else { + + this.settings.$next_tip.offset({top: this.settings.$target.offset().top + target_height + nub_height}); + $nub.addClass('top'); + + } + + } else if (this.settings.$li.length) { + this.pos_modal($nub); + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + }, + + pos_modal : function ($nub) { + this.center(); + $nub.hide(); + + this.show_modal(); + }, + + show_modal : function () { + if (!this.settings.$next_tip.data('closed')) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (joyridemodalbg.length < 1) { + var joyridemodalbg = $(this.settings.template.modal); + joyridemodalbg.appendTo('body'); + } + + if (/pop/i.test(this.settings.tip_animation)) { + joyridemodalbg.show(); + } else { + joyridemodalbg.fadeIn(this.settings.tip_animation_fade_speed); + } + } + }, + + expose : function () { + var expose, + exposeCover, + el, + origCSS, + origClasses, + randId = 'expose-' + this.random_str(6); + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if(this.settings.$target && !/body/i.test(this.settings.$target.selector)){ + el = this.settings.$target; + } else { + return false; + } + + if(el.length < 1){ + if(window.console){ + console.error('element not valid', el); + } + return false; + } + + expose = $(this.settings.template.expose); + this.settings.$body.append(expose); + expose.css({ + top: el.offset().top, + left: el.offset().left, + width: el.outerWidth(true), + height: el.outerHeight(true) + }); + + exposeCover = $(this.settings.template.expose_cover); + + origCSS = { + zIndex: el.css('z-index'), + position: el.css('position') + }; + + origClasses = el.attr('class') == null ? '' : el.attr('class'); + + el.css('z-index',parseInt(expose.css('z-index'))+1); + + if (origCSS.position == 'static') { + el.css('position','relative'); + } + + el.data('expose-css',origCSS); + el.data('orig-class', origClasses); + el.attr('class', origClasses + ' ' + this.settings.expose_add_class); + + exposeCover.css({ + top: el.offset().top, + left: el.offset().left, + width: el.outerWidth(true), + height: el.outerHeight(true) + }); + + if (this.settings.modal) this.show_modal(); + + this.settings.$body.append(exposeCover); + expose.addClass(randId); + exposeCover.addClass(randId); + el.data('expose', randId); + this.settings.post_expose_callback(this.settings.$li.index(), this.settings.$next_tip, el); + this.add_exposed(el); + }, + + un_expose : function () { + var exposeId, + el, + expose , + origCSS, + origClasses, + clearAll = false; + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if(this.settings.$target && !/body/i.test(this.settings.$target.selector)){ + el = this.settings.$target; + } else { + return false; + } + + if(el.length < 1){ + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + exposeId = el.data('expose'); + expose = $('.' + exposeId); + + if (arguments.length > 1) { + clearAll = arguments[1]; + } + + if (clearAll === true) { + $('.joyride-expose-wrapper,.joyride-expose-cover').remove(); + } else { + expose.remove(); + } + + origCSS = el.data('expose-css'); + + if (origCSS.zIndex == 'auto') { + el.css('z-index', ''); + } else { + el.css('z-index', origCSS.zIndex); + } + + if (origCSS.position != el.css('position')) { + if(origCSS.position == 'static') {// this is default, no need to set it. + el.css('position', ''); + } else { + el.css('position', origCSS.position); + } + } + + origClasses = el.data('orig-class'); + el.attr('class', origClasses); + el.removeData('orig-classes'); + + el.removeData('expose'); + el.removeData('expose-z-index'); + this.remove_exposed(el); + }, + + add_exposed: function(el){ + this.settings.exposed = this.settings.exposed || []; + if (el instanceof $ || typeof el === 'object') { + this.settings.exposed.push(el[0]); + } else if (typeof el == 'string') { + this.settings.exposed.push(el); + } + }, + + remove_exposed: function(el){ + var search, i; + if (el instanceof $) { + search = el[0] + } else if (typeof el == 'string'){ + search = el; + } + + this.settings.exposed = this.settings.exposed || []; + i = this.settings.exposed.length; + + while (i--) { + if (this.settings.exposed[i] == search) { + this.settings.exposed.splice(i, 1); + return; + } + } + }, + + center : function () { + var $w = $(window); + + this.settings.$next_tip.css({ + top : ((($w.height() - this.settings.$next_tip.outerHeight()) / 2) + $w.scrollTop()), + left : ((($w.width() - this.settings.$next_tip.outerWidth()) / 2) + $w.scrollLeft()) + }); + + return true; + }, + + bottom : function () { + return /bottom/i.test(this.settings.tip_settings.tip_location); + }, + + top : function () { + return /top/i.test(this.settings.tip_settings.tip_location); + }, + + right : function () { + return /right/i.test(this.settings.tip_settings.tip_location); + }, + + left : function () { + return /left/i.test(this.settings.tip_settings.tip_location); + }, + + corners : function (el) { + var w = $(window), + window_half = w.height() / 2, + //using this to calculate since scroll may not have finished yet. + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()), + right = w.width() + w.scrollLeft(), + offsetBottom = w.height() + tipOffset, + bottom = w.height() + w.scrollTop(), + top = w.scrollTop(); + + if (tipOffset < top) { + if (tipOffset < 0) { + top = 0; + } else { + top = tipOffset; + } + } + + if (offsetBottom > bottom) { + bottom = offsetBottom; + } + + return [ + el.offset().top < top, + right < el.offset().left + el.outerWidth(), + bottom < el.offset().top + el.outerHeight(), + w.scrollLeft() > el.offset().left + ]; + }, + + visible : function (hidden_corners) { + var i = hidden_corners.length; + + while (i--) { + if (hidden_corners[i]) return false; + } + + return true; + }, + + nub_position : function (nub, pos, def) { + if (pos === 'auto') { + nub.addClass(def); + } else { + nub.addClass(pos); + } + }, + + startTimer : function () { + if (this.settings.$li.length) { + this.settings.automate = setTimeout(function () { + this.hide(); + this.show(); + this.startTimer(); + }.bind(this), this.settings.timer); + } else { + clearTimeout(this.settings.automate); + } + }, + + end : function (abort) { + if (this.settings.cookie_monster) { + $.cookie(this.settings.cookie_name, 'ridden', { expires: this.settings.cookie_expires, domain: this.settings.cookie_domain }); + } + + if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + } + + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + // Unplug keystrokes listener + $(this.scope).off('keyup.joyride') + + this.settings.$next_tip.data('closed', true); + this.settings.riding = false; + + $('.joyride-modal-bg').hide(); + this.settings.$current_tip.hide(); + + if (typeof abort === 'undefined' || abort === false) { + this.settings.post_step_callback(this.settings.$li.index(), this.settings.$current_tip); + this.settings.post_ride_callback(this.settings.$li.index(), this.settings.$current_tip); + } + + $('.joyride-tip-guide').remove(); + }, + + off : function () { + $(this.scope).off('.joyride'); + $(window).off('.joyride'); + $('.joyride-close-tip, .joyride-next-tip, .joyride-modal-bg').off('.joyride'); + $('.joyride-tip-guide, .joyride-modal-bg').remove(); + clearTimeout(this.settings.automate); + this.settings = {}; + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs['magellan-expedition'] = { + name : 'magellan-expedition', + + version : '5.5.0', + + 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) { + 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, '#'+hash); + } + else { + location.hash = '#'+hash; + } + }); + }) + .on('scroll.fndtn.magellan', self.throttle(this.check_for_arrivals.bind(this), settings.throttle_delay)); + + $(window) + .on('resize.fndtn.magellan', self.throttle(this.set_expedition_position.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'); + }, + + 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.0', + + settings : { + open_method: 'move', + close_on_click: false + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + move_class = '', + right_postfix = '', + left_postfix = ''; + + if (this.settings.open_method === 'move') { + move_class = 'move-'; + right_postfix = 'right'; + left_postfix = 'left'; + } else if (this.settings.open_method === 'overlap_single') { + move_class = 'offcanvas-overlap-'; + right_postfix = 'right'; + left_postfix = 'left'; + } else if (this.settings.open_method === 'overlap') { + move_class = 'offcanvas-overlap'; + } + + S(this.scope).off('.offcanvas') + .on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + right_postfix); + if (self.settings.open_method !== 'overlap'){ + S('.left-submenu').removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if(settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')){ + self.hide.call(self, move_class + right_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + right_postfix); + }else if(S(this).parent().hasClass('has-submenu')){ + e.preventDefault(); + S(this).siblings('.left-submenu').toggleClass(move_class + right_postfix); + }else if(parent.hasClass('back')){ + e.preventDefault(); + parent.parent().removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + left_postfix); + if (self.settings.open_method !== 'overlap'){ + S('.right-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if(settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')){ + self.hide.call(self, move_class + left_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + left_postfix); + }else if(S(this).parent().hasClass('has-submenu')){ + e.preventDefault(); + S(this).siblings('.right-submenu').toggleClass(move_class + left_postfix); + }else if(parent.hasClass('back')){ + e.preventDefault(); + parent.parent().removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + S('.right-submenu').removeClass(move_class + left_postfix); + if (right_postfix){ + self.click_remove_class(e, move_class + right_postfix); + S('.left-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + $('.left-off-canvas-toggle').attr('aria-expanded', 'false'); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + $('.right-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }); + }, + + toggle: function(class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + if ($off_canvas.is('.' + class_name)) { + this.hide(class_name, $off_canvas); + } else { + this.show(class_name, $off_canvas); + } + }, + + show: function(class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('open').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').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.height() != next.height() && settings.variable_height) { + slides_container.animate({'height': next.height()}, 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.height() > slides_container.height() && settings.variable_height) { + slides_container.animate({'height': next.height()}, 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.height(); + if (!settings.variable_height) { + self.slides().each(function(){ + if ($(this).height() > h) { h = $(this).height(); } + }); + } + 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.0', + + settings: { + animation: 'slide', + timer_speed: 10000, + pause_on_hover: true, + resume_on_mouseout: false, + next_on_click: true, + animation_speed: 500, + stack_on_small: false, + navigation_arrows: true, + slide_number: true, + slide_number_text: 'of', + container_class: 'orbit-container', + stack_on_small_class: 'orbit-stack-on-small', + next_class: 'orbit-next', + prev_class: 'orbit-prev', + timer_container_class: 'orbit-timer', + timer_paused_class: 'paused', + timer_progress_class: 'orbit-progress', + slides_container_class: 'orbit-slides-container', + preloader_class: 'preloader', + slide_selector: '*', + bullets_container_class: 'orbit-bullets', + bullets_active_class: 'active', + slide_number_class: 'orbit-slide-number', + caption_class: 'orbit-caption', + active_slide_class: 'active', + orbit_transition_class: 'orbit-transitioning', + bullets: true, + circular: true, + timer: true, + variable_height: false, + swipe: true, + before_slide_change: noop, + after_slide_change: noop + }, + + init : function (scope, method, options) { + var self = this; + this.bindings(method, options); + }, + + events : function (instance) { + var orbit_instance = new Orbit(this.S(instance), this.S(instance).data('orbit-init')); + this.S(instance).data(this.name + '-instance', orbit_instance); + }, + + reflow : function () { + var self = this; + + if (self.S(self.scope).is('[data-orbit]')) { + var $el = self.S(self.scope); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + } else { + self.S('[data-orbit]', self.scope).each(function(idx, el) { + var $el = self.S(el); + var opts = self.data_options($el); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + }); + } + } + }; + + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.reveal = { + name : 'reveal', + + version : '5.5.0', + + locked : false, + + settings : { + animation: 'fadeAndPop', + animation_speed: 250, + close_on_background_click: true, + close_on_esc: true, + dismiss_modal_class: 'close-reveal-modal', + bg_class: 'reveal-modal-bg', + bg_root_element: 'body', + root_element: 'body', + open: function(){}, + opened: function(){}, + close: function(){}, + closed: function(){}, + 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')); + + 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}); + } + } + }); + + 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') : S(this).closest('[' + self.attr_name() + ']')); + } + }); + + if(S('[' + self.attr_name() + ']', this.scope).length > 0) { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', this.settings.open) + .on('opened.fndtn.reveal', this.settings.opened) + .on('opened.fndtn.reveal', this.open_video) + .on('close.fndtn.reveal', this.settings.close) + .on('closed.fndtn.reveal', this.settings.closed) + .on('closed.fndtn.reveal', this.close_video); + } else { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.open) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.opened) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.open_video) + .on('close.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.close) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.closed) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.close_video); + } + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_on : function (scope) { + var self = this; + + // PATCH #1: fixing multiple keyup event trigger from single key press + self.S('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) { + var open_modal = self.S('[' + self.attr_name() + '].open'), + settings = open_modal.data(self.attr_name(true) + '-init') || self.settings ; + // PATCH #2: making sure that the close event can be called only while unlocked, + // so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window. + if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key + self.close.call(self, open_modal); + } + }); + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_off : function (scope) { + this.S('body').off('keyup.fndtn.reveal'); + return true; + }, + + + open : function (target, ajax_settings) { + var self = this, + modal; + + if (target) { + if (typeof target.selector !== 'undefined') { + // Find the named node; only use the first one found, since the rest of the code assumes there's only one node + modal = self.S('#' + target.data(self.data_attr('reveal-id'))).first(); + } else { + modal = self.S(this.scope); + + ajax_settings = target; + } + } else { + modal = self.S(this.scope); + } + + var settings = modal.data(self.attr_name(true) + '-init'); + settings = settings || this.settings; + + + if (modal.hasClass('open') && target.attr('data-reveal-id') == modal.attr('id')) { + return self.close(modal); + } + + if (!modal.hasClass('open')) { + var open_modal = self.S('[' + self.attr_name() + '].open'); + + if (typeof modal.data('css-top') === 'undefined') { + modal.data('css-top', parseInt(modal.css('top'), 10)) + .data('offset', this.cache_offset(modal)); + } + + this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open + modal.trigger('open').trigger('open.fndtn.reveal'); + + if (open_modal.length < 1) { + this.toggle_bg(modal, true); + } + + if (typeof ajax_settings === 'string') { + ajax_settings = { + url: ajax_settings + }; + } + + if (typeof ajax_settings === 'undefined' || !ajax_settings.url) { + if (open_modal.length > 0) { + this.hide(open_modal, settings.css.close); + } + + this.show(modal, settings.css.open); + } else { + var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null; + + $.extend(ajax_settings, { + success: function (data, textStatus, jqXHR) { + if ( $.isFunction(old_success) ) { + var result = old_success(data, textStatus, jqXHR); + if (typeof result == 'string') data = result; + } + + modal.html(data); + self.S(modal).foundation('section', 'reflow'); + self.S(modal).children().foundation(); + + if (open_modal.length > 0) { + self.hide(open_modal, settings.css.close); + } + self.show(modal, settings.css.open); + } + }); + + $.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; + + if (open_modals.length > 0) { + 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').trigger('close.fndtn.reveal'); + this.toggle_bg(modal, false); + this.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 (el, modal, state) { + var settings = el.data(this.attr_name(true) + '-init') || this.settings, + bg_root_element = settings.bg_root_element; // Adding option to specify the background root element fixes scrolling issue + + if (this.S('.' + this.settings.bg_class).length === 0) { + this.settings.bg = $('
      ', {'class': this.settings.bg_class}) + .appendTo(bg_root_element).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; + + 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 = $(root_element).scrollTop() - el.data('offset') + 'px'; //adding root_element instead of window for scrolling offset if modal trigger is below the fold + var end_css = { + top: $(root_element).scrollTop() + el.data('css-top') + 'px', //adding root_element instead of window for scrolling offset if modal trigger is below the fold + opacity: 1 + }; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + this.locked = false; + el.trigger('opened').trigger('opened.fndtn.reveal'); + }.bind(this)) + .addClass('open'); + }.bind(this), settings.animation_speed / 2); + } + + if (animData.fade) { + css.top = $(root_element).scrollTop() + el.data('css-top') + 'px'; //adding root_element instead of window for scrolling offset if modal trigger is below the fold + var end_css = {opacity: 1}; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + this.locked = false; + el.trigger('opened').trigger('opened.fndtn.reveal'); + }.bind(this)) + .addClass('open'); + }.bind(this), settings.animation_speed / 2); + } + + return el.css(css).show().css({opacity: 1}).addClass('open').trigger('opened').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(); + }, + + hide : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init') || this.settings, + root_element = settings.root_element; + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + var end_css = { + top: - $(root_element).scrollTop() - el.data('offset') + 'px', //adding root_element instead of window for scrolling offset if modal trigger is below the fold + opacity: 0 + }; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + this.locked = false; + el.css(css).trigger('closed').trigger('closed.fndtn.reveal'); + }.bind(this)) + .removeClass('open'); + }.bind(this), 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 () { + this.locked = false; + el.css(css).trigger('closed').trigger('closed.fndtn.reveal'); + }.bind(this)) + .removeClass('open'); + }.bind(this), settings.animation_speed / 2); + } + + return el.hide().css(css).removeClass('open').trigger('closed').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.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.0', + + settings: { + start: 0, + end: 100, + step: 1, + precision: null, + initial: null, + display_selector: '', + vertical: false, + trigger_input_change: false, + on_change: function(){} + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this,'throttle'); + this.bindings(method, options); + this.reflow(); + }, + + events : function() { + var self = this; + + $(this.scope) + .off('.slider') + .on('mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider', + '[' + self.attr_name() + ']:not(.disabled, [disabled]) .range-slider-handle', function(e) { + if (!self.cache.active) { + e.preventDefault(); + self.set_active_slider($(e.target)); + } + }) + .on('mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider', function(e) { + if (!!self.cache.active) { + e.preventDefault(); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + }) + .on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function(e) { + self.remove_active_slider(); + }) + .on('change.fndtn.slider', function(e) { + self.settings.on_change(); + }); + + self.S(window) + .on('resize.fndtn.slider', self.throttle(function(e) { + self.reflow(); + }, 300)); + }, + + 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').trigger('change.fndtn.slider'); + + $hidden_inputs.val(value); + if (settings.trigger_input_change) { + $hidden_inputs.trigger('change'); + } + + 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.hasOwnProperty('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()); + $.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.0', + + 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; + + this.bindings(method, options); + this.handle_location_hash_change(); + + // 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); + }); + }, + + events : function () { + var self = this, + S = this.S; + + var usual_tab_behavior = function (e) { + var settings = S(this).closest('[' + self.attr_name() +']').data(self.attr_name(true) + '-init'); + if (!settings.is_hover || Modernizr.touch) { + e.preventDefault(); + e.stopPropagation(); + self.toggle_active_tab(S(this).parent()); + } + }; + + S(this.scope) + .off('.tab') + // Click event: tab title + .on('focus.fndtn.tab', '[' + this.attr_name() + '] > * > a', usual_tab_behavior ) + .on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', usual_tab_behavior ) + // 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 S = this.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); + + }; + + // allow usage of data-tab-content attribute instead of href + if (S(this).data(this.data_attr('tab-content'))) { + target_hash = '#' + S(this).data(this.data_attr('tab-content')).split('#')[1]; + target = S(target_hash); + } + + if (settings.deep_linking) { + + if (settings.scroll_to_content) { + // retain current hash to scroll to content + window.location.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) { + window.location.hash = 'fndtn-' + location_hash.replace('#', ''); + } else { + window.location.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', [tab]); + tabs.triggerHandler('toggled', [target]); + + 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.0', + + settings : { + additional_inheritable_classes : [], + tooltip_class : '.tooltip', + append_to: 'body', + touch_close_text: 'Tap To Close', + disable_for_touch: false, + hover_delay: 200, + show_on : 'all', + tip_template : function (selector, content) { + return '' + content + ''; + } + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'random_str'); + this.bindings(method, options); + }, + + should_show: function (target, tip) { + var settings = $.extend({}, this.settings, this.data_options(target)); + + if (settings.show_on === 'all') { + return true; + } else if (this.small() && settings.show_on === 'small') { + return true; + } else if (this.medium() && settings.show_on === 'medium') { + return true; + } else if (this.large() && settings.show_on === 'large') { + return true; + } + return false; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + events : function (instance) { + var self = this, + S = self.S; + + self.create(this.S(instance)); + + $(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; + } + + if (/enter|over/i.test(e.type)) { + this.timer = setTimeout(function () { + var tip = self.showTip($this); + }.bind(this), self.settings.hover_delay); + } else if (e.type === 'mouseout' || e.type === 'mouseleave') { + clearTimeout(this.timer); + self.hide($this); + } else { + self.showTip($this); + } + } + }) + .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 { + self.hide($(this)); + } + }) + .on('DOMNodeRemoved DOMAttrModified', '[' + this.attr_name() + ']:not(a)', function (e) { + self.hide(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 id = $target.attr('id'), + dataSelector = $target.attr(this.attr_name()) || $target.attr('data-selector'); + + if ((id && id.length < 1 || !id) && typeof dataSelector != 'string') { + dataSelector = this.random_str(6); + $target + .attr('data-selector', dataSelector) + .attr('aria-describedby', dataSelector); + } + + return (id && id.length > 0) ? id : dataSelector; + }, + + create : function ($target) { + var self = this, + settings = $.extend({}, this.settings, this.data_options($target)), + tip_template = this.settings.tip_template; + + if (typeof settings.tip_template === 'string' && window.hasOwnProperty(settings.tip_template)) { + tip_template = window[settings.tip_template]; + } + + var $tip = $(tip_template(this.selector($target), $('
      ').html($target.attr('title')).html())), + classes = this.inheritable_classes($target); + + $tip.addClass(classes).appendTo(settings.append_to); + + if (Modernizr.touch) { + $tip.append(''+settings.touch_close_text+''); + $tip.on('touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', function(e) { + self.hide($target); + }); + } + + $target.removeAttr('title').attr('title',''); + }, + + reposition : function (target, tip, classes) { + var width, nub, nubHeight, nubWidth, column, objPos; + + tip.css('visibility', 'hidden').show(); + + width = target.data('width'); + nub = tip.children('.nub'); + nubHeight = nub.outerHeight(); + nubWidth = nub.outerHeight(); + + if (this.small()) { + tip.css({'width' : '100%' }); + } else { + tip.css({'width' : (width) ? width : 'auto'}); + } + + objPos = function (obj, top, right, bottom, left, width) { + return obj.css({ + 'top' : (top) ? top : 'auto', + 'bottom' : (bottom) ? bottom : 'auto', + 'left' : (left) ? left : 'auto', + 'right' : (right) ? right : 'auto' + }).end(); + }; + + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', target.offset().left); + + if (this.small()) { + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', 12.5, $(this.scope).width()); + tip.addClass('tip-override'); + objPos(nub, -nubHeight, 'auto', 'auto', target.offset().left); + } else { + var left = target.offset().left; + if (Foundation.rtl) { + nub.addClass('rtl'); + left = target.offset().left + target.outerWidth() - tip.outerWidth(); + } + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', left); + tip.removeClass('tip-override'); + if (classes && classes.indexOf('tip-top') > -1) { + if (Foundation.rtl) nub.addClass('rtl'); + objPos(tip, (target.offset().top - tip.outerHeight()), 'auto', 'auto', left) + .removeClass('tip-override'); + } else if (classes && classes.indexOf('tip-left') > -1) { + objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left - tip.outerWidth() - nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } else if (classes && classes.indexOf('tip-right') > -1) { + objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left + target.outerWidth() + nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } + } + + tip.css('visibility', 'visible').hide(); + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + inheritable_classes : function ($target) { + var settings = $.extend({}, this.settings, this.data_options($target)), + inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'radius', 'round'].concat(settings.additional_inheritable_classes), + classes = $target.attr('class'), + filtered = classes ? $.map(classes.split(' '), function (el, i) { + if ($.inArray(el, inheritables) !== -1) { + return el; + } + }).join(' ') : ''; + + return $.trim(filtered); + }, + + convert_to_touch : function($target) { + var self = this, + $tip = self.getTip($target), + settings = $.extend({}, self.settings, self.data_options($target)); + + if ($tip.find('.tap-to-close').length === 0) { + $tip.append(''+settings.touch_close_text+''); + $tip.on('click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose', function(e) { + self.hide($target); + }); + } + + $target.data('tooltip-open-event-type', 'touch'); + }, + + show : function ($target) { + var $tip = this.getTip($target); + + if ($target.data('tooltip-open-event-type') == 'touch') { + this.convert_to_touch($target); + } + + this.reposition($target, $tip, $target.attr('class')); + $target.addClass('open'); + $tip.fadeIn(150); + }, + + hide : function ($target) { + var $tip = this.getTip($target); + + $tip.fadeOut(150, function() { + $tip.find('.tap-to-close').remove(); + $tip.off('click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose'); + $target.removeClass('open'); + }); + }, + + off : function () { + var self = this; + this.S(this.scope).off('.fndtn.tooltip'); + this.S(this.settings.tooltip_class).each(function (i) { + $('[' + self.attr_name() + ']').eq(i).attr('title', $(this).text()); + }).remove(); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.topbar = { + name : 'topbar', + + version: '5.5.0', + + settings : { + index : 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' + }, + + 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); + + if (sticky && settings.sticky_on === 'all') { + return true; + } else if (sticky && this.small() && settings.sticky_on === 'small') { + return (matchMedia(Foundation.media_queries.small).matches && !matchMedia(Foundation.media_queries.medium).matches && + !matchMedia(Foundation.media_queries.large).matches); + //return true; + } else if (sticky && this.medium() && settings.sticky_on === 'medium') { + return (matchMedia(Foundation.media_queries.small).matches && matchMedia(Foundation.media_queries.medium).matches && + !matchMedia(Foundation.media_queries.large).matches); + //return true; + } else if(sticky && this.large() && settings.sticky_on === 'large') { + return (matchMedia(Foundation.media_queries.small).matches && matchMedia(Foundation.media_queries.medium).matches && + matchMedia(Foundation.media_queries.large).matches); + //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','.top-bar .top-bar-section li a[href^="#"],[' + this.attr_name() + '] .top-bar-section li a[href^="#"]',function (e) { + var li = $(this).closest('li'); + 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').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'); + 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..40c7996 --- /dev/null +++ b/js/foundation/js/foundation.min.js @@ -0,0 +1,4 @@ +!function(a,b,c,d){"use strict";function e(a){return("string"==typeof a||a instanceof String)&&(a=a.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g,"")),a}var f=function(b){for(var c=b.length,d=a("head");c--;)0===d.has("."+b[c]).length&&d.append('')};f(["foundation-mq-small","foundation-mq-small-only","foundation-mq-medium","foundation-mq-medium-only","foundation-mq-large","foundation-mq-large-only","foundation-mq-xlarge","foundation-mq-xlarge-only","foundation-mq-xxlarge","foundation-data-attribute-namespace"]),a(function(){"undefined"!=typeof FastClick&&"undefined"!=typeof c.body&&FastClick.attach(c.body)});var g=function(b,d){if("string"==typeof b){if(d){var e;if(d.jquery){if(e=d[0],!e)return d}else e=d;return a(e.querySelectorAll(b))}return a(c.querySelectorAll(b))}return a(b,d)},h=function(a){var b=[];return a||b.push("data"),this.namespace.length>0&&b.push(this.namespace),b.push(this.name),b.join("-")},i=function(a){for(var b=a.split("-"),c=b.length,d=[];c--;)0!==c?d.push(b[c]):this.namespace.length>0?d.push(this.namespace,b[c]):d.push(b[c]);return d.reverse().join("-")},j=function(b,c){var d=this,e=!g(this).data(this.attr_name(!0));return g(this.scope).is("["+this.attr_name()+"]")?(g(this.scope).data(this.attr_name(!0)+"-init",a.extend({},this.settings,c||b,this.data_options(g(this.scope)))),e&&this.events(this.scope)):g("["+this.attr_name()+"]",this.scope).each(function(){var e=!g(this).data(d.attr_name(!0)+"-init");g(this).data(d.attr_name(!0)+"-init",a.extend({},d.settings,c||b,d.data_options(g(this)))),e&&d.events(this)}),"string"==typeof b?this[b].call(this,c):void 0},k=function(a,b){function c(){b(a[0])}function d(){if(this.one("load",c),/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var a=this.attr("src"),b=a.match(/\?/)?"&":"?";b+="random="+(new Date).getTime(),this.attr("src",a+b)}}return a.attr("src")?void(a[0].complete||4===a[0].readyState?c():d.call(a)):void c()};b.matchMedia=b.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(c),function(){function a(){c&&(f(a),h&&jQuery.fx.tick())}for(var c,d=0,e=["webkit","moz"],f=b.requestAnimationFrame,g=b.cancelAnimationFrame,h="undefined"!=typeof jQuery.fx;d").appendTo("head")[0].sheet,global:{namespace:d},init:function(a,c,d,e,f){var h=[a,d,e,f],i=[];if(this.rtl=/rtl/i.test(g("html").attr("dir")),this.scope=a||this.scope,this.set_namespace(),c&&"string"==typeof c&&!/reflow/i.test(c))this.libs.hasOwnProperty(c)&&i.push(this.init_lib(c,h));else for(var j in this.libs)i.push(this.init_lib(j,c));return g(b).load(function(){g(b).trigger("resize.fndtn.clearing").trigger("resize.fndtn.dropdown").trigger("resize.fndtn.equalizer").trigger("resize.fndtn.interchange").trigger("resize.fndtn.joyride").trigger("resize.fndtn.magellan").trigger("resize.fndtn.topbar").trigger("resize.fndtn.slider")}),a},init_lib:function(b,c){return this.libs.hasOwnProperty(b)?(this.patch(this.libs[b]),c&&c.hasOwnProperty(b)?("undefined"!=typeof this.libs[b].settings?a.extend(!0,this.libs[b].settings,c[b]):"undefined"!=typeof this.libs[b].defaults&&a.extend(!0,this.libs[b].defaults,c[b]),this.libs[b].init.apply(this.libs[b],[this.scope,c[b]])):(c=c instanceof Array?c:new Array(c),this.libs[b].init.apply(this.libs[b],c))):function(){}},patch:function(a){a.scope=this.scope,a.namespace=this.global.namespace,a.rtl=this.rtl,a.data_options=this.utils.data_options,a.attr_name=h,a.add_namespace=i,a.bindings=j,a.S=this.utils.S},inherit:function(a,b){for(var c=b.split(" "),d=c.length;d--;)this.utils.hasOwnProperty(c[d])&&(a[c[d]]=this.utils[c[d]])},set_namespace:function(){var b=this.global.namespace===d?a(".foundation-data-attribute-namespace").css("font-family"):this.global.namespace;this.global.namespace=b===d||/false/i.test(b)?"":b},libs:{},utils:{S:g,throttle:function(a,b){var c=null;return function(){var d=this,e=arguments;null==c&&(c=setTimeout(function(){a.apply(d,e),c=null},b))}},debounce:function(a,b,c){var d,e;return function(){var f=this,g=arguments,h=function(){d=null,c||(e=a.apply(f,g))},i=c&&!d;return clearTimeout(d),d=setTimeout(h,b),i&&(e=a.apply(f,g)),e}},data_options:function(b,c){function d(a){return!isNaN(a-0)&&null!==a&&""!==a&&a!==!1&&a!==!0}function e(b){return"string"==typeof b?a.trim(b):b}c=c||"options";var f,g,h,i={},j=function(a){var b=Foundation.global.namespace;return a.data(b.length>0?b+"-"+c:c)},k=j(b);if("object"==typeof k)return k;for(h=(k||":").split(";"),f=h.length;f--;)g=h[f].split(":"),g=[g[0],g.slice(1).join(":")],/true/i.test(g[1])&&(g[1]=!0),/false/i.test(g[1])&&(g[1]=!1),d(g[1])&&(g[1]=-1===g[1].indexOf(".")?parseInt(g[1],10):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+" }")}},image_loaded:function(a,b){var c=this,d=a.length;0===d&&b(a),a.each(function(){k(c.S(this),function(){d-=1,0===d&&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){"use strict";Foundation.libs.abide={name:"abide",version:"5.5.0",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):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,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){var b=c.getElementById(a.getAttribute(this.add_namespace("data-equalto"))).value,d=a.value,e=b===d;return e}}},timer:null,init:function(a,b,c){this.bindings(b,c)},events:function(b){var c=this,d=c.S(b).attr("novalidate","novalidate"),e=d.data(this.attr_name(!0)+"-init")||{};this.invalid_attr=this.add_namespace("data-invalid"),d.off(".abide").on("submit.fndtn.abide validate.fndtn.abide",function(a){var b=/ajax/i.test(c.S(this).attr(c.attr_name()));return c.validate(c.S(this).find("input, textarea, select").get(),a,b)}).on("reset",function(){return c.reset(a(this))}).find("input, textarea, select").off(".abide").on("blur.fndtn.abide change.fndtn.abide",function(a){e.validate_on_blur===!0&&c.validate([this],a)}).on("keydown.fndtn.abide",function(a){e.live_validate===!0&&9!=a.which&&(clearTimeout(c.timer),c.timer=setTimeout(function(){c.validate([this],a)}.bind(this),e.timeout))})},reset:function(b){b.removeAttr(this.invalid_attr),a(this.invalid_attr,b).removeAttr(this.invalid_attr),a("."+this.settings.error_class,b).not("small").removeClass(this.settings.error_class)},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").trigger("invalid.fndtn.abide"),this.S(a[h]).closest("form").attr(this.invalid_attr,""),!1;return(g||c)&&f.trigger("valid").trigger("valid.fndtn.abide"),f.removeAttr(this.invalid_attr),c?!1:!0},parse_patterns:function(a){for(var b=a.length,c=[];b--;)c.push(this.pattern(a[b]));return this.check_validation_and_apply_styles(c)},pattern:function(a){var b=a.getAttribute("type"),c="string"==typeof a.getAttribute("required"),d=a.getAttribute("pattern")||"";return this.settings.patterns.hasOwnProperty(d)&&d.length>0?[a,this.settings.patterns[d],c]:d.length>0?[a,new RegExp(d),c]:this.settings.patterns.hasOwnProperty(b)?[a,this.settings.patterns[b],c]:(d=/.*/,[a,d,c])},check_validation_and_apply_styles:function(b){var c=b.length,d=[],e=this.S(b[0][0]).closest("[data-"+this.attr_name(!0)+"]");for(e.data(this.attr_name(!0)+"-init")||{};c--;){var f,g,h=b[c][0],i=b[c][2],j=h.value.trim(),k=this.S(h).parent(),l=h.getAttribute(this.add_namespace("data-abide-validator")),m="radio"===h.type,n="checkbox"===h.type,o=this.S('label[for="'+h.getAttribute("id")+'"]'),p=i?h.value.length>0:!0,q=[];if(h.getAttribute(this.add_namespace("data-equalto"))&&(l="equalTo"),f=k.is("label")?k.parent():k,l&&(g=this.settings.validators[l].apply(this,[h,i,f]),q.push(g)),m&&i)q.push(this.valid_radio(h,i));else if(n&&i)q.push(this.valid_checkbox(h,i));else if(q.push(b[c][1].test(j)&&p||!i&&h.value.length<1||a(h).attr("disabled")?!0:!1),q=[q.every(function(a){return a})],q[0])this.S(h).removeAttr(this.invalid_attr),h.setAttribute("aria-invalid","false"),h.removeAttribute("aria-describedby"),f.removeClass(this.settings.error_class),o.length>0&&this.settings.error_labels&&o.removeClass(this.settings.error_class).removeAttr("role"),a(h).triggerHandler("valid");else{this.S(h).attr(this.invalid_attr,""),h.setAttribute("aria-invalid","true");var r=f.find("small."+this.settings.error_class,"span."+this.settings.error_class),s=r.length>0?r[0].id:"";s.length>0&&h.setAttribute("aria-describedby",s),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.push(q[0])}return d=[d.every(function(a){return a})]},valid_checkbox:function(a,b){var a=this.S(a),c=a.is(":checked")||!b;return c?a.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class):a.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),c},valid_radio:function(a){for(var b=a.getAttribute("name"),c=this.S(a).closest("[data-"+this.attr_name(!0)+"]").find("[name='"+b+"']"),d=c.length,e=!1,f=0;d>f;f++)c[f].checked&&(e=!0);for(var f=0;d>f;f++)e?this.S(c[f]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class):this.S(c[f]).attr(this.invalid_attr,"").parent().addClass(this.settings.error_class);return e},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}}}(jQuery,window,window.document),function(a){"use strict";Foundation.libs.accordion={name:"accordion",version:"5.5.0",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(){var b=this,c=this.S;c(this.scope).off(".fndtn.accordion").on("click.fndtn.accordion","["+this.attr_name()+"] > .accordion-navigation > a",function(d){var e=c(this).closest("["+b.attr_name()+"]"),f=b.attr_name()+"="+e.attr(b.attr_name()),g=e.data(b.attr_name(!0)+"-init")||b.settings,h=c("#"+this.href.split("#")[1]),i=a("> .accordion-navigation",e),j=i.children("."+g.content_class),k=j.filter("."+g.active_class);return d.preventDefault(),e.attr(b.attr_name())&&(j=j.add("["+f+"] dd > ."+g.content_class),i=i.add("["+f+"] .accordion-navigation")),g.toggleable&&h.is(k)?(h.parent(".accordion-navigation").toggleClass(g.active_class,!1),h.toggleClass(g.active_class,!1),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)),h.addClass(g.active_class).parent().addClass(g.active_class),g.callback(h),h.triggerHandler("toggled",[e]),void e.triggerHandler("toggled",[h]))})},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a){"use strict";Foundation.libs.alert={name:"alert",version:"5.5.0",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(){c(this).trigger("close").trigger("close.fndtn.alert").remove(),e.callback()})):d.fadeOut(300,function(){c(this).trigger("close").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.0",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(){var a=this,b=a.S;b(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(a){a.touches||(a=a.originalEvent);var c={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};b(this).data("swipe-transition",c),a.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(c){if(c.touches||(c=c.originalEvent),!(c.touches.length>1||c.scale&&1!==c.scale)){var d=b(this).data("swipe-transition");if("undefined"==typeof d&&(d={}),d.delta_x=c.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"),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;a("body").on("touchmove",function(a){a.preventDefault()}),m.error(function(){o=!0}),this.locked()||(l.trigger("open.fndtn.clearing"),m.attr("src",this.load(b)).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").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?(a.css({marginRight:-(a.outerWidth()/2),marginTop:-(a.outerHeight()/2),left:"auto",right:"50%"}),b.length>0&&b.css({marginRight:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10,left:"auto",right:"50%"})):(a.css({marginLeft:-(a.outerWidth()/2),marginTop:-(a.outerHeight()/2)}),b.length>0&&b.css({marginLeft:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10})),this},load:function(a){var b;return b="A"===a[0].nodeName?a.attr("href"):a.closest("a").attr("href"),this.preload(a),b?b:a.attr("src")},preload:function(a){this.img(a.closest("li").next()).img(a.closest("li").prev())},img:function(a){if(a.length){var b=new Image,c=this.S("a",a);b.src=c.length?c.attr("href"):this.S("img",a).attr("src")}return this},caption:function(a,b){var c=b.attr("data-caption");return c?a.html(c).show():a.text("").hide(),this},go:function(a,b){var c=this.S(".visible",a),d=c[b]();this.settings.skip_selector&&0!=d.find(this.settings.skip_selector).length&&(d=d[b]()),d.length&&this.S("img",d).trigger("click",[c,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){"use strict";Foundation.libs.dropdown={name:"dropdown",version:"5.5.0",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(){var c=this,d=c.S;d(this.scope).off(".dropdown").on("click.fndtn.dropdown","["+this.attr_name()+"]",function(b){var e=d(this).data(c.attr_name(!0)+"-init")||c.settings;(!e.is_hover||Modernizr.touch)&&(b.preventDefault(),d(this).parent("[data-reveal-id]")&&b.stopPropagation(),c.toggle(a(this)))}).on("mouseenter.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(a){var b,e,f=d(this);clearTimeout(c.timeout),f.data(c.data_attr())?(b=d("#"+f.data(c.data_attr())),e=f):(b=f,e=d("["+c.attr_name()+'="'+b.attr("id")+'"]'));var g=e.data(c.attr_name(!0)+"-init")||c.settings;d(a.currentTarget).data(c.data_attr())&&g.is_hover&&c.closeall.call(c),g.is_hover&&c.open.apply(c,[b,e])}).on("mouseleave.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(){var a,b=d(this);if(b.data(c.data_attr()))a=b.data(c.data_attr(!0)+"-init")||c.settings;else var e=d("["+c.attr_name()+'="'+d(this).attr("id")+'"]'),a=e.data(c.attr_name(!0)+"-init")||c.settings;c.timeout=setTimeout(function(){b.data(c.data_attr())?a.is_hover&&c.close.call(c,d("#"+b.data(c.data_attr()))):a.is_hover&&c.close.call(c,b)}.bind(this),a.hover_timeout)}).on("click.fndtn.dropdown",function(b){var e=d(b.target).closest("["+c.attr_name()+"-content]"),f=e.find("a");return f.length>0&&"false"!==e.attr("aria-autoclose")&&c.close.call(c,d("["+c.attr_name()+"-content]")),d(b.target).closest("["+c.attr_name()+"]").length>0?void 0:!d(b.target).data("revealId")&&e.length>0&&(d(b.target).is("["+c.attr_name()+"-content]")||a.contains(e.first()[0],b.target))?void b.stopPropagation():void c.close.call(c,d("["+c.attr_name()+"-content]"))}).on("opened.fndtn.dropdown","["+c.attr_name()+"-content]",function(){c.settings.opened.call(this)}).on("closed.fndtn.dropdown","["+c.attr_name()+"-content]",function(){c.settings.closed.call(this)}),d(b).off(".dropdown").on("resize.fndtn.dropdown",c.throttle(function(){c.resize.call(c)},50)),this.resize()},close:function(b){var c=this;b.each(function(){var d=a("["+c.attr_name()+"="+b[0].id+"]")||a("aria-controls="+b[0].id+"]");d.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").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").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 a=this.S("["+this.attr_name()+"-content].open"),b=this.S("["+this.attr_name()+'="'+a.attr("id")+'"]');a.length&&b.length&&this.css(a,b)},css:function(a,b){var c=Math.max((b.width()-a.width())/2,8),d=b.data(this.attr_name(!0)+"-init")||this.settings;if(this.clear_idx(),this.small()){var e=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:e.top}),a.css(Foundation.rtl?"right":"left",c)}else this.style(a,b,d);return a},style:function(b,c,d){var e=a.extend({position:"absolute"},this.dirs[d.align].call(b,c,d));b.attr("style","").css(e)},dirs:{_base:function(a){var d=this.offsetParent(),e=d.offset(),f=a.offset();f.top-=e.top,f.left-=e.left,f.missRight=!1,f.missTop=!1,f.missLeft=!1,f.leftRightFlag=!1;var g;g=c.getElementsByClassName("row")[0]?c.getElementsByClassName("row")[0].clientWidth:b.outerWidth;var h=(b.outerWidth-g)/2,i=g;return this.hasClass("mega")||(a.offset().top<=this.outerHeight()&&(f.missTop=!0,i=b.outerWidth-h,f.leftRightFlag=!0),a.offset().left+this.outerWidth()>a.offset().left+h&&a.offset().left-h>this.outerWidth()&&(f.missRight=!0,f.missLeft=!1),a.offset().left-this.outerWidth()<=0&&(f.missLeft=!0,f.missRight=!1)),f},top:function(a,b){var c=Foundation.libs.dropdown,d=c.dirs._base.call(this,a);return this.addClass("drop-top"),1==d.missTop&&(d.top=d.top+a.outerHeight()+this.outerHeight(),this.removeClass("drop-top")),1==d.missRight&&(d.left=d.left-this.outerWidth()+a.outerWidth()),(a.outerWidth()0)for(var d=this.S("["+this.add_namespace("data-uuid")+'="'+a+'"]');c--;){var e,f=b[c][2];if(e=matchMedia(this.settings.named_queries.hasOwnProperty(f)?this.settings.named_queries[f]:f),e.matches)return{el:d,scenario:b[c]}}return!1},load:function(a,b){return("undefined"==typeof this["cached_"+a]||b)&&this["update_"+a](),this["cached_"+a]},update_images:function(){var a=this.S("img["+this.data_attr+"]"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cache={},this.cached_images=[],this.images_loaded=0===b;c--;){if(d++,a[c]){var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_images.push(a[c])}d===b&&(this.images_loaded=!0,this.enhance("images"))}return this},update_nodes:function(){var a=this.S("["+this.data_attr+"]").not("img"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cached_nodes=[],this.nodes_loaded=0===b;c--;){d++;var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_nodes.push(a[c]),d===b&&(this.nodes_loaded=!0,this.enhance("nodes"))}return this},enhance:function(c){for(var d=this["cached_"+c].length;d--;)this.object(a(this["cached_"+c][d]));return a(b).trigger("resize").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];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)]},object:function(a){var b=this.parse_data_attr(a),c=[],d=b.length;if(d>0)for(;d--;){var e=b[d].split(/\((.*?)(\))$/);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.0",defaults:{expose:!1,modal:!0,keyboard:!0,tip_location:"bottom",nub_position:"auto",scroll_speed:1500,scroll_animation:"linear",timer:0,start_timer_on_click:!0,start_offset:0,next_button:!0,prev_button:!0,tip_animation:"fade",pause_after:[],exposed:[],tip_animation_fade_speed:300,cookie_monster:!1,cookie_name:"joyride",cookie_domain:!1,cookie_expires:365,tip_container:"body",abort_on_close:!0,tip_location_patterns:{top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},post_ride_callback:function(){},post_step_callback:function(){},pre_step_callback:function(){},pre_ride_callback:function(){},post_expose_callback:function(){},template:{link:'×',timer:'
    ',tip:'
    ',wrapper:'
    ',button:'',prev_button:'',modal:'
    ',expose:'
    ',expose_cover:'
    '},expose_add_class:""},init:function(b,c,d){Foundation.inherit(this,"throttle random_str"),this.settings=this.settings||a.extend({},this.defaults,d||c),this.bindings(c,d)},go_next:function(){this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())},go_prev:function(){this.settings.$li.prev().length<1||(this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(null,!0),this.startTimer()):(this.hide(),this.show(null,!0)))},events:function(){var c=this;a(this.scope).off(".joyride").on("click.fndtn.joyride",".joyride-next-tip, .joyride-modal-bg",function(a){a.preventDefault(),this.go_next()}.bind(this)).on("click.fndtn.joyride",".joyride-prev-tip",function(a){a.preventDefault(),this.go_prev()}.bind(this)).on("click.fndtn.joyride",".joyride-close-tip",function(a){a.preventDefault(),this.end(this.settings.abort_on_close)}.bind(this)).on("keyup.fndtn.joyride",function(a){if(this.settings.keyboard&&this.settings.riding)switch(a.which){case 39:a.preventDefault(),this.go_next();break;case 37:a.preventDefault(),this.go_prev();break;case 27:a.preventDefault(),this.end(this.settings.abort_on_close)}}.bind(this)),a(b).off(".joyride").on("resize.fndtn.joyride",c.throttle(function(){if(a("["+c.attr_name()+"]").length>0&&c.settings.$next_tip&&c.settings.riding){if(c.settings.exposed.length>0){var b=a(c.settings.exposed);b.each(function(){var b=a(this);c.un_expose(b),c.expose(b)})}c.is_phone()?c.pos_phone():c.pos_default(!1)}},100))},start:function(){var b=this,c=a("["+this.attr_name()+"]",this.scope),d=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],e=d.length;!c.length>0||(this.settings.init||this.events(),this.settings=c.data(this.attr_name(!0)+"-init"),this.settings.$content_el=c,this.settings.$body=a(this.settings.tip_container),this.settings.body_offset=a(this.settings.tip_container).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,this.settings.riding=!0,"function"!=typeof a.cookie&&(this.settings.cookie_monster=!1),(!this.settings.cookie_monster||this.settings.cookie_monster&&!a.cookie(this.settings.cookie_name))&&(this.settings.$tip_content.each(function(c){var f=a(this);this.settings=a.extend({},b.defaults,b.data_options(f));for(var g=e;g--;)b.settings[d[g]]=parseInt(b.settings[d[g]],10);b.create({$li:f,index:c})}),!this.settings.start_timer_on_click&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")))},resume:function(){this.set_li(),this.show()},tip_template:function(b){var c,d;return b.tip_class=b.tip_class||"",c=a(this.settings.template.tip).addClass(b.tip_class),d=a.trim(a(b.li).html())+this.prev_button_text(b.prev_button_text,b.index)+this.button_text(b.button_text)+this.settings.template.link+this.timer_instance(b.index),c.append(a(this.settings.template.wrapper)),c.first().attr(this.add_namespace("data-index"),b.index),a(".joyride-content-wrapper",c).append(d),c[0]},timer_instance:function(b){var c;return c=0===b&&this.settings.start_timer_on_click&&this.settings.timer>0||0===this.settings.timer?"":a(this.settings.template.timer)[0].outerHTML},button_text:function(b){return this.settings.tip_settings.next_button?(b=a.trim(b)||"Next",b=a(this.settings.template.button).append(b)[0].outerHTML):b="",b},prev_button_text:function(b,c){return this.settings.tip_settings.prev_button?(b=a.trim(b)||"Previous",b=0==c?a(this.settings.template.prev_button).append(b).addClass("disabled")[0].outerHTML:a(this.settings.template.prev_button).append(b)[0].outerHTML):b="",b},create:function(b){this.settings.tip_settings=a.extend({},this.settings,this.data_options(b.$li));var c=b.$li.attr(this.add_namespace("data-button"))||b.$li.attr(this.add_namespace("data-text")),d=b.$li.attr(this.add_namespace("data-button-prev"))||b.$li.attr(this.add_namespace("data-prev-text")),e=b.$li.attr("class"),f=a(this.tip_template({tip_class:e,index:b.index,button_text:c,prev_button_text:d,li:b.$li}));a(this.settings.tip_container).append(f)},show:function(b,c){var e=null;if(this.settings.$li===d||-1===a.inArray(this.settings.$li.index(),this.settings.pause_after))if(this.settings.paused?this.settings.paused=!1:this.set_li(b,c),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0){if(b&&(this.settings.pre_ride_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.pre_step_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tip_settings=a.extend({},this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tip_settings.tip_location_pattern=this.settings.tip_location_patterns[this.settings.tip_settings.tip_location],!/body/i.test(this.settings.$target.selector)){var f=a(".joyride-modal-bg");/pop/i.test(this.settings.tipAnimation)?f.hide():f.fadeOut(this.settings.tipAnimationFadeSpeed),this.scroll_to()}this.is_phone()?this.pos_phone(!0):this.pos_default(!0),e=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tip_animation)?(e.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tip_animation)&&(e.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed).show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed)),this.settings.$current_tip=this.settings.$next_tip}else this.settings.$li&&this.settings.$target.length<1?this.show(b,c):this.end();else this.settings.paused=!0},is_phone:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||a(".joyride-modal-bg").hide(),this.settings.$current_tip.css("visibility","hidden"),setTimeout(a.proxy(function(){this.hide(),this.css("visibility","visible")},this.settings.$current_tip),0),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(a,b){a?(this.settings.$li=this.settings.$tip_content.eq(this.settings.start_offset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(this.settings.$li=b?this.settings.$li.prev():this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=a(".joyride-tip-guide").eq(this.settings.$li.index()),this.settings.$next_tip.data("closed","")},set_target:function(){var b=this.settings.$li.attr(this.add_namespace("data-class")),d=this.settings.$li.attr(this.add_namespace("data-id")),e=function(){return d?a(c.getElementById(d)):b?a("."+b).first():a("body")};this.settings.$target=e()},scroll_to:function(){var c,d;c=a(b).height()/2,d=Math.ceil(this.settings.$target.offset().top-c+this.settings.$next_tip.outerHeight()),0!=d&&a("html, body").stop().animate({scrollTop:d},this.settings.scroll_speed,"swing")},paused:function(){return-1===a.inArray(this.settings.$li.index()+1,this.settings.pause_after)},restart:function(){this.hide(),this.settings.$li=d,this.show("init")},pos_default:function(a){var b=this.settings.$next_tip.find(".joyride-nub"),c=Math.ceil(b.outerWidth()/2),d=Math.ceil(b.outerHeight()/2),e=a||!1;if(e&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),/body/i.test(this.settings.$target.selector))this.settings.$li.length&&this.pos_modal(b);else{var f=this.settings.tip_settings.tipAdjustmentY?parseInt(this.settings.tip_settings.tipAdjustmentY):0,g=this.settings.tip_settings.tipAdjustmentX?parseInt(this.settings.tip_settings.tipAdjustmentX):0;this.bottom()?(this.settings.$next_tip.css(this.rtl?{top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()+g}:{top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"top")):this.top()?(this.settings.$next_tip.css(this.rtl?{top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()}:{top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"bottom")):this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.outerWidth()+this.settings.$target.offset().left+c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.offset().left-this.settings.$next_tip.outerWidth()-c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"right")),!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts0&&arguments[0]instanceof a)e=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;e=this.settings.$target}return e.length<1?(b.console&&console.error("element not valid",e),!1):(c=a(this.settings.template.expose),this.settings.$body.append(c),c.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),d=a(this.settings.template.expose_cover),f={zIndex:e.css("z-index"),position:e.css("position")},g=null==e.attr("class")?"":e.attr("class"),e.css("z-index",parseInt(c.css("z-index"))+1),"static"==f.position&&e.css("position","relative"),e.data("expose-css",f),e.data("orig-class",g),e.attr("class",g+" "+this.settings.expose_add_class),d.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),this.settings.modal&&this.show_modal(),this.settings.$body.append(d),c.addClass(h),d.addClass(h),e.data("expose",h),this.settings.post_expose_callback(this.settings.$li.index(),this.settings.$next_tip,e),void this.add_exposed(e))},un_expose:function(){var c,d,e,f,g,h=!1;if(arguments.length>0&&arguments[0]instanceof a)d=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;d=this.settings.$target}return d.length<1?(b.console&&console.error("element not valid",d),!1):(c=d.data("expose"),e=a("."+c),arguments.length>1&&(h=arguments[1]),h===!0?a(".joyride-expose-wrapper,.joyride-expose-cover").remove():e.remove(),f=d.data("expose-css"),"auto"==f.zIndex?d.css("z-index",""):d.css("z-index",f.zIndex),f.position!=d.css("position")&&("static"==f.position?d.css("position",""):d.css("position",f.position)),g=d.data("orig-class"),d.attr("class",g),d.removeData("orig-classes"),d.removeData("expose"),d.removeData("expose-z-index"),void this.remove_exposed(d))},add_exposed:function(b){this.settings.exposed=this.settings.exposed||[],b instanceof a||"object"==typeof b?this.settings.exposed.push(b[0]):"string"==typeof b&&this.settings.exposed.push(b)},remove_exposed:function(b){var c,d;for(b instanceof a?c=b[0]:"string"==typeof b&&(c=b),this.settings.exposed=this.settings.exposed||[],d=this.settings.exposed.length;d--;)if(this.settings.exposed[d]==c)return void this.settings.exposed.splice(d,1)},center:function(){var c=a(b);return this.settings.$next_tip.css({top:(c.height()-this.settings.$next_tip.outerHeight())/2+c.scrollTop(),left:(c.width()-this.settings.$next_tip.outerWidth())/2+c.scrollLeft()}),!0},bottom:function(){return/bottom/i.test(this.settings.tip_settings.tip_location)},top:function(){return/top/i.test(this.settings.tip_settings.tip_location)},right:function(){return/right/i.test(this.settings.tip_settings.tip_location)},left:function(){return/left/i.test(this.settings.tip_settings.tip_location)},corners:function(c){var d=a(b),e=d.height()/2,f=Math.ceil(this.settings.$target.offset().top-e+this.settings.$next_tip.outerHeight()),g=d.width()+d.scrollLeft(),h=d.height()+f,i=d.height()+d.scrollTop(),j=d.scrollTop();return j>f&&(j=0>f?0:f),h>i&&(i=h),[c.offset().topc.offset().left]},visible:function(a){for(var b=a.length;b--;)if(a[b])return!1;return!0},nub_position:function(a,b,c){a.addClass("auto"===b?c:b)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(b){this.settings.cookie_monster&&a.cookie(this.settings.cookie_name,"ridden",{expires:this.settings.cookie_expires,domain:this.settings.cookie_domain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),a(this.scope).off("keyup.joyride"),this.settings.$next_tip.data("closed",!0),this.settings.riding=!1,a(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),("undefined"==typeof b||b===!1)&&(this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip),this.settings.post_ride_callback(this.settings.$li.index(),this.settings.$current_tip)),a(".joyride-tip-guide").remove()},off:function(){a(this.scope).off(".joyride"),a(b).off(".joyride"),a(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),a(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate),this.settings={}},reflow:function(){}}}(jQuery,window,window.document),function(a,b){"use strict";Foundation.libs["magellan-expedition"]={name:"magellan-expedition",version:"5.5.0",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 c=this,d=c.S,e=c.settings;c.set_expedition_position(),d(c.scope).off(".magellan").on("click.fndtn.magellan","["+c.add_namespace("data-magellan-arrival")+'] a[href^="#"]',function(b){b.preventDefault();var d=a(this).closest("["+c.attr_name()+"]"),e=d.data("magellan-expedition-init"),f=this.hash.split("#").join(""),g=a('a[name="'+f+'"]');0===g.length&&(g=a("#"+f));var h=g.offset().top-e.destination_threshold+1;e.offset_by_height&&(h-=d.outerHeight()),a("html, body").stop().animate({scrollTop:h},e.duration,e.easing,function(){history.pushState?history.pushState(null,null,"#"+f):location.hash="#"+f})}).on("scroll.fndtn.magellan",c.throttle(this.check_for_arrivals.bind(this),e.throttle_delay)),a(b).on("resize.fndtn.magellan",c.throttle(this.set_expedition_position.bind(this),e.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(){var c,d,e=a(this),f=e.data("magellan-expedition-init"),g=e.attr("styles");e.attr("style",""),c=e.offset().top+f.threshold,d=parseInt(e.data("magellan-fixed-top")),isNaN(d)||(b.settings.fixed_top=d),e.data(b.data_attr("magellan-top-offset"),c),e.attr("style",g)})},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(){var c=a(this).data(d.data_attr("magellan-arrival")),g=a("["+d.add_namespace("data-magellan-destination")+"="+c+"]");if(g.length>0){var h=g.offset().top-e.destination_threshold;return e.offset_by_height&&(h-=b.outerHeight()),h=Math.floor(h),{destination:g,arrival:a(this),top_offset:h,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")},reflow:function(){var b=this;a("["+b.add_namespace("data-magellan-expedition-clone")+"]",b.scope).remove()}}}(jQuery,window,window.document),function(a){"use strict";Foundation.libs.offcanvas={name:"offcanvas",version:"5.5.0",settings:{open_method:"move",close_on_click:!1},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this,c=b.S,d="",e="",f="";"move"===this.settings.open_method?(d="move-",e="right",f="left"):"overlap_single"===this.settings.open_method?(d="offcanvas-overlap-",e="right",f="left"):"overlap"===this.settings.open_method&&(d="offcanvas-overlap"),c(this.scope).off(".offcanvas").on("click.fndtn.offcanvas",".left-off-canvas-toggle",function(f){b.click_toggle_class(f,d+e),"overlap"!==b.settings.open_method&&c(".left-submenu").removeClass(d+e),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".left-off-canvas-menu a",function(f){var g=b.get_settings(f),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(f.preventDefault(),c(this).siblings(".left-submenu").toggleClass(d+e)):h.hasClass("back")&&(f.preventDefault(),h.parent().removeClass(d+e)):(b.hide.call(b,d+e,b.get_wrapper(f)),h.parent().removeClass(d+e)),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-toggle",function(e){b.click_toggle_class(e,d+f),"overlap"!==b.settings.open_method&&c(".right-submenu").removeClass(d+f),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-menu a",function(e){var g=b.get_settings(e),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".right-submenu").toggleClass(d+f)):h.hasClass("back")&&(e.preventDefault(),h.parent().removeClass(d+f)):(b.hide.call(b,d+f,b.get_wrapper(e)),h.parent().removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(g){b.click_remove_class(g,d+f),c(".right-submenu").removeClass(d+f),e&&(b.click_remove_class(g,d+e),c(".left-submenu").removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(c){b.click_remove_class(c,d+f),a(".left-off-canvas-toggle").attr("aria-expanded","false"),e&&(b.click_remove_class(c,d+e),a(".right-off-canvas-toggle").attr("aria-expanded","false"))})},toggle:function(a,b){b=b||this.get_wrapper(),b.is("."+a)?this.hide(a,b):this.show(a,b)},show:function(a,b){b=b||this.get_wrapper(),b.trigger("open").trigger("open.fndtn.offcanvas"),b.addClass(a)},hide:function(a,b){b=b||this.get_wrapper(),b.trigger("close").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){var c=a("
    1. ").attr("data-orbit-slide",b).on("click",p.link_bullet);l.append(c)}))},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.height()!=h.height()&&f.variable_height?q.animate({height:h.height()},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.height()>q.height()&&f.variable_height?q.animate({height:h.height()},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(){var b=a(this).attr("data-orbit-slide");if("string"==typeof b&&""!=(b=a.trim(b)))if(isNaN(parseInt(b))){var c=j.find("[data-orbit-slide="+b+"]");-1!=c.index()&&p._goto(c.index()+1)}else p._goto(parseInt(b))},p.timer_callback=function(){p._goto(r+1,!0)},p.compute_dimensions=function(){var b=a(p.slides().get(r)),c=b.height();f.variable_height||p.slides().each(function(){a(this).height()>c&&(c=a(this).height())}),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?b(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):b(this.scope).on("open.fndtn.reveal","["+a.attr_name()+"]",this.settings.open).on("opened.fndtn.reveal","["+a.attr_name()+"]",this.settings.opened).on("opened.fndtn.reveal","["+a.attr_name()+"]",this.open_video).on("close.fndtn.reveal","["+a.attr_name()+"]",this.settings.close).on("closed.fndtn.reveal","["+a.attr_name()+"]",this.settings.closed).on("closed.fndtn.reveal","["+a.attr_name()+"]",this.close_video),!0},key_up_on:function(){var a=this;return a.S("body").off("keyup.fndtn.reveal").on("keyup.fndtn.reveal",function(b){var c=a.S("["+a.attr_name()+"].open"),d=c.data(a.attr_name(!0)+"-init")||a.settings;d&&27===b.which&&d.close_on_esc&&!a.locked&&a.close.call(a,c)}),!0},key_up_off:function(){return this.S("body").off("keyup.fndtn.reveal"),!0},open:function(c,d){var e,f=this;c?"undefined"!=typeof c.selector?e=f.S("#"+c.data(f.data_attr("reveal-id"))).first():(e=f.S(this.scope),d=c):e=f.S(this.scope);var g=e.data(f.attr_name(!0)+"-init");if(g=g||this.settings,e.hasClass("open")&&c.attr("data-reveal-id")==e.attr("id"))return f.close(e);if(!e.hasClass("open")){var h=f.S("["+f.attr_name()+"].open");if("undefined"==typeof e.data("css-top")&&e.data("css-top",parseInt(e.css("top"),10)).data("offset",this.cache_offset(e)),this.key_up_on(e),e.trigger("open").trigger("open.fndtn.reveal"),h.length<1&&this.toggle_bg(e,!0),"string"==typeof d&&(d={url:d}),"undefined"!=typeof d&&d.url){var i="undefined"!=typeof d.success?d.success:null;a.extend(d,{success:function(b,c,d){if(a.isFunction(i)){var j=i(b,c,d);"string"==typeof j&&(b=j)}e.html(b),f.S(e).foundation("section","reflow"),f.S(e).children().foundation(),h.length>0&&f.hide(h,g.css.close),f.show(e,g.css.open)}}),a.ajax(d)}else h.length>0&&this.hide(h,g.css.close),this.show(e,g.css.open)}f.S(b).trigger("resize")},close:function(a){var a=a&&a.length?a:this.S(this.scope),b=this.S("["+this.attr_name()+"].open"),c=a.data(this.attr_name(!0)+"-init")||this.settings;b.length>0&&(this.locked=!0,this.key_up_off(a),a.trigger("close").trigger("close.fndtn.reveal"),this.toggle_bg(a,!1),this.hide(b,c.css.close,c))},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,e){var f=b.data(this.attr_name(!0)+"-init")||this.settings,g=f.bg_root_element;0===this.S("."+this.settings.bg_class).length&&(this.settings.bg=a("
      ",{"class":this.settings.bg_class}).appendTo(g).hide());var h=this.settings.bg.filter(":visible").length>0;e!=h&&((e==d?h:!e)?this.hide(this.settings.bg):this.show(this.settings.bg))},show:function(b,c){if(c){var d=b.data(this.attr_name(!0)+"-init")||this.settings,f=d.root_element;if(0===b.parent(f).length){var g=b.wrap('
      ').parent();b.on("closed.fndtn.reveal.wrapped",function(){b.detach().appendTo(g),b.unwrap().unbind("closed.fndtn.reveal.wrapped")}),b.detach().appendTo(f)}var h=e(d.animation);if(h.animate||(this.locked=!1),h.pop){c.top=a(f).scrollTop()-b.data("offset")+"px";var i={top:a(f).scrollTop()+b.data("css-top")+"px",opacity:1};return setTimeout(function(){return b.css(c).animate(i,d.animation_speed,"linear",function(){this.locked=!1,b.trigger("opened").trigger("opened.fndtn.reveal")}.bind(this)).addClass("open")}.bind(this),d.animation_speed/2)}if(h.fade){c.top=a(f).scrollTop()+b.data("css-top")+"px";var i={opacity:1};return setTimeout(function(){return b.css(c).animate(i,d.animation_speed,"linear",function(){this.locked=!1,b.trigger("opened").trigger("opened.fndtn.reveal")}.bind(this)).addClass("open")}.bind(this),d.animation_speed/2)}return b.css(c).show().css({opacity:1}).addClass("open").trigger("opened").trigger("opened.fndtn.reveal")}var d=this.settings;return e(d.animation).fade?b.fadeIn(d.animation_speed/2):(this.locked=!1,b.show())},hide:function(b,c){if(c){var d=b.data(this.attr_name(!0)+"-init")||this.settings,f=d.root_element,g=e(d.animation);if(g.animate||(this.locked=!1),g.pop){var h={top:-a(f).scrollTop()-b.data("offset")+"px",opacity:0};return setTimeout(function(){return b.animate(h,d.animation_speed,"linear",function(){this.locked=!1,b.css(c).trigger("closed").trigger("closed.fndtn.reveal")}.bind(this)).removeClass("open")}.bind(this),d.animation_speed/2)}if(g.fade){var h={opacity:0};return setTimeout(function(){return b.animate(h,d.animation_speed,"linear",function(){this.locked=!1,b.css(c).trigger("closed").trigger("closed.fndtn.reveal")}.bind(this)).removeClass("open")}.bind(this),d.animation_speed/2)}return b.hide().css(c).removeClass("open").trigger("closed").trigger("closed.fndtn.reveal")}var d=this.settings;return e(d.animation).fade?b.fadeOut(d.animation_speed/2):b.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);return a.hide(),b},off:function(){a(this.scope).off(".fndtn.reveal")},reflow:function(){}}}(jQuery,window,window.document),function(a,b){"use strict";Foundation.libs.slider={name:"slider",version:"5.5.0",settings:{start:0,end:100,step:1,precision:null,initial:null,display_selector:"",vertical:!1,trigger_input_change:!1,on_change:function(){}},cache:{},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c),this.reflow()},events:function(){var c=this;a(this.scope).off(".slider").on("mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider","["+c.attr_name()+"]:not(.disabled, [disabled]) .range-slider-handle",function(b){c.cache.active||(b.preventDefault(),c.set_active_slider(a(b.target)))}).on("mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider",function(d){if(c.cache.active)if(d.preventDefault(),a.data(c.cache.active[0],"settings").vertical){var e=0;d.pageY||(e=b.scrollY),c.calculate_position(c.cache.active,c.get_cursor_position(d,"y")+e)}else c.calculate_position(c.cache.active,c.get_cursor_position(d,"x"))}).on("mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider",function(){c.remove_active_slider()}).on("change.fndtn.slider",function(){c.settings.on_change()}),c.S(b).on("resize.fndtn.slider",c.throttle(function(){c.reflow()},300))},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").trigger("change.fndtn.slider"),k.val(c),d.trigger_input_change&&k.trigger("change"),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.hasOwnProperty("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()));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.0",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;this.bindings(b,c),this.handle_location_hash_change(),e("["+this.attr_name()+"] > .active > a",this.scope).each(function(){d.default_tab_hashes.push(this.hash)})},events:function(){var a=this,c=this.S,d=function(b){var d=c(this).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");(!d.is_hover||Modernizr.touch)&&(b.preventDefault(),b.stopPropagation(),a.toggle_active_tab(c(this).parent()))};c(this.scope).off(".tab").on("focus.fndtn.tab","["+this.attr_name()+"] > * > a",d).on("click.fndtn.tab","["+this.attr_name()+"] > * > a",d).on("mouseenter.fndtn.tab","["+this.attr_name()+"] > * > a",function(){var b=c(this).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");b.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.S,h=e.closest("["+this.attr_name()+"]"),i=e.find("a"),j=e.children("a").first(),k="#"+j.attr("href").split("#")[1],l=g(k),m=e.siblings(),n=h.data(this.attr_name(!0)+"-init"),o=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)};g(this).data(this.data_attr("tab-content"))&&(k="#"+g(this).data(this.data_attr("tab-content")).split("#")[1],l=g(k)),n.deep_linking&&(n.scroll_to_content?(b.location.hash=f||k,f==d||f==k?e.parent()[0].scrollIntoView():g(k)[0].scrollIntoView()):b.location.hash=f!=d?"fndtn-"+f.replace("#",""):"fndtn-"+k.replace("#","")),e.addClass(n.active_class).triggerHandler("opened"),i.attr({"aria-selected":"true",tabindex:0}),m.removeClass(n.active_class),m.find("a").attr({"aria-selected":"false",tabindex:-1}),l.siblings().removeClass(n.active_class).attr({"aria-hidden":"true",tabindex:-1}),l.addClass(n.active_class).attr("aria-hidden","false").removeAttr("tabindex"),n.callback(e),l.triggerHandler("toggled",[e]),h.triggerHandler("toggled",[l]),i.off("keydown").on("keydown",o)},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b){"use strict";Foundation.libs.tooltip={name:"tooltip",version:"5.5.0",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,hover_delay:200,show_on:"all",tip_template:function(a,b){return''+b+''}},cache:{},init:function(a,b,c){Foundation.inherit(this,"random_str"),this.bindings(b,c)},should_show:function(b){var c=a.extend({},this.settings,this.data_options(b));return"all"===c.show_on?!0:this.small()&&"small"===c.show_on?!0:this.medium()&&"medium"===c.show_on?!0:this.large()&&"large"===c.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){var c=this,d=c.S;c.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 e=d(this),f=a.extend({},c.settings,c.data_options(e)),g=!1;if(Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&d(b.target).is("a"))return!1;if(/mouse/i.test(b.type)&&c.ie_touch(b))return!1;if(e.hasClass("open"))Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&b.preventDefault(),c.hide(e);else{if(f.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type))return;!f.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&(b.preventDefault(),d(f.tooltip_class+".open").hide(),g=!0),/enter|over/i.test(b.type)?this.timer=setTimeout(function(){c.showTip(e)}.bind(this),c.settings.hover_delay):"mouseout"===b.type||"mouseleave"===b.type?(clearTimeout(this.timer),c.hide(e)):c.showTip(e)}}).on("mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"].open",function(b){return/mouse/i.test(b.type)&&c.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)?c.convert_to_touch(a(this)):c.hide(a(this))))}).on("DOMNodeRemoved DOMAttrModified","["+this.attr_name()+"]:not(a)",function(){c.hide(d(this))})},ie_touch:function(){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("id"),c=a.attr(this.attr_name())||a.attr("data-selector");return(b&&b.length<1||!b)&&"string"!=typeof c&&(c=this.random_str(6),a.attr("data-selector",c).attr("aria-describedby",c)),b&&b.length>0?b:c},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(){d.hide(c)})),c.removeAttr("title").attr("title","")},reposition:function(b,c,d){var e,f,g,h,i;if(c.css("visibility","hidden").show(),e=b.data("width"),f=c.children(".nub"),g=f.outerHeight(),h=f.outerHeight(),c.css(this.small()?{width:"100%"}:{width:e?e:"auto"}),i=function(a,b,c,d,e){return a.css({top:b?b:"auto",bottom:d?d:"auto",left:e?e:"auto",right:c?c:"auto"}).end()},i(c,b.offset().top+b.outerHeight()+10,"auto","auto",b.offset().left),this.small())i(c,b.offset().top+b.outerHeight()+10,"auto","auto",12.5,a(this.scope).width()),c.addClass("tip-override"),i(f,-g,"auto","auto",b.offset().left);else{var j=b.offset().left;Foundation.rtl&&(f.addClass("rtl"),j=b.offset().left+b.outerWidth()-c.outerWidth()),i(c,b.offset().top+b.outerHeight()+10,"auto","auto",j),c.removeClass("tip-override"),d&&d.indexOf("tip-top")>-1?(Foundation.rtl&&f.addClass("rtl"),i(c,b.offset().top-c.outerHeight(),"auto","auto",j).removeClass("tip-override")):d&&d.indexOf("tip-left")>-1?(i(c,b.offset().top+b.outerHeight()/2-c.outerHeight()/2,"auto","auto",b.offset().left-c.outerWidth()-g).removeClass("tip-override"),f.removeClass("rtl")):d&&d.indexOf("tip-right")>-1&&(i(c,b.offset().top+b.outerHeight()/2-c.outerHeight()/2,"auto","auto",b.offset().left+b.outerWidth()+g).removeClass("tip-override"),f.removeClass("rtl"))}c.css("visibility","visible").hide()},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},inheritable_classes:function(b){var c=a.extend({},this.settings,this.data_options(b)),d=["tip-top","tip-left","tip-bottom","tip-right","radius","round"].concat(c.additional_inheritable_classes),e=b.attr("class"),f=e?a.map(e.split(" "),function(b){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(){c.hide(b)})),b.data("tooltip-open-event-type","touch")},show:function(a){var b=this.getTip(a);"touch"==a.data("tooltip-open-event-type")&&this.convert_to_touch(a),this.reposition(a,b,a.attr("class")),a.addClass("open"),b.fadeIn(150)},hide:function(a){var b=this.getTip(a);b.fadeOut(150,function(){b.find(".tap-to-close").remove(),b.off("click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose"),a.removeClass("open")})},off:function(){var b=this;this.S(this.scope).off(".fndtn.tooltip"),this.S(this.settings.tooltip_class).each(function(c){a("["+b.attr_name()+"]").eq(c).attr("title",a(this).text())}).remove()},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c){"use strict";Foundation.libs.topbar={name:"topbar",version:"5.5.0",settings:{index:0,sticky_class:"sticky",custom_back_text:!0,back_text:"Back",mobile_show_parent_link:!0,is_hover:!0,scrolltop:!0,sticky_on:"all"},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);return d&&"all"===c.sticky_on?!0:d&&this.small()&&"small"===c.sticky_on?matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches&&!matchMedia(Foundation.media_queries.large).matches:d&&this.medium()&&"medium"===c.sticky_on?matchMedia(Foundation.media_queries.small).matches&&matchMedia(Foundation.media_queries.medium).matches&&!matchMedia(Foundation.media_queries.large).matches:d&&this.large()&&"large"===c.sticky_on?matchMedia(Foundation.media_queries.small).matches&&matchMedia(Foundation.media_queries.medium).matches&&matchMedia(Foundation.media_queries.large).matches:!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(){var c=this,d=this.S;d(this.scope).off(".topbar").on("click.fndtn.topbar","["+this.attr_name()+"] .toggle-topbar",function(a){a.preventDefault(),c.toggle(this)}).on("click.fndtn.topbar",'.top-bar .top-bar-section li a[href^="#"],['+this.attr_name()+'] .top-bar-section li a[href^="#"]',function(){var b=a(this).closest("li");!c.breakpoint()||b.hasClass("back")||b.hasClass("has-dropdown")||c.toggle()}).on("click.fndtn.topbar","["+this.attr_name()+"] li.has-dropdown",function(b){var e=d(this),f=d(b.target),g=e.closest("["+c.attr_name()+"]"),h=g.data(c.attr_name(!0)+"-init");return f.data("revealId")?void c.toggle():void(c.breakpoint()||(!h.is_hover||Modernizr.touch)&&(b.stopImmediatePropagation(),e.hasClass("hover")?(e.removeClass("hover").find("li").removeClass("hover"),e.parents("li.hover").removeClass("hover")):(e.addClass("hover"),a(e).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(c.breakpoint()){a.preventDefault();var b=d(this),e=b.closest("["+c.attr_name()+"]"),f=e.find("section, .top-bar-section"),g=(b.next(".dropdown").outerHeight(),b.closest("li"));e.data("index",e.data("index")+1),g.addClass("moved"),c.rtl?(f.css({right:-(100*e.data("index"))+"%"}),f.find(">.name").css({right:100*e.data("index")+"%"})):(f.css({left:-(100*e.data("index"))+"%"}),f.find(">.name").css({left:100*e.data("index")+"%"})),e.css("height",b.siblings("ul").outerHeight(!0)+e.data("height"))}}),d(b).off(".topbar").on("resize.fndtn.topbar",c.throttle(function(){c.resize.call(c)},50)).trigger("resize").trigger("resize.fndtn.topbar").load(function(){d(this).trigger("resize.fndtn.topbar")}),d("body").off(".topbar").on("click.fndtn.topbar",function(a){var b=d(a.target).closest("li").closest("li.hover");b.length>0||d("["+c.attr_name()+"] li.hover").removeClass("hover")}),d(this.scope).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown .back",function(a){a.preventDefault();var b=d(this),e=b.closest("["+c.attr_name()+"]"),f=e.find("section, .top-bar-section"),g=(e.data(c.attr_name(!0)+"-init"),b.closest("li.moved")),h=g.parent();e.data("index",e.data("index")-1),c.rtl?(f.css({right:-(100*e.data("index"))+"%"}),f.find(">.name").css({right:100*e.data("index")+"%"})):(f.css({left:-(100*e.data("index"))+"%"}),f.find(">.name").css({left:100*e.data("index")+"%"})),0===e.data("index")?e.css("height",""):e.css("height",h.outerHeight(!0)+e.data("height")),setTimeout(function(){g.removeClass("moved")},300)}),d(this.scope).find(".dropdown a").focus(function(){a(this).parents(".has-dropdown").addClass("hover")}).blur(function(){a(this).parents(".has-dropdown").removeClass("hover")})},resize:function(){var a=this;a.S("["+this.attr_name()+"]").each(function(){var b,d=a.S(this),e=d.data(a.attr_name(!0)+"-init"),f=d.parent("."+a.settings.sticky_class);if(!a.breakpoint()){var g=d.hasClass("expanded");d.css("height","").removeClass("expanded").find("li").removeClass("hover"),g&&a.toggle(d)}a.is_sticky(d,f,e)&&(f.hasClass("fixed")?(f.removeClass("fixed"),b=f.offset().top,a.S(c.body).hasClass("f-topbar-fixed")&&(b-=d.data("height")),d.data("stickyoffset",b),f.addClass("fixed")):(b=f.offset().top,d.data("stickyoffset",b)))})},breakpoint:function(){return!matchMedia(Foundation.media_queries.topbar).matches},small:function(){return matchMedia(Foundation.media_queries.small).matches},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},assemble:function(b){var c=this,d=b.data(this.attr_name(!0)+"-init"),e=c.S("section, .top-bar-section",b);e.detach(),c.S(".has-dropdown>a",e).each(function(){var b,e=c.S(this),f=e.siblings(".dropdown"),g=e.attr("href");f.find(".title.back").length||(b=a(1==d.mobile_show_parent_link&&g?'
    2. ":'
    3. '),a("h5>a",b).html(1==d.custom_back_text?d.back_text:"« "+e.html()),f.prepend(b))}),e.appendTo(b),this.sticky(),this.assembled(b)},assembled:function(b){b.data(this.attr_name(!0),a.extend({},b.data(this.attr_name(!0)),{assembled:!0}))},height:function(b){var c=0,d=this;return a("> li",b).each(function(){c+=d.S(this).outerHeight(!0)}),c},sticky:function(){var a=this;this.S(b).on("scroll",function(){a.update_sticky_positioning()})},update_sticky_positioning:function(){var a="."+this.settings.sticky_class,c=this.S(b),d=this;if(d.settings.sticky_topbar&&d.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(),this.settings)){var e=this.settings.sticky_topbar.data("stickyoffset");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..522840e --- /dev/null +++ b/js/foundation/js/foundation/foundation.abide.js @@ -0,0 +1,318 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.abide = { + name : 'abide', + + version : '5.5.0', + + settings : { + live_validate : true, + validate_on_blur: true, + focus_on_invalid : true, + error_labels: true, // labels with a for="inputId" will recieve an `error` class + error_class: 'error', + timeout : 1000, + patterns : { + alpha: /^[a-zA-Z]+$/, + alpha_numeric : /^[a-zA-Z0-9]+$/, + integer: /^[-+]?\d+$/, + number: /^[-+]?\d*(?:[\.\,]\d+)?$/, + + // amex, visa, diners + card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/, + cvv : /^([0-9]){3,4}$/, + + // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address + email : /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/, + + url: /^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/, + // 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'); + + form + .off('.abide') + .on('submit.fndtn.abide validate.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').get(), e, is_ajax); + }) + .on('reset', function() { + return self.reset($(this)); + }) + .find('input, textarea, select') + .off('.abide') + .on('blur.fndtn.abide change.fndtn.abide', function (e) { + if (settings.validate_on_blur === true) { + self.validate([this], e); + } + }) + .on('keydown.fndtn.abide', function (e) { + if (settings.live_validate === true && e.which != 9) { + clearTimeout(self.timer); + self.timer = setTimeout(function () { + self.validate([this], e); + }.bind(this), settings.timeout); + } + }); + }, + + reset : function (form) { + form.removeAttr(this.invalid_attr); + $(this.invalid_attr, form).removeAttr(this.invalid_attr); + $('.' + this.settings.error_class, form).not('small').removeClass(this.settings.error_class); + }, + + 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').trigger('invalid.fndtn.abide'); + this.S(els[i]).closest('form').attr(this.invalid_attr, ''); + return false; + } + } + + if (submit_event || is_ajax) { + form.trigger('valid').trigger('valid.fndtn.abide'); + } + + form.removeAttr(this.invalid_attr); + + if (is_ajax) return false; + + return true; + }, + + parse_patterns : function (els) { + var i = els.length, + el_patterns = []; + + while (i--) { + el_patterns.push(this.pattern(els[i])); + } + + return this.check_validation_and_apply_styles(el_patterns); + }, + + pattern : function (el) { + var type = el.getAttribute('type'), + required = typeof el.getAttribute('required') === 'string'; + + var pattern = el.getAttribute('pattern') || ''; + + if (this.settings.patterns.hasOwnProperty(pattern) && pattern.length > 0) { + return [el, this.settings.patterns[pattern], required]; + } else if (pattern.length > 0) { + return [el, new RegExp(pattern), required]; + } + + if (this.settings.patterns.hasOwnProperty(type)) { + return [el, this.settings.patterns[type], required]; + } + + pattern = /.*/; + + return [el, pattern, required]; + }, + + // TODO: Break this up into smaller methods, getting hard to read. + check_validation_and_apply_styles : function (el_patterns) { + var i = el_patterns.length, + validations = [], + form = this.S(el_patterns[0][0]).closest('[data-' + this.attr_name(true) + ']'), + settings = form.data(this.attr_name(true) + '-init') || {}; + while (i--) { + var el = el_patterns[i][0], + required = el_patterns[i][2], + value = el.value.trim(), + direct_parent = this.S(el).parent(), + validator = el.getAttribute(this.add_namespace('data-abide-validator')), + is_radio = el.type === "radio", + is_checkbox = el.type === "checkbox", + label = this.S('label[for="' + el.getAttribute('id') + '"]'), + valid_length = (required) ? (el.value.length > 0) : true, + el_validations = []; + + var parent, valid; + + // support old way to do equalTo validations + if(el.getAttribute(this.add_namespace('data-equalto'))) { validator = "equalTo" } + + if (!direct_parent.is('label')) { + parent = direct_parent; + } else { + parent = direct_parent.parent(); + } + + if (validator) { + valid = this.settings.validators[validator].apply(this, [el, required, parent]); + el_validations.push(valid); + } + + 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 (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.push(el_validations[0]); + } + validations = [validations.every(function(valid){return valid;})]; + return validations; + }, + + valid_checkbox : function(el, required) { + var el = this.S(el), + valid = (el.is(':checked') || !required); + + 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); + } + + 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; + + // 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].checked) valid = true; + } + + // 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); + } else { + this.S(group[i]).attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + } + } + + 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; + } + }; +}(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..1165d15 --- /dev/null +++ b/js/foundation/js/foundation/foundation.accordion.js @@ -0,0 +1,67 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.accordion = { + name : 'accordion', + + version : '5.5.0', + + 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 () { + var self = this; + var S = this.S; + S(this.scope) + .off('.fndtn.accordion') + .on('click.fndtn.accordion', '[' + this.attr_name() + '] > .accordion-navigation > 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 = $('> .accordion-navigation', 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); + aunts = aunts.add('[' + groupSelector + '] .accordion-navigation'); + } + + if (settings.toggleable && target.is(active_content)) { + target.parent('.accordion-navigation').toggleClass(settings.active_class, false); + target.toggleClass(settings.active_class, false); + 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); + } + + target.addClass(settings.active_class).parent().addClass(settings.active_class); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + }); + }, + + 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..69059c1 --- /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.0', + + 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').trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } else { + alertBox.fadeOut(300, function () { + S(this).trigger('close').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..e83d024 --- /dev/null +++ b/js/foundation/js/foundation/foundation.clearing.js @@ -0,0 +1,558 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.clearing = { + name : 'clearing', + + version: '5.5.0', + + settings : { + templates : { + viewing : '×' + + '' + }, + + // comma delimited list of selectors that, on click, will close clearing, + // add 'div.clearing-blackout, div.visible-img' to close on background click + close_selectors : '.clearing-close, div.clearing-blackout', + + // Default to the entire li element. + open_selectors : '', + + // Image will be skipped in carousel. + skip_selector : '', + + touch_label : '', + + // event initializers and locks + init : false, + locked : false + }, + + init : function (scope, method, options) { + var self = this; + Foundation.inherit(this, 'throttle image_loaded'); + + this.bindings(method, options); + + if (self.S(this.scope).is('[' + this.attr_name() + ']')) { + this.assemble(self.S('li', this.scope)); + } else { + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + self.assemble(self.S('li', this)); + }); + } + }, + + events : function (scope) { + var self = this, + S = self.S, + $scroll_container = $('.scroll-container'); + + if ($scroll_container.length > 0) { + this.scope = $scroll_container; + } + + S(this.scope) + .off('.clearing') + .on('click.fndtn.clearing', 'ul[' + this.attr_name() + '] li ' + this.settings.open_selectors, + function (e, current, target) { + var current = current || S(this), + target = target || current, + next = current.next('li'), + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'), + image = S(e.target); + + e.preventDefault(); + + if (!settings) { + self.init(); + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + } + + // if clearing is open and the current image is + // clicked, go to the next image in sequence + if (target.hasClass('visible') && + current[0] === target[0] && + next.length > 0 && self.is_open(current)) { + target = next; + image = S('img', target); + } + + // set current and target to the clicked li if not otherwise defined. + self.open(image, current, target); + self.update_paddles(target); + }) + + .on('click.fndtn.clearing', '.clearing-main-next', + function (e) { self.nav(e, 'next') }) + .on('click.fndtn.clearing', '.clearing-main-prev', + function (e) { self.nav(e, 'prev') }) + .on('click.fndtn.clearing', this.settings.close_selectors, + function (e) { Foundation.libs.clearing.close(e, this) }); + + $(document).on('keydown.fndtn.clearing', + function (e) { self.keydown(e) }); + + S(window).off('.clearing').on('resize.fndtn.clearing', + function () { self.resize() }); + + this.swipe_events(scope); + }, + + swipe_events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .on('touchstart.fndtn.clearing', '.visible-img', function(e) { + if (!e.touches) { e = e.originalEvent; } + var data = { + start_page_x: e.touches[0].pageX, + start_page_y: e.touches[0].pageY, + start_time: (new Date()).getTime(), + delta_x: 0, + is_scrolling: undefined + }; + + S(this).data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.clearing', '.visible-img', function(e) { + if (!e.touches) { e = e.originalEvent; } + // Ignore pinch/zoom events + if(e.touches.length > 1 || e.scale && e.scale !== 1) return; + + var data = S(this).data('swipe-transition'); + + if (typeof data === 'undefined') { + data = {}; + } + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if (Foundation.rtl) { + data.delta_x = -data.delta_x; + } + + if (typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? 'next' : 'prev'; + data.active = true; + self.nav(e, direction); + } + }) + .on('touchend.fndtn.clearing', '.visible-img', function(e) { + S(this).data('swipe-transition', {}); + e.stopPropagation(); + }); + }, + + assemble : function ($li) { + var $el = $li.parent(); + + if ($el.parent().hasClass('carousel')) { + return; + } + + $el.after('
      '); + + var grid = $el.detach(), + grid_outerHTML = ''; + + if (grid[0] == null) { + return; + } else { + grid_outerHTML = grid[0].outerHTML; + } + + var holder = this.S('#foundationClearingHolder'), + settings = $el.data(this.attr_name(true) + '-init'), + data = { + grid: '', + viewing: settings.templates.viewing + }, + wrapper = '
      ' + data.viewing + + data.grid + '
      ', + touch_label = this.settings.touch_label; + + if (Modernizr.touch) { + wrapper = $(wrapper).find('.clearing-touch-label').html(touch_label).end(); + } + + holder.after(wrapper).remove(); + }, + + open : function ($image, current, target) { + var self = this, + body = $(document.body), + root = target.closest('.clearing-assembled'), + container = self.S('div', root).first(), + visible_image = self.S('.visible-img', container), + image = self.S('img', visible_image).not($image), + label = self.S('.clearing-touch-label', container), + error = false; + + // 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'); + // 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 + image + .attr('src', this.load($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').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) { + target.css({ + marginLeft : -(target.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2) + }); + + if (label.length > 0) { + label.css({ + marginLeft : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10 + }); + } + } else { + target.css({ + marginRight : -(target.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2), + left: 'auto', + right: '50%' + }); + + if (label.length > 0) { + 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; + + if ($image[0].nodeName === 'A') { + href = $image.attr('href'); + } else { + href = $image.closest('a').attr('href'); + } + + this.preload($image); + + if (href) return href; + return $image.attr('src'); + }, + + preload : function ($image) { + this + .img($image.closest('li').next()) + .img($image.closest('li').prev()); + }, + + img : function (img) { + if (img.length) { + var new_img = new Image(), + new_a = this.S('a', img); + + if (new_a.length) { + new_img.src = new_a.attr('href'); + } else { + new_img.src = this.S('img', img).attr('src'); + } + } + return this; + }, + + // image caption + + caption : function (container, $image) { + var caption = $image.attr('data-caption'); + + if (caption) { + container + .html(caption) + .show(); + } else { + container + .text('') + .hide(); + } + return this; + }, + + // directional methods + + go : function ($ul, direction) { + var current = this.S('.visible', $ul), + target = current[direction](); + + // Check for skip selector. + if (this.settings.skip_selector && target.find(this.settings.skip_selector).length != 0) { + target = target[direction](); + } + + if (target.length) { + this.S('img', target) + .trigger('click', [current, 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..69ad8f2 --- /dev/null +++ b/js/foundation/js/foundation/foundation.dropdown.js @@ -0,0 +1,439 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.dropdown = { + name : 'dropdown', + + version : '5.5.0', + + 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]')) { + 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 (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 () { + var original_target = $('[' + self.attr_name() + '=' + dropdown[0].id + ']') || $('aria-controls=' + dropdown[0].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').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').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'), + target = this.S('[' + this.attr_name() + '="' + dropdown.attr('id') + '"]'); + + 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; + + 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); + } else { + + this.style(dropdown, target, settings); + } + + return dropdown; + }, + + style : function (dropdown, target, settings) { + var css = $.extend({position: 'absolute'}, + this.dirs[settings.align].call(dropdown, target, settings)); + + dropdown.attr('style', '').css(css); + }, + + // return CSS property object + // `this` is the dropdown + dirs : { + // Calculate target offset + _base : function (t) { + var o_p = this.offsetParent(), + o = o_p.offset(), + p = t.offset(); + + p.top -= o.top; + p.left -= o.left; + + //set some flags on the p object to pass along + p.missRight = false; + p.missTop = false; + p.missLeft = false; + p.leftRightFlag = false; + + //lets see if the panel will be off the screen + //get the actual width of the page and store it + var actualBodyWidth; + if (document.getElementsByClassName('row')[0]) { + actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth; + } else { + actualBodyWidth = window.outerWidth; + } + + var actualMarginWidth = (window.outerWidth - actualBodyWidth) / 2; + var actualBoundary = actualBodyWidth; + + if (!this.hasClass('mega')) { + //miss top + if (t.offset().top <= this.outerHeight()) { + p.missTop = true; + actualBoundary = window.outerWidth - actualMarginWidth; + p.leftRightFlag = true; + } + + //miss right + if (t.offset().left + this.outerWidth() > t.offset().left + actualMarginWidth && t.offset().left - actualMarginWidth > this.outerWidth()) { + p.missRight = true; + p.missLeft = false; + } + + //miss left + if (t.offset().left - this.outerWidth() <= 0) { + p.missLeft = true; + p.missRight = false; + } + } + + return p; + }, + + top: function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t); + + this.addClass('drop-top'); + + if (p.missTop == true) { + p.top = p.top + t.outerHeight() + this.outerHeight(); + this.removeClass('drop-top'); + } + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this,t,s,p); + } + + if (Foundation.rtl) { + return {left: p.left - this.outerWidth() + t.outerWidth(), + top: p.top - this.outerHeight()}; + } + + return {left: p.left, top: p.top - this.outerHeight()}; + }, + + bottom: function (t,s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this,t,s,p); + } + + if (self.rtl) { + return {left: p.left - this.outerWidth() + t.outerWidth(), top: p.top + t.outerHeight()}; + } + + return {left: p.left, top: p.top + t.outerHeight()}; + }, + + left: function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t); + + this.addClass('drop-left'); + + if (p.missLeft == true) { + p.left = p.left + this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-left'); + } + + return {left: p.left - this.outerWidth(), top: p.top}; + }, + + right: function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t); + + this.addClass('drop-right'); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-right'); + } else { + p.triggeredRight = true; + } + + var self = Foundation.libs.dropdown; + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this,t,s,p); + } + + return {left: p.left + t.outerWidth(), top: p.top}; + } + }, + + // Insert rule to style psuedo elements + adjust_pip : function (dropdown,target,settings,position) { + var sheet = Foundation.stylesheet, + pip_offset_base = 8; + + if (dropdown.hasClass(settings.mega_class)) { + pip_offset_base = position.left + (target.outerWidth()/2) - 8; + } + else if (this.small()) { + pip_offset_base += position.left - 8; + } + + this.rule_idx = sheet.cssRules.length; + + //default + var sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + + if (position.missRight == true) { + pip_offset_base = dropdown.outerWidth() - 23; + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + } + + //just a case where right is fired, but its not missing right + if (position.triggeredRight == true) { + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left:-12px;', + css_after = 'left:-14px;'; + } + + if (sheet.insertRule) { + sheet.insertRule([sel_before, '{', css_before, '}'].join(' '), this.rule_idx); + sheet.insertRule([sel_after, '{', css_after, '}'].join(' '), this.rule_idx + 1); + } else { + sheet.addRule(sel_before, css_before, this.rule_idx); + sheet.addRule(sel_after, css_after, this.rule_idx + 1); + } + }, + + // Remove old dropdown rule index + clear_idx : function () { + var sheet = Foundation.stylesheet; + + if (typeof this.rule_idx !== 'undefined') { + sheet.deleteRule(this.rule_idx); + sheet.deleteRule(this.rule_idx); + delete this.rule_idx; + } + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + off: function () { + this.S(this.scope).off('.fndtn.dropdown'); + this.S('html, body').off('.fndtn.dropdown'); + this.S(window).off('.fndtn.dropdown'); + this.S('[data-dropdown-content]').off('.fndtn.dropdown'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.equalizer.js b/js/foundation/js/foundation/foundation.equalizer.js new file mode 100644 index 0000000..1c8f0b6 --- /dev/null +++ b/js/foundation/js/foundation/foundation.equalizer.js @@ -0,0 +1,73 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.equalizer = { + name : 'equalizer', + + version : '5.5.0', + + settings : { + use_tallest: true, + before_height_change: $.noop, + after_height_change: $.noop, + equalize_on_stack: 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, + vals = equalizer.find('[' + this.attr_name() + '-watch]:visible'), + settings = equalizer.data(this.attr_name(true)+'-init'); + + if (vals.length === 0) return; + var firstTopOffset = vals.first().offset().top; + settings.before_height_change(); + equalizer.trigger('before-height-change').trigger('before-height-change.fndth.equalizer'); + vals.height('inherit'); + vals.each(function(){ + var el = $(this); + if (el.offset().top !== firstTopOffset) { + isStacked = true; + } + }); + + if (settings.equalize_on_stack === 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').trigger('after-height-change.fndtn.equalizer'); + }, + + reflow : function () { + var self = this; + + this.S('[' + this.attr_name() + ']', this.scope).each(function(){ + var $eq_target = $(this); + self.image_loaded(self.S('img', this), function(){ + self.equalize($eq_target) + }); + }); + } + }; +})(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..7afcceb --- /dev/null +++ b/js/foundation/js/foundation/foundation.interchange.js @@ -0,0 +1,348 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.interchange = { + name : 'interchange', + + version : '5.5.0', + + 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 (/IMG/.test(el[0].nodeName)) { + var orig_path = el[0].src; + + if (new RegExp(path, 'i').test(orig_path)) return; + + el[0].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.load('images'); + this.load('nodes'); + }, + + 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 () { + if (arguments[0] instanceof Array) { + var args = arguments[0]; + } else { + var args = Array.prototype.slice.call(arguments, 0); + } + + passed.el.trigger(passed.scenario[1], args); + }); + } + } + } + + }, + + 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').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*$/), + media_query = scenario[1]; + + 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)]; + }, + + object : function(el) { + var raw_arr = this.parse_data_attr(el), + scenarios = [], + i = raw_arr.length; + + if (i > 0) { + while (i--) { + var split = raw_arr[i].split(/\((.*?)(\))$/); + + if (split.length > 1) { + var params = this.parse_scenario(split); + 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..a62c1a2 --- /dev/null +++ b/js/foundation/js/foundation/foundation.joyride.js @@ -0,0 +1,924 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + var Modernizr = Modernizr || false; + + Foundation.libs.joyride = { + name : 'joyride', + + version : '5.5.0', + + defaults : { + expose : false, // turn on or off the expose feature + modal : true, // Whether to cover page with modal during the tour + keyboard : true, // enable left, right and esc keystrokes + tip_location : 'bottom', // 'top' or 'bottom' in relation to parent + nub_position : 'auto', // override on a per tooltip bases + scroll_speed : 1500, // Page scrolling speed in milliseconds, 0 = no scroll animation + scroll_animation : 'linear', // supports 'swing' and 'linear', extend with jQuery UI. + timer : 0, // 0 = no timer , all other numbers = timer in milliseconds + start_timer_on_click : true, // true or false - true requires clicking the first button start the timer + start_offset : 0, // the index of the tooltip you want to start on (index of the li) + next_button : true, // true or false to control whether a next button is used + prev_button : true, // true or false to control whether a prev button is used + tip_animation : 'fade', // 'pop' or 'fade' in each tip + pause_after : [], // array of indexes where to pause the tour after + exposed : [], // array of expose elements + tip_animation_fade_speed : 300, // when tipAnimation = 'fade' this is speed in milliseconds for the transition + cookie_monster : false, // true or false to control whether cookies are used + cookie_name : 'joyride', // Name the cookie you'll use + cookie_domain : false, // Will this cookie be attached to a domain, ie. '.notableapp.com' + cookie_expires : 365, // set when you would like the cookie to expire. + tip_container : 'body', // Where will the tip be attached + abort_on_close : true, // When true, the close event will not fire any callback + tip_location_patterns : { + top: ['bottom'], + bottom: [], // bottom should not need to be repositioned + left: ['right', 'top', 'bottom'], + right: ['left', 'top', 'bottom'] + }, + post_ride_callback : function (){}, // A method to call once the tour closes (canceled or complete) + post_step_callback : function (){}, // A method to call after each step + pre_step_callback : function (){}, // A method to call before each step + pre_ride_callback : function (){}, // A method to call before the tour starts (passed index, tip, and cloned exposed element) + post_expose_callback : function (){}, // A method to call after an element has been exposed + template : { // HTML segments for tip layout + link : '×', + timer : '
      ', + tip : '
      ', + wrapper : '
      ', + button : '', + prev_button : '', + modal : '
      ', + expose : '
      ', + expose_cover : '
      ' + }, + expose_add_class : '' // One or more space-separated class names to be added to exposed element + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.settings = this.settings || $.extend({}, this.defaults, (options || method)); + + this.bindings(method, options) + }, + + go_next : function() { + if (this.settings.$li.next().length < 1) { + this.end(); + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(); + this.startTimer(); + } else { + this.hide(); + this.show(); + } + }, + + go_prev : function() { + if (this.settings.$li.prev().length < 1) { + // Do nothing if there are no prev element + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(null, true); + this.startTimer(); + } else { + this.hide(); + this.show(null, true); + } + }, + + events : function () { + var self = this; + + $(this.scope) + .off('.joyride') + .on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) { + e.preventDefault(); + this.go_next() + }.bind(this)) + .on('click.fndtn.joyride', '.joyride-prev-tip', function (e) { + e.preventDefault(); + this.go_prev(); + }.bind(this)) + + .on('click.fndtn.joyride', '.joyride-close-tip', function (e) { + e.preventDefault(); + this.end(this.settings.abort_on_close); + }.bind(this)) + + .on('keyup.fndtn.joyride', function(e) { + // Don't do anything if keystrokes are disabled + // or if the joyride is not being shown + if (!this.settings.keyboard || !this.settings.riding) return; + + switch (e.which) { + case 39: // right arrow + e.preventDefault(); + this.go_next(); + break; + case 37: // left arrow + e.preventDefault(); + this.go_prev(); + break; + case 27: // escape + e.preventDefault(); + this.end(this.settings.abort_on_close); + } + }.bind(this)); + + $(window) + .off('.joyride') + .on('resize.fndtn.joyride', self.throttle(function () { + if ($('[' + self.attr_name() + ']').length > 0 && self.settings.$next_tip && self.settings.riding) { + if (self.settings.exposed.length > 0) { + var $els = $(self.settings.exposed); + + $els.each(function () { + var $this = $(this); + self.un_expose($this); + self.expose($this); + }); + } + + if (self.is_phone()) { + self.pos_phone(); + } else { + self.pos_default(false); + } + } + }, 100)); + }, + + start : function () { + var self = this, + $this = $('[' + this.attr_name() + ']', this.scope), + integer_settings = ['timer', 'scrollSpeed', 'startOffset', 'tipAnimationFadeSpeed', 'cookieExpires'], + int_settings_count = integer_settings.length; + + if (!$this.length > 0) return; + + if (!this.settings.init) this.events(); + + this.settings = $this.data(this.attr_name(true) + '-init'); + + // non configureable settings + this.settings.$content_el = $this; + this.settings.$body = $(this.settings.tip_container); + this.settings.body_offset = $(this.settings.tip_container).position(); + this.settings.$tip_content = this.settings.$content_el.find('> li'); + this.settings.paused = false; + this.settings.attempts = 0; + this.settings.riding = true; + + // can we create cookies? + if (typeof $.cookie !== 'function') { + this.settings.cookie_monster = false; + } + + // generate the tips and insert into dom. + if (!this.settings.cookie_monster || this.settings.cookie_monster && !$.cookie(this.settings.cookie_name)) { + this.settings.$tip_content.each(function (index) { + var $this = $(this); + this.settings = $.extend({}, self.defaults, self.data_options($this)); + + // Make sure that settings parsed from data_options are integers where necessary + var i = int_settings_count; + while (i--) { + self.settings[integer_settings[i]] = parseInt(self.settings[integer_settings[i]], 10); + } + self.create({$li : $this, index : index}); + }); + + // show first tip + if (!this.settings.start_timer_on_click && this.settings.timer > 0) { + this.show('init'); + this.startTimer(); + } else { + this.show('init'); + } + + } + }, + + resume : function () { + this.set_li(); + this.show(); + }, + + tip_template : function (opts) { + var $blank, content; + + opts.tip_class = opts.tip_class || ''; + + $blank = $(this.settings.template.tip).addClass(opts.tip_class); + content = $.trim($(opts.li).html()) + + this.prev_button_text(opts.prev_button_text, opts.index) + + this.button_text(opts.button_text) + + this.settings.template.link + + this.timer_instance(opts.index); + + $blank.append($(this.settings.template.wrapper)); + $blank.first().attr(this.add_namespace('data-index'), opts.index); + $('.joyride-content-wrapper', $blank).append(content); + + return $blank[0]; + }, + + timer_instance : function (index) { + var txt; + + if ((index === 0 && this.settings.start_timer_on_click && this.settings.timer > 0) || this.settings.timer === 0) { + txt = ''; + } else { + txt = $(this.settings.template.timer)[0].outerHTML; + } + return txt; + }, + + button_text : function (txt) { + if (this.settings.tip_settings.next_button) { + txt = $.trim(txt) || 'Next'; + txt = $(this.settings.template.button).append(txt)[0].outerHTML; + } else { + txt = ''; + } + return txt; + }, + + prev_button_text : function (txt, idx) { + if (this.settings.tip_settings.prev_button) { + txt = $.trim(txt) || 'Previous'; + + // Add the disabled class to the button if it's the first element + if (idx == 0) + txt = $(this.settings.template.prev_button).append(txt).addClass('disabled')[0].outerHTML; + else + txt = $(this.settings.template.prev_button).append(txt)[0].outerHTML; + } else { + txt = ''; + } + return txt; + }, + + create : function (opts) { + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(opts.$li)); + var buttonText = opts.$li.attr(this.add_namespace('data-button')) + || opts.$li.attr(this.add_namespace('data-text')), + prevButtonText = opts.$li.attr(this.add_namespace('data-button-prev')) + || opts.$li.attr(this.add_namespace('data-prev-text')), + tipClass = opts.$li.attr('class'), + $tip_content = $(this.tip_template({ + tip_class : tipClass, + index : opts.index, + button_text : buttonText, + prev_button_text : prevButtonText, + li : opts.$li + })); + + $(this.settings.tip_container).append($tip_content); + }, + + show : function (init, is_prev) { + var $timer = null; + + // are we paused? + if (this.settings.$li === undefined + || ($.inArray(this.settings.$li.index(), this.settings.pause_after) === -1)) { + + // don't go to the next li if the tour was paused + if (this.settings.paused) { + this.settings.paused = false; + } else { + this.set_li(init, is_prev); + } + + this.settings.attempts = 0; + + if (this.settings.$li.length && this.settings.$target.length > 0) { + if (init) { //run when we first start + this.settings.pre_ride_callback(this.settings.$li.index(), this.settings.$next_tip); + if (this.settings.modal) { + this.show_modal(); + } + } + + this.settings.pre_step_callback(this.settings.$li.index(), this.settings.$next_tip); + + if (this.settings.modal && this.settings.expose) { + this.expose(); + } + + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(this.settings.$li)); + + this.settings.timer = parseInt(this.settings.timer, 10); + + this.settings.tip_settings.tip_location_pattern = this.settings.tip_location_patterns[this.settings.tip_settings.tip_location]; + + // scroll and hide bg if not modal + if (!/body/i.test(this.settings.$target.selector)) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (/pop/i.test(this.settings.tipAnimation)) { + joyridemodalbg.hide(); + } else { + joyridemodalbg.fadeOut(this.settings.tipAnimationFadeSpeed); + } + this.scroll_to(); + } + + if (this.is_phone()) { + this.pos_phone(true); + } else { + this.pos_default(true); + } + + $timer = this.settings.$next_tip.find('.joyride-timer-indicator'); + + if (/pop/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip.show(); + + setTimeout(function () { + $timer.animate({ + width: $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.show(); + + } + + + } else if (/fade/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip + .fadeIn(this.settings.tip_animation_fade_speed) + .show(); + + setTimeout(function () { + $timer.animate({ + width: $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed); + } + } + + this.settings.$current_tip = this.settings.$next_tip; + + // skip non-existant targets + } else if (this.settings.$li && this.settings.$target.length < 1) { + + this.show(init, is_prev); + + } else { + + this.end(); + + } + } else { + + this.settings.paused = true; + + } + + }, + + is_phone : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + hide : function () { + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + if (!this.settings.modal) { + $('.joyride-modal-bg').hide(); + } + + // Prevent scroll bouncing...wait to remove from layout + this.settings.$current_tip.css('visibility', 'hidden'); + setTimeout($.proxy(function() { + this.hide(); + this.css('visibility', 'visible'); + }, this.settings.$current_tip), 0); + this.settings.post_step_callback(this.settings.$li.index(), + this.settings.$current_tip); + }, + + set_li : function (init, is_prev) { + if (init) { + this.settings.$li = this.settings.$tip_content.eq(this.settings.start_offset); + this.set_next_tip(); + this.settings.$current_tip = this.settings.$next_tip; + } else { + if (is_prev) + this.settings.$li = this.settings.$li.prev(); + else + this.settings.$li = this.settings.$li.next(); + this.set_next_tip(); + } + + this.set_target(); + }, + + set_next_tip : function () { + this.settings.$next_tip = $('.joyride-tip-guide').eq(this.settings.$li.index()); + this.settings.$next_tip.data('closed', ''); + }, + + set_target : function () { + var cl = this.settings.$li.attr(this.add_namespace('data-class')), + id = this.settings.$li.attr(this.add_namespace('data-id')), + $sel = function () { + if (id) { + return $(document.getElementById(id)); + } else if (cl) { + return $('.' + cl).first(); + } else { + return $('body'); + } + }; + + this.settings.$target = $sel(); + }, + + scroll_to : function () { + var window_half, tipOffset; + + window_half = $(window).height() / 2; + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()); + + if (tipOffset != 0) { + $('html, body').stop().animate({ + scrollTop: tipOffset + }, this.settings.scroll_speed, 'swing'); + } + }, + + paused : function () { + return ($.inArray((this.settings.$li.index() + 1), this.settings.pause_after) === -1); + }, + + restart : function () { + this.hide(); + this.settings.$li = undefined; + this.show('init'); + }, + + pos_default : function (init) { + var $nub = this.settings.$next_tip.find('.joyride-nub'), + nub_width = Math.ceil($nub.outerWidth() / 2), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + // tip must not be "display: none" to calculate position + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0, + leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0; + + if (this.bottom()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top: (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left: this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth() + leftAdjustment}); + } else { + this.settings.$next_tip.css({ + top: (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left: this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'top'); + + } else if (this.top()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top: (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left: this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()}); + } else { + this.settings.$next_tip.css({ + top: (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left: this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'bottom'); + + } else if (this.right()) { + + this.settings.$next_tip.css({ + top: this.settings.$target.offset().top + topAdjustment, + left: (this.settings.$target.outerWidth() + this.settings.$target.offset().left + nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'left'); + + } else if (this.left()) { + + this.settings.$next_tip.css({ + top: this.settings.$target.offset().top + topAdjustment, + left: (this.settings.$target.offset().left - this.settings.$next_tip.outerWidth() - nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'right'); + + } + + if (!this.visible(this.corners(this.settings.$next_tip)) && this.settings.attempts < this.settings.tip_settings.tip_location_pattern.length) { + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + this.settings.tip_settings.tip_location = this.settings.tip_settings.tip_location_pattern[this.settings.attempts]; + + this.settings.attempts++; + + this.pos_default(); + + } + + } else if (this.settings.$li.length) { + + this.pos_modal($nub); + + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + + }, + + pos_phone : function (init) { + var tip_height = this.settings.$next_tip.outerHeight(), + tip_offset = this.settings.$next_tip.offset(), + target_height = this.settings.$target.outerHeight(), + $nub = $('.joyride-nub', this.settings.$next_tip), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + + if (this.top()) { + + this.settings.$next_tip.offset({top: this.settings.$target.offset().top - tip_height - nub_height}); + $nub.addClass('bottom'); + + } else { + + this.settings.$next_tip.offset({top: this.settings.$target.offset().top + target_height + nub_height}); + $nub.addClass('top'); + + } + + } else if (this.settings.$li.length) { + this.pos_modal($nub); + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + }, + + pos_modal : function ($nub) { + this.center(); + $nub.hide(); + + this.show_modal(); + }, + + show_modal : function () { + if (!this.settings.$next_tip.data('closed')) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (joyridemodalbg.length < 1) { + var joyridemodalbg = $(this.settings.template.modal); + joyridemodalbg.appendTo('body'); + } + + if (/pop/i.test(this.settings.tip_animation)) { + joyridemodalbg.show(); + } else { + joyridemodalbg.fadeIn(this.settings.tip_animation_fade_speed); + } + } + }, + + expose : function () { + var expose, + exposeCover, + el, + origCSS, + origClasses, + randId = 'expose-' + this.random_str(6); + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if(this.settings.$target && !/body/i.test(this.settings.$target.selector)){ + el = this.settings.$target; + } else { + return false; + } + + if(el.length < 1){ + if(window.console){ + console.error('element not valid', el); + } + return false; + } + + expose = $(this.settings.template.expose); + this.settings.$body.append(expose); + expose.css({ + top: el.offset().top, + left: el.offset().left, + width: el.outerWidth(true), + height: el.outerHeight(true) + }); + + exposeCover = $(this.settings.template.expose_cover); + + origCSS = { + zIndex: el.css('z-index'), + position: el.css('position') + }; + + origClasses = el.attr('class') == null ? '' : el.attr('class'); + + el.css('z-index',parseInt(expose.css('z-index'))+1); + + if (origCSS.position == 'static') { + el.css('position','relative'); + } + + el.data('expose-css',origCSS); + el.data('orig-class', origClasses); + el.attr('class', origClasses + ' ' + this.settings.expose_add_class); + + exposeCover.css({ + top: el.offset().top, + left: el.offset().left, + width: el.outerWidth(true), + height: el.outerHeight(true) + }); + + if (this.settings.modal) this.show_modal(); + + this.settings.$body.append(exposeCover); + expose.addClass(randId); + exposeCover.addClass(randId); + el.data('expose', randId); + this.settings.post_expose_callback(this.settings.$li.index(), this.settings.$next_tip, el); + this.add_exposed(el); + }, + + un_expose : function () { + var exposeId, + el, + expose , + origCSS, + origClasses, + clearAll = false; + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if(this.settings.$target && !/body/i.test(this.settings.$target.selector)){ + el = this.settings.$target; + } else { + return false; + } + + if(el.length < 1){ + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + exposeId = el.data('expose'); + expose = $('.' + exposeId); + + if (arguments.length > 1) { + clearAll = arguments[1]; + } + + if (clearAll === true) { + $('.joyride-expose-wrapper,.joyride-expose-cover').remove(); + } else { + expose.remove(); + } + + origCSS = el.data('expose-css'); + + if (origCSS.zIndex == 'auto') { + el.css('z-index', ''); + } else { + el.css('z-index', origCSS.zIndex); + } + + if (origCSS.position != el.css('position')) { + if(origCSS.position == 'static') {// this is default, no need to set it. + el.css('position', ''); + } else { + el.css('position', origCSS.position); + } + } + + origClasses = el.data('orig-class'); + el.attr('class', origClasses); + el.removeData('orig-classes'); + + el.removeData('expose'); + el.removeData('expose-z-index'); + this.remove_exposed(el); + }, + + add_exposed: function(el){ + this.settings.exposed = this.settings.exposed || []; + if (el instanceof $ || typeof el === 'object') { + this.settings.exposed.push(el[0]); + } else if (typeof el == 'string') { + this.settings.exposed.push(el); + } + }, + + remove_exposed: function(el){ + var search, i; + if (el instanceof $) { + search = el[0] + } else if (typeof el == 'string'){ + search = el; + } + + this.settings.exposed = this.settings.exposed || []; + i = this.settings.exposed.length; + + while (i--) { + if (this.settings.exposed[i] == search) { + this.settings.exposed.splice(i, 1); + return; + } + } + }, + + center : function () { + var $w = $(window); + + this.settings.$next_tip.css({ + top : ((($w.height() - this.settings.$next_tip.outerHeight()) / 2) + $w.scrollTop()), + left : ((($w.width() - this.settings.$next_tip.outerWidth()) / 2) + $w.scrollLeft()) + }); + + return true; + }, + + bottom : function () { + return /bottom/i.test(this.settings.tip_settings.tip_location); + }, + + top : function () { + return /top/i.test(this.settings.tip_settings.tip_location); + }, + + right : function () { + return /right/i.test(this.settings.tip_settings.tip_location); + }, + + left : function () { + return /left/i.test(this.settings.tip_settings.tip_location); + }, + + corners : function (el) { + var w = $(window), + window_half = w.height() / 2, + //using this to calculate since scroll may not have finished yet. + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()), + right = w.width() + w.scrollLeft(), + offsetBottom = w.height() + tipOffset, + bottom = w.height() + w.scrollTop(), + top = w.scrollTop(); + + if (tipOffset < top) { + if (tipOffset < 0) { + top = 0; + } else { + top = tipOffset; + } + } + + if (offsetBottom > bottom) { + bottom = offsetBottom; + } + + return [ + el.offset().top < top, + right < el.offset().left + el.outerWidth(), + bottom < el.offset().top + el.outerHeight(), + w.scrollLeft() > el.offset().left + ]; + }, + + visible : function (hidden_corners) { + var i = hidden_corners.length; + + while (i--) { + if (hidden_corners[i]) return false; + } + + return true; + }, + + nub_position : function (nub, pos, def) { + if (pos === 'auto') { + nub.addClass(def); + } else { + nub.addClass(pos); + } + }, + + startTimer : function () { + if (this.settings.$li.length) { + this.settings.automate = setTimeout(function () { + this.hide(); + this.show(); + this.startTimer(); + }.bind(this), this.settings.timer); + } else { + clearTimeout(this.settings.automate); + } + }, + + end : function (abort) { + if (this.settings.cookie_monster) { + $.cookie(this.settings.cookie_name, 'ridden', { expires: this.settings.cookie_expires, domain: this.settings.cookie_domain }); + } + + if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + } + + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + // Unplug keystrokes listener + $(this.scope).off('keyup.joyride') + + this.settings.$next_tip.data('closed', true); + this.settings.riding = false; + + $('.joyride-modal-bg').hide(); + this.settings.$current_tip.hide(); + + if (typeof abort === 'undefined' || abort === false) { + this.settings.post_step_callback(this.settings.$li.index(), this.settings.$current_tip); + this.settings.post_ride_callback(this.settings.$li.index(), this.settings.$current_tip); + } + + $('.joyride-tip-guide').remove(); + }, + + off : function () { + $(this.scope).off('.joyride'); + $(window).off('.joyride'); + $('.joyride-close-tip, .joyride-next-tip, .joyride-modal-bg').off('.joyride'); + $('.joyride-tip-guide, .joyride-modal-bg').remove(); + clearTimeout(this.settings.automate); + this.settings = {}; + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.js b/js/foundation/js/foundation/foundation.js new file mode 100644 index 0000000..188cc0c --- /dev/null +++ b/js/foundation/js/foundation/foundation.js @@ -0,0 +1,690 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2014, ZURB + * Free to use under the MIT license. + * http://www.opensource.org/licenses/mit-license.php +*/ + +(function ($, window, document, undefined) { + 'use strict'; + + var header_helpers = function (class_array) { + var i = class_array.length; + var head = $('head'); + + while (i--) { + if(head.has('.' + class_array[i]).length === 0) { + head.append(''); + } + } + }; + + header_helpers([ + 'foundation-mq-small', + 'foundation-mq-small-only', + 'foundation-mq-medium', + 'foundation-mq-medium-only', + 'foundation-mq-large', + 'foundation-mq-large-only', + 'foundation-mq-xlarge', + 'foundation-mq-xlarge-only', + 'foundation-mq-xxlarge', + 'foundation-data-attribute-namespace']); + + // Enable FastClick if present + + $(function() { + if (typeof FastClick !== 'undefined') { + // Don't attach to body if undefined + if (typeof document.body !== 'undefined') { + FastClick.attach(document.body); + } + } + }); + + // private Fast Selector wrapper, + // returns jQuery object. Only use where + // getElementById is not available. + var S = function (selector, context) { + if (typeof selector === 'string') { + if (context) { + var cont; + if (context.jquery) { + cont = context[0]; + if (!cont) return context; + } else { + cont = context; + } + return $(cont.querySelectorAll(selector)); + } + + return $(document.querySelectorAll(selector)); + } + + return $(selector, context); + }; + + // Namespace functions. + + var attr_name = function (init) { + var arr = []; + if (!init) arr.push('data'); + if (this.namespace.length > 0) arr.push(this.namespace); + arr.push(this.name); + + return arr.join('-'); + }; + + var add_namespace = function (str) { + var parts = str.split('-'), + i = parts.length, + arr = []; + + while (i--) { + if (i !== 0) { + arr.push(parts[i]); + } else { + if (this.namespace.length > 0) { + arr.push(this.namespace, parts[i]); + } else { + arr.push(parts[i]); + } + } + } + + return arr.reverse().join('-'); + }; + + // Event binding and data-options updating. + + var bindings = function (method, options) { + var self = this, + should_bind_events = !S(this).data(this.attr_name(true)); + + if (S(this.scope).is('[' + this.attr_name() +']')) { + S(this.scope).data(this.attr_name(true) + '-init', $.extend({}, this.settings, (options || method), this.data_options(S(this.scope)))); + + if (should_bind_events) { + this.events(this.scope); + } + + } else { + S('[' + this.attr_name() +']', this.scope).each(function () { + var should_bind_events = !S(this).data(self.attr_name(true) + '-init'); + S(this).data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options(S(this)))); + + if (should_bind_events) { + self.events(this); + } + }); + } + // # 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); + } + }; + + /* + https://github.com/paulirish/matchMedia.js + */ + + window.matchMedia = window.matchMedia || (function( doc ) { + + 'use strict'; + + var bool, + docElem = doc.documentElement, + refNode = docElem.firstElementChild || docElem.firstChild, + // fakeBody required for + fakeBody = doc.createElement( 'body' ), + div = doc.createElement( 'div' ); + + div.id = 'mq-test-1'; + div.style.cssText = 'position:absolute;top:-100em'; + fakeBody.style.background = 'none'; + fakeBody.appendChild(div); + + return function (q) { + + div.innerHTML = '­'; + + docElem.insertBefore( fakeBody, refNode ); + bool = div.offsetWidth === 42; + docElem.removeChild( fakeBody ); + + return { + matches: bool, + media: q + }; + + }; + + }( document )); + + /* + * jquery.requestAnimationFrame + * https://github.com/gnarf37/jquery-requestAnimationFrame + * Requires jQuery 1.8+ + * + * Copyright (c) 2012 Corey Frang + * Licensed under the MIT license. + */ + + (function($) { + + // 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); + }; + + } + + }( jQuery )); + + + function removeQuotes (string) { + if (typeof string === 'string' || string instanceof String) { + string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, ''); + } + + return string; + } + + window.Foundation = { + name : 'Foundation', + + version : '5.5.0', + + media_queries : { + 'small' : S('.foundation-mq-small').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'small-only' : S('.foundation-mq-small-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'medium' : S('.foundation-mq-medium').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'medium-only' : S('.foundation-mq-medium-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'large' : S('.foundation-mq-large').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'large-only' : S('.foundation-mq-large-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xlarge' : S('.foundation-mq-xlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xlarge-only' : S('.foundation-mq-xlarge-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''), + 'xxlarge' : S('.foundation-mq-xxlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '') + }, + + stylesheet : $('').appendTo('head')[0].sheet, + + global: { + namespace: undefined + }, + + init : function (scope, libraries, method, options, response) { + var args = [scope, method, options, response], + responses = []; + + // check RTL + this.rtl = /rtl/i.test(S('html').attr('dir')); + + // set foundation global scope + this.scope = scope || this.scope; + + this.set_namespace(); + + if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) { + if (this.libs.hasOwnProperty(libraries)) { + responses.push(this.init_lib(libraries, args)); + } + } else { + for (var lib in this.libs) { + responses.push(this.init_lib(lib, libraries)); + } + } + + S(window).load(function(){ + S(window) + .trigger('resize.fndtn.clearing') + .trigger('resize.fndtn.dropdown') + .trigger('resize.fndtn.equalizer') + .trigger('resize.fndtn.interchange') + .trigger('resize.fndtn.joyride') + .trigger('resize.fndtn.magellan') + .trigger('resize.fndtn.topbar') + .trigger('resize.fndtn.slider'); + }); + + return scope; + }, + + init_lib : function (lib, args) { + if (this.libs.hasOwnProperty(lib)) { + this.patch(this.libs[lib]); + + if (args && args.hasOwnProperty(lib)) { + if (typeof this.libs[lib].settings !== 'undefined') { + $.extend(true, this.libs[lib].settings, args[lib]); + } + else if (typeof this.libs[lib].defaults !== 'undefined') { + $.extend(true, this.libs[lib].defaults, args[lib]); + } + return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]); + } + + args = args instanceof Array ? args : new Array(args); + return this.libs[lib].init.apply(this.libs[lib], args); + } + + return function () {}; + }, + + patch : function (lib) { + lib.scope = this.scope; + lib.namespace = this.global.namespace; + lib.rtl = this.rtl; + lib['data_options'] = this.utils.data_options; + lib['attr_name'] = attr_name; + lib['add_namespace'] = add_namespace; + lib['bindings'] = bindings; + lib['S'] = this.utils.S; + }, + + inherit : function (scope, methods) { + var methods_arr = methods.split(' '), + i = methods_arr.length; + + while (i--) { + if (this.utils.hasOwnProperty(methods_arr[i])) { + scope[methods_arr[i]] = this.utils[methods_arr[i]]; + } + } + }, + + set_namespace: function () { + + // Description: + // Don't bother reading the namespace out of the meta tag + // if the namespace has been set globally in javascript + // + // Example: + // Foundation.global.namespace = 'my-namespace'; + // or make it an empty string: + // Foundation.global.namespace = ''; + // + // + + // If the namespace has not been set (is undefined), try to read it out of the meta element. + // Otherwise use the globally defined namespace, even if it's empty ('') + var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace; + + // Finally, if the namsepace is either undefined or false, set it to an empty string. + // Otherwise use the namespace value. + this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace; + }, + + libs : {}, + + // methods that can be inherited in libraries + utils : { + + // Description: + // Fast Selector wrapper returns jQuery object. Only use where getElementById + // is not available. + // + // Arguments: + // Selector (String): CSS selector describing the element(s) to be + // returned as a jQuery object. + // + // Scope (String): CSS selector describing the area to be searched. Default + // is document. + // + // Returns: + // Element (jQuery Object): jQuery object containing elements matching the + // selector within the scope. + S : S, + + // Description: + // Executes a function a max of once every n milliseconds + // + // Arguments: + // Func (Function): Function to be throttled. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Returns: + // Lazy_function (Function): Function with throttling applied. + throttle : function (func, delay) { + var timer = null; + + return function () { + var context = this, args = arguments; + + if (timer == null) { + timer = setTimeout(function () { + func.apply(context, args); + timer = null; + }, delay); + } + }; + }, + + // Description: + // Executes a function when it stops being invoked for n seconds + // Modified version of _.debounce() http://underscorejs.org + // + // Arguments: + // Func (Function): Function to be debounced. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Immediate (Bool): Whether the function should be called at the beginning + // of the delay instead of the end. Default is false. + // + // Returns: + // Lazy_function (Function): Function with debouncing applied. + debounce : function (func, delay, immediate) { + var timeout, result; + return function () { + var context = this, args = arguments; + var later = function () { + timeout = null; + if (!immediate) result = func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, delay); + if (callNow) result = func.apply(context, args); + return result; + }; + }, + + // Description: + // Parses data-options attribute + // + // Arguments: + // El (jQuery Object): Element to be parsed. + // + // Returns: + // Options (Javascript Object): Contents of the element's data-options + // attribute. + data_options : function (el, data_attr_name) { + data_attr_name = data_attr_name || 'options'; + var opts = {}, ii, p, opts_arr, + data_options = function (el) { + var namespace = Foundation.global.namespace; + + if (namespace.length > 0) { + return el.data(namespace + '-' + data_attr_name); + } + + return el.data(data_attr_name); + }; + + var cached_options = data_options(el); + + if (typeof cached_options === 'object') { + return cached_options; + } + + opts_arr = (cached_options || ':').split(';'); + ii = opts_arr.length; + + function isNumber (o) { + return ! isNaN (o-0) && o !== null && o !== '' && o !== false && o !== true; + } + + function trim (str) { + if (typeof str === 'string') return $.trim(str); + return str; + } + + while (ii--) { + p = opts_arr[ii].split(':'); + p = [p[0], p.slice(1).join(':')]; + + if (/true/i.test(p[1])) p[1] = true; + if (/false/i.test(p[1])) p[1] = false; + if (isNumber(p[1])) { + if (p[1].indexOf('.') === -1) { + p[1] = parseInt(p[1], 10); + } else { + p[1] = parseFloat(p[1]); + } + } + + if (p.length === 2 && p[0].length > 0) { + opts[trim(p[0])] = trim(p[1]); + } + } + + return opts; + }, + + // Description: + // Adds JS-recognizable media queries + // + // Arguments: + // Media (String): Key string for the media query to be stored as in + // Foundation.media_queries + // + // Class (String): Class name for the generated tag + register_media : function (media, media_class) { + if(Foundation.media_queries[media] === undefined) { + $('head').append(''); + Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family')); + } + }, + + // Description: + // Add custom CSS within a JS-defined media query + // + // Arguments: + // Rule (String): CSS rule to be appended to the document. + // + // Media (String): Optional media query string for the CSS rule to be + // nested under. + add_custom_rule : function (rule, media) { + if (media === undefined && Foundation.stylesheet) { + Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length); + } else { + var query = Foundation.media_queries[media]; + + if (query !== undefined) { + Foundation.stylesheet.insertRule('@media ' + + Foundation.media_queries[media] + '{ ' + rule + ' }'); + } + } + }, + + // 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; + + if (unloaded === 0) { + 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..295c1f8 --- /dev/null +++ b/js/foundation/js/foundation/foundation.magellan.js @@ -0,0 +1,198 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs['magellan-expedition'] = { + name : 'magellan-expedition', + + version : '5.5.0', + + 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) { + 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, '#'+hash); + } + else { + location.hash = '#'+hash; + } + }); + }) + .on('scroll.fndtn.magellan', self.throttle(this.check_for_arrivals.bind(this), settings.throttle_delay)); + + $(window) + .on('resize.fndtn.magellan', self.throttle(this.set_expedition_position.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'); + }, + + 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..8ce25d8 --- /dev/null +++ b/js/foundation/js/foundation/foundation.offcanvas.js @@ -0,0 +1,152 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.offcanvas = { + name : 'offcanvas', + + version : '5.5.0', + + settings : { + open_method: 'move', + close_on_click: false + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + move_class = '', + right_postfix = '', + left_postfix = ''; + + if (this.settings.open_method === 'move') { + move_class = 'move-'; + right_postfix = 'right'; + left_postfix = 'left'; + } else if (this.settings.open_method === 'overlap_single') { + move_class = 'offcanvas-overlap-'; + right_postfix = 'right'; + left_postfix = 'left'; + } else if (this.settings.open_method === 'overlap') { + move_class = 'offcanvas-overlap'; + } + + S(this.scope).off('.offcanvas') + .on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + right_postfix); + if (self.settings.open_method !== 'overlap'){ + S('.left-submenu').removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if(settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')){ + self.hide.call(self, move_class + right_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + right_postfix); + }else if(S(this).parent().hasClass('has-submenu')){ + e.preventDefault(); + S(this).siblings('.left-submenu').toggleClass(move_class + right_postfix); + }else if(parent.hasClass('back')){ + e.preventDefault(); + parent.parent().removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + left_postfix); + if (self.settings.open_method !== 'overlap'){ + S('.right-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if(settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')){ + self.hide.call(self, move_class + left_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + left_postfix); + }else if(S(this).parent().hasClass('has-submenu')){ + e.preventDefault(); + S(this).siblings('.right-submenu').toggleClass(move_class + left_postfix); + }else if(parent.hasClass('back')){ + e.preventDefault(); + parent.parent().removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + S('.right-submenu').removeClass(move_class + left_postfix); + if (right_postfix){ + self.click_remove_class(e, move_class + right_postfix); + S('.left-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + $('.left-off-canvas-toggle').attr('aria-expanded', 'false'); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + $('.right-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }); + }, + + toggle: function(class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + if ($off_canvas.is('.' + class_name)) { + this.hide(class_name, $off_canvas); + } else { + this.show(class_name, $off_canvas); + } + }, + + show: function(class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('open').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').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..9e744d6 --- /dev/null +++ b/js/foundation/js/foundation/foundation.orbit.js @@ -0,0 +1,472 @@ +;(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.height() != next.height() && settings.variable_height) { + slides_container.animate({'height': next.height()}, 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.height() > slides_container.height() && settings.variable_height) { + slides_container.animate({'height': next.height()}, 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.height(); + if (!settings.variable_height) { + self.slides().each(function(){ + if ($(this).height() > h) { h = $(this).height(); } + }); + } + 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.0', + + 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..2df38e9 --- /dev/null +++ b/js/foundation/js/foundation/foundation.reveal.js @@ -0,0 +1,449 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.reveal = { + name : 'reveal', + + version : '5.5.0', + + locked : false, + + settings : { + animation: 'fadeAndPop', + animation_speed: 250, + close_on_background_click: true, + close_on_esc: true, + dismiss_modal_class: 'close-reveal-modal', + bg_class: 'reveal-modal-bg', + bg_root_element: 'body', + root_element: 'body', + open: function(){}, + opened: function(){}, + close: function(){}, + closed: function(){}, + 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')); + + 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}); + } + } + }); + + 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') : S(this).closest('[' + self.attr_name() + ']')); + } + }); + + if(S('[' + self.attr_name() + ']', this.scope).length > 0) { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', this.settings.open) + .on('opened.fndtn.reveal', this.settings.opened) + .on('opened.fndtn.reveal', this.open_video) + .on('close.fndtn.reveal', this.settings.close) + .on('closed.fndtn.reveal', this.settings.closed) + .on('closed.fndtn.reveal', this.close_video); + } else { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.open) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.opened) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.open_video) + .on('close.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.close) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.closed) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.close_video); + } + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_on : function (scope) { + var self = this; + + // PATCH #1: fixing multiple keyup event trigger from single key press + self.S('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) { + var open_modal = self.S('[' + self.attr_name() + '].open'), + settings = open_modal.data(self.attr_name(true) + '-init') || self.settings ; + // PATCH #2: making sure that the close event can be called only while unlocked, + // so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window. + if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key + self.close.call(self, open_modal); + } + }); + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_off : function (scope) { + this.S('body').off('keyup.fndtn.reveal'); + return true; + }, + + + open : function (target, ajax_settings) { + var self = this, + modal; + + if (target) { + if (typeof target.selector !== 'undefined') { + // Find the named node; only use the first one found, since the rest of the code assumes there's only one node + modal = self.S('#' + target.data(self.data_attr('reveal-id'))).first(); + } else { + modal = self.S(this.scope); + + ajax_settings = target; + } + } else { + modal = self.S(this.scope); + } + + var settings = modal.data(self.attr_name(true) + '-init'); + settings = settings || this.settings; + + + if (modal.hasClass('open') && target.attr('data-reveal-id') == modal.attr('id')) { + return self.close(modal); + } + + if (!modal.hasClass('open')) { + var open_modal = self.S('[' + self.attr_name() + '].open'); + + if (typeof modal.data('css-top') === 'undefined') { + modal.data('css-top', parseInt(modal.css('top'), 10)) + .data('offset', this.cache_offset(modal)); + } + + this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open + modal.trigger('open').trigger('open.fndtn.reveal'); + + if (open_modal.length < 1) { + this.toggle_bg(modal, true); + } + + if (typeof ajax_settings === 'string') { + ajax_settings = { + url: ajax_settings + }; + } + + if (typeof ajax_settings === 'undefined' || !ajax_settings.url) { + if (open_modal.length > 0) { + this.hide(open_modal, settings.css.close); + } + + this.show(modal, settings.css.open); + } else { + var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null; + + $.extend(ajax_settings, { + success: function (data, textStatus, jqXHR) { + if ( $.isFunction(old_success) ) { + var result = old_success(data, textStatus, jqXHR); + if (typeof result == 'string') data = result; + } + + modal.html(data); + self.S(modal).foundation('section', 'reflow'); + self.S(modal).children().foundation(); + + if (open_modal.length > 0) { + self.hide(open_modal, settings.css.close); + } + self.show(modal, settings.css.open); + } + }); + + $.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; + + if (open_modals.length > 0) { + 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').trigger('close.fndtn.reveal'); + this.toggle_bg(modal, false); + this.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 (el, modal, state) { + var settings = el.data(this.attr_name(true) + '-init') || this.settings, + bg_root_element = settings.bg_root_element; // Adding option to specify the background root element fixes scrolling issue + + if (this.S('.' + this.settings.bg_class).length === 0) { + this.settings.bg = $('
        ', {'class': this.settings.bg_class}) + .appendTo(bg_root_element).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; + + 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 = $(root_element).scrollTop() - el.data('offset') + 'px'; //adding root_element instead of window for scrolling offset if modal trigger is below the fold + var end_css = { + top: $(root_element).scrollTop() + el.data('css-top') + 'px', //adding root_element instead of window for scrolling offset if modal trigger is below the fold + opacity: 1 + }; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + this.locked = false; + el.trigger('opened').trigger('opened.fndtn.reveal'); + }.bind(this)) + .addClass('open'); + }.bind(this), settings.animation_speed / 2); + } + + if (animData.fade) { + css.top = $(root_element).scrollTop() + el.data('css-top') + 'px'; //adding root_element instead of window for scrolling offset if modal trigger is below the fold + var end_css = {opacity: 1}; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + this.locked = false; + el.trigger('opened').trigger('opened.fndtn.reveal'); + }.bind(this)) + .addClass('open'); + }.bind(this), settings.animation_speed / 2); + } + + return el.css(css).show().css({opacity: 1}).addClass('open').trigger('opened').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(); + }, + + hide : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init') || this.settings, + root_element = settings.root_element; + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + var end_css = { + top: - $(root_element).scrollTop() - el.data('offset') + 'px', //adding root_element instead of window for scrolling offset if modal trigger is below the fold + opacity: 0 + }; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + this.locked = false; + el.css(css).trigger('closed').trigger('closed.fndtn.reveal'); + }.bind(this)) + .removeClass('open'); + }.bind(this), 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 () { + this.locked = false; + el.css(css).trigger('closed').trigger('closed.fndtn.reveal'); + }.bind(this)) + .removeClass('open'); + }.bind(this), settings.animation_speed / 2); + } + + return el.hide().css(css).removeClass('open').trigger('closed').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.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..d68118d --- /dev/null +++ b/js/foundation/js/foundation/foundation.slider.js @@ -0,0 +1,267 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.slider = { + name : 'slider', + + version : '5.5.0', + + settings: { + start: 0, + end: 100, + step: 1, + precision: null, + initial: null, + display_selector: '', + vertical: false, + trigger_input_change: false, + on_change: function(){} + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this,'throttle'); + this.bindings(method, options); + this.reflow(); + }, + + events : function() { + var self = this; + + $(this.scope) + .off('.slider') + .on('mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider', + '[' + self.attr_name() + ']:not(.disabled, [disabled]) .range-slider-handle', function(e) { + if (!self.cache.active) { + e.preventDefault(); + self.set_active_slider($(e.target)); + } + }) + .on('mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider', function(e) { + if (!!self.cache.active) { + e.preventDefault(); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + }) + .on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function(e) { + self.remove_active_slider(); + }) + .on('change.fndtn.slider', function(e) { + self.settings.on_change(); + }); + + self.S(window) + .on('resize.fndtn.slider', self.throttle(function(e) { + self.reflow(); + }, 300)); + }, + + 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').trigger('change.fndtn.slider'); + + $hidden_inputs.val(value); + if (settings.trigger_input_change) { + $hidden_inputs.trigger('change'); + } + + 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.hasOwnProperty('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()); + $.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..e408f8b --- /dev/null +++ b/js/foundation/js/foundation/foundation.tab.js @@ -0,0 +1,217 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tab = { + name : 'tab', + + version : '5.5.0', + + 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; + + this.bindings(method, options); + this.handle_location_hash_change(); + + // 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); + }); + }, + + events : function () { + var self = this, + S = this.S; + + var usual_tab_behavior = function (e) { + var settings = S(this).closest('[' + self.attr_name() +']').data(self.attr_name(true) + '-init'); + if (!settings.is_hover || Modernizr.touch) { + e.preventDefault(); + e.stopPropagation(); + self.toggle_active_tab(S(this).parent()); + } + }; + + S(this.scope) + .off('.tab') + // Click event: tab title + .on('focus.fndtn.tab', '[' + this.attr_name() + '] > * > a', usual_tab_behavior ) + .on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', usual_tab_behavior ) + // 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 S = this.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); + + }; + + // allow usage of data-tab-content attribute instead of href + if (S(this).data(this.data_attr('tab-content'))) { + target_hash = '#' + S(this).data(this.data_attr('tab-content')).split('#')[1]; + target = S(target_hash); + } + + if (settings.deep_linking) { + + if (settings.scroll_to_content) { + // retain current hash to scroll to content + window.location.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) { + window.location.hash = 'fndtn-' + location_hash.replace('#', ''); + } else { + window.location.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', [tab]); + tabs.triggerHandler('toggled', [target]); + + 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..a735917 --- /dev/null +++ b/js/foundation/js/foundation/foundation.tooltip.js @@ -0,0 +1,300 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tooltip = { + name : 'tooltip', + + version : '5.5.0', + + settings : { + additional_inheritable_classes : [], + tooltip_class : '.tooltip', + append_to: 'body', + touch_close_text: 'Tap To Close', + disable_for_touch: false, + hover_delay: 200, + show_on : 'all', + tip_template : function (selector, content) { + return '' + content + ''; + } + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'random_str'); + this.bindings(method, options); + }, + + should_show: function (target, tip) { + var settings = $.extend({}, this.settings, this.data_options(target)); + + if (settings.show_on === 'all') { + return true; + } else if (this.small() && settings.show_on === 'small') { + return true; + } else if (this.medium() && settings.show_on === 'medium') { + return true; + } else if (this.large() && settings.show_on === 'large') { + return true; + } + return false; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + events : function (instance) { + var self = this, + S = self.S; + + self.create(this.S(instance)); + + $(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; + } + + if (/enter|over/i.test(e.type)) { + this.timer = setTimeout(function () { + var tip = self.showTip($this); + }.bind(this), self.settings.hover_delay); + } else if (e.type === 'mouseout' || e.type === 'mouseleave') { + clearTimeout(this.timer); + self.hide($this); + } else { + self.showTip($this); + } + } + }) + .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 { + self.hide($(this)); + } + }) + .on('DOMNodeRemoved DOMAttrModified', '[' + this.attr_name() + ']:not(a)', function (e) { + self.hide(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 id = $target.attr('id'), + dataSelector = $target.attr(this.attr_name()) || $target.attr('data-selector'); + + if ((id && id.length < 1 || !id) && typeof dataSelector != 'string') { + dataSelector = this.random_str(6); + $target + .attr('data-selector', dataSelector) + .attr('aria-describedby', dataSelector); + } + + return (id && id.length > 0) ? id : dataSelector; + }, + + create : function ($target) { + var self = this, + settings = $.extend({}, this.settings, this.data_options($target)), + tip_template = this.settings.tip_template; + + if (typeof settings.tip_template === 'string' && window.hasOwnProperty(settings.tip_template)) { + tip_template = window[settings.tip_template]; + } + + var $tip = $(tip_template(this.selector($target), $('
        ').html($target.attr('title')).html())), + classes = this.inheritable_classes($target); + + $tip.addClass(classes).appendTo(settings.append_to); + + if (Modernizr.touch) { + $tip.append(''+settings.touch_close_text+''); + $tip.on('touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', function(e) { + self.hide($target); + }); + } + + $target.removeAttr('title').attr('title',''); + }, + + reposition : function (target, tip, classes) { + var width, nub, nubHeight, nubWidth, column, objPos; + + tip.css('visibility', 'hidden').show(); + + width = target.data('width'); + nub = tip.children('.nub'); + nubHeight = nub.outerHeight(); + nubWidth = nub.outerHeight(); + + if (this.small()) { + tip.css({'width' : '100%' }); + } else { + tip.css({'width' : (width) ? width : 'auto'}); + } + + objPos = function (obj, top, right, bottom, left, width) { + return obj.css({ + 'top' : (top) ? top : 'auto', + 'bottom' : (bottom) ? bottom : 'auto', + 'left' : (left) ? left : 'auto', + 'right' : (right) ? right : 'auto' + }).end(); + }; + + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', target.offset().left); + + if (this.small()) { + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', 12.5, $(this.scope).width()); + tip.addClass('tip-override'); + objPos(nub, -nubHeight, 'auto', 'auto', target.offset().left); + } else { + var left = target.offset().left; + if (Foundation.rtl) { + nub.addClass('rtl'); + left = target.offset().left + target.outerWidth() - tip.outerWidth(); + } + objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', left); + tip.removeClass('tip-override'); + if (classes && classes.indexOf('tip-top') > -1) { + if (Foundation.rtl) nub.addClass('rtl'); + objPos(tip, (target.offset().top - tip.outerHeight()), 'auto', 'auto', left) + .removeClass('tip-override'); + } else if (classes && classes.indexOf('tip-left') > -1) { + objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left - tip.outerWidth() - nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } else if (classes && classes.indexOf('tip-right') > -1) { + objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left + target.outerWidth() + nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } + } + + tip.css('visibility', 'visible').hide(); + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + inheritable_classes : function ($target) { + var settings = $.extend({}, this.settings, this.data_options($target)), + inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'radius', 'round'].concat(settings.additional_inheritable_classes), + classes = $target.attr('class'), + filtered = classes ? $.map(classes.split(' '), function (el, i) { + if ($.inArray(el, inheritables) !== -1) { + return el; + } + }).join(' ') : ''; + + return $.trim(filtered); + }, + + convert_to_touch : function($target) { + var self = this, + $tip = self.getTip($target), + settings = $.extend({}, self.settings, self.data_options($target)); + + if ($tip.find('.tap-to-close').length === 0) { + $tip.append(''+settings.touch_close_text+''); + $tip.on('click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose', function(e) { + self.hide($target); + }); + } + + $target.data('tooltip-open-event-type', 'touch'); + }, + + show : function ($target) { + var $tip = this.getTip($target); + + if ($target.data('tooltip-open-event-type') == 'touch') { + this.convert_to_touch($target); + } + + this.reposition($target, $tip, $target.attr('class')); + $target.addClass('open'); + $tip.fadeIn(150); + }, + + hide : function ($target) { + var $tip = this.getTip($target); + + $tip.fadeOut(150, function() { + $tip.find('.tap-to-close').remove(); + $tip.off('click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose'); + $target.removeClass('open'); + }); + }, + + off : function () { + var self = this; + this.S(this.scope).off('.fndtn.tooltip'); + this.S(this.settings.tooltip_class).each(function (i) { + $('[' + self.attr_name() + ']').eq(i).attr('title', $(this).text()); + }).remove(); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.topbar.js b/js/foundation/js/foundation/foundation.topbar.js new file mode 100644 index 0000000..01bbc57 --- /dev/null +++ b/js/foundation/js/foundation/foundation.topbar.js @@ -0,0 +1,445 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.topbar = { + name : 'topbar', + + version: '5.5.0', + + settings : { + index : 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' + }, + + 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); + + if (sticky && settings.sticky_on === 'all') { + return true; + } else if (sticky && this.small() && settings.sticky_on === 'small') { + return (matchMedia(Foundation.media_queries.small).matches && !matchMedia(Foundation.media_queries.medium).matches && + !matchMedia(Foundation.media_queries.large).matches); + //return true; + } else if (sticky && this.medium() && settings.sticky_on === 'medium') { + return (matchMedia(Foundation.media_queries.small).matches && matchMedia(Foundation.media_queries.medium).matches && + !matchMedia(Foundation.media_queries.large).matches); + //return true; + } else if(sticky && this.large() && settings.sticky_on === 'large') { + return (matchMedia(Foundation.media_queries.small).matches && matchMedia(Foundation.media_queries.medium).matches && + matchMedia(Foundation.media_queries.large).matches); + //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','.top-bar .top-bar-section li a[href^="#"],[' + this.attr_name() + '] .top-bar-section li a[href^="#"]',function (e) { + var li = $(this).closest('li'); + 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').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'); + 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..96459bb --- /dev/null +++ b/js/foundation/js/vendor/fastclick.js @@ -0,0 +1,9 @@ +/** + * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs. + * + * @version 1.0.3 + * @codingstandard ftlabs-jsv2 + * @copyright The Financial Times Limited [All Rights Reserved] + * @license MIT License (see LICENSE.txt) + */ +function FastClick(a,b){"use strict";function c(a,b){return function(){return a.apply(b,arguments)}}var d;if(b=b||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=b.touchBoundary||10,this.layer=a,this.tapDelay=b.tapDelay||200,!FastClick.notNeeded(a)){for(var e=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],f=this,g=0,h=e.length;h>g;g++)f[e[g]]=c(f[e[g]],f);deviceIsAndroid&&(a.addEventListener("mouseover",this.onMouse,!0),a.addEventListener("mousedown",this.onMouse,!0),a.addEventListener("mouseup",this.onMouse,!0)),a.addEventListener("click",this.onClick,!0),a.addEventListener("touchstart",this.onTouchStart,!1),a.addEventListener("touchmove",this.onTouchMove,!1),a.addEventListener("touchend",this.onTouchEnd,!1),a.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(a.removeEventListener=function(b,c,d){var e=Node.prototype.removeEventListener;"click"===b?e.call(a,b,c.hijacked||c,d):e.call(a,b,c,d)},a.addEventListener=function(b,c,d){var e=Node.prototype.addEventListener;"click"===b?e.call(a,b,c.hijacked||(c.hijacked=function(a){a.propagationStopped||c(a)}),d):e.call(a,b,c,d)}),"function"==typeof a.onclick&&(d=a.onclick,a.addEventListener("click",function(a){d(a)},!1),a.onclick=null)}}var deviceIsAndroid=navigator.userAgent.indexOf("Android")>0,deviceIsIOS=/iP(ad|hone|od)/.test(navigator.userAgent),deviceIsIOS4=deviceIsIOS&&/OS 4_\d(_\d)?/.test(navigator.userAgent),deviceIsIOSWithBadTarget=deviceIsIOS&&/OS ([6-9]|\d{2})_\d/.test(navigator.userAgent),deviceIsBlackBerry10=navigator.userAgent.indexOf("BB10")>0;FastClick.prototype.needsClick=function(a){"use strict";switch(a.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(a.disabled)return!0;break;case"input":if(deviceIsIOS&&"file"===a.type||a.disabled)return!0;break;case"label":case"video":return!0}return/\bneedsclick\b/.test(a.className)},FastClick.prototype.needsFocus=function(a){"use strict";switch(a.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!deviceIsAndroid;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)}},FastClick.prototype.sendClick=function(a,b){"use strict";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)},FastClick.prototype.determineEventType=function(a){"use strict";return deviceIsAndroid&&"select"===a.tagName.toLowerCase()?"mousedown":"click"},FastClick.prototype.focus=function(a){"use strict";var b;deviceIsIOS&&a.setSelectionRange&&0!==a.type.indexOf("date")&&"time"!==a.type?(b=a.value.length,a.setSelectionRange(b,b)):a.focus()},FastClick.prototype.updateScrollParent=function(a){"use strict";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)},FastClick.prototype.getTargetElementFromEventTarget=function(a){"use strict";return a.nodeType===Node.TEXT_NODE?a.parentNode:a},FastClick.prototype.onTouchStart=function(a){"use strict";var b,c,d;if(a.targetTouches.length>1)return!0;if(b=this.getTargetElementFromEventTarget(a.target),c=a.targetTouches[0],deviceIsIOS){if(d=window.getSelection(),d.rangeCount&&!d.isCollapsed)return!0;if(!deviceIsIOS4){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},FastClick.prototype.onTouchMove=function(a){"use strict";return this.trackingClick?((this.targetElement!==this.getTargetElementFromEventTarget(a.target)||this.touchHasMoved(a))&&(this.trackingClick=!1,this.targetElement=null),!0):!0},FastClick.prototype.findControl=function(a){"use strict";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")},FastClick.prototype.onTouchEnd=function(a){"use strict";var b,c,d,e,f,g=this.targetElement;if(!this.trackingClick)return!0;if(a.timeStamp-this.lastClickTime100||deviceIsIOS&&window.top!==window&&"input"===d?(this.targetElement=null,!1):(this.focus(g),this.sendClick(g,a),deviceIsIOS&&"select"===d||(this.targetElement=null,a.preventDefault()),!1);return deviceIsIOS&&!deviceIsIOS4&&(e=g.fastClickScrollParent,e&&e.fastClickLastScrollTop!==e.scrollTop)?!0:(this.needsClick(g)||(a.preventDefault(),this.sendClick(g,a)),!1)},FastClick.prototype.onTouchCancel=function(){"use strict";this.trackingClick=!1,this.targetElement=null},FastClick.prototype.onMouse=function(a){"use strict";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},FastClick.prototype.onClick=function(a){"use strict";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)},FastClick.prototype.destroy=function(){"use strict";var a=this.layer;deviceIsAndroid&&(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)},FastClick.notNeeded=function(a){"use strict";var b,c,d;if("undefined"==typeof window.ontouchstart)return!0;if(c=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!deviceIsAndroid)return!0;if(b=document.querySelector("meta[name=viewport]")){if(-1!==b.content.indexOf("user-scalable=no"))return!0;if(c>31&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}if(deviceIsBlackBerry10&&(d=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/),d[1]>=10&&d[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?!0:!1},FastClick.attach=function(a,b){"use strict";return new FastClick(a,b)},"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){"use strict";return FastClick}):"undefined"!=typeof module&&module.exports?(module.exports=FastClick.attach,module.exports.FastClick=FastClick):window.FastClick=FastClick; \ 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..9320c89 --- /dev/null +++ b/js/foundation/js/vendor/jquery.js @@ -0,0 +1,26 @@ +/*! + * jQuery JavaScript Library v2.1.1 + * 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: 2014-05-01T17:11Z + */ +!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=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(hb.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=ob[a]={};return _.each(a.match(nb)||[],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+Math.random()}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ub,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:tb.test(c)?_.parseJSON(c):c}catch(e){}sb.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=Kb.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++)rb.set(a[c],"globalEval",!b||rb.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(rb.hasData(a)&&(f=rb.access(a),g=rb.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])}sb.hasData(a)&&(h=sb.access(a),i=_.extend({},h),sb.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&&yb.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=Ob[a];return c||(c=t(a,b),"none"!==c&&c||(Nb=(Nb||_("')}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