From 7906b18de52241ed7e8772ab2224260a876f7013 Mon Sep 17 00:00:00 2001 From: Ian Weller Date: Wed, 1 Mar 2017 16:02:50 -0500 Subject: [PATCH] first edits commit This is the first commit that has some edits in it. I forgot to run the grunt build command followed by grunt. So we have something that should have been part of the first commit and settings file that has some changes. --- assets/ask-a-librarian-icon.png | Bin 0 -> 1688 bytes assets/ask-a-librarian-with-text.png | Bin 0 -> 4139 bytes assets/be-a-friend.jpg | Bin 0 -> 27845 bytes assets/book-a-room-icon.png | Bin 0 -> 3634 bytes assets/book-a-room-with-text.png | Bin 0 -> 5100 bytes assets/charlevoix-public-library.jpg | Bin 0 -> 48380 bytes assets/donate-icon.png | Bin 0 -> 5586 bytes assets/dontate-with-text.png | Bin 0 -> 6576 bytes assets/ebooks-and-downloads.jpg | Bin 0 -> 32144 bytes assets/events-fpo.png | Bin 0 -> 58970 bytes assets/get-a-library-card.jpg | Bin 0 -> 24338 bytes assets/learn-tech-skills.jpg | Bin 0 -> 27125 bytes assets/more-button.jpg | Bin 0 -> 2441 bytes assets/newletter-signup-icon.png | Bin 0 -> 2406 bytes assets/newsletter-signup-with-text.png | Bin 0 -> 4751 bytes assets/repeating-header-pattern.jpg | Bin 0 -> 661 bytes assets/repeating-hm-pg-search-bkgrd.jpg | Bin 0 -> 45381 bytes assets/sample-image-bird.jpg | Bin 0 -> 15242 bytes assets/sample-image-cupcakes.jpg | Bin 0 -> 35686 bytes assets/sample-image-digital-photos.jpg | Bin 0 -> 24265 bytes assets/sample-image-minecraft.jpg | Bin 0 -> 28104 bytes assets/search-icon.png | Bin 0 -> 1776 bytes assets/social-icons.png | Bin 0 -> 953 bytes assets/view-all-events-button.jpg | Bin 0 -> 5670 bytes css/app.css | 6919 +++++++++++ css/app.css.map | 73 + js/app.js | 33 + js/fastclick/lib/fastclick.js | 841 ++ js/foundation/css/foundation.css.map | 7 + js/foundation/css/normalize.css.map | 7 + js/foundation/js/foundation.js | 6581 ++++++++++ js/foundation/js/foundation.min.js | 5 + .../js/foundation/foundation.abide.js | 426 + .../js/foundation/foundation.accordion.js | 125 + .../js/foundation/foundation.alert.js | 43 + .../js/foundation/foundation.clearing.js | 586 + .../js/foundation/foundation.dropdown.js | 468 + .../js/foundation/foundation.equalizer.js | 104 + .../js/foundation/foundation.interchange.js | 360 + .../js/foundation/foundation.joyride.js | 935 ++ js/foundation/js/foundation/foundation.js | 732 ++ .../js/foundation/foundation.magellan.js | 214 + .../js/foundation/foundation.offcanvas.js | 225 + .../js/foundation/foundation.orbit.js | 476 + .../js/foundation/foundation.reveal.js | 522 + .../js/foundation/foundation.slider.js | 296 + js/foundation/js/foundation/foundation.tab.js | 247 + .../js/foundation/foundation.tooltip.js | 348 + .../js/foundation/foundation.topbar.js | 458 + js/foundation/js/vendor/fastclick.js | 8 + js/foundation/js/vendor/jquery.cookie.js | 8 + js/foundation/js/vendor/jquery.js | 26 + js/foundation/js/vendor/modernizr.js | 8 + js/foundation/js/vendor/placeholder.js | 2 + js/jquery-placeholder/jquery.placeholder.js | 192 + js/jquery.cookie/jquery.cookie.js | 117 + js/jquery/dist/core.js | 482 + js/jquery/dist/jquery.js | 10220 ++++++++++++++++ js/jquery/dist/jquery.min.js | 4 + js/jquery/dist/jquery.min.map | 1 + js/jquery/dist/jquery.slim.js | 8107 ++++++++++++ js/jquery/dist/jquery.slim.min.js | 4 + js/jquery/dist/jquery.slim.min.map | 1 + js/jquery/external/sizzle/dist/sizzle.js | 2272 ++++ js/jquery/external/sizzle/dist/sizzle.min.js | 3 + js/jquery/external/sizzle/dist/sizzle.min.map | 1 + js/jquery/src/ajax.js | 855 ++ js/jquery/src/ajax/jsonp.js | 102 + js/jquery/src/ajax/load.js | 76 + js/jquery/src/ajax/parseXML.js | 30 + js/jquery/src/ajax/script.js | 77 + js/jquery/src/ajax/var/location.js | 5 + js/jquery/src/ajax/var/nonce.js | 7 + js/jquery/src/ajax/var/rquery.js | 5 + js/jquery/src/ajax/xhr.js | 169 + js/jquery/src/attributes.js | 13 + js/jquery/src/attributes/attr.js | 140 + js/jquery/src/attributes/classes.js | 174 + js/jquery/src/attributes/prop.js | 143 + js/jquery/src/attributes/support.js | 33 + js/jquery/src/attributes/val.js | 188 + js/jquery/src/callbacks.js | 234 + js/jquery/src/core.js | 482 + js/jquery/src/core/DOMEval.js | 16 + js/jquery/src/core/access.js | 70 + js/jquery/src/core/init.js | 127 + js/jquery/src/core/parseHTML.js | 65 + js/jquery/src/core/ready-no-deferred.js | 105 + js/jquery/src/core/ready.js | 95 + js/jquery/src/core/readyException.js | 13 + js/jquery/src/core/stripAndCollapse.js | 14 + js/jquery/src/core/support.js | 20 + js/jquery/src/core/var/rsingleTag.js | 6 + js/jquery/src/css.js | 426 + js/jquery/src/css/addGetHookIf.js | 26 + js/jquery/src/css/adjustCSS.js | 71 + js/jquery/src/css/curCSS.js | 59 + js/jquery/src/css/hiddenVisibleSelectors.js | 15 + js/jquery/src/css/showHide.js | 105 + js/jquery/src/css/support.js | 89 + js/jquery/src/css/var/cssExpand.js | 5 + js/jquery/src/css/var/getStyles.js | 17 + js/jquery/src/css/var/isHiddenWithinTree.js | 34 + js/jquery/src/css/var/rmargin.js | 5 + js/jquery/src/css/var/rnumnonpx.js | 7 + js/jquery/src/css/var/swap.js | 26 + js/jquery/src/data.js | 179 + js/jquery/src/data/Data.js | 161 + js/jquery/src/data/var/acceptData.js | 19 + js/jquery/src/data/var/dataPriv.js | 7 + js/jquery/src/data/var/dataUser.js | 7 + js/jquery/src/deferred.js | 389 + js/jquery/src/deferred/exceptionHook.js | 21 + js/jquery/src/deprecated.js | 30 + js/jquery/src/dimensions.js | 56 + js/jquery/src/effects.js | 693 ++ js/jquery/src/effects/Tween.js | 123 + js/jquery/src/effects/animatedSelector.js | 15 + js/jquery/src/event.js | 745 ++ js/jquery/src/event/ajax.js | 22 + js/jquery/src/event/alias.js | 29 + js/jquery/src/event/focusin.js | 55 + js/jquery/src/event/support.js | 11 + js/jquery/src/event/trigger.js | 185 + js/jquery/src/exports/amd.js | 26 + js/jquery/src/exports/global.js | 34 + js/jquery/src/jquery.js | 41 + js/jquery/src/manipulation.js | 486 + js/jquery/src/manipulation/_evalUrl.js | 23 + js/jquery/src/manipulation/buildFragment.js | 104 + js/jquery/src/manipulation/getAll.js | 31 + js/jquery/src/manipulation/setGlobalEval.js | 22 + js/jquery/src/manipulation/support.js | 35 + .../src/manipulation/var/rcheckableType.js | 5 + js/jquery/src/manipulation/var/rscriptType.js | 5 + js/jquery/src/manipulation/var/rtagName.js | 5 + js/jquery/src/manipulation/wrapMap.js | 29 + js/jquery/src/offset.js | 232 + js/jquery/src/queue.js | 145 + js/jquery/src/queue/delay.js | 24 + js/jquery/src/selector-native.js | 237 + js/jquery/src/selector-sizzle.js | 19 + js/jquery/src/selector.js | 3 + js/jquery/src/serialize.js | 130 + js/jquery/src/traversing.js | 178 + js/jquery/src/traversing/findFilter.js | 106 + js/jquery/src/traversing/var/dir.js | 22 + js/jquery/src/traversing/var/rneedsContext.js | 8 + js/jquery/src/traversing/var/siblings.js | 17 + js/jquery/src/var/ObjectFunctionString.js | 7 + js/jquery/src/var/arr.js | 5 + js/jquery/src/var/class2type.js | 6 + js/jquery/src/var/concat.js | 7 + js/jquery/src/var/document.js | 5 + js/jquery/src/var/documentElement.js | 7 + js/jquery/src/var/fnToString.js | 7 + js/jquery/src/var/getProto.js | 5 + js/jquery/src/var/hasOwn.js | 7 + js/jquery/src/var/indexOf.js | 7 + js/jquery/src/var/pnum.js | 5 + js/jquery/src/var/push.js | 7 + js/jquery/src/var/rcssNum.js | 9 + js/jquery/src/var/rnothtmlwhite.js | 8 + js/jquery/src/var/slice.js | 7 + js/jquery/src/var/support.js | 6 + js/jquery/src/var/toString.js | 7 + js/jquery/src/wrap.js | 77 + js/modernizr/feature-detects/a-download.js | 8 + .../feature-detects/audio-audiodata-api.js | 4 + .../feature-detects/audio-webaudio-api.js | 4 + js/modernizr/feature-detects/battery-api.js | 8 + js/modernizr/feature-detects/battery-level.js | 11 + .../feature-detects/blob-constructor.js | 10 + .../feature-detects/canvas-todataurl-type.js | 28 + .../feature-detects/contenteditable.js | 9 + .../feature-detects/contentsecuritypolicy.js | 10 + js/modernizr/feature-detects/contextmenu.js | 11 + js/modernizr/feature-detects/cookies.js | 15 + js/modernizr/feature-detects/cors.js | 3 + .../css-backgroundposition-shorthand.js | 19 + .../css-backgroundposition-xy.js | 15 + .../feature-detects/css-backgroundrepeat.js | 31 + .../css-backgroundsizecover.js | 10 + js/modernizr/feature-detects/css-boxsizing.js | 9 + js/modernizr/feature-detects/css-calc.js | 12 + .../feature-detects/css-cubicbezierrange.js | 8 + .../feature-detects/css-displayrunin.js | 18 + .../feature-detects/css-displaytable.js | 27 + js/modernizr/feature-detects/css-filters.js | 7 + js/modernizr/feature-detects/css-hyphens.js | 205 + js/modernizr/feature-detects/css-lastchild.js | 11 + js/modernizr/feature-detects/css-mask.js | 12 + .../feature-detects/css-mediaqueries.js | 3 + js/modernizr/feature-detects/css-objectfit.js | 6 + .../feature-detects/css-overflow-scrolling.js | 9 + .../feature-detects/css-pointerevents.js | 25 + .../feature-detects/css-positionsticky.js | 13 + js/modernizr/feature-detects/css-regions.js | 55 + js/modernizr/feature-detects/css-remunit.js | 19 + js/modernizr/feature-detects/css-resize.js | 8 + .../feature-detects/css-scrollbars.js | 19 + js/modernizr/feature-detects/css-shapes.js | 4 + .../feature-detects/css-subpixelfont.js | 23 + js/modernizr/feature-detects/css-supports.js | 6 + .../feature-detects/css-userselect.js | 10 + js/modernizr/feature-detects/css-vhunit.js | 14 + js/modernizr/feature-detects/css-vmaxunit.js | 14 + js/modernizr/feature-detects/css-vminunit.js | 14 + js/modernizr/feature-detects/css-vwunit.js | 14 + .../custom-protocol-handler.js | 10 + js/modernizr/feature-detects/dart.js | 6 + js/modernizr/feature-detects/dataview-api.js | 4 + js/modernizr/feature-detects/dom-classlist.js | 4 + .../dom-createElement-attrs.js | 11 + js/modernizr/feature-detects/dom-dataset.js | 9 + js/modernizr/feature-detects/dom-microdata.js | 4 + js/modernizr/feature-detects/elem-datalist.js | 12 + js/modernizr/feature-detects/elem-details.js | 25 + js/modernizr/feature-detects/elem-output.js | 4 + .../feature-detects/elem-progress-meter.js | 11 + js/modernizr/feature-detects/elem-ruby.js | 53 + js/modernizr/feature-detects/elem-time.js | 4 + js/modernizr/feature-detects/elem-track.js | 11 + js/modernizr/feature-detects/emoji.js | 11 + .../feature-detects/es5-strictmode.js | 7 + .../event-deviceorientation-motion.js | 11 + .../feature-detects/exif-orientation.js | 32 + js/modernizr/feature-detects/file-api.js | 12 + .../feature-detects/file-filesystem.js | 9 + .../feature-detects/forms-fileinput.js | 13 + .../feature-detects/forms-formattribute.js | 29 + .../feature-detects/forms-inputnumber-l10n.js | 32 + .../feature-detects/forms-placeholder.js | 10 + .../feature-detects/forms-speechinput.js | 19 + .../feature-detects/forms-validation.js | 62 + .../feature-detects/fullscreen-api.js | 10 + js/modernizr/feature-detects/gamepad.js | 12 + js/modernizr/feature-detects/getusermedia.js | 5 + js/modernizr/feature-detects/ie8compat.js | 12 + .../feature-detects/iframe-sandbox.js | 5 + .../feature-detects/iframe-seamless.js | 5 + js/modernizr/feature-detects/iframe-srcdoc.js | 5 + js/modernizr/feature-detects/img-apng.js | 26 + js/modernizr/feature-detects/img-webp.js | 20 + js/modernizr/feature-detects/json.js | 7 + .../feature-detects/lists-reversed.js | 6 + js/modernizr/feature-detects/mathml.js | 23 + .../feature-detects/network-connection.js | 22 + .../feature-detects/network-eventsource.js | 5 + js/modernizr/feature-detects/network-xhr2.js | 13 + js/modernizr/feature-detects/notification.js | 10 + js/modernizr/feature-detects/performance.js | 5 + .../feature-detects/pointerlock-api.js | 4 + .../feature-detects/quota-management-api.js | 11 + .../feature-detects/requestanimationframe.js | 7 + js/modernizr/feature-detects/script-async.js | 3 + js/modernizr/feature-detects/script-defer.js | 3 + js/modernizr/feature-detects/style-scoped.js | 6 + js/modernizr/feature-detects/svg-filters.js | 13 + js/modernizr/feature-detects/unicode.js | 32 + js/modernizr/feature-detects/url-data-uri.js | 26 + js/modernizr/feature-detects/userdata.js | 7 + js/modernizr/feature-detects/vibration.js | 4 + js/modernizr/feature-detects/web-intents.js | 6 + .../feature-detects/webgl-extensions.js | 42 + .../feature-detects/websockets-binary.js | 20 + js/modernizr/feature-detects/window-framed.js | 8 + .../feature-detects/workers-blobworkers.js | 66 + .../feature-detects/workers-dataworkers.js | 34 + .../feature-detects/workers-sharedworkers.js | 3 + js/modernizr/grunt.js | 69 + js/modernizr/modernizr.js | 1406 +++ js/modernizr/modernizr.min.js | 1 + js/modernizr/test/caniuse_files/ga.js | 43 + js/modernizr/test/caniuse_files/jquery.min.js | 18 + .../test/caniuse_files/modernizr-1.7.min.js | 2 + js/modernizr/test/js/dumpdata.js | 75 + js/modernizr/test/js/lib/detect-global.js | 153 + js/modernizr/test/js/lib/jquery-1.7b2.js | 9279 ++++++++++++++ js/modernizr/test/js/lib/jsonselect.js | 279 + js/modernizr/test/js/lib/polyfills.js | 96 + js/modernizr/test/js/lib/uaparser.js | 215 + js/modernizr/test/js/setup.js | 44 + js/modernizr/test/js/unit-caniuse.js | 191 + js/modernizr/test/js/unit.js | 669 + js/modernizr/test/qunit/qunit.js | 1932 +++ js/modernizr/test/qunit/run-qunit.js | 72 + scss/_settings.scss | 43 +- 288 files changed, 67769 insertions(+), 19 deletions(-) create mode 100644 assets/ask-a-librarian-icon.png create mode 100644 assets/ask-a-librarian-with-text.png create mode 100644 assets/be-a-friend.jpg create mode 100644 assets/book-a-room-icon.png create mode 100644 assets/book-a-room-with-text.png create mode 100644 assets/charlevoix-public-library.jpg create mode 100644 assets/donate-icon.png create mode 100644 assets/dontate-with-text.png create mode 100644 assets/ebooks-and-downloads.jpg create mode 100644 assets/events-fpo.png create mode 100644 assets/get-a-library-card.jpg create mode 100644 assets/learn-tech-skills.jpg create mode 100644 assets/more-button.jpg create mode 100644 assets/newletter-signup-icon.png create mode 100644 assets/newsletter-signup-with-text.png create mode 100644 assets/repeating-header-pattern.jpg create mode 100644 assets/repeating-hm-pg-search-bkgrd.jpg create mode 100644 assets/sample-image-bird.jpg create mode 100644 assets/sample-image-cupcakes.jpg create mode 100644 assets/sample-image-digital-photos.jpg create mode 100644 assets/sample-image-minecraft.jpg create mode 100644 assets/search-icon.png create mode 100644 assets/social-icons.png create mode 100644 assets/view-all-events-button.jpg create mode 100644 css/app.css create mode 100644 css/app.css.map create mode 100644 js/app.js create mode 100644 js/fastclick/lib/fastclick.js create mode 100644 js/foundation/css/foundation.css.map create mode 100644 js/foundation/css/normalize.css.map create mode 100644 js/foundation/js/foundation.js create mode 100644 js/foundation/js/foundation.min.js create mode 100644 js/foundation/js/foundation/foundation.abide.js create mode 100644 js/foundation/js/foundation/foundation.accordion.js create mode 100644 js/foundation/js/foundation/foundation.alert.js create mode 100644 js/foundation/js/foundation/foundation.clearing.js create mode 100644 js/foundation/js/foundation/foundation.dropdown.js create mode 100644 js/foundation/js/foundation/foundation.equalizer.js create mode 100644 js/foundation/js/foundation/foundation.interchange.js create mode 100644 js/foundation/js/foundation/foundation.joyride.js create mode 100644 js/foundation/js/foundation/foundation.js create mode 100644 js/foundation/js/foundation/foundation.magellan.js create mode 100644 js/foundation/js/foundation/foundation.offcanvas.js create mode 100644 js/foundation/js/foundation/foundation.orbit.js create mode 100644 js/foundation/js/foundation/foundation.reveal.js create mode 100644 js/foundation/js/foundation/foundation.slider.js create mode 100644 js/foundation/js/foundation/foundation.tab.js create mode 100644 js/foundation/js/foundation/foundation.tooltip.js create mode 100644 js/foundation/js/foundation/foundation.topbar.js create mode 100644 js/foundation/js/vendor/fastclick.js create mode 100644 js/foundation/js/vendor/jquery.cookie.js create mode 100644 js/foundation/js/vendor/jquery.js create mode 100644 js/foundation/js/vendor/modernizr.js create mode 100644 js/foundation/js/vendor/placeholder.js create mode 100644 js/jquery-placeholder/jquery.placeholder.js create mode 100644 js/jquery.cookie/jquery.cookie.js create mode 100644 js/jquery/dist/core.js create mode 100644 js/jquery/dist/jquery.js create mode 100644 js/jquery/dist/jquery.min.js create mode 100644 js/jquery/dist/jquery.min.map create mode 100644 js/jquery/dist/jquery.slim.js create mode 100644 js/jquery/dist/jquery.slim.min.js create mode 100644 js/jquery/dist/jquery.slim.min.map create mode 100644 js/jquery/external/sizzle/dist/sizzle.js create mode 100644 js/jquery/external/sizzle/dist/sizzle.min.js create mode 100644 js/jquery/external/sizzle/dist/sizzle.min.map create mode 100644 js/jquery/src/ajax.js create mode 100644 js/jquery/src/ajax/jsonp.js create mode 100644 js/jquery/src/ajax/load.js create mode 100644 js/jquery/src/ajax/parseXML.js create mode 100644 js/jquery/src/ajax/script.js create mode 100644 js/jquery/src/ajax/var/location.js create mode 100644 js/jquery/src/ajax/var/nonce.js create mode 100644 js/jquery/src/ajax/var/rquery.js create mode 100644 js/jquery/src/ajax/xhr.js create mode 100644 js/jquery/src/attributes.js create mode 100644 js/jquery/src/attributes/attr.js create mode 100644 js/jquery/src/attributes/classes.js create mode 100644 js/jquery/src/attributes/prop.js create mode 100644 js/jquery/src/attributes/support.js create mode 100644 js/jquery/src/attributes/val.js create mode 100644 js/jquery/src/callbacks.js create mode 100644 js/jquery/src/core.js create mode 100644 js/jquery/src/core/DOMEval.js create mode 100644 js/jquery/src/core/access.js create mode 100644 js/jquery/src/core/init.js create mode 100644 js/jquery/src/core/parseHTML.js create mode 100644 js/jquery/src/core/ready-no-deferred.js create mode 100644 js/jquery/src/core/ready.js create mode 100644 js/jquery/src/core/readyException.js create mode 100644 js/jquery/src/core/stripAndCollapse.js create mode 100644 js/jquery/src/core/support.js create mode 100644 js/jquery/src/core/var/rsingleTag.js create mode 100644 js/jquery/src/css.js create mode 100644 js/jquery/src/css/addGetHookIf.js create mode 100644 js/jquery/src/css/adjustCSS.js create mode 100644 js/jquery/src/css/curCSS.js create mode 100644 js/jquery/src/css/hiddenVisibleSelectors.js create mode 100644 js/jquery/src/css/showHide.js create mode 100644 js/jquery/src/css/support.js create mode 100644 js/jquery/src/css/var/cssExpand.js create mode 100644 js/jquery/src/css/var/getStyles.js create mode 100644 js/jquery/src/css/var/isHiddenWithinTree.js create mode 100644 js/jquery/src/css/var/rmargin.js create mode 100644 js/jquery/src/css/var/rnumnonpx.js create mode 100644 js/jquery/src/css/var/swap.js create mode 100644 js/jquery/src/data.js create mode 100644 js/jquery/src/data/Data.js create mode 100644 js/jquery/src/data/var/acceptData.js create mode 100644 js/jquery/src/data/var/dataPriv.js create mode 100644 js/jquery/src/data/var/dataUser.js create mode 100644 js/jquery/src/deferred.js create mode 100644 js/jquery/src/deferred/exceptionHook.js create mode 100644 js/jquery/src/deprecated.js create mode 100644 js/jquery/src/dimensions.js create mode 100644 js/jquery/src/effects.js create mode 100644 js/jquery/src/effects/Tween.js create mode 100644 js/jquery/src/effects/animatedSelector.js create mode 100644 js/jquery/src/event.js create mode 100644 js/jquery/src/event/ajax.js create mode 100644 js/jquery/src/event/alias.js create mode 100644 js/jquery/src/event/focusin.js create mode 100644 js/jquery/src/event/support.js create mode 100644 js/jquery/src/event/trigger.js create mode 100644 js/jquery/src/exports/amd.js create mode 100644 js/jquery/src/exports/global.js create mode 100644 js/jquery/src/jquery.js create mode 100644 js/jquery/src/manipulation.js create mode 100644 js/jquery/src/manipulation/_evalUrl.js create mode 100644 js/jquery/src/manipulation/buildFragment.js create mode 100644 js/jquery/src/manipulation/getAll.js create mode 100644 js/jquery/src/manipulation/setGlobalEval.js create mode 100644 js/jquery/src/manipulation/support.js create mode 100644 js/jquery/src/manipulation/var/rcheckableType.js create mode 100644 js/jquery/src/manipulation/var/rscriptType.js create mode 100644 js/jquery/src/manipulation/var/rtagName.js create mode 100644 js/jquery/src/manipulation/wrapMap.js create mode 100644 js/jquery/src/offset.js create mode 100644 js/jquery/src/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/traversing.js create mode 100644 js/jquery/src/traversing/findFilter.js create mode 100644 js/jquery/src/traversing/var/dir.js create mode 100644 js/jquery/src/traversing/var/rneedsContext.js create mode 100644 js/jquery/src/traversing/var/siblings.js create mode 100644 js/jquery/src/var/ObjectFunctionString.js create mode 100644 js/jquery/src/var/arr.js create mode 100644 js/jquery/src/var/class2type.js create mode 100644 js/jquery/src/var/concat.js create mode 100644 js/jquery/src/var/document.js create mode 100644 js/jquery/src/var/documentElement.js create mode 100644 js/jquery/src/var/fnToString.js create mode 100644 js/jquery/src/var/getProto.js create mode 100644 js/jquery/src/var/hasOwn.js create mode 100644 js/jquery/src/var/indexOf.js create mode 100644 js/jquery/src/var/pnum.js create mode 100644 js/jquery/src/var/push.js create mode 100644 js/jquery/src/var/rcssNum.js create mode 100644 js/jquery/src/var/rnothtmlwhite.js create mode 100644 js/jquery/src/var/slice.js create mode 100644 js/jquery/src/var/support.js create mode 100644 js/jquery/src/var/toString.js create mode 100644 js/jquery/src/wrap.js create mode 100644 js/modernizr/feature-detects/a-download.js create mode 100644 js/modernizr/feature-detects/audio-audiodata-api.js create mode 100644 js/modernizr/feature-detects/audio-webaudio-api.js create mode 100644 js/modernizr/feature-detects/battery-api.js create mode 100644 js/modernizr/feature-detects/battery-level.js create mode 100644 js/modernizr/feature-detects/blob-constructor.js create mode 100644 js/modernizr/feature-detects/canvas-todataurl-type.js create mode 100644 js/modernizr/feature-detects/contenteditable.js create mode 100644 js/modernizr/feature-detects/contentsecuritypolicy.js create mode 100644 js/modernizr/feature-detects/contextmenu.js create mode 100644 js/modernizr/feature-detects/cookies.js create mode 100644 js/modernizr/feature-detects/cors.js create mode 100644 js/modernizr/feature-detects/css-backgroundposition-shorthand.js create mode 100644 js/modernizr/feature-detects/css-backgroundposition-xy.js create mode 100644 js/modernizr/feature-detects/css-backgroundrepeat.js create mode 100644 js/modernizr/feature-detects/css-backgroundsizecover.js create mode 100644 js/modernizr/feature-detects/css-boxsizing.js create mode 100644 js/modernizr/feature-detects/css-calc.js create mode 100644 js/modernizr/feature-detects/css-cubicbezierrange.js create mode 100644 js/modernizr/feature-detects/css-displayrunin.js create mode 100644 js/modernizr/feature-detects/css-displaytable.js create mode 100644 js/modernizr/feature-detects/css-filters.js create mode 100644 js/modernizr/feature-detects/css-hyphens.js create mode 100644 js/modernizr/feature-detects/css-lastchild.js create mode 100644 js/modernizr/feature-detects/css-mask.js create mode 100644 js/modernizr/feature-detects/css-mediaqueries.js create mode 100644 js/modernizr/feature-detects/css-objectfit.js create mode 100644 js/modernizr/feature-detects/css-overflow-scrolling.js create mode 100644 js/modernizr/feature-detects/css-pointerevents.js create mode 100644 js/modernizr/feature-detects/css-positionsticky.js create mode 100644 js/modernizr/feature-detects/css-regions.js create mode 100644 js/modernizr/feature-detects/css-remunit.js create mode 100644 js/modernizr/feature-detects/css-resize.js create mode 100644 js/modernizr/feature-detects/css-scrollbars.js create mode 100644 js/modernizr/feature-detects/css-shapes.js create mode 100644 js/modernizr/feature-detects/css-subpixelfont.js create mode 100644 js/modernizr/feature-detects/css-supports.js create mode 100644 js/modernizr/feature-detects/css-userselect.js create mode 100644 js/modernizr/feature-detects/css-vhunit.js create mode 100644 js/modernizr/feature-detects/css-vmaxunit.js create mode 100644 js/modernizr/feature-detects/css-vminunit.js create mode 100644 js/modernizr/feature-detects/css-vwunit.js create mode 100644 js/modernizr/feature-detects/custom-protocol-handler.js create mode 100644 js/modernizr/feature-detects/dart.js create mode 100644 js/modernizr/feature-detects/dataview-api.js create mode 100644 js/modernizr/feature-detects/dom-classlist.js create mode 100644 js/modernizr/feature-detects/dom-createElement-attrs.js create mode 100644 js/modernizr/feature-detects/dom-dataset.js create mode 100644 js/modernizr/feature-detects/dom-microdata.js create mode 100644 js/modernizr/feature-detects/elem-datalist.js create mode 100644 js/modernizr/feature-detects/elem-details.js create mode 100644 js/modernizr/feature-detects/elem-output.js create mode 100644 js/modernizr/feature-detects/elem-progress-meter.js create mode 100644 js/modernizr/feature-detects/elem-ruby.js create mode 100644 js/modernizr/feature-detects/elem-time.js create mode 100644 js/modernizr/feature-detects/elem-track.js create mode 100644 js/modernizr/feature-detects/emoji.js create mode 100644 js/modernizr/feature-detects/es5-strictmode.js create mode 100644 js/modernizr/feature-detects/event-deviceorientation-motion.js create mode 100644 js/modernizr/feature-detects/exif-orientation.js create mode 100644 js/modernizr/feature-detects/file-api.js create mode 100644 js/modernizr/feature-detects/file-filesystem.js create mode 100644 js/modernizr/feature-detects/forms-fileinput.js create mode 100644 js/modernizr/feature-detects/forms-formattribute.js create mode 100644 js/modernizr/feature-detects/forms-inputnumber-l10n.js create mode 100644 js/modernizr/feature-detects/forms-placeholder.js create mode 100644 js/modernizr/feature-detects/forms-speechinput.js create mode 100644 js/modernizr/feature-detects/forms-validation.js create mode 100644 js/modernizr/feature-detects/fullscreen-api.js create mode 100644 js/modernizr/feature-detects/gamepad.js create mode 100644 js/modernizr/feature-detects/getusermedia.js create mode 100644 js/modernizr/feature-detects/ie8compat.js create mode 100644 js/modernizr/feature-detects/iframe-sandbox.js create mode 100644 js/modernizr/feature-detects/iframe-seamless.js create mode 100644 js/modernizr/feature-detects/iframe-srcdoc.js create mode 100644 js/modernizr/feature-detects/img-apng.js create mode 100644 js/modernizr/feature-detects/img-webp.js create mode 100644 js/modernizr/feature-detects/json.js create mode 100644 js/modernizr/feature-detects/lists-reversed.js create mode 100644 js/modernizr/feature-detects/mathml.js create mode 100644 js/modernizr/feature-detects/network-connection.js create mode 100644 js/modernizr/feature-detects/network-eventsource.js create mode 100644 js/modernizr/feature-detects/network-xhr2.js create mode 100644 js/modernizr/feature-detects/notification.js create mode 100644 js/modernizr/feature-detects/performance.js create mode 100644 js/modernizr/feature-detects/pointerlock-api.js create mode 100644 js/modernizr/feature-detects/quota-management-api.js create mode 100644 js/modernizr/feature-detects/requestanimationframe.js create mode 100644 js/modernizr/feature-detects/script-async.js create mode 100644 js/modernizr/feature-detects/script-defer.js create mode 100644 js/modernizr/feature-detects/style-scoped.js create mode 100644 js/modernizr/feature-detects/svg-filters.js create mode 100644 js/modernizr/feature-detects/unicode.js create mode 100644 js/modernizr/feature-detects/url-data-uri.js create mode 100644 js/modernizr/feature-detects/userdata.js create mode 100644 js/modernizr/feature-detects/vibration.js create mode 100644 js/modernizr/feature-detects/web-intents.js create mode 100644 js/modernizr/feature-detects/webgl-extensions.js create mode 100644 js/modernizr/feature-detects/websockets-binary.js create mode 100644 js/modernizr/feature-detects/window-framed.js create mode 100644 js/modernizr/feature-detects/workers-blobworkers.js create mode 100644 js/modernizr/feature-detects/workers-dataworkers.js create mode 100644 js/modernizr/feature-detects/workers-sharedworkers.js create mode 100644 js/modernizr/grunt.js create mode 100644 js/modernizr/modernizr.js create mode 100644 js/modernizr/modernizr.min.js create mode 100644 js/modernizr/test/caniuse_files/ga.js create mode 100644 js/modernizr/test/caniuse_files/jquery.min.js create mode 100644 js/modernizr/test/caniuse_files/modernizr-1.7.min.js create mode 100644 js/modernizr/test/js/dumpdata.js create mode 100644 js/modernizr/test/js/lib/detect-global.js create mode 100644 js/modernizr/test/js/lib/jquery-1.7b2.js create mode 100644 js/modernizr/test/js/lib/jsonselect.js create mode 100644 js/modernizr/test/js/lib/polyfills.js create mode 100644 js/modernizr/test/js/lib/uaparser.js create mode 100644 js/modernizr/test/js/setup.js create mode 100644 js/modernizr/test/js/unit-caniuse.js create mode 100644 js/modernizr/test/js/unit.js create mode 100644 js/modernizr/test/qunit/qunit.js create mode 100644 js/modernizr/test/qunit/run-qunit.js diff --git a/assets/ask-a-librarian-icon.png b/assets/ask-a-librarian-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8f4de0464bc82d2d1f9b53587400932091bf3b4c GIT binary patch literal 1688 zcmV;J250$+P)iS7TWEe_V-PGInBA}o}T-;zn=3u_nw_eEP`qr ztrjFJUxf+UA123fl|70nxx3!ay}4`4V>D z9JVbJwi{Lkdr~y8a+v&Wa}0H=>T#nVN))hmowc)Gc(Cw}R3r;@*3PAg;IU>Mw$q#_ zT>&YU;g+}eJ*95%*PET0OAhJk?#uGnyuPn0?q0s|LVf)Kzfj>8pthXr9C%o{HdO3p z!@6puVleWqpj}n{uIA>toq+q6NO5eNYs7seASn;x^Ku=wwax2Q2Mh+~dm(3Dk2N+d zzU=b-r8AFJONURHS{x^YnSo6kynNVffY~FAHqn|<@6lOyP*na8oah# zlV@#k{$+3Ku~F67r}axw#}d@FGC05Alm5}T*KIZUT$P^G!Xr1D#I6b*$3_xDo%@k| z7vfM8LZC*Cbtp(afo%$P?|%B_Jil=}(Wfp;ERUU8=fdPS09Y;3YZ~g{j{_|s^80Xe zMr!R<$=Ao?!uyegizDa3Y}d`t6x$HXu?3i9o0=a6Dx37;q#nF9{p3583YJ>FkzJG) zYAHSfdo8KK!fQ_=c`0H+Qx2=J6|pgv9;u`cR*iallRn%6gk4Cs@_-;*8JEYy94Ajl zs_Hy!E$Ta(_~DjzxF2A^YQx7zVfV10x47tAA3B!7DC(EC#h5|1#T)7{JU1=IbhC zJ?|sik!T^+ta>b<-ht$mV%Bv%i_f-RhW!mYm@HuB7(+F(iS=Hgv;)WU$YXCp9p`#> znN3FSp?{*2kphxpmd5>_>&I2q-!d8Z64+?ua=G(e%zft!MO5-wl9sM->*UlvSPcaB z)>I06AVhv1z4Ow0RDhpFYTXA5j6fz_@z zySkkvKA##Et}M%)E!koHa@YStbj)mK139w1onpb>+R19=jAePQHn2kJ2UyY2REr4aJ>lywrbn+ zg-BOMd*b=Q(PvCbz!`%!n4DvVCbZ*+S-kG{6Z`jEh_}abs7Inb@#p^ZShnN2S$3$W zVf!hrq&SvDVB-xoEjxE9VTc1*C@tA8IyEEfuDFL=85V1MM(*_0>wZ-|-{b=*cwOcnlOh(Xz-$_fJ9&kEP*8vSOQC6 zNd%U_iZ0>S$JW}birB>VRi!ZgvMuai{-~GEt{Ts~eY!VYI=deAo7A$CogUzC4keqs47 z@8v2>5)auzg>6f91(t6N+1$LaEOuTKdgl{^6tEZ+*%HS~Nu!xpd}JoD1Xd^wi}I}C z4_MTjp8J`S&&R3|`Fy7jXN=mm2$mX@Hzo?$)%EoUqTcGX#?i|EwaXj9`Q1|4z9xG^ zOqOvrH`npC7r`rQ+Nmo@q6q?lB@tKxOJGR^mcSBN5`iVK1eQc#2`qsn5m*9CU`Yg) iz!F#zfz^Tj7hnKDh@o23Q{&(O0000} literal 0 HcmV?d00001 diff --git a/assets/ask-a-librarian-with-text.png b/assets/ask-a-librarian-with-text.png new file mode 100644 index 0000000000000000000000000000000000000000..baeadcdb66c79a94acc78744a2f6418eb1c81f3d GIT binary patch literal 4139 zcmaJ^c|25Y8=jg%h_dyTr7;QFX2aMuV@3vJ%T^R)3pbV2Bs-e}TZMNC0|0=nI17ve zzaHY>aY6$8Qd`SBhF|SuU|kspX+8`lA%p}#dDFZ|ARL9@OL8C)yu*SYlZ*fWpeotX zmEnrFHXza{T7-2UEfyt+j|KpYOj$t$VgQK&@*???sm5SlQwtbG_BIB)=-{FFATyF5 z*&;lIbTHh;kr*C8)b|FPnt+U02K)dN5`zF@Q39!S1C}xPXIuk*dwm!J2K{tl1Q>&V zCFP2@1DVl6NFW_8T}>hkp$9_hYr%B%_2AkXAUG7J3xVoGVA`5cm;qGZ015;BeS!J2 zg?RfIIAF~Go{Qfz2KzA>K?V>AlgZR#BD82Bz7UwczCHvBhrr>Qd=E`}7?nX_X;SHX zen-HN=)@3m5Q9vkg4QDvylBT5#$bM?zm`A=`X?-v{`WTVHw?le1VLb0(Dfz#cEscV zzbl3Ek2js+K>9b|{~4I>7#2i=IFRVHVj#MxV)Gic!9Y?aRl2 z^=fRiX&W;VjoME^^$P5(n=oe!DYg{=*%r8aGX7WW!sbv8Ne)VZMZ$^NmQ^?qP4DsE zP>H55{q2akYsUSbhMo>_3tmsG+3xBJ^YHO4%v`7`^31XUS%+HzVqLJ`E?)qsnrIW`6_Y~)#Az5kw` z)&+ccb0kdhmO;YAmz0O?n;V{v{&ly-W2N7+eec$Kd~dyTT)-@xcDnv+vOw0t3b;)(dFcR_qI9(PGQ$ZO@L3O57>8r1^!WYPlk@ zIke?u?7+4OgNI9QG(SR*5cer^z;!XQfs&_N!5n$4RC=3v#^&~>5?BPetnhMuRx1(1w!NbQn@^|S~v!RZk z0yK?^SL>8AbrscAFdDJQ$^8u2$g0xYx_Yaz1&NTMg}kqq1C7!fYe;GrRx~^oz@>_@8 z>(I9l4Z-7m*+7RvFRx9u(vL%{8a7<_hluMIbZ{guIk+ODy%Q6)lQQ%=J7w-~dO`hQ zC6Yt7Gf?>ufAg)@1($7U7EGprbl@A6BUNRa8dr(-*Jof0mE6R0^)r=&M(vC!Pmvs*_tYbS3bzDffNQgf=e^+=Dx z1vO7Rp@lKVSiLHKW68VRzXyrUHIl8K%;z$0-w~tYqz#7&S^LfsO6dalRO@-WT<_Xy zVu^Kls*PgNDMqBj-L*ZvqP6`hKp%xwohDnQU8yUF(@fqBFAii_APcAeI$L)H;*qZJ z)@G-Oi+Q5*wGi>Ov&7}V=jo3~hVN04GxM)FJ{KHtxIOu+O9vbBj7wZ9z=2*cE8khs@kx6b7Q|iN%*U;(-bJ- zxrqSgMDn7P7@+kUQEQaF>*p8EpNpa;Kj=wBy^7de)SX3Wob=us9`T&b!nEC~fwI`G z`&lCRpp<Dd>c&gSJ3-ZKGZwWbZ35)hdf?K`Z48K=PRM3v)0Pp6wo8D7dAfc zyTTiGMRdd)XCb4C*iGl!5qXbKvzm$GNj$+TFrjL9J$MNH^I_+OsB^H1wV_*5%d)$> z-NiPoM4_GTz0@!?X^D9Kuwswo+Lyk>oW`i7$_`-CB^H}h$bKL#t9+GR7-=GLF=iG3 z*ros&5=>FAul3}9JTrF8RCmxx@-LdObNbr_56kLwmzH4lgTeNT5}6NynXmRd|-XR$-i$B&UQzA0BzyNvs7oLduol z0AF1if+gQ2MR<;d)R&WWn!2+4Vm+0uv&ui|F+Q|InrdgxMBhvgA)-G>tGL-kf4 zrQ)EaUk$Du9`X!+U_AFjLxHDH zU`PjkThq*)+sJJZcjhDtx{tR#UVu0`InQpN@%Zo};82%GDIT9b^_?#%VBojAyQ62L z-BMFibyI74#3%HWfa)j~KMzwY&rRF;o$m}XCtq~k&&qfcPz&kkXtZtHX;w4j$|;ld^qVL>{<4(NwtFdwX0uQkntY#ckZ2f@baCy1IPV16d^s zSCHeZDLytF{Te0_oY;mGJBwzC#8(;`%I*tqn+hxIZMf?^)h*U|Dz2k=@Z_D$4AY#N zzV?h6o=Mt3!tA(&*6r8l3$=sDN%>(*=1EUhoP@vIFO~vR)B*ch>jn_2*4C)nY9gf0 zZ@mzhTb6;;!CfFnzHEOHNxpaW^2yR;i|siAydS(rXY)Eois?LVemAMYqc+qHOM3a5 z*I!J&l?52-(v)^eq2^P411Bd}XQDbMZcuFH!ryqk#=kIf#{)q8f4^A4b&H-|xAn*S zmjO6HPsQj156ATl!EP=GUvMt3Z4h4TOYu1tINs5eVe|Iuy@-fmb)E@sO2egDX-&rZ z94A;f%Jh_8vN!_85-|^4i8#Mq*rTKdw`fGsrri9oCAsj?9`*N`Im315|>`$ypzUa{f?AahxeT{XRLxcj|@piX+Yz9~CCi^vr zzHcme>}o=P)L%`$67~Ma?%#AuD;{A-1moW~D0Nb;X2mV!QE6z_0-JyC^|K<6*G6O& z=nPkprZ=AOfVp60F6oZ=vwIJ2mgIB8iJ5I>d;X=|DpxJHq!NcKQ^CWdfY=J_dXFN% zN2Se_B0EZ7sH~H~NER>yd&&59L1CS7u%8Nc7(q2H)8P%u_K$V6OeOP`*Ki=s^3|3w6!g?0NSiJz(v=Sv*`7}>CHeD?k&@E3=wv{gte;I+V&1k922L+dX(9M%R? Ih4y6s2N{tnP5=M^ literal 0 HcmV?d00001 diff --git a/assets/be-a-friend.jpg b/assets/be-a-friend.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eb8cbe4af3805795d6386d6469f3f367e7639295 GIT binary patch literal 27845 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 RkoUn_|EQ06zTm%0{{@aK+*SYp literal 0 HcmV?d00001 diff --git a/assets/book-a-room-icon.png b/assets/book-a-room-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4f447ee763d2441de257d9e33a42becfdac20b72 GIT binary patch literal 3634 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 A!~g&Q literal 0 HcmV?d00001 diff --git a/assets/book-a-room-with-text.png b/assets/book-a-room-with-text.png new file mode 100644 index 0000000000000000000000000000000000000000..b402f90d48b1919e84d266290c724acadd0266bc GIT binary patch literal 5100 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 literal 0 HcmV?d00001 diff --git a/assets/charlevoix-public-library.jpg b/assets/charlevoix-public-library.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0ec7cdae5df09af2918a5013b42d680aa6e8ad59 GIT binary patch literal 48380 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

1}fQy#AbcmaL5N>6*Xi@c4AQ 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 ZK;iSJQGq9+h~KxYnyNY~g-X^z{{l1QKPUhI literal 0 HcmV?d00001 diff --git a/assets/dontate-with-text.png b/assets/dontate-with-text.png new file mode 100644 index 0000000000000000000000000000000000000000..719b709876cba8c52be4f666ba3c8eb16daed89f GIT binary patch literal 6576 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 TDY!kqO9IdL{W?GK;1B=VH>=9W literal 0 HcmV?d00001 diff --git a/assets/events-fpo.png b/assets/events-fpo.png new file mode 100644 index 0000000000000000000000000000000000000000..de5f1c729c6505763f1e9823db84dd02f8145592 GIT binary patch literal 58970 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

Yl1MTr&u_l96scPg+F*xu1t5kx9FDR=)F#U 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 literal 0 HcmV?d00001 diff --git a/assets/get-a-library-card.jpg b/assets/get-a-library-card.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7133766197238654ba2ae8a85d480028516b811a GIT binary patch literal 24338 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 GNB`MGVa@LV literal 0 HcmV?d00001 diff --git a/assets/more-button.jpg b/assets/more-button.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a5c5ea070277b9c9acf0e031b62cb8ab11a46bd2 GIT binary patch literal 2441 zcmaJ>d0bP+7QV?%!lp>r0>aa4SX6{;$dU-NaRnWW}3g{oT-~IjO&dm9~bI#118GXCH z8?fVQBuN0UWQiMK419wA1waf+6Q*ncFaQpnjspOFH%L!bspKpwRi>l}L`Wh`5h7Bm zMj)rsDKskJ7od>~gekBJN`%D{nLqjExr<~-BJwB4c=2g`IR{RbEY>RE<=W6lp*BUx z6p;hIg8VcrjZ`j$RRTyOO_eEG8h`S*a~9e+OjF6wI7OA>Pi7mULb3cXh=V9#$cy6b zA*6fyLOx6i-HYkVSm+KhXmoEXjY*|1^q|pMG$xBihbBNqqbWp5tcW1qL@adVPo7wm zTCJw2Jt>GnOrBS z5{Zb#V{$lLuZ1+87oAI|bG_MYns*?Z!KKpzgP1fndr}*O2-BpnOf{($ebUmus5KOX zRE|atf)$eWu!yHXq|o@nS&}d2;>rD@zX`4Ai@A96zNn?5$xsc)``K|%PN6kq=uQ8ZvW7DW zv3Wzkze-$d;(I|m*e^SK?)JXe-=3IuMxIY}Ho0B-RsUAWFNGZDK%2#mwzqFe?^%^R zR`!PGElX9_VcFN=kw^C0fKwaO{e~Wi9b2@QRaNeedyR`oVv0#q0DM>2K5IVrdF$=# zrAyZYB$1%jHfhUV3m1N6#R?=`RW+cjIz9rd0Qq8%<=9>YF${dAgY~SwrhG6Xs0Z_1 z3iR$CINDJ0dRqT(f>}O_?~hI(hhV>}lT{8D#hNTf2A6 z$y;vY7*>14_1NOvuU$fg4~~@{g&EG-b+c`qg8P48>EC?m$M^A@-~?W@%o60^a(^Nz zCH}~*^ZD4&I2`xk+0M>^>a?>1gu0fjTvp-XtsdVcDgV`eQB2cCH-+Sps+RRwbdl$- zHtFr-9i1!d?eGMg)ksmjd!mClNQt-=uELxxRYe(xL#{Mr z-U^2orO?W+3|HoSe?k6me`>PY=Hwp0x;<*hS?QJ9!pn_)rtaOL8y#b=8**?lW$U1! znU;Q9%A${(FV}R5%6(focM8V7VS+|1HwP(&Yirw3eRW_s`PD@`$*rTq+l3cGvKZ^O zdxugOr8180iB?s4Oc-VNakpPYbJmG{cKcF#^gwxEm^wddfNYoU%$ARV?)u98~MVM}DxmHd5SQ zzOkQ}-B!Ll&5^xg*Tr2Y1CX8J%nzM0tu{OFwas+ui7$RNH{!ADr8{p94(4roghuy? zsrcVmhE?wN7dO^;zZ@#-y35OKmqz;jJ2=d~@~)G~>#k~b^Xoy|%75r8I?jz)J~T_- zRKF^!;hp7EZC7dcJmU~TsEdWes{!nB zMKjF(PekR!6fSqudLHOpz%mOs_|CKR!L#&0*MC~D*N;3OD6Lh$*EsH5IrFNeE}OtH zcUV>b9{+V8NyFVX%O^(H<9S3JRk(pNlu7}US5&yLU*o*DHh_UNsN_f~tG-3?Mt55Q wN3}aI%ck}^{NZ+>INh>_UgPS#sA#S_>EoPl-VH=L6k6jZU$TjJjim4RKd$(QwEzGB literal 0 HcmV?d00001 diff --git a/assets/newletter-signup-icon.png b/assets/newletter-signup-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..89aceb0d848f4aa1fa1bd45fd97d7473e2a85e48 GIT binary patch literal 2406 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 literal 0 HcmV?d00001 diff --git a/assets/repeating-header-pattern.jpg b/assets/repeating-header-pattern.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f1047ebb2fb9569092472619e250c8acd993a055 GIT binary patch literal 661 zcmex=+JW@c$hHpJPgXQYu5r z0iX!u|Jw{L42*EV1Y|KW0ZAYM0nALyKma6IK!BMQ4A?<{0}epifvQ=VnOWIcSy+)| z;7af_{vTiv2G&ol#5Ba%qqlh!>ukocI)LF3f=|2F|_g*NyA literal 0 HcmV?d00001 diff --git a/assets/repeating-hm-pg-search-bkgrd.jpg b/assets/repeating-hm-pg-search-bkgrd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6fd2b1ed29c52b002f45e1039ff59971fb82b72f GIT binary patch literal 45381 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

FvFV?3Oh{F9 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 literal 0 HcmV?d00001 diff --git a/assets/sample-image-cupcakes.jpg b/assets/sample-image-cupcakes.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e56181b6d4ed58ddefde390d4e3b16c84b463211 GIT binary patch literal 35686 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 literal 0 HcmV?d00001 diff --git a/assets/sample-image-digital-photos.jpg b/assets/sample-image-digital-photos.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ff70b109f10c46880e0a926076356cfeda434624 GIT binary patch literal 24265 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 AApigX literal 0 HcmV?d00001 diff --git a/assets/search-icon.png b/assets/search-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cf6f05ab8fea69010456549fb15aba6cefbc2196 GIT binary patch literal 1776 zcmaJ?c~BEq91epbSg}xHL`2;NfuQ8rNH7}{AQy)i8;)YcGshBENH)zbBp`TzRq>!G zURAUXC<7i`qNuSdRG=URp<`6g)(fFx6&2J{tlcPJ|0vy=-S^&azVG{;Z#G-HFw}9p z`*;$GuYaEd`sppFcZrZTr9(*(Rkb-*TW>f3RS>BxJIsqqhPrz^_xbR zOCs4)kQf;*lPusUQ4LLQ#n6lz9l<7%xIsppT$u>tfC5${S|0hi=@J=0R6Oz`mV_bE z3E>1JEKLtbr!9<8rX?yN6*(vn;2JrEfCk3pfKijA#W+SD`GYQp*jvqXGVlR{C-TT2 zgOW+4fDqNg0E-qtRf2Qaz+8w1vLH6o-w$9izyLY}qJ#ca2FPJR90mvsJ!Hb0UKP)Y z5`_%;B2GMV0*>oAbh^P{pc&@SP`#QCLJ&k}FzHMtl|WFjR4pzyQni@pu!0E2lzK#m zBd8XzD#{gTGR`9tk$y};qZ^UcVnbyj3Pv}|b##!%u%vaVXtG{OG%nuL>Pp8E>R~yK>SIteX}F5g1QbWH1XKqIh1ROg1t=1^646?X zz8_c;2`5~O;c~4K4j1vrgbocsR2-&|KUXA%_#rHi4T9nTKA#aF;4{S_Lm+|}eEu+3 zgesFYuofTYsy=ZAqjIeSq0teZMX(-8fmI=TR0DiSoP&%W3wu<(A+BolSfEk4bRrnK zwY~pp_pphWA?tQzc!|Tv_`_Oa=JmvIZ*!lNLEM?;;Ua#FvAt@KCM;U+(qJev95A1w zuCV0qSBPfBDdPLQR)ek;xq)IkF(qn4?n>tjX)9fxJJ!`X?%ufU<|a{Xweyv2PSMy= zpaeO9tukOH)9Q05uVvY!tYuxX)7f0Z9qe@n#_k&2r1S6@ul1P!&fVNkUCVAd`}h~J zzpwDf3wF^RbeH$!i3MQ0IMQw77~50{8sVT6@`TNg#Bh$^@@;3h+IuhAnXqL5+-=^xQlFW;WaoWHq(heTKI3V@16|_Lm?bZ1GaWLG zYNT09NvuwxuzMnQUxOlVULNpx+5cv0er@Qf7d7b_fJONvaGIaCuq?82&aIfBMoDLzTQmGqP*_uTxfdJ>lBEZJbqB zVv3`YH_6*j|}>P@0(24&0Tnfq&Pj8Sj9vNC~sjiokL?Dc|8&haGMi0hukt@G(w z+-9E{Y!mrjByKGTqvl?%C~jx3;N& zpZ$9Az}7Q4_oa$Ki^e&^YfD~^8>91LW3I^zrWIzd@Il)i`=)be_mx)`zlxv+bz971 zaw;X=XR3N+?bEjRd^NGRe9=7Wqvlf)9ue}Ioo;O>POrUiyv9_Vr4SHAJ#7eHVTNgcc)-$JuuAHAg_rI&!e0xDdZ>JBbsC~jl`*0}Kq*{)( zAUYGbe(WAEdZ$BhQ*y|yWe+w8J=e=x1P!-I3(mZWE94%pST1|}cWdMGlbzD|!@^dV zq>b+#vjpcgKzC`$>Kiuu5|5or>j+*Wd&Sw7za|~-2p(MPq!b>UQB(y!^J00odvCpQ ogGE;CKKP}?x7Z))uO``&_KN3Sy!$Hkmh~SLE?y`q6|Bts2ThN>sQ>@~ literal 0 HcmV?d00001 diff --git a/assets/social-icons.png b/assets/social-icons.png new file mode 100644 index 0000000000000000000000000000000000000000..b10b759311212cbec28b44de81278fd108d8a4a9 GIT binary patch literal 953 zcmV;q14jIbP)!iWC&Q_yu~hf|NxpQo)ad9|%P~`GKMbsVIW97ZpXYB1*9+f)*=? zB7SW2;Fe-(>*D%=G|6PL8@msFOtSNlH}6f}yd=xA*=#dNWrG(QvzbW<`j>!i zkO^3~3?H{dQa`1()93)#srISgLvRgz;pcHs12%(NU}%~)Lt^qRD9$ofU2+AsDRd0UQ6w?NHODL z2g!%L(-u1PfJs7|Vz3761C2K0EVG%!Y!3of7_skGNxc%->m!yyddnZAu+i>SKtZl*It5K3M`UQ_CP$c;2Y{f<>$F-k% z?2`z=Im0d%?J2Ma_G-r*IxX6a$v9^(FL!``;rAxKAB7=pm>k9TE)RV+^^xR=3hNON2iszs5+Yt%LAZ*~rc5cOBg}+8g>8I3o bzXcco+Ag=2^?=!a00000NkvXXu0mjfapSw0 literal 0 HcmV?d00001 diff --git a/assets/view-all-events-button.jpg b/assets/view-all-events-button.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6abac3f67b7889ae4ed198519e0ce400d22e9668 GIT binary patch literal 5670 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 .column, .row.collapse > .columns { + padding-left: 0; + padding-right: 0; } + .row.collapse .row { + margin-left: 0; + margin-right: 0; } + .row .row { + margin: 0 -0.9375rem; + max-width: none; + width: auto; } + .row .row:before, .row .row:after { + content: " "; + display: table; } + .row .row:after { + clear: both; } + .row .row.collapse { + margin: 0; + max-width: none; + width: auto; } + .row .row.collapse:before, .row .row.collapse:after { + content: " "; + display: table; } + .row .row.collapse:after { + clear: both; } + +.column, .columns { + padding-left: 0.9375rem; + padding-right: 0.9375rem; + width: 100%; + float: left; } + +.column + .column:last-child, .columns + .columns:last-child { + float: right; } +.column + .column.end, .columns + .columns.end { + float: left; } + +@media only screen { + .small-push-0 { + position: relative; + left: 0; + right: auto; } + .small-pull-0 { + position: relative; + right: 0; + left: auto; } + .small-push-1 { + position: relative; + left: 8.3333333333%; + right: auto; } + .small-pull-1 { + position: relative; + right: 8.3333333333%; + left: auto; } + .small-push-2 { + position: relative; + left: 16.6666666667%; + right: auto; } + .small-pull-2 { + position: relative; + right: 16.6666666667%; + left: auto; } + .small-push-3 { + position: relative; + left: 25%; + right: auto; } + .small-pull-3 { + position: relative; + right: 25%; + left: auto; } + .small-push-4 { + position: relative; + left: 33.3333333333%; + right: auto; } + .small-pull-4 { + position: relative; + right: 33.3333333333%; + left: auto; } + .small-push-5 { + position: relative; + left: 41.6666666667%; + right: auto; } + .small-pull-5 { + position: relative; + right: 41.6666666667%; + left: auto; } + .small-push-6 { + position: relative; + left: 50%; + right: auto; } + .small-pull-6 { + position: relative; + right: 50%; + left: auto; } + .small-push-7 { + position: relative; + left: 58.3333333333%; + right: auto; } + .small-pull-7 { + position: relative; + right: 58.3333333333%; + left: auto; } + .small-push-8 { + position: relative; + left: 66.6666666667%; + right: auto; } + .small-pull-8 { + position: relative; + right: 66.6666666667%; + left: auto; } + .small-push-9 { + position: relative; + left: 75%; + right: auto; } + .small-pull-9 { + position: relative; + right: 75%; + left: auto; } + .small-push-10 { + position: relative; + left: 83.3333333333%; + right: auto; } + .small-pull-10 { + position: relative; + right: 83.3333333333%; + left: auto; } + .small-push-11 { + position: relative; + left: 91.6666666667%; + right: auto; } + .small-pull-11 { + position: relative; + right: 91.6666666667%; + left: auto; } + .column, .columns { + position: relative; + padding-left: 0.9375rem; + padding-right: 0.9375rem; + float: left; } + .small-1 { + width: 8.3333333333%; } + .small-2 { + width: 16.6666666667%; } + .small-3 { + width: 25%; } + .small-4 { + width: 33.3333333333%; } + .small-5 { + width: 41.6666666667%; } + .small-6 { + width: 50%; } + .small-7 { + width: 58.3333333333%; } + .small-8 { + width: 66.6666666667%; } + .small-9 { + width: 75%; } + .small-10 { + width: 83.3333333333%; } + .small-11 { + width: 91.6666666667%; } + .small-12 { + width: 100%; } + .small-offset-0 { + margin-left: 0 !important; } + .small-offset-1 { + margin-left: 8.3333333333% !important; } + .small-offset-2 { + margin-left: 16.6666666667% !important; } + .small-offset-3 { + margin-left: 25% !important; } + .small-offset-4 { + margin-left: 33.3333333333% !important; } + .small-offset-5 { + margin-left: 41.6666666667% !important; } + .small-offset-6 { + margin-left: 50% !important; } + .small-offset-7 { + margin-left: 58.3333333333% !important; } + .small-offset-8 { + margin-left: 66.6666666667% !important; } + .small-offset-9 { + margin-left: 75% !important; } + .small-offset-10 { + margin-left: 83.3333333333% !important; } + .small-offset-11 { + margin-left: 91.6666666667% !important; } + .small-reset-order { + float: left; + left: auto; + margin-left: 0; + margin-right: 0; + right: auto; } + .column.small-centered, .columns.small-centered { + margin-left: auto; + margin-right: auto; + float: none; } + .column.small-uncentered, .columns.small-uncentered { + float: left; + margin-left: 0; + margin-right: 0; } + .column.small-centered:last-child, .columns.small-centered:last-child { + float: none; } + .column.small-uncentered:last-child, .columns.small-uncentered:last-child { + float: left; } + .column.small-uncentered.opposite, .columns.small-uncentered.opposite { + float: right; } + .row.small-collapse > .column, .row.small-collapse > .columns { + padding-left: 0; + padding-right: 0; } + .row.small-collapse .row { + margin-left: 0; + margin-right: 0; } + .row.small-uncollapse > .column, .row.small-uncollapse > .columns { + padding-left: 0.9375rem; + padding-right: 0.9375rem; + float: left; } } + +@media only screen and (min-width:40.063em) { + .medium-push-0 { + position: relative; + left: 0; + right: auto; } + .medium-pull-0 { + position: relative; + right: 0; + left: auto; } + .medium-push-1 { + position: relative; + left: 8.3333333333%; + right: auto; } + .medium-pull-1 { + position: relative; + right: 8.3333333333%; + left: auto; } + .medium-push-2 { + position: relative; + left: 16.6666666667%; + right: auto; } + .medium-pull-2 { + position: relative; + right: 16.6666666667%; + left: auto; } + .medium-push-3 { + position: relative; + left: 25%; + right: auto; } + .medium-pull-3 { + position: relative; + right: 25%; + left: auto; } + .medium-push-4 { + position: relative; + left: 33.3333333333%; + right: auto; } + .medium-pull-4 { + position: relative; + right: 33.3333333333%; + left: auto; } + .medium-push-5 { + position: relative; + left: 41.6666666667%; + right: auto; } + .medium-pull-5 { + position: relative; + right: 41.6666666667%; + left: auto; } + .medium-push-6 { + position: relative; + left: 50%; + right: auto; } + .medium-pull-6 { + position: relative; + right: 50%; + left: auto; } + .medium-push-7 { + position: relative; + left: 58.3333333333%; + right: auto; } + .medium-pull-7 { + position: relative; + right: 58.3333333333%; + left: auto; } + .medium-push-8 { + position: relative; + left: 66.6666666667%; + right: auto; } + .medium-pull-8 { + position: relative; + right: 66.6666666667%; + left: auto; } + .medium-push-9 { + position: relative; + left: 75%; + right: auto; } + .medium-pull-9 { + position: relative; + right: 75%; + left: auto; } + .medium-push-10 { + position: relative; + left: 83.3333333333%; + right: auto; } + .medium-pull-10 { + position: relative; + right: 83.3333333333%; + left: auto; } + .medium-push-11 { + position: relative; + left: 91.6666666667%; + right: auto; } + .medium-pull-11 { + position: relative; + right: 91.6666666667%; + left: auto; } + .column, .columns { + position: relative; + padding-left: 0.9375rem; + padding-right: 0.9375rem; + float: left; } + .medium-1 { + width: 8.3333333333%; } + .medium-2 { + width: 16.6666666667%; } + .medium-3 { + width: 25%; } + .medium-4 { + width: 33.3333333333%; } + .medium-5 { + width: 41.6666666667%; } + .medium-6 { + width: 50%; } + .medium-7 { + width: 58.3333333333%; } + .medium-8 { + width: 66.6666666667%; } + .medium-9 { + width: 75%; } + .medium-10 { + width: 83.3333333333%; } + .medium-11 { + width: 91.6666666667%; } + .medium-12 { + width: 100%; } + .medium-offset-0 { + margin-left: 0 !important; } + .medium-offset-1 { + margin-left: 8.3333333333% !important; } + .medium-offset-2 { + margin-left: 16.6666666667% !important; } + .medium-offset-3 { + margin-left: 25% !important; } + .medium-offset-4 { + margin-left: 33.3333333333% !important; } + .medium-offset-5 { + margin-left: 41.6666666667% !important; } + .medium-offset-6 { + margin-left: 50% !important; } + .medium-offset-7 { + margin-left: 58.3333333333% !important; } + .medium-offset-8 { + margin-left: 66.6666666667% !important; } + .medium-offset-9 { + margin-left: 75% !important; } + .medium-offset-10 { + margin-left: 83.3333333333% !important; } + .medium-offset-11 { + margin-left: 91.6666666667% !important; } + .medium-reset-order { + float: left; + left: auto; + margin-left: 0; + margin-right: 0; + right: auto; } + .column.medium-centered, .columns.medium-centered { + margin-left: auto; + margin-right: auto; + float: none; } + .column.medium-uncentered, .columns.medium-uncentered { + float: left; + margin-left: 0; + margin-right: 0; } + .column.medium-centered:last-child, .columns.medium-centered:last-child { + float: none; } + .column.medium-uncentered:last-child, .columns.medium-uncentered:last-child { + float: left; } + .column.medium-uncentered.opposite, .columns.medium-uncentered.opposite { + float: right; } + .row.medium-collapse > .column, .row.medium-collapse > .columns { + padding-left: 0; + padding-right: 0; } + .row.medium-collapse .row { + margin-left: 0; + margin-right: 0; } + .row.medium-uncollapse > .column, .row.medium-uncollapse > .columns { + padding-left: 0.9375rem; + padding-right: 0.9375rem; + float: left; } + .push-0 { + position: relative; + left: 0; + right: auto; } + .pull-0 { + position: relative; + right: 0; + left: auto; } + .push-1 { + position: relative; + left: 8.3333333333%; + right: auto; } + .pull-1 { + position: relative; + right: 8.3333333333%; + left: auto; } + .push-2 { + position: relative; + left: 16.6666666667%; + right: auto; } + .pull-2 { + position: relative; + right: 16.6666666667%; + left: auto; } + .push-3 { + position: relative; + left: 25%; + right: auto; } + .pull-3 { + position: relative; + right: 25%; + left: auto; } + .push-4 { + position: relative; + left: 33.3333333333%; + right: auto; } + .pull-4 { + position: relative; + right: 33.3333333333%; + left: auto; } + .push-5 { + position: relative; + left: 41.6666666667%; + right: auto; } + .pull-5 { + position: relative; + right: 41.6666666667%; + left: auto; } + .push-6 { + position: relative; + left: 50%; + right: auto; } + .pull-6 { + position: relative; + right: 50%; + left: auto; } + .push-7 { + position: relative; + left: 58.3333333333%; + right: auto; } + .pull-7 { + position: relative; + right: 58.3333333333%; + left: auto; } + .push-8 { + position: relative; + left: 66.6666666667%; + right: auto; } + .pull-8 { + position: relative; + right: 66.6666666667%; + left: auto; } + .push-9 { + position: relative; + left: 75%; + right: auto; } + .pull-9 { + position: relative; + right: 75%; + left: auto; } + .push-10 { + position: relative; + left: 83.3333333333%; + right: auto; } + .pull-10 { + position: relative; + right: 83.3333333333%; + left: auto; } + .push-11 { + position: relative; + left: 91.6666666667%; + right: auto; } + .pull-11 { + position: relative; + right: 91.6666666667%; + left: auto; } } + +@media only screen and (min-width:64.063em) { + .large-push-0 { + position: relative; + left: 0; + right: auto; } + .large-pull-0 { + position: relative; + right: 0; + left: auto; } + .large-push-1 { + position: relative; + left: 8.3333333333%; + right: auto; } + .large-pull-1 { + position: relative; + right: 8.3333333333%; + left: auto; } + .large-push-2 { + position: relative; + left: 16.6666666667%; + right: auto; } + .large-pull-2 { + position: relative; + right: 16.6666666667%; + left: auto; } + .large-push-3 { + position: relative; + left: 25%; + right: auto; } + .large-pull-3 { + position: relative; + right: 25%; + left: auto; } + .large-push-4 { + position: relative; + left: 33.3333333333%; + right: auto; } + .large-pull-4 { + position: relative; + right: 33.3333333333%; + left: auto; } + .large-push-5 { + position: relative; + left: 41.6666666667%; + right: auto; } + .large-pull-5 { + position: relative; + right: 41.6666666667%; + left: auto; } + .large-push-6 { + position: relative; + left: 50%; + right: auto; } + .large-pull-6 { + position: relative; + right: 50%; + left: auto; } + .large-push-7 { + position: relative; + left: 58.3333333333%; + right: auto; } + .large-pull-7 { + position: relative; + right: 58.3333333333%; + left: auto; } + .large-push-8 { + position: relative; + left: 66.6666666667%; + right: auto; } + .large-pull-8 { + position: relative; + right: 66.6666666667%; + left: auto; } + .large-push-9 { + position: relative; + left: 75%; + right: auto; } + .large-pull-9 { + position: relative; + right: 75%; + left: auto; } + .large-push-10 { + position: relative; + left: 83.3333333333%; + right: auto; } + .large-pull-10 { + position: relative; + right: 83.3333333333%; + left: auto; } + .large-push-11 { + position: relative; + left: 91.6666666667%; + right: auto; } + .large-pull-11 { + position: relative; + right: 91.6666666667%; + left: auto; } + .column, .columns { + position: relative; + padding-left: 0.9375rem; + padding-right: 0.9375rem; + float: left; } + .large-1 { + width: 8.3333333333%; } + .large-2 { + width: 16.6666666667%; } + .large-3 { + width: 25%; } + .large-4 { + width: 33.3333333333%; } + .large-5 { + width: 41.6666666667%; } + .large-6 { + width: 50%; } + .large-7 { + width: 58.3333333333%; } + .large-8 { + width: 66.6666666667%; } + .large-9 { + width: 75%; } + .large-10 { + width: 83.3333333333%; } + .large-11 { + width: 91.6666666667%; } + .large-12 { + width: 100%; } + .large-offset-0 { + margin-left: 0 !important; } + .large-offset-1 { + margin-left: 8.3333333333% !important; } + .large-offset-2 { + margin-left: 16.6666666667% !important; } + .large-offset-3 { + margin-left: 25% !important; } + .large-offset-4 { + margin-left: 33.3333333333% !important; } + .large-offset-5 { + margin-left: 41.6666666667% !important; } + .large-offset-6 { + margin-left: 50% !important; } + .large-offset-7 { + margin-left: 58.3333333333% !important; } + .large-offset-8 { + margin-left: 66.6666666667% !important; } + .large-offset-9 { + margin-left: 75% !important; } + .large-offset-10 { + margin-left: 83.3333333333% !important; } + .large-offset-11 { + margin-left: 91.6666666667% !important; } + .large-reset-order { + float: left; + left: auto; + margin-left: 0; + margin-right: 0; + right: auto; } + .column.large-centered, .columns.large-centered { + margin-left: auto; + margin-right: auto; + float: none; } + .column.large-uncentered, .columns.large-uncentered { + float: left; + margin-left: 0; + margin-right: 0; } + .column.large-centered:last-child, .columns.large-centered:last-child { + float: none; } + .column.large-uncentered:last-child, .columns.large-uncentered:last-child { + float: left; } + .column.large-uncentered.opposite, .columns.large-uncentered.opposite { + float: right; } + .row.large-collapse > .column, .row.large-collapse > .columns { + padding-left: 0; + padding-right: 0; } + .row.large-collapse .row { + margin-left: 0; + margin-right: 0; } + .row.large-uncollapse > .column, .row.large-uncollapse > .columns { + padding-left: 0.9375rem; + padding-right: 0.9375rem; + float: left; } + .push-0 { + position: relative; + left: 0; + right: auto; } + .pull-0 { + position: relative; + right: 0; + left: auto; } + .push-1 { + position: relative; + left: 8.3333333333%; + right: auto; } + .pull-1 { + position: relative; + right: 8.3333333333%; + left: auto; } + .push-2 { + position: relative; + left: 16.6666666667%; + right: auto; } + .pull-2 { + position: relative; + right: 16.6666666667%; + left: auto; } + .push-3 { + position: relative; + left: 25%; + right: auto; } + .pull-3 { + position: relative; + right: 25%; + left: auto; } + .push-4 { + position: relative; + left: 33.3333333333%; + right: auto; } + .pull-4 { + position: relative; + right: 33.3333333333%; + left: auto; } + .push-5 { + position: relative; + left: 41.6666666667%; + right: auto; } + .pull-5 { + position: relative; + right: 41.6666666667%; + left: auto; } + .push-6 { + position: relative; + left: 50%; + right: auto; } + .pull-6 { + position: relative; + right: 50%; + left: auto; } + .push-7 { + position: relative; + left: 58.3333333333%; + right: auto; } + .pull-7 { + position: relative; + right: 58.3333333333%; + left: auto; } + .push-8 { + position: relative; + left: 66.6666666667%; + right: auto; } + .pull-8 { + position: relative; + right: 66.6666666667%; + left: auto; } + .push-9 { + position: relative; + left: 75%; + right: auto; } + .pull-9 { + position: relative; + right: 75%; + left: auto; } + .push-10 { + position: relative; + left: 83.3333333333%; + right: auto; } + .pull-10 { + position: relative; + right: 83.3333333333%; + left: auto; } + .push-11 { + position: relative; + left: 91.6666666667%; + right: auto; } + .pull-11 { + position: relative; + right: 91.6666666667%; + left: auto; } } + +.accordion { + margin-bottom: 0; + margin-left: 0; } + .accordion:before, .accordion:after { + content: " "; + display: table; } + .accordion:after { + clear: both; } + .accordion .accordion-navigation, .accordion dd { + display: block; + margin-bottom: 0 !important; } + .accordion .accordion-navigation.active > a, .accordion dd.active > a { + background: #e8e8e8; + color: #222222; } + .accordion .accordion-navigation > a, .accordion dd > a { + background: #EFEFEF; + color: #222222; + display: block; + font-family: "Open Sans", sans-serif; + font-size: 1rem; + padding: 1rem; } + .accordion .accordion-navigation > a:hover, .accordion dd > a:hover { + background: #e3e3e3; } + .accordion .accordion-navigation > .content, .accordion dd > .content { + display: none; + padding: 0.9375rem; } + .accordion .accordion-navigation > .content.active, .accordion dd > .content.active { + background: #FFFFFF; + display: block; } + +.alert-box { + border-style: solid; + border-width: 1px; + display: block; + font-size: 0.8125rem; + font-weight: normal; + margin-bottom: 1.25rem; + padding: 0.875rem 1.5rem 0.875rem 0.875rem; + position: relative; + transition: opacity 300ms ease-out; + background-color: #008CBA; + border-color: #0078a0; + color: #FFFFFF; } + .alert-box .close { + right: 0.25rem; + background: inherit; + color: #333333; + font-size: 1.375rem; + line-height: .9; + margin-top: -0.6875rem; + opacity: 0.3; + padding: 0 6px 4px; + position: absolute; + top: 50%; } + .alert-box .close:hover, .alert-box .close:focus { + opacity: 0.5; } + .alert-box.radius { + border-radius: 3px; } + .alert-box.round { + border-radius: 1000px; } + .alert-box.success { + background-color: #43AC6A; + border-color: #3a945b; + color: #FFFFFF; } + .alert-box.alert { + background-color: #f04124; + border-color: #de2d0f; + color: #FFFFFF; } + .alert-box.secondary { + background-color: #e7e7e7; + border-color: #c7c7c7; + color: #4f4f4f; } + .alert-box.warning { + background-color: #f08a24; + border-color: #de770f; + color: #FFFFFF; } + .alert-box.info { + background-color: #a0d3e8; + border-color: #74bfdd; + color: #4f4f4f; } + .alert-box.alert-close { + opacity: 0; } + +[class*="block-grid-"] { + display: block; + padding: 0; + margin: 0 -0.625rem; } + [class*="block-grid-"]:before, [class*="block-grid-"]:after { + content: " "; + display: table; } + [class*="block-grid-"]:after { + clear: both; } + [class*="block-grid-"] > li { + display: block; + float: left; + height: auto; + padding: 0 0.625rem 1.25rem; } + +@media only screen { + .small-block-grid-1 > li { + list-style: none; + width: 100%; } + .small-block-grid-1 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-1 > li:nth-of-type(1n+1) { + clear: both; } + .small-block-grid-2 > li { + list-style: none; + width: 50%; } + .small-block-grid-2 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-2 > li:nth-of-type(2n+1) { + clear: both; } + .small-block-grid-3 > li { + list-style: none; + width: 33.3333333333%; } + .small-block-grid-3 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-3 > li:nth-of-type(3n+1) { + clear: both; } + .small-block-grid-4 > li { + list-style: none; + width: 25%; } + .small-block-grid-4 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-4 > li:nth-of-type(4n+1) { + clear: both; } + .small-block-grid-5 > li { + list-style: none; + width: 20%; } + .small-block-grid-5 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-5 > li:nth-of-type(5n+1) { + clear: both; } + .small-block-grid-6 > li { + list-style: none; + width: 16.6666666667%; } + .small-block-grid-6 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-6 > li:nth-of-type(6n+1) { + clear: both; } + .small-block-grid-7 > li { + list-style: none; + width: 14.2857142857%; } + .small-block-grid-7 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-7 > li:nth-of-type(7n+1) { + clear: both; } + .small-block-grid-8 > li { + list-style: none; + width: 12.5%; } + .small-block-grid-8 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-8 > li:nth-of-type(8n+1) { + clear: both; } + .small-block-grid-9 > li { + list-style: none; + width: 11.1111111111%; } + .small-block-grid-9 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-9 > li:nth-of-type(9n+1) { + clear: both; } + .small-block-grid-10 > li { + list-style: none; + width: 10%; } + .small-block-grid-10 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-10 > li:nth-of-type(10n+1) { + clear: both; } + .small-block-grid-11 > li { + list-style: none; + width: 9.0909090909%; } + .small-block-grid-11 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-11 > li:nth-of-type(11n+1) { + clear: both; } + .small-block-grid-12 > li { + list-style: none; + width: 8.3333333333%; } + .small-block-grid-12 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; } } + +@media only screen and (min-width:40.063em) { + .medium-block-grid-1 > li { + list-style: none; + width: 100%; } + .medium-block-grid-1 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-1 > li:nth-of-type(1n+1) { + clear: both; } + .medium-block-grid-2 > li { + list-style: none; + width: 50%; } + .medium-block-grid-2 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-2 > li:nth-of-type(2n+1) { + clear: both; } + .medium-block-grid-3 > li { + list-style: none; + width: 33.3333333333%; } + .medium-block-grid-3 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-3 > li:nth-of-type(3n+1) { + clear: both; } + .medium-block-grid-4 > li { + list-style: none; + width: 25%; } + .medium-block-grid-4 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-4 > li:nth-of-type(4n+1) { + clear: both; } + .medium-block-grid-5 > li { + list-style: none; + width: 20%; } + .medium-block-grid-5 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-5 > li:nth-of-type(5n+1) { + clear: both; } + .medium-block-grid-6 > li { + list-style: none; + width: 16.6666666667%; } + .medium-block-grid-6 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-6 > li:nth-of-type(6n+1) { + clear: both; } + .medium-block-grid-7 > li { + list-style: none; + width: 14.2857142857%; } + .medium-block-grid-7 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-7 > li:nth-of-type(7n+1) { + clear: both; } + .medium-block-grid-8 > li { + list-style: none; + width: 12.5%; } + .medium-block-grid-8 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-8 > li:nth-of-type(8n+1) { + clear: both; } + .medium-block-grid-9 > li { + list-style: none; + width: 11.1111111111%; } + .medium-block-grid-9 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-9 > li:nth-of-type(9n+1) { + clear: both; } + .medium-block-grid-10 > li { + list-style: none; + width: 10%; } + .medium-block-grid-10 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-10 > li:nth-of-type(10n+1) { + clear: both; } + .medium-block-grid-11 > li { + list-style: none; + width: 9.0909090909%; } + .medium-block-grid-11 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-11 > li:nth-of-type(11n+1) { + clear: both; } + .medium-block-grid-12 > li { + list-style: none; + width: 8.3333333333%; } + .medium-block-grid-12 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; } } + +@media only screen and (min-width:64.063em) { + .large-block-grid-1 > li { + list-style: none; + width: 100%; } + .large-block-grid-1 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-1 > li:nth-of-type(1n+1) { + clear: both; } + .large-block-grid-2 > li { + list-style: none; + width: 50%; } + .large-block-grid-2 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-2 > li:nth-of-type(2n+1) { + clear: both; } + .large-block-grid-3 > li { + list-style: none; + width: 33.3333333333%; } + .large-block-grid-3 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-3 > li:nth-of-type(3n+1) { + clear: both; } + .large-block-grid-4 > li { + list-style: none; + width: 25%; } + .large-block-grid-4 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-4 > li:nth-of-type(4n+1) { + clear: both; } + .large-block-grid-5 > li { + list-style: none; + width: 20%; } + .large-block-grid-5 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-5 > li:nth-of-type(5n+1) { + clear: both; } + .large-block-grid-6 > li { + list-style: none; + width: 16.6666666667%; } + .large-block-grid-6 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-6 > li:nth-of-type(6n+1) { + clear: both; } + .large-block-grid-7 > li { + list-style: none; + width: 14.2857142857%; } + .large-block-grid-7 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-7 > li:nth-of-type(7n+1) { + clear: both; } + .large-block-grid-8 > li { + list-style: none; + width: 12.5%; } + .large-block-grid-8 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-8 > li:nth-of-type(8n+1) { + clear: both; } + .large-block-grid-9 > li { + list-style: none; + width: 11.1111111111%; } + .large-block-grid-9 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-9 > li:nth-of-type(9n+1) { + clear: both; } + .large-block-grid-10 > li { + list-style: none; + width: 10%; } + .large-block-grid-10 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-10 > li:nth-of-type(10n+1) { + clear: both; } + .large-block-grid-11 > li { + list-style: none; + width: 9.0909090909%; } + .large-block-grid-11 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-11 > li:nth-of-type(11n+1) { + clear: both; } + .large-block-grid-12 > li { + list-style: none; + width: 8.3333333333%; } + .large-block-grid-12 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; } } + +.breadcrumbs { + border-style: solid; + border-width: 1px; + display: block; + list-style: none; + margin-left: 0; + overflow: hidden; + padding: 0.5625rem 0.875rem 0.5625rem; + background-color: #f4f4f4; + border-color: gainsboro; + border-radius: 3px; } + .breadcrumbs > * { + color: #008CBA; + float: left; + font-size: 0.6875rem; + line-height: 0.6875rem; + margin: 0; + text-transform: uppercase; } + .breadcrumbs > *:hover a, .breadcrumbs > *:focus a { + text-decoration: underline; } + .breadcrumbs > * a { + color: #008CBA; } + .breadcrumbs > *.current { + color: #333333; + cursor: default; } + .breadcrumbs > *.current a { + color: #333333; + cursor: default; } + .breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a { + text-decoration: none; } + .breadcrumbs > *.unavailable { + color: #999999; } + .breadcrumbs > *.unavailable a { + color: #999999; } + .breadcrumbs > *.unavailable:hover, .breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus, .breadcrumbs > *.unavailable a:focus { + color: #999999; + cursor: false; + text-decoration: none; } + .breadcrumbs > *:before { + color: #AAAAAA; + content: "/"; + margin: 0 0.75rem; + position: relative; + top: 1px; } + .breadcrumbs > *:first-child:before { + content: " "; + margin: 0; } + +/* Accessibility - hides the forward slash */ +[aria-label="breadcrumbs"] [aria-hidden="true"]:after { + content: "/"; } + +button, .button { + -webkit-appearance: none; + -moz-appearance: none; + border-radius: 0; + border-style: solid; + border-width: 0; + cursor: pointer; + font-family: "Open Sans", sans-serif; + font-weight: normal; + line-height: normal; + margin: 0 0 1.25rem; + position: relative; + text-align: center; + text-decoration: none; + display: inline-block; + padding: 1rem 2rem 1.0625rem 2rem; + font-size: 1rem; + background-color: #008CBA; + border-color: #007095; + color: #FFFFFF; + transition: background-color 300ms ease-out; } + button:hover, button:focus, .button:hover, .button:focus { + background-color: #007095; } + button:hover, button:focus, .button:hover, .button:focus { + color: #FFFFFF; } + button.secondary, .button.secondary { + background-color: #e7e7e7; + border-color: #b9b9b9; + color: #333333; } + button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus { + background-color: #b9b9b9; } + button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus { + color: #333333; } + button.success, .button.success { + background-color: #43AC6A; + border-color: #368a55; + color: #FFFFFF; } + button.success:hover, button.success:focus, .button.success:hover, .button.success:focus { + background-color: #368a55; } + button.success:hover, button.success:focus, .button.success:hover, .button.success:focus { + color: #FFFFFF; } + button.alert, .button.alert { + background-color: #f04124; + border-color: #cf2a0e; + color: #FFFFFF; } + button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus { + background-color: #cf2a0e; } + button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus { + color: #FFFFFF; } + button.warning, .button.warning { + background-color: #f08a24; + border-color: #cf6e0e; + color: #FFFFFF; } + button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus { + background-color: #cf6e0e; } + button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus { + color: #FFFFFF; } + button.info, .button.info { + background-color: #a0d3e8; + border-color: #61b6d9; + color: #333333; } + button.info:hover, button.info:focus, .button.info:hover, .button.info:focus { + background-color: #61b6d9; } + button.info:hover, button.info:focus, .button.info:hover, .button.info:focus { + color: #FFFFFF; } + button.large, .button.large { + padding: 1.125rem 2.25rem 1.1875rem 2.25rem; + font-size: 1.25rem; } + button.small, .button.small { + padding: 0.875rem 1.75rem 0.9375rem 1.75rem; + font-size: 0.8125rem; } + button.tiny, .button.tiny { + padding: 0.625rem 1.25rem 0.6875rem 1.25rem; + font-size: 0.6875rem; } + button.expand, .button.expand { + padding: 1rem 2rem 1.0625rem 2rem; + font-size: 1rem; + padding-bottom: 1.0625rem; + padding-top: 1rem; + padding-left: 1rem; + padding-right: 1rem; + width: 100%; } + button.left-align, .button.left-align { + text-align: left; + text-indent: 0.75rem; } + button.right-align, .button.right-align { + text-align: right; + padding-right: 0.75rem; } + button.radius, .button.radius { + border-radius: 3px; } + button.round, .button.round { + border-radius: 1000px; } + button.disabled, button[disabled], .button.disabled, .button[disabled] { + background-color: #008CBA; + border-color: #007095; + color: #FFFFFF; + box-shadow: none; + cursor: default; + opacity: 0.7; } + button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { + background-color: #007095; } + button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { + color: #FFFFFF; } + button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { + background-color: #008CBA; } + button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary { + background-color: #e7e7e7; + border-color: #b9b9b9; + color: #333333; + box-shadow: none; + cursor: default; + opacity: 0.7; } + button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { + background-color: #b9b9b9; } + button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { + color: #333333; } + button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { + background-color: #e7e7e7; } + button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success { + background-color: #43AC6A; + border-color: #368a55; + color: #FFFFFF; + box-shadow: none; + cursor: default; + opacity: 0.7; } + button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { + background-color: #368a55; } + button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { + color: #FFFFFF; } + button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { + background-color: #43AC6A; } + button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert { + background-color: #f04124; + border-color: #cf2a0e; + color: #FFFFFF; + box-shadow: none; + cursor: default; + opacity: 0.7; } + button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { + background-color: #cf2a0e; } + button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { + color: #FFFFFF; } + button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { + background-color: #f04124; } + button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning { + background-color: #f08a24; + border-color: #cf6e0e; + color: #FFFFFF; + box-shadow: none; + cursor: default; + opacity: 0.7; } + button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { + background-color: #cf6e0e; } + button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { + color: #FFFFFF; } + button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { + background-color: #f08a24; } + button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info { + background-color: #a0d3e8; + border-color: #61b6d9; + color: #333333; + box-shadow: none; + cursor: default; + opacity: 0.7; } + button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus { + background-color: #61b6d9; } + button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus { + color: #FFFFFF; } + button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus { + background-color: #a0d3e8; } + +button::-moz-focus-inner { + border: 0; + padding: 0; } + +@media only screen and (min-width:40.063em) { + button, .button { + display: inline-block; } } + +.button-group { + list-style: none; + margin: 0; + left: 0; } + .button-group:before, .button-group:after { + content: " "; + display: table; } + .button-group:after { + clear: both; } + .button-group.even-2 li { + display: inline-block; + margin: 0 -2px; + width: 50%; } + .button-group.even-2 li > button, .button-group.even-2 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-2 li:first-child button, .button-group.even-2 li:first-child .button { + border-left: 0; } + .button-group.even-2 li button, .button-group.even-2 li .button { + width: 100%; } + .button-group.even-3 li { + display: inline-block; + margin: 0 -2px; + width: 33.3333333333%; } + .button-group.even-3 li > button, .button-group.even-3 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-3 li:first-child button, .button-group.even-3 li:first-child .button { + border-left: 0; } + .button-group.even-3 li button, .button-group.even-3 li .button { + width: 100%; } + .button-group.even-4 li { + display: inline-block; + margin: 0 -2px; + width: 25%; } + .button-group.even-4 li > button, .button-group.even-4 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-4 li:first-child button, .button-group.even-4 li:first-child .button { + border-left: 0; } + .button-group.even-4 li button, .button-group.even-4 li .button { + width: 100%; } + .button-group.even-5 li { + display: inline-block; + margin: 0 -2px; + width: 20%; } + .button-group.even-5 li > button, .button-group.even-5 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-5 li:first-child button, .button-group.even-5 li:first-child .button { + border-left: 0; } + .button-group.even-5 li button, .button-group.even-5 li .button { + width: 100%; } + .button-group.even-6 li { + display: inline-block; + margin: 0 -2px; + width: 16.6666666667%; } + .button-group.even-6 li > button, .button-group.even-6 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-6 li:first-child button, .button-group.even-6 li:first-child .button { + border-left: 0; } + .button-group.even-6 li button, .button-group.even-6 li .button { + width: 100%; } + .button-group.even-7 li { + display: inline-block; + margin: 0 -2px; + width: 14.2857142857%; } + .button-group.even-7 li > button, .button-group.even-7 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-7 li:first-child button, .button-group.even-7 li:first-child .button { + border-left: 0; } + .button-group.even-7 li button, .button-group.even-7 li .button { + width: 100%; } + .button-group.even-8 li { + display: inline-block; + margin: 0 -2px; + width: 12.5%; } + .button-group.even-8 li > button, .button-group.even-8 li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.even-8 li:first-child button, .button-group.even-8 li:first-child .button { + border-left: 0; } + .button-group.even-8 li button, .button-group.even-8 li .button { + width: 100%; } + .button-group > li { + display: inline-block; + margin: 0 -2px; } + .button-group > li > button, .button-group > li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group > li:first-child button, .button-group > li:first-child .button { + border-left: 0; } + .button-group.stack > li { + display: block; + margin: 0; + float: none; } + .button-group.stack > li > button, .button-group.stack > li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button { + border-left: 0; } + .button-group.stack > li > button, .button-group.stack > li .button { + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + border-top: 1px solid; + display: block; + margin: 0; } + .button-group.stack > li > button { + width: 100%; } + .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button { + border-top: 0; } + .button-group.stack-for-small > li { + display: inline-block; + margin: 0 -2px; } + .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button { + border-left: 0; } + @media only screen and (max-width: 40em) { + .button-group.stack-for-small > li { + display: block; + margin: 0; + width: 100%; } + .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button { + border-left: 0; } + .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button { + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + border-top: 1px solid; + display: block; + margin: 0; } + .button-group.stack-for-small > li > button { + width: 100%; } + .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button { + border-top: 0; } } + .button-group.radius > * { + display: inline-block; + margin: 0 -2px; } + .button-group.radius > * > button, .button-group.radius > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.radius > *:first-child button, .button-group.radius > *:first-child .button { + border-left: 0; } + .button-group.radius > *, .button-group.radius > * > a, .button-group.radius > * > button, .button-group.radius > * > .button { + border-radius: 0; } + .button-group.radius > *:first-child, .button-group.radius > *:first-child > a, .button-group.radius > *:first-child > button, .button-group.radius > *:first-child > .button { + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; } + .button-group.radius > *:last-child, .button-group.radius > *:last-child > a, .button-group.radius > *:last-child > button, .button-group.radius > *:last-child > .button { + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } + .button-group.radius.stack > * { + display: block; + margin: 0; } + .button-group.radius.stack > * > button, .button-group.radius.stack > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button { + border-left: 0; } + .button-group.radius.stack > * > button, .button-group.radius.stack > * .button { + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + border-top: 1px solid; + display: block; + margin: 0; } + .button-group.radius.stack > * > button { + width: 100%; } + .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button { + border-top: 0; } + .button-group.radius.stack > *, .button-group.radius.stack > * > a, .button-group.radius.stack > * > button, .button-group.radius.stack > * > .button { + border-radius: 0; } + .button-group.radius.stack > *:first-child, .button-group.radius.stack > *:first-child > a, .button-group.radius.stack > *:first-child > button, .button-group.radius.stack > *:first-child > .button { + -webkit-top-left-radius: 3px; + -webkit-top-right-radius: 3px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; } + .button-group.radius.stack > *:last-child, .button-group.radius.stack > *:last-child > a, .button-group.radius.stack > *:last-child > button, .button-group.radius.stack > *:last-child > .button { + -webkit-bottom-left-radius: 3px; + -webkit-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; } + @media only screen and (min-width:40.063em) { + .button-group.radius.stack-for-small > * { + display: inline-block; + margin: 0 -2px; } + .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button { + border-left: 0; } + .button-group.radius.stack-for-small > *, .button-group.radius.stack-for-small > * > a, .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * > .button { + border-radius: 0; } + .button-group.radius.stack-for-small > *:first-child, .button-group.radius.stack-for-small > *:first-child > a, .button-group.radius.stack-for-small > *:first-child > button, .button-group.radius.stack-for-small > *:first-child > .button { + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; } + .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button { + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } } + @media only screen and (max-width: 40em) { + .button-group.radius.stack-for-small > * { + display: block; + margin: 0; } + .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button { + border-left: 0; } + .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button { + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + border-top: 1px solid; + display: block; + margin: 0; } + .button-group.radius.stack-for-small > * > button { + width: 100%; } + .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button { + border-top: 0; } + .button-group.radius.stack-for-small > *, .button-group.radius.stack-for-small > * > a, .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * > .button { + border-radius: 0; } + .button-group.radius.stack-for-small > *:first-child, .button-group.radius.stack-for-small > *:first-child > a, .button-group.radius.stack-for-small > *:first-child > button, .button-group.radius.stack-for-small > *:first-child > .button { + -webkit-top-left-radius: 3px; + -webkit-top-right-radius: 3px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; } + .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button { + -webkit-bottom-left-radius: 3px; + -webkit-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; } } + .button-group.round > * { + display: inline-block; + margin: 0 -2px; } + .button-group.round > * > button, .button-group.round > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.round > *:first-child button, .button-group.round > *:first-child .button { + border-left: 0; } + .button-group.round > *, .button-group.round > * > a, .button-group.round > * > button, .button-group.round > * > .button { + border-radius: 0; } + .button-group.round > *:first-child, .button-group.round > *:first-child > a, .button-group.round > *:first-child > button, .button-group.round > *:first-child > .button { + -webkit-border-bottom-left-radius: 1000px; + -webkit-border-top-left-radius: 1000px; + border-bottom-left-radius: 1000px; + border-top-left-radius: 1000px; } + .button-group.round > *:last-child, .button-group.round > *:last-child > a, .button-group.round > *:last-child > button, .button-group.round > *:last-child > .button { + -webkit-border-bottom-right-radius: 1000px; + -webkit-border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; } + .button-group.round.stack > * { + display: block; + margin: 0; } + .button-group.round.stack > * > button, .button-group.round.stack > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button { + border-left: 0; } + .button-group.round.stack > * > button, .button-group.round.stack > * .button { + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + border-top: 1px solid; + display: block; + margin: 0; } + .button-group.round.stack > * > button { + width: 100%; } + .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button { + border-top: 0; } + .button-group.round.stack > *, .button-group.round.stack > * > a, .button-group.round.stack > * > button, .button-group.round.stack > * > .button { + border-radius: 0; } + .button-group.round.stack > *:first-child, .button-group.round.stack > *:first-child > a, .button-group.round.stack > *:first-child > button, .button-group.round.stack > *:first-child > .button { + -webkit-top-left-radius: 1rem; + -webkit-top-right-radius: 1rem; + border-top-left-radius: 1rem; + border-top-right-radius: 1rem; } + .button-group.round.stack > *:last-child, .button-group.round.stack > *:last-child > a, .button-group.round.stack > *:last-child > button, .button-group.round.stack > *:last-child > .button { + -webkit-bottom-left-radius: 1rem; + -webkit-bottom-right-radius: 1rem; + border-bottom-left-radius: 1rem; + border-bottom-right-radius: 1rem; } + @media only screen and (min-width:40.063em) { + .button-group.round.stack-for-small > * { + display: inline-block; + margin: 0 -2px; } + .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button { + border-left: 0; } + .button-group.round.stack-for-small > *, .button-group.round.stack-for-small > * > a, .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * > .button { + border-radius: 0; } + .button-group.round.stack-for-small > *:first-child, .button-group.round.stack-for-small > *:first-child > a, .button-group.round.stack-for-small > *:first-child > button, .button-group.round.stack-for-small > *:first-child > .button { + -webkit-border-bottom-left-radius: 1000px; + -webkit-border-top-left-radius: 1000px; + border-bottom-left-radius: 1000px; + border-top-left-radius: 1000px; } + .button-group.round.stack-for-small > *:last-child, .button-group.round.stack-for-small > *:last-child > a, .button-group.round.stack-for-small > *:last-child > button, .button-group.round.stack-for-small > *:last-child > .button { + -webkit-border-bottom-right-radius: 1000px; + -webkit-border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; } } + @media only screen and (max-width: 40em) { + .button-group.round.stack-for-small > * { + display: block; + margin: 0; } + .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button { + border-left: 1px solid; + border-color: rgba(255, 255, 255, 0.5); } + .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button { + border-left: 0; } + .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button { + border-color: rgba(255, 255, 255, 0.5); + border-left-width: 0; + border-top: 1px solid; + display: block; + margin: 0; } + .button-group.round.stack-for-small > * > button { + width: 100%; } + .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button { + border-top: 0; } + .button-group.round.stack-for-small > *, .button-group.round.stack-for-small > * > a, .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * > .button { + border-radius: 0; } + .button-group.round.stack-for-small > *:first-child, .button-group.round.stack-for-small > *:first-child > a, .button-group.round.stack-for-small > *:first-child > button, .button-group.round.stack-for-small > *:first-child > .button { + -webkit-top-left-radius: 1rem; + -webkit-top-right-radius: 1rem; + border-top-left-radius: 1rem; + border-top-right-radius: 1rem; } + .button-group.round.stack-for-small > *:last-child, .button-group.round.stack-for-small > *:last-child > a, .button-group.round.stack-for-small > *:last-child > button, .button-group.round.stack-for-small > *:last-child > .button { + -webkit-bottom-left-radius: 1rem; + -webkit-bottom-right-radius: 1rem; + border-bottom-left-radius: 1rem; + border-bottom-right-radius: 1rem; } } + +.button-bar:before, .button-bar:after { + content: " "; + display: table; } +.button-bar:after { + clear: both; } +.button-bar .button-group { + float: left; + margin-right: 0.625rem; } + .button-bar .button-group div { + overflow: hidden; } + +/* Clearing Styles */ +.clearing-thumbs, [data-clearing] { + list-style: none; + margin-left: 0; + margin-bottom: 0; } + .clearing-thumbs:before, .clearing-thumbs:after, [data-clearing]:before, [data-clearing]:after { + content: " "; + display: table; } + .clearing-thumbs:after, [data-clearing]:after { + clear: both; } + .clearing-thumbs li, [data-clearing] li { + float: left; + margin-right: 10px; } + .clearing-thumbs[class*="block-grid-"] li, [data-clearing][class*="block-grid-"] li { + margin-right: 0; } + +.clearing-blackout { + background: #333333; + height: 100%; + position: fixed; + top: 0; + width: 100%; + z-index: 998; + left: 0; } + .clearing-blackout .clearing-close { + display: block; } + +.clearing-container { + height: 100%; + margin: 0; + overflow: hidden; + position: relative; + z-index: 998; } + +.clearing-touch-label { + color: #AAAAAA; + font-size: .6em; + left: 50%; + position: absolute; + top: 50%; } + +.visible-img { + height: 95%; + position: relative; } + .visible-img img { + position: absolute; + left: 50%; + top: 50%; + -webkit-transform: translateY(-50%) translateX(-50%); + -moz-transform: translateY(-50%) translateX(-50%); + -ms-transform: translateY(-50%) translateX(-50%); + -o-transform: translateY(-50%) translateX(-50%); + transform: translateY(-50%) translateX(-50%); + max-height: 100%; + max-width: 100%; } + +.clearing-caption { + background: #333333; + bottom: 0; + color: #CCCCCC; + font-size: 0.875em; + line-height: 1.3; + margin-bottom: 0; + padding: 10px 30px 20px; + position: absolute; + text-align: center; + width: 100%; + left: 0; } + +.clearing-close { + color: #CCCCCC; + display: none; + font-size: 30px; + line-height: 1; + padding-left: 20px; + padding-top: 10px; + z-index: 999; } + .clearing-close:hover, .clearing-close:focus { + color: #CCCCCC; } + +.clearing-assembled .clearing-container { + height: 100%; } + .clearing-assembled .clearing-container .carousel > ul { + display: none; } + +.clearing-feature li { + display: none; } + .clearing-feature li.clearing-featured-img { + display: block; } + +@media only screen and (min-width:40.063em) { + .clearing-main-prev, .clearing-main-next { + height: 100%; + position: absolute; + top: 0; + width: 40px; } + .clearing-main-prev > span, .clearing-main-next > span { + border: solid 12px; + display: block; + height: 0; + position: absolute; + top: 50%; + width: 0; } + .clearing-main-prev > span:hover, .clearing-main-next > span:hover { + opacity: .8; } + .clearing-main-prev { + left: 0; } + .clearing-main-prev > span { + left: 5px; + border-color: transparent; + border-right-color: #CCCCCC; } + .clearing-main-next { + right: 0; } + .clearing-main-next > span { + border-color: transparent; + border-left-color: #CCCCCC; } + .clearing-main-prev.disabled, .clearing-main-next.disabled { + opacity: .3; } + .clearing-assembled .clearing-container .carousel { + background: rgba(51, 51, 51, 0.8); + height: 120px; + margin-top: 10px; + text-align: center; } + .clearing-assembled .clearing-container .carousel > ul { + display: inline-block; + z-index: 999; + height: 100%; + position: relative; + float: none; } + .clearing-assembled .clearing-container .carousel > ul li { + clear: none; + cursor: pointer; + display: block; + float: left; + margin-right: 0; + min-height: inherit; + opacity: .4; + overflow: hidden; + padding: 0; + position: relative; + width: 120px; } + .clearing-assembled .clearing-container .carousel > ul li.fix-height img { + height: 100%; + max-width: none; } + .clearing-assembled .clearing-container .carousel > ul li a.th { + border: none; + box-shadow: none; + display: block; } + .clearing-assembled .clearing-container .carousel > ul li img { + cursor: pointer !important; + width: 100% !important; } + .clearing-assembled .clearing-container .carousel > ul li.visible { + opacity: 1; } + .clearing-assembled .clearing-container .carousel > ul li:hover { + opacity: .8; } + .clearing-assembled .clearing-container .visible-img { + background: #333333; + height: 85%; + overflow: hidden; } + .clearing-close { + padding-left: 0; + padding-top: 0; + position: absolute; + top: 10px; + right: 20px; } } + +/* Foundation Dropdowns */ +.f-dropdown { + display: none; + left: -9999px; + list-style: none; + margin-left: 0; + position: absolute; + background: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.875rem; + height: auto; + max-height: none; + width: 100%; + z-index: 89; + margin-top: 2px; + max-width: 200px; } + .f-dropdown.open { + display: block; } + .f-dropdown > *:first-child { + margin-top: 0; } + .f-dropdown > *:last-child { + margin-bottom: 0; } + .f-dropdown:before { + border: inset 6px; + content: ""; + display: block; + height: 0; + width: 0; + border-color: transparent transparent #FFFFFF transparent; + border-bottom-style: solid; + position: absolute; + top: -12px; + left: 10px; + z-index: 89; } + .f-dropdown:after { + border: inset 7px; + content: ""; + display: block; + height: 0; + width: 0; + border-color: transparent transparent #cccccc transparent; + border-bottom-style: solid; + position: absolute; + top: -14px; + left: 9px; + z-index: 88; } + .f-dropdown.right:before { + left: auto; + right: 10px; } + .f-dropdown.right:after { + left: auto; + right: 9px; } + .f-dropdown.drop-right { + display: none; + left: -9999px; + list-style: none; + margin-left: 0; + position: absolute; + background: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.875rem; + height: auto; + max-height: none; + width: 100%; + z-index: 89; + margin-top: 0; + margin-left: 2px; + max-width: 200px; } + .f-dropdown.drop-right.open { + display: block; } + .f-dropdown.drop-right > *:first-child { + margin-top: 0; } + .f-dropdown.drop-right > *:last-child { + margin-bottom: 0; } + .f-dropdown.drop-right:before { + border: inset 6px; + content: ""; + display: block; + height: 0; + width: 0; + border-color: transparent #FFFFFF transparent transparent; + border-right-style: solid; + position: absolute; + top: 10px; + left: -12px; + z-index: 89; } + .f-dropdown.drop-right:after { + border: inset 7px; + content: ""; + display: block; + height: 0; + width: 0; + border-color: transparent #cccccc transparent transparent; + border-right-style: solid; + position: absolute; + top: 9px; + left: -14px; + z-index: 88; } + .f-dropdown.drop-left { + display: none; + left: -9999px; + list-style: none; + margin-left: 0; + position: absolute; + background: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.875rem; + height: auto; + max-height: none; + width: 100%; + z-index: 89; + margin-top: 0; + margin-left: -2px; + max-width: 200px; } + .f-dropdown.drop-left.open { + display: block; } + .f-dropdown.drop-left > *:first-child { + margin-top: 0; } + .f-dropdown.drop-left > *:last-child { + margin-bottom: 0; } + .f-dropdown.drop-left:before { + border: inset 6px; + content: ""; + display: block; + height: 0; + width: 0; + border-color: transparent transparent transparent #FFFFFF; + border-left-style: solid; + position: absolute; + top: 10px; + right: -12px; + left: auto; + z-index: 89; } + .f-dropdown.drop-left:after { + border: inset 7px; + content: ""; + display: block; + height: 0; + width: 0; + border-color: transparent transparent transparent #cccccc; + border-left-style: solid; + position: absolute; + top: 9px; + right: -14px; + left: auto; + z-index: 88; } + .f-dropdown.drop-top { + display: none; + left: -9999px; + list-style: none; + margin-left: 0; + position: absolute; + background: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.875rem; + height: auto; + max-height: none; + width: 100%; + z-index: 89; + margin-left: 0; + margin-top: -2px; + max-width: 200px; } + .f-dropdown.drop-top.open { + display: block; } + .f-dropdown.drop-top > *:first-child { + margin-top: 0; } + .f-dropdown.drop-top > *:last-child { + margin-bottom: 0; } + .f-dropdown.drop-top:before { + border: inset 6px; + content: ""; + display: block; + height: 0; + width: 0; + border-color: #FFFFFF transparent transparent transparent; + border-top-style: solid; + bottom: -12px; + position: absolute; + top: auto; + left: 10px; + right: auto; + z-index: 89; } + .f-dropdown.drop-top:after { + border: inset 7px; + content: ""; + display: block; + height: 0; + width: 0; + border-color: #cccccc transparent transparent transparent; + border-top-style: solid; + bottom: -14px; + position: absolute; + top: auto; + left: 9px; + right: auto; + z-index: 88; } + .f-dropdown li { + cursor: pointer; + font-size: 0.875rem; + line-height: 1.125rem; + margin: 0; } + .f-dropdown li:hover, .f-dropdown li:focus { + background: #EEEEEE; } + .f-dropdown li a { + display: block; + padding: 0.5rem; + color: #555555; } + .f-dropdown.content { + display: none; + left: -9999px; + list-style: none; + margin-left: 0; + position: absolute; + background: #FFFFFF; + border: solid 1px #cccccc; + font-size: 0.875rem; + height: auto; + max-height: none; + padding: 1rem; + width: 100%; + z-index: 89; + max-width: 200px; } + .f-dropdown.content.open { + display: block; } + .f-dropdown.content > *:first-child { + margin-top: 0; } + .f-dropdown.content > *:last-child { + margin-bottom: 0; } + .f-dropdown.radius { + border-radius: 3px; } + .f-dropdown.tiny { + max-width: 200px; } + .f-dropdown.small { + max-width: 300px; } + .f-dropdown.medium { + max-width: 500px; } + .f-dropdown.large { + max-width: 800px; } + .f-dropdown.mega { + width: 100% !important; + max-width: 100% !important; } + .f-dropdown.mega.open { + left: 0 !important; } + +.dropdown.button, button.dropdown { + position: relative; + padding-right: 3.5625rem; } + .dropdown.button::after, button.dropdown::after { + border-color: #FFFFFF transparent transparent transparent; + border-style: solid; + content: ""; + display: block; + height: 0; + position: absolute; + top: 50%; + width: 0; } + .dropdown.button::after, button.dropdown::after { + border-width: 0.375rem; + right: 1.40625rem; + margin-top: -0.15625rem; } + .dropdown.button::after, button.dropdown::after { + border-color: #FFFFFF transparent transparent transparent; } + .dropdown.button.tiny, button.dropdown.tiny { + padding-right: 2.625rem; } + .dropdown.button.tiny:after, button.dropdown.tiny:after { + border-width: 0.375rem; + right: 1.125rem; + margin-top: -0.125rem; } + .dropdown.button.tiny::after, button.dropdown.tiny::after { + border-color: #FFFFFF transparent transparent transparent; } + .dropdown.button.small, button.dropdown.small { + padding-right: 3.0625rem; } + .dropdown.button.small::after, button.dropdown.small::after { + border-width: 0.4375rem; + right: 1.3125rem; + margin-top: -0.15625rem; } + .dropdown.button.small::after, button.dropdown.small::after { + border-color: #FFFFFF transparent transparent transparent; } + .dropdown.button.large, button.dropdown.large { + padding-right: 3.625rem; } + .dropdown.button.large::after, button.dropdown.large::after { + border-width: 0.3125rem; + right: 1.71875rem; + margin-top: -0.15625rem; } + .dropdown.button.large::after, button.dropdown.large::after { + border-color: #FFFFFF transparent transparent transparent; } + .dropdown.button.secondary:after, button.dropdown.secondary:after { + border-color: #333333 transparent transparent transparent; } + +.flex-video { + height: 0; + margin-bottom: 1rem; + overflow: hidden; + padding-bottom: 67.5%; + padding-top: 1.5625rem; + position: relative; } + .flex-video.widescreen { + padding-bottom: 56.34%; } + .flex-video.vimeo { + padding-top: 0; } + .flex-video iframe, .flex-video object, .flex-video embed, .flex-video video { + height: 100%; + position: absolute; + top: 0; + width: 100%; + left: 0; } + +/* Standard Forms */ +form { + margin: 0 0 1rem; } + +/* Using forms within rows, we need to set some defaults */ +form .row .row { + margin: 0 -0.5rem; } + form .row .row .column, form .row .row .columns { + padding: 0 0.5rem; } + form .row .row.collapse { + margin: 0; } + form .row .row.collapse .column, form .row .row.collapse .columns { + padding: 0; } + form .row .row.collapse input { + -webkit-border-bottom-right-radius: 0; + -webkit-border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; } +form .row input.column, form .row input.columns, form .row textarea.column, form .row textarea.columns { + padding-left: 0.5rem; } + +/* Label Styles */ +label { + color: #4d4d4d; + cursor: pointer; + display: block; + font-size: 0.875rem; + font-weight: normal; + line-height: 1.5; + margin-bottom: 0; + /* Styles for required inputs */ } + label.right { + float: none !important; + text-align: right; } + label.inline { + margin: 0 0 1rem 0; + padding: 0.5625rem 0; } + label small { + text-transform: capitalize; + color: #676767; } + +/* Attach elements to the beginning or end of an input */ +.prefix, .postfix { + border-style: solid; + border-width: 1px; + display: block; + font-size: 0.875rem; + height: 2.3125rem; + line-height: 2.3125rem; + overflow: visible; + padding-bottom: 0; + padding-top: 0; + position: relative; + text-align: center; + width: 100%; + z-index: 2; } + +/* Adjust padding, alignment and radius if pre/post element is a button */ +.postfix.button { + border: none; + padding-left: 0; + padding-right: 0; + padding-bottom: 0; + padding-top: 0; + text-align: center; } + +.prefix.button { + border: none; + padding-left: 0; + padding-right: 0; + padding-bottom: 0; + padding-top: 0; + text-align: center; } + +.prefix.button.radius { + border-radius: 0; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; } + +.postfix.button.radius { + border-radius: 0; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } + +.prefix.button.round { + border-radius: 0; + -webkit-border-bottom-left-radius: 1000px; + -webkit-border-top-left-radius: 1000px; + border-bottom-left-radius: 1000px; + border-top-left-radius: 1000px; } + +.postfix.button.round { + border-radius: 0; + -webkit-border-bottom-right-radius: 1000px; + -webkit-border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; } + +/* Separate prefix and postfix styles when on span or label so buttons keep their own */ +span.prefix, label.prefix { + background: #f2f2f2; + border-right: none; + color: #333333; + border-color: #cccccc; } + +span.postfix, label.postfix { + background: #f2f2f2; + border-left: none; + color: #333333; + border-color: #cccccc; } + +/* We use this to get basic styling on all basic form elements */ +input:not([type]), input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea { + -webkit-appearance: none; + -moz-appearance: none; + border-radius: 0; + background-color: #FFFFFF; + border-style: solid; + border-width: 1px; + border-color: #cccccc; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + color: rgba(0, 0, 0, 0.75); + display: block; + font-family: inherit; + font-size: 0.875rem; + height: 2.3125rem; + margin: 0 0 1rem 0; + padding: 0.5rem; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: border-color 0.15s linear, background 0.15s linear; + -moz-transition: border-color 0.15s linear, background 0.15s linear; + -ms-transition: border-color 0.15s linear, background 0.15s linear; + -o-transition: border-color 0.15s linear, background 0.15s linear; + transition: border-color 0.15s linear, background 0.15s linear; } + input:not([type]):focus, input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus { + background: #fafafa; + border-color: #999999; + outline: none; } + input:not([type]):disabled, input[type="text"]:disabled, input[type="password"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="month"]:disabled, input[type="week"]:disabled, input[type="email"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="color"]:disabled, textarea:disabled { + background-color: #DDDDDD; + cursor: default; } + input:not([type])[disabled], input:not([type])[readonly], fieldset[disabled] input:not([type]), input[type="text"][disabled], input[type="text"][readonly], fieldset[disabled] input[type="text"], input[type="password"][disabled], input[type="password"][readonly], fieldset[disabled] input[type="password"], input[type="date"][disabled], input[type="date"][readonly], fieldset[disabled] input[type="date"], input[type="datetime"][disabled], input[type="datetime"][readonly], fieldset[disabled] input[type="datetime"], input[type="datetime-local"][disabled], input[type="datetime-local"][readonly], fieldset[disabled] input[type="datetime-local"], input[type="month"][disabled], input[type="month"][readonly], fieldset[disabled] input[type="month"], input[type="week"][disabled], input[type="week"][readonly], fieldset[disabled] input[type="week"], input[type="email"][disabled], input[type="email"][readonly], fieldset[disabled] input[type="email"], input[type="number"][disabled], input[type="number"][readonly], fieldset[disabled] input[type="number"], input[type="search"][disabled], input[type="search"][readonly], fieldset[disabled] input[type="search"], input[type="tel"][disabled], input[type="tel"][readonly], fieldset[disabled] input[type="tel"], input[type="time"][disabled], input[type="time"][readonly], fieldset[disabled] input[type="time"], input[type="url"][disabled], input[type="url"][readonly], fieldset[disabled] input[type="url"], input[type="color"][disabled], input[type="color"][readonly], fieldset[disabled] input[type="color"], textarea[disabled], textarea[readonly], fieldset[disabled] textarea { + background-color: #DDDDDD; + cursor: default; } + input:not([type]).radius, input[type="text"].radius, input[type="password"].radius, input[type="date"].radius, input[type="datetime"].radius, input[type="datetime-local"].radius, input[type="month"].radius, input[type="week"].radius, input[type="email"].radius, input[type="number"].radius, input[type="search"].radius, input[type="tel"].radius, input[type="time"].radius, input[type="url"].radius, input[type="color"].radius, textarea.radius { + border-radius: 3px; } + +form .row .prefix-radius.row.collapse input, form .row .prefix-radius.row.collapse textarea, form .row .prefix-radius.row.collapse select, form .row .prefix-radius.row.collapse button { + border-radius: 0; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } +form .row .prefix-radius.row.collapse .prefix { + border-radius: 0; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; } +form .row .postfix-radius.row.collapse input, form .row .postfix-radius.row.collapse textarea, form .row .postfix-radius.row.collapse select, form .row .postfix-radius.row.collapse button { + border-radius: 0; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; } +form .row .postfix-radius.row.collapse .postfix { + border-radius: 0; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } +form .row .prefix-round.row.collapse input, form .row .prefix-round.row.collapse textarea, form .row .prefix-round.row.collapse select, form .row .prefix-round.row.collapse button { + border-radius: 0; + -webkit-border-bottom-right-radius: 1000px; + -webkit-border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; } +form .row .prefix-round.row.collapse .prefix { + border-radius: 0; + -webkit-border-bottom-left-radius: 1000px; + -webkit-border-top-left-radius: 1000px; + border-bottom-left-radius: 1000px; + border-top-left-radius: 1000px; } +form .row .postfix-round.row.collapse input, form .row .postfix-round.row.collapse textarea, form .row .postfix-round.row.collapse select, form .row .postfix-round.row.collapse button { + border-radius: 0; + -webkit-border-bottom-left-radius: 1000px; + -webkit-border-top-left-radius: 1000px; + border-bottom-left-radius: 1000px; + border-top-left-radius: 1000px; } +form .row .postfix-round.row.collapse .postfix { + border-radius: 0; + -webkit-border-bottom-right-radius: 1000px; + -webkit-border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; } + +input[type="submit"] { + -webkit-appearance: none; + -moz-appearance: none; + border-radius: 0; } + +/* Respect enforced amount of rows for textarea */ +textarea[rows] { + height: auto; } + +/* Not allow resize out of parent */ +textarea { + max-width: 100%; } + +::-webkit-input-placeholder { + color: #666666; } + +:-moz-placeholder { + /* Firefox 18- */ + color: #666666; } + +::-moz-placeholder { + /* Firefox 19+ */ + color: #666666; } + +:-ms-input-placeholder { + color: #666666; } + +/* Add height value for select elements to match text input height */ +select { + -webkit-appearance: none !important; + -moz-appearance: none !important; + background-color: #FAFAFA; + border-radius: 0; + background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+'); + background-position: 100% center; + background-repeat: no-repeat; + border-style: solid; + border-width: 1px; + border-color: #cccccc; + color: rgba(0, 0, 0, 0.75); + font-family: inherit; + font-size: 0.875rem; + line-height: normal; + padding: 0.5rem; + border-radius: 0; + height: 2.3125rem; } + select::-ms-expand { + display: none; } + select.radius { + border-radius: 3px; } + select:focus { + background-color: #f3f3f3; + border-color: #999999; } + select:disabled { + background-color: #DDDDDD; + cursor: default; } + select[multiple] { + height: auto; } + +/* Adjust margin for form elements below */ +input[type="file"], input[type="checkbox"], input[type="radio"], select { + margin: 0 0 1rem 0; } + +input[type="checkbox"] + label, input[type="radio"] + label { + display: inline-block; + margin-left: 0.5rem; + margin-right: 1rem; + margin-bottom: 0; + vertical-align: baseline; } + +/* Normalize file input width */ +input[type="file"] { + width: 100%; } + +/* HTML5 Number spinners settings */ +/* We add basic fieldset styling */ +fieldset { + border: 1px solid #DDDDDD; + margin: 1.125rem 0; + padding: 1.25rem; } + fieldset legend { + font-weight: bold; + margin: 0; + margin-left: -0.1875rem; + padding: 0 0.1875rem; } + +/* Error Handling */ +[data-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-abide] small.error { + display: block; + font-size: 0.75rem; + font-style: italic; + font-weight: normal; + margin-bottom: 1rem; + margin-top: -1px; + padding: 0.375rem 0.5625rem 0.5625rem; + background: #f04124; + color: #FFFFFF; } +[data-abide] span.error, [data-abide] small.error { + display: none; } + +span.error, small.error { + display: block; + font-size: 0.75rem; + font-style: italic; + font-weight: normal; + margin-bottom: 1rem; + margin-top: -1px; + padding: 0.375rem 0.5625rem 0.5625rem; + background: #f04124; + color: #FFFFFF; } + +.error input, .error textarea, .error select { + margin-bottom: 0; } +.error input[type="checkbox"], .error input[type="radio"] { + margin-bottom: 1rem; } +.error label, .error label.error { + color: #f04124; } +.error small.error { + display: block; + font-size: 0.75rem; + font-style: italic; + font-weight: normal; + margin-bottom: 1rem; + margin-top: -1px; + padding: 0.375rem 0.5625rem 0.5625rem; + background: #f04124; + color: #FFFFFF; } +.error > label > small { + background: transparent; + color: #676767; + display: inline; + font-size: 60%; + font-style: normal; + margin: 0; + padding: 0; + text-transform: capitalize; } +.error span.error-message { + display: block; } + +input.error, textarea.error, select.error { + margin-bottom: 0; } + +label.error { + color: #f04124; } + +.icon-bar { + display: inline-block; + font-size: 0; + width: 100%; + background: #333333; } + .icon-bar > * { + display: block; + float: left; + font-size: 1rem; + margin: 0 auto; + padding: 1.25rem; + text-align: center; + width: 25%; } + .icon-bar > * i, .icon-bar > * img { + display: block; + margin: 0 auto; } + .icon-bar > * i + label, .icon-bar > * img + label { + margin-top: .0625rem; } + .icon-bar > * i { + font-size: 1.875rem; + vertical-align: middle; } + .icon-bar > * img { + height: 1.875rem; + width: 1.875rem; } + .icon-bar.label-right > * i, .icon-bar.label-right > * img { + display: inline-block; + margin: 0 .0625rem 0 0; } + .icon-bar.label-right > * i + label, .icon-bar.label-right > * img + label { + margin-top: 0; } + .icon-bar.label-right > * label { + display: inline-block; } + .icon-bar.vertical.label-right > * { + text-align: left; } + .icon-bar.vertical, .icon-bar.small-vertical { + height: 100%; + width: auto; } + .icon-bar.vertical .item, .icon-bar.small-vertical .item { + float: none; + margin: auto; + width: auto; } + @media only screen and (min-width:40.063em) { + .icon-bar.medium-vertical { + height: 100%; + width: auto; } + .icon-bar.medium-vertical .item { + float: none; + margin: auto; + width: auto; } } + @media only screen and (min-width:64.063em) { + .icon-bar.large-vertical { + height: 100%; + width: auto; } + .icon-bar.large-vertical .item { + float: none; + margin: auto; + width: auto; } } + .icon-bar > * { + font-size: 1rem; + padding: 1.25rem; } + .icon-bar > * i + label, .icon-bar > * img + label { + margin-top: .0625rem; + font-size: 1rem; } + .icon-bar > * i { + font-size: 1.875rem; } + .icon-bar > * img { + height: 1.875rem; + width: 1.875rem; } + .icon-bar > * label { + color: #FFFFFF; } + .icon-bar > * i { + color: #FFFFFF; } + .icon-bar > a:hover { + background: #008CBA; } + .icon-bar > a:hover label { + color: #FFFFFF; } + .icon-bar > a:hover i { + color: #FFFFFF; } + .icon-bar > a.active { + background: #008CBA; } + .icon-bar > a.active label { + color: #FFFFFF; } + .icon-bar > a.active i { + color: #FFFFFF; } + .icon-bar .item.disabled { + cursor: false; + opacity: 0.7; + pointer-events: none; } + .icon-bar .item.disabled > * { + opacity: 0.7; + cursor: false; } + .icon-bar.two-up .item { + width: 50%; } + .icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item { + width: auto; } + @media only screen and (min-width:40.063em) { + .icon-bar.two-up.medium-vertical .item { + width: auto; } } + @media only screen and (min-width:64.063em) { + .icon-bar.two-up.large-vertical .item { + width: auto; } } + .icon-bar.three-up .item { + width: 33.3333%; } + .icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item { + width: auto; } + @media only screen and (min-width:40.063em) { + .icon-bar.three-up.medium-vertical .item { + width: auto; } } + @media only screen and (min-width:64.063em) { + .icon-bar.three-up.large-vertical .item { + width: auto; } } + .icon-bar.four-up .item { + width: 25%; } + .icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item { + width: auto; } + @media only screen and (min-width:40.063em) { + .icon-bar.four-up.medium-vertical .item { + width: auto; } } + @media only screen and (min-width:64.063em) { + .icon-bar.four-up.large-vertical .item { + width: auto; } } + .icon-bar.five-up .item { + width: 20%; } + .icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item { + width: auto; } + @media only screen and (min-width:40.063em) { + .icon-bar.five-up.medium-vertical .item { + width: auto; } } + @media only screen and (min-width:64.063em) { + .icon-bar.five-up.large-vertical .item { + width: auto; } } + .icon-bar.six-up .item { + width: 16.66667%; } + .icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item { + width: auto; } + @media only screen and (min-width:40.063em) { + .icon-bar.six-up.medium-vertical .item { + width: auto; } } + @media only screen and (min-width:64.063em) { + .icon-bar.six-up.large-vertical .item { + width: auto; } } + .icon-bar.seven-up .item { + width: 14.28571%; } + .icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item { + width: auto; } + @media only screen and (min-width:40.063em) { + .icon-bar.seven-up.medium-vertical .item { + width: auto; } } + @media only screen and (min-width:64.063em) { + .icon-bar.seven-up.large-vertical .item { + width: auto; } } + .icon-bar.eight-up .item { + width: 12.5%; } + .icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item { + width: auto; } + @media only screen and (min-width:40.063em) { + .icon-bar.eight-up.medium-vertical .item { + width: auto; } } + @media only screen and (min-width:64.063em) { + .icon-bar.eight-up.large-vertical .item { + width: auto; } } + +.icon-bar.two-up .item { + width: 50%; } +.icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item { + width: auto; } +@media only screen and (min-width:40.063em) { + .icon-bar.two-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width:64.063em) { + .icon-bar.two-up.large-vertical .item { + width: auto; } } +.icon-bar.three-up .item { + width: 33.3333%; } +.icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item { + width: auto; } +@media only screen and (min-width:40.063em) { + .icon-bar.three-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width:64.063em) { + .icon-bar.three-up.large-vertical .item { + width: auto; } } +.icon-bar.four-up .item { + width: 25%; } +.icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item { + width: auto; } +@media only screen and (min-width:40.063em) { + .icon-bar.four-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width:64.063em) { + .icon-bar.four-up.large-vertical .item { + width: auto; } } +.icon-bar.five-up .item { + width: 20%; } +.icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item { + width: auto; } +@media only screen and (min-width:40.063em) { + .icon-bar.five-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width:64.063em) { + .icon-bar.five-up.large-vertical .item { + width: auto; } } +.icon-bar.six-up .item { + width: 16.66667%; } +.icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item { + width: auto; } +@media only screen and (min-width:40.063em) { + .icon-bar.six-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width:64.063em) { + .icon-bar.six-up.large-vertical .item { + width: auto; } } +.icon-bar.seven-up .item { + width: 14.28571%; } +.icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item { + width: auto; } +@media only screen and (min-width:40.063em) { + .icon-bar.seven-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width:64.063em) { + .icon-bar.seven-up.large-vertical .item { + width: auto; } } +.icon-bar.eight-up .item { + width: 12.5%; } +.icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item { + width: auto; } +@media only screen and (min-width:40.063em) { + .icon-bar.eight-up.medium-vertical .item { + width: auto; } } +@media only screen and (min-width:64.063em) { + .icon-bar.eight-up.large-vertical .item { + width: auto; } } + +.inline-list { + list-style: none; + margin-top: 0; + margin-bottom: 1.0625rem; + margin-left: -1.375rem; + margin-right: 0; + overflow: hidden; + padding: 0; } + .inline-list > li { + display: block; + float: left; + list-style: none; + margin-left: 1.375rem; } + .inline-list > li > * { + display: block; } + +/* Foundation Joyride */ +.joyride-list { + display: none; } + +/* Default styles for the container */ +.joyride-tip-guide { + background: #333333; + color: #FFFFFF; + display: none; + font-family: inherit; + font-weight: normal; + position: absolute; + top: 0; + width: 95%; + z-index: 103; + left: 2.5%; } + +.lt-ie9 .joyride-tip-guide { + margin-left: -400px; + max-width: 800px; + left: 50%; } + +.joyride-content-wrapper { + padding: 1.125rem 1.25rem 1.5rem; + width: 100%; } + .joyride-content-wrapper .button { + margin-bottom: 0 !important; } + .joyride-content-wrapper .joyride-prev-tip { + margin-right: 10px; } + +/* Add a little css triangle pip, older browser just miss out on the fanciness of it */ +.joyride-tip-guide .joyride-nub { + border: 10px solid #333333; + display: block; + height: 0; + position: absolute; + width: 0; + left: 22px; } + .joyride-tip-guide .joyride-nub.top { + border-color: #333333; + border-top-color: transparent !important; + border-top-style: solid; + border-left-color: transparent !important; + border-right-color: transparent !important; + top: -20px; } + .joyride-tip-guide .joyride-nub.bottom { + border-color: #333333 !important; + border-bottom-color: transparent !important; + border-bottom-style: solid; + border-left-color: transparent !important; + border-right-color: transparent !important; + bottom: -20px; } + .joyride-tip-guide .joyride-nub.right { + right: -20px; } + .joyride-tip-guide .joyride-nub.left { + left: -20px; } + +/* Typography */ +.joyride-tip-guide h1, .joyride-tip-guide h2, .joyride-tip-guide h3, .joyride-tip-guide h4, .joyride-tip-guide h5, .joyride-tip-guide h6 { + color: #FFFFFF; + font-weight: bold; + line-height: 1.25; + margin: 0; } + +.joyride-tip-guide p { + font-size: 0.875rem; + line-height: 1.3; + margin: 0 0 1.125rem 0; } + +.joyride-timer-indicator-wrap { + border: solid 1px #555555; + bottom: 1rem; + height: 3px; + position: absolute; + width: 50px; + right: 1.0625rem; } + +.joyride-timer-indicator { + background: #666666; + display: block; + height: inherit; + width: 0; } + +.joyride-close-tip { + color: #777777 !important; + font-size: 24px; + font-weight: normal; + line-height: .5 !important; + position: absolute; + text-decoration: none; + top: 10px; + right: 12px; } + .joyride-close-tip:hover, .joyride-close-tip:focus { + color: #EEEEEE !important; } + +.joyride-modal-bg { + background: rgba(0, 0, 0, 0.5); + cursor: pointer; + display: none; + height: 100%; + position: fixed; + top: 0; + width: 100%; + z-index: 100; + left: 0; } + +.joyride-expose-wrapper { + background-color: #FFFFFF; + border-radius: 3px; + box-shadow: 0 0 15px #FFFFFF; + position: absolute; + z-index: 102; } + +.joyride-expose-cover { + background: transparent; + border-radius: 3px; + left: 0; + position: absolute; + top: 0; + z-index: 9999; } + +/* Styles for screens that are at least 768px; */ +@media only screen { + .joyride-tip-guide { + width: 300px; + left: inherit; } + .joyride-tip-guide .joyride-nub.bottom { + border-color: #333333 !important; + border-bottom-color: transparent !important; + border-left-color: transparent !important; + border-right-color: transparent !important; + bottom: -20px; } + .joyride-tip-guide .joyride-nub.right { + border-color: #333333 !important; + border-right-color: transparent !important; + border-bottom-color: transparent !important; + border-top-color: transparent !important; + left: auto; + right: -20px; + top: 22px; } + .joyride-tip-guide .joyride-nub.left { + border-color: #333333 !important; + border-bottom-color: transparent !important; + border-left-color: transparent !important; + border-top-color: transparent !important; + left: -20px; + right: auto; + top: 22px; } } + +.keystroke, kbd { + background-color: #ededed; + border-color: #dddddd; + color: #222222; + border-style: solid; + border-width: 1px; + font-family: "Consolas", "Menlo", "Courier", monospace; + font-size: inherit; + margin: 0; + padding: 0.125rem 0.25rem 0; + border-radius: 3px; } + +.label { + display: inline-block; + font-family: "Open Sans", sans-serif; + font-weight: normal; + line-height: 1; + margin-bottom: auto; + position: relative; + text-align: center; + text-decoration: none; + white-space: nowrap; + padding: 0.25rem 0.5rem 0.25rem; + font-size: 0.6875rem; + background-color: #008CBA; + color: #FFFFFF; } + .label.radius { + border-radius: 3px; } + .label.round { + border-radius: 1000px; } + .label.alert { + background-color: #f04124; + color: #FFFFFF; } + .label.warning { + background-color: #f08a24; + color: #FFFFFF; } + .label.success { + background-color: #43AC6A; + color: #FFFFFF; } + .label.secondary { + background-color: #e7e7e7; + color: #333333; } + .label.info { + background-color: #a0d3e8; + color: #333333; } + +[data-magellan-expedition], [data-magellan-expedition-clone] { + background: #FFFFFF; + min-width: 100%; + padding: 10px; + z-index: 50; } + [data-magellan-expedition] .sub-nav, [data-magellan-expedition-clone] .sub-nav { + margin-bottom: 0; } + [data-magellan-expedition] .sub-nav dd, [data-magellan-expedition-clone] .sub-nav dd { + margin-bottom: 0; } + [data-magellan-expedition] .sub-nav a, [data-magellan-expedition-clone] .sub-nav a { + line-height: 1.8em; } + +@-webkit-keyframes rotate { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes rotate { + from { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } + + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); } } + +/* Orbit Graceful Loading */ +.slideshow-wrapper { + position: relative; } + .slideshow-wrapper ul { + list-style-type: none; + margin: 0; } + .slideshow-wrapper ul li, .slideshow-wrapper ul li .orbit-caption { + display: none; } + .slideshow-wrapper ul li:first-child { + display: block; } + .slideshow-wrapper .orbit-container { + background-color: transparent; } + .slideshow-wrapper .orbit-container li { + display: block; } + .slideshow-wrapper .orbit-container li .orbit-caption { + display: block; } + .slideshow-wrapper .orbit-container .orbit-bullets li { + display: inline-block; } + .slideshow-wrapper .preloader { + border-radius: 1000px; + animation-duration: 1.5s; + animation-iteration-count: infinite; + animation-name: rotate; + animation-timing-function: linear; + border-color: #555555 #FFFFFF; + border: solid 3px; + display: block; + height: 40px; + left: 50%; + margin-left: -20px; + margin-top: -20px; + position: absolute; + top: 50%; + width: 40px; } + +.orbit-container { + background: none; + overflow: hidden; + position: relative; + width: 100%; } + .orbit-container .orbit-slides-container { + list-style: none; + margin: 0; + padding: 0; + position: relative; + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -ms-transform: translateZ(0); + -o-transform: translateZ(0); + transform: translateZ(0); } + .orbit-container .orbit-slides-container img { + display: block; + max-width: 100%; } + .orbit-container .orbit-slides-container > * { + position: absolute; + top: 0; + width: 100%; + margin-left: 100%; } + .orbit-container .orbit-slides-container > *:first-child { + margin-left: 0; } + .orbit-container .orbit-slides-container > * .orbit-caption { + bottom: 0; + position: absolute; + background-color: rgba(51, 51, 51, 0.8); + color: #FFFFFF; + font-size: 0.875rem; + padding: 0.625rem 0.875rem; + width: 100%; } + .orbit-container .orbit-slide-number { + left: 10px; + background: transparent; + color: #FFFFFF; + font-size: 12px; + position: absolute; + top: 10px; + z-index: 10; } + .orbit-container .orbit-slide-number span { + font-weight: 700; + padding: 0.3125rem; } + .orbit-container .orbit-timer { + position: absolute; + top: 12px; + right: 10px; + height: 6px; + width: 100px; + z-index: 10; } + .orbit-container .orbit-timer .orbit-progress { + height: 3px; + background-color: rgba(255, 255, 255, 0.3); + display: block; + width: 0; + position: relative; + right: 20px; + top: 5px; } + .orbit-container .orbit-timer > span { + border: solid 4px #FFFFFF; + border-bottom: none; + border-top: none; + display: none; + height: 14px; + position: absolute; + top: 0; + width: 11px; + right: 0; } + .orbit-container .orbit-timer.paused > span { + top: 0; + width: 11px; + height: 14px; + border: inset 8px; + border-left-style: solid; + border-color: transparent; + border-left-color: #FFFFFF; + right: -4px; } + .orbit-container .orbit-timer.paused > span.dark { + border-left-color: #333333; } + .orbit-container:hover .orbit-timer > span { + display: block; } + .orbit-container .orbit-prev, .orbit-container .orbit-next { + background-color: transparent; + color: white; + height: 60px; + line-height: 50px; + margin-top: -25px; + position: absolute; + text-indent: -9999px !important; + top: 45%; + width: 36px; + z-index: 10; } + .orbit-container .orbit-prev:hover, .orbit-container .orbit-next:hover { + background-color: rgba(0, 0, 0, 0.3); } + .orbit-container .orbit-prev > span, .orbit-container .orbit-next > span { + border: inset 10px; + display: block; + height: 0; + margin-top: -10px; + position: absolute; + top: 50%; + width: 0; } + .orbit-container .orbit-prev { + left: 0; } + .orbit-container .orbit-prev > span { + border-right-style: solid; + border-color: transparent; + border-right-color: #FFFFFF; } + .orbit-container .orbit-prev:hover > span { + border-right-color: #FFFFFF; } + .orbit-container .orbit-next { + right: 0; } + .orbit-container .orbit-next > span { + border-color: transparent; + border-left-style: solid; + border-left-color: #FFFFFF; + left: 50%; + margin-left: -4px; } + .orbit-container .orbit-next:hover > span { + border-left-color: #FFFFFF; } + +.orbit-bullets-container { + text-align: center; } + +.orbit-bullets { + display: block; + float: none; + margin: 0 auto 30px auto; + overflow: hidden; + position: relative; + text-align: center; + top: 10px; } + .orbit-bullets li { + background: #CCCCCC; + cursor: pointer; + display: inline-block; + float: none; + height: 0.5625rem; + margin-right: 6px; + width: 0.5625rem; + border-radius: 1000px; } + .orbit-bullets li.active { + background: #999999; } + .orbit-bullets li:last-child { + margin-right: 0; } + +.touch .orbit-container .orbit-prev, .touch .orbit-container .orbit-next { + display: none; } +.touch .orbit-bullets { + display: none; } + +@media only screen and (min-width:40.063em) { + .touch .orbit-container .orbit-prev, .touch .orbit-container .orbit-next { + display: inherit; } + .touch .orbit-bullets { + display: block; } } + +@media only screen and (max-width: 40em) { + .orbit-stack-on-small .orbit-slides-container { + height: auto !important; } + .orbit-stack-on-small .orbit-slides-container > * { + margin: 0 !important; + opacity: 1 !important; + position: relative; } + .orbit-stack-on-small .orbit-slide-number { + display: none; } + .orbit-timer { + display: none; } + .orbit-next, .orbit-prev { + display: none; } + .orbit-bullets { + display: none; } } + +ul.pagination { + display: block; + margin-left: -0.3125rem; + min-height: 1.5rem; } + ul.pagination li { + color: #222222; + font-size: 0.875rem; + height: 1.5rem; + margin-left: 0.3125rem; } + ul.pagination li a, ul.pagination li button { + border-radius: 3px; + transition: background-color 300ms ease-out; + background: none; + color: #999999; + display: block; + font-size: 1em; + font-weight: normal; + line-height: inherit; + padding: 0.0625rem 0.625rem 0.0625rem; } + ul.pagination li:hover a, ul.pagination li a:focus, ul.pagination li:hover button, ul.pagination li button:focus { + background: #e6e6e6; } + ul.pagination li.unavailable a, ul.pagination li.unavailable button { + cursor: default; + color: #999999; + pointer-events: none; } + ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus, ul.pagination li.unavailable:hover button, ul.pagination li.unavailable button:focus { + background: transparent; } + ul.pagination li.current a, ul.pagination li.current button { + background: #008CBA; + color: #FFFFFF; + cursor: default; + font-weight: bold; } + ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button:focus { + background: #008CBA; } + ul.pagination li { + display: block; + float: left; } + +/* Pagination centred wrapper */ +.pagination-centered { + text-align: center; } + .pagination-centered ul.pagination li { + display: inline-block; + float: none; } + +/* Panels */ +.panel { + border-style: solid; + border-width: 1px; + border-color: #d8d8d8; + margin-bottom: 1.25rem; + padding: 1.25rem; + background: #f2f2f2; + color: #333333; } + .panel > :first-child { + margin-top: 0; } + .panel > :last-child { + margin-bottom: 0; } + .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6, .panel p, .panel li, .panel dl { + color: #333333; } + .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 { + line-height: 1; + margin-bottom: 0.625rem; } + .panel h1.subheader, .panel h2.subheader, .panel h3.subheader, .panel h4.subheader, .panel h5.subheader, .panel h6.subheader { + line-height: 1.4; } + .panel.callout { + border-style: solid; + border-width: 1px; + border-color: #d8d8d8; + margin-bottom: 1.25rem; + padding: 1.25rem; + background: #ecfaff; + color: #333333; } + .panel.callout > :first-child { + margin-top: 0; } + .panel.callout > :last-child { + margin-bottom: 0; } + .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6, .panel.callout p, .panel.callout li, .panel.callout dl { + color: #333333; } + .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6 { + line-height: 1; + margin-bottom: 0.625rem; } + .panel.callout h1.subheader, .panel.callout h2.subheader, .panel.callout h3.subheader, .panel.callout h4.subheader, .panel.callout h5.subheader, .panel.callout h6.subheader { + line-height: 1.4; } + .panel.callout a:not(.button) { + color: #008CBA; } + .panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus { + color: #0078a0; } + .panel.radius { + border-radius: 3px; } + +/* Pricing Tables */ +.pricing-table { + border: solid 1px #DDDDDD; + margin-left: 0; + margin-bottom: 1.25rem; } + .pricing-table * { + list-style: none; + line-height: 1; } + .pricing-table .title { + background-color: #333333; + color: #EEEEEE; + font-family: "Open Sans", sans-serif; + font-size: 1rem; + font-weight: normal; + padding: 0.9375rem 1.25rem; + text-align: center; } + .pricing-table .price { + background-color: #F6F6F6; + color: #333333; + font-family: "Open Sans", sans-serif; + font-size: 2rem; + font-weight: normal; + padding: 0.9375rem 1.25rem; + text-align: center; } + .pricing-table .description { + background-color: #FFFFFF; + border-bottom: dotted 1px #DDDDDD; + color: #777777; + font-size: 0.75rem; + font-weight: normal; + line-height: 1.4; + padding: 0.9375rem; + text-align: center; } + .pricing-table .bullet-item { + background-color: #FFFFFF; + border-bottom: dotted 1px #DDDDDD; + color: #333333; + font-size: 0.875rem; + font-weight: normal; + padding: 0.9375rem; + text-align: center; } + .pricing-table .cta-button { + background-color: #FFFFFF; + padding: 1.25rem 1.25rem 0; + text-align: center; } + +/* Progress Bar */ +.progress { + background-color: #F6F6F6; + border: 1px solid white; + height: 1.5625rem; + margin-bottom: 0.625rem; + padding: 0.125rem; } + .progress .meter { + background: #008CBA; + display: block; + height: 100%; + float: left; + width: 0%; } + .progress .meter.secondary { + background: #e7e7e7; + display: block; + height: 100%; + float: left; + width: 0%; } + .progress .meter.success { + background: #43AC6A; + display: block; + height: 100%; + float: left; + width: 0%; } + .progress .meter.alert { + background: #f04124; + display: block; + height: 100%; + float: left; + width: 0%; } + .progress.secondary .meter { + background: #e7e7e7; + display: block; + height: 100%; + float: left; + width: 0%; } + .progress.success .meter { + background: #43AC6A; + display: block; + height: 100%; + float: left; + width: 0%; } + .progress.alert .meter { + background: #f04124; + display: block; + height: 100%; + float: left; + width: 0%; } + .progress.radius { + border-radius: 3px; } + .progress.radius .meter { + border-radius: 2px; } + .progress.round { + border-radius: 1000px; } + .progress.round .meter { + border-radius: 999px; } + +.range-slider { + border: 1px solid #DDDDDD; + margin: 1.25rem 0; + position: relative; + -ms-touch-action: none; + touch-action: none; + display: block; + height: 1rem; + width: 100%; + background: #FAFAFA; } + .range-slider.vertical-range { + border: 1px solid #DDDDDD; + margin: 1.25rem 0; + position: relative; + -ms-touch-action: none; + touch-action: none; + display: inline-block; + height: 12.5rem; + width: 1rem; } + .range-slider.vertical-range .range-slider-handle { + bottom: -10.5rem; + margin-left: -0.5rem; + margin-top: 0; + position: absolute; } + .range-slider.vertical-range .range-slider-active-segment { + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; + border-top-left-radius: initial; + bottom: 0; + height: auto; + width: 0.875rem; } + .range-slider.radius { + background: #FAFAFA; + border-radius: 3px; } + .range-slider.radius .range-slider-handle { + background: #008CBA; + border-radius: 3px; } + .range-slider.radius .range-slider-handle:hover { + background: #007ba4; } + .range-slider.round { + background: #FAFAFA; + border-radius: 1000px; } + .range-slider.round .range-slider-handle { + background: #008CBA; + border-radius: 1000px; } + .range-slider.round .range-slider-handle:hover { + background: #007ba4; } + .range-slider.disabled, .range-slider[disabled] { + background: #FAFAFA; + cursor: false; + opacity: 0.7; } + .range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle { + background: #008CBA; + cursor: default; + opacity: 0.7; } + .range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover { + background: #007ba4; } + +.range-slider-active-segment { + background: #e5e5e5; + border-bottom-left-radius: inherit; + border-top-left-radius: inherit; + display: inline-block; + height: 0.875rem; + position: absolute; } + +.range-slider-handle { + border: 1px solid none; + cursor: pointer; + display: inline-block; + height: 1.375rem; + position: absolute; + top: -0.3125rem; + width: 2rem; + z-index: 1; + -ms-touch-action: manipulation; + touch-action: manipulation; + background: #008CBA; } + .range-slider-handle:hover { + background: #007ba4; } + +.reveal-modal-bg { + background: #000000; + background: rgba(0, 0, 0, 0.45); + bottom: 0; + display: none; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1004; + left: 0; } + +.reveal-modal { + border-radius: 3px; + display: none; + position: absolute; + top: 0; + visibility: hidden; + width: 100%; + z-index: 1005; + left: 0; + background-color: #FFFFFF; + padding: 1.875rem; + border: solid 1px #666666; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); } + @media only screen and (max-width: 40em) { + .reveal-modal { + min-height: 100vh; } } + .reveal-modal .column, .reveal-modal .columns { + min-width: 0; } + .reveal-modal > :first-child { + margin-top: 0; } + .reveal-modal > :last-child { + margin-bottom: 0; } + @media only screen and (min-width:40.063em) { + .reveal-modal { + left: 0; + margin: 0 auto; + max-width: 75rem; + right: 0; + width: 80%; } } + @media only screen and (min-width:40.063em) { + .reveal-modal { + top: 6.25rem; } } + .reveal-modal.radius { + box-shadow: none; + border-radius: 3px; } + .reveal-modal.round { + box-shadow: none; + border-radius: 1000px; } + .reveal-modal.collapse { + padding: 0; + box-shadow: none; } + @media only screen and (min-width:40.063em) { + .reveal-modal.tiny { + left: 0; + margin: 0 auto; + max-width: 75rem; + right: 0; + width: 30%; } } + @media only screen and (min-width:40.063em) { + .reveal-modal.small { + left: 0; + margin: 0 auto; + max-width: 75rem; + right: 0; + width: 40%; } } + @media only screen and (min-width:40.063em) { + .reveal-modal.medium { + left: 0; + margin: 0 auto; + max-width: 75rem; + right: 0; + width: 60%; } } + @media only screen and (min-width:40.063em) { + .reveal-modal.large { + left: 0; + margin: 0 auto; + max-width: 75rem; + right: 0; + width: 70%; } } + @media only screen and (min-width:40.063em) { + .reveal-modal.xlarge { + left: 0; + margin: 0 auto; + max-width: 75rem; + right: 0; + width: 95%; } } + .reveal-modal.full { + height: 100vh; + height: 100%; + left: 0; + margin-left: 0 !important; + max-width: none !important; + min-height: 100vh; + top: 0; } + @media only screen and (min-width:40.063em) { + .reveal-modal.full { + left: 0; + margin: 0 auto; + max-width: 75rem; + right: 0; + width: 100%; } } + .reveal-modal.toback { + z-index: 1003; } + .reveal-modal .close-reveal-modal { + color: #AAAAAA; + cursor: pointer; + font-size: 2.5rem; + font-weight: bold; + line-height: 1; + position: absolute; + top: 0.625rem; + right: 1.375rem; } + +.side-nav { + display: block; + font-family: "Open Sans", sans-serif; + list-style-position: outside; + list-style-type: none; + margin: 0; + padding: 0.875rem 0; } + .side-nav li { + font-size: 0.875rem; + font-weight: normal; + margin: 0 0 0.4375rem 0; } + .side-nav li a:not(.button) { + color: #008CBA; + display: block; + margin: 0; + padding: 0.4375rem 0.875rem; } + .side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus { + background: rgba(0, 0, 0, 0.025); + color: #1cc7ff; } + .side-nav li a:not(.button):active { + color: #1cc7ff; } + .side-nav li.active > a:first-child:not(.button) { + color: #1cc7ff; + font-family: "Open Sans", sans-serif; + font-weight: normal; } + .side-nav li.divider { + border-top: 1px solid; + height: 0; + list-style: none; + padding: 0; + border-top-color: #e6e6e6; } + .side-nav li.heading { + color: #008CBA; + font-size: 0.875rem; + font-weight: bold; + text-transform: uppercase; } + +.split.button { + position: relative; + padding-right: 5.0625rem; } + .split.button span { + display: block; + height: 100%; + position: absolute; + right: 0; + top: 0; + border-left: solid 1px; } + .split.button span:after { + position: absolute; + content: ""; + width: 0; + height: 0; + display: block; + border-style: inset; + top: 50%; + left: 50%; } + .split.button span:active { + background-color: rgba(0, 0, 0, 0.1); } + .split.button span { + border-left-color: rgba(255, 255, 255, 0.5); } + .split.button span { + width: 3.09375rem; } + .split.button span:after { + border-top-style: solid; + border-width: 0.375rem; + margin-left: -0.375rem; + top: 48%; } + .split.button span:after { + border-color: #FFFFFF transparent transparent transparent; } + .split.button.secondary span { + border-left-color: rgba(255, 255, 255, 0.5); } + .split.button.secondary span:after { + border-color: #FFFFFF transparent transparent transparent; } + .split.button.alert span { + border-left-color: rgba(255, 255, 255, 0.5); } + .split.button.success span { + border-left-color: rgba(255, 255, 255, 0.5); } + .split.button.tiny { + padding-right: 3.75rem; } + .split.button.tiny span { + width: 2.25rem; } + .split.button.tiny span:after { + border-top-style: solid; + border-width: 0.375rem; + margin-left: -0.375rem; + top: 48%; } + .split.button.small { + padding-right: 4.375rem; } + .split.button.small span { + width: 2.625rem; } + .split.button.small span:after { + border-top-style: solid; + border-width: 0.4375rem; + margin-left: -0.375rem; + top: 48%; } + .split.button.large { + padding-right: 5.5rem; } + .split.button.large span { + width: 3.4375rem; } + .split.button.large span:after { + border-top-style: solid; + border-width: 0.3125rem; + margin-left: -0.375rem; + top: 48%; } + .split.button.expand { + padding-left: 2rem; } + .split.button.secondary span:after { + border-color: #333333 transparent transparent transparent; } + .split.button.radius span { + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } + .split.button.round span { + -webkit-border-bottom-right-radius: 1000px; + -webkit-border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; } + .split.button.no-pip span:before { + border-style: none; } + .split.button.no-pip span:after { + border-style: none; } + .split.button.no-pip span > i { + display: block; + left: 50%; + margin-left: -0.28889em; + margin-top: -0.48889em; + position: absolute; + top: 50%; } + +.sub-nav { + display: block; + margin: -0.25rem 0 1.125rem; + overflow: hidden; + padding-top: 0.25rem; + width: auto; } + .sub-nav dt { + text-transform: uppercase; } + .sub-nav dt, .sub-nav dd, .sub-nav li { + color: #999999; + float: left; + font-family: "Open Sans", sans-serif; + font-size: 0.875rem; + font-weight: normal; + margin-left: 1rem; + margin-bottom: 0; } + .sub-nav dt a, .sub-nav dd a, .sub-nav li a { + color: #999999; + padding: 0.1875rem 1rem; + text-decoration: none; } + .sub-nav dt a:hover, .sub-nav dd a:hover, .sub-nav li a:hover { + color: #737373; } + .sub-nav dt.active a, .sub-nav dd.active a, .sub-nav li.active a { + border-radius: 3px; + background: #008CBA; + color: #FFFFFF; + cursor: default; + font-weight: normal; + padding: 0.1875rem 1rem; } + .sub-nav dt.active a:hover, .sub-nav dd.active a:hover, .sub-nav li.active a:hover { + background: #0078a0; } + +.switch { + border: none; + margin-bottom: 1.5rem; + outline: 0; + padding: 0; + position: relative; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + .switch label { + background: #DDDDDD; + color: transparent; + cursor: pointer; + display: block; + margin-bottom: 1rem; + position: relative; + text-indent: 100%; + width: 4rem; + height: 2rem; + transition: left 0.15s ease-out; } + .switch input { + left: 10px; + opacity: 0; + padding: 0; + position: absolute; + top: 9px; } + .switch input + label { + margin-left: 0; + margin-right: 0; } + .switch label:after { + background: #FFFFFF; + content: ""; + display: block; + height: 1.5rem; + left: .25rem; + position: absolute; + top: .25rem; + width: 1.5rem; + -webkit-transition: left 0.15s ease-out; + -moz-transition: left 0.15s ease-out; + -o-transition: translate3d(0, 0, 0); + transition: left 0.15s ease-out; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + .switch input:checked + label { + background: #008CBA; } + .switch input:checked + label:after { + left: 2.25rem; } + .switch label { + height: 2rem; + width: 4rem; } + .switch label:after { + height: 1.5rem; + width: 1.5rem; } + .switch input:checked + label:after { + left: 2.25rem; } + .switch label { + color: transparent; + background: #DDDDDD; } + .switch label:after { + background: #FFFFFF; } + .switch input:checked + label { + background: #008CBA; } + .switch.large label { + height: 2.5rem; + width: 5rem; } + .switch.large label:after { + height: 2rem; + width: 2rem; } + .switch.large input:checked + label:after { + left: 2.75rem; } + .switch.small label { + height: 1.75rem; + width: 3.5rem; } + .switch.small label:after { + height: 1.25rem; + width: 1.25rem; } + .switch.small input:checked + label:after { + left: 2rem; } + .switch.tiny label { + height: 1.5rem; + width: 3rem; } + .switch.tiny label:after { + height: 1rem; + width: 1rem; } + .switch.tiny input:checked + label:after { + left: 1.75rem; } + .switch.radius label { + border-radius: 4px; } + .switch.radius label:after { + border-radius: 3px; } + .switch.round { + border-radius: 1000px; } + .switch.round label { + border-radius: 2rem; } + .switch.round label:after { + border-radius: 2rem; } + +table { + background: #FFFFFF; + border: solid 1px #DDDDDD; + margin-bottom: 1.25rem; + table-layout: auto; } + table caption { + background: transparent; + color: #222222; + font-size: 1rem; + font-weight: bold; } + table thead { + background: #F5F5F5; } + table thead tr th, table thead tr td { + color: #222222; + font-size: 0.875rem; + font-weight: bold; + padding: 0.5rem 0.625rem 0.625rem; } + table tfoot { + background: #F5F5F5; } + table tfoot tr th, table tfoot tr td { + color: #222222; + font-size: 0.875rem; + font-weight: bold; + padding: 0.5rem 0.625rem 0.625rem; } + table tr th, table tr td { + color: #222222; + font-size: 0.875rem; + padding: 0.5625rem 0.625rem; + text-align: left; } + table tr.even, table tr.alt, table tr:nth-of-type(even) { + background: #F9F9F9; } + table thead tr th, table tfoot tr th, table tfoot tr td, table tbody tr th, table tbody tr td, table tr td { + display: table-cell; + line-height: 1.125rem; } + +.tabs { + margin-bottom: 0 !important; + margin-left: 0; } + .tabs:before, .tabs:after { + content: " "; + display: table; } + .tabs:after { + clear: both; } + .tabs dd, .tabs .tab-title { + float: left; + list-style: none; + margin-bottom: 0 !important; + position: relative; } + .tabs dd > a, .tabs .tab-title > a { + display: block; + background-color: #EFEFEF; + color: #222222; + font-family: "Open Sans", sans-serif; + font-size: 1rem; + padding: 1rem 2rem; } + .tabs dd > a:hover, .tabs .tab-title > a:hover { + background-color: #e1e1e1; } + .tabs dd.active > a, .tabs .tab-title.active > a { + background-color: #FFFFFF; + color: #222222; } + .tabs.radius dd:first-child a, .tabs.radius .tab:first-child a { + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; } + .tabs.radius dd:last-child a, .tabs.radius .tab:last-child a { + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } + .tabs.vertical dd, .tabs.vertical .tab-title { + position: inherit; + float: none; + display: block; + top: auto; } + +.tabs-content { + margin-bottom: 1.5rem; + width: 100%; } + .tabs-content:before, .tabs-content:after { + content: " "; + display: table; } + .tabs-content:after { + clear: both; } + .tabs-content > .content { + display: none; + float: left; + padding: 0.9375rem 0; + width: 100%; } + .tabs-content > .content.active { + display: block; + float: none; } + .tabs-content > .content.contained { + padding: 0.9375rem; } + .tabs-content.vertical { + display: block; } + .tabs-content.vertical > .content { + padding: 0 0.9375rem; } + +@media only screen and (min-width:40.063em) { + .tabs.vertical { + float: left; + margin: 0; + margin-bottom: 1.25rem !important; + max-width: 20%; + width: 20%; } + .tabs-content.vertical { + float: left; + margin-left: -1px; + max-width: 80%; + padding-left: 1rem; + width: 80%; } } + +.no-js .tabs-content > .content { + display: block; + float: none; } + +/* Image Thumbnails */ +.th { + border: solid 4px #FFFFFF; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); + display: inline-block; + line-height: 0; + max-width: 100%; + transition: all 200ms ease-out; } + .th:hover, .th:focus { + box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5); } + .th.radius { + border-radius: 3px; } + +/* Tooltips */ +.has-tip { + border-bottom: dotted 1px #CCCCCC; + color: #333333; + cursor: help; + font-weight: bold; } + .has-tip:hover, .has-tip:focus { + border-bottom: dotted 1px #003f54; + color: #008CBA; } + .has-tip.tip-left, .has-tip.tip-right { + float: none !important; } + +.tooltip { + background: #333333; + color: #FFFFFF; + display: none; + font-size: 0.875rem; + font-weight: normal; + line-height: 1.3; + max-width: 300px; + padding: 0.75rem; + position: absolute; + width: 100%; + z-index: 1006; + left: 50%; } + .tooltip > .nub { + border: solid 5px; + border-color: transparent transparent #333333 transparent; + display: block; + height: 0; + pointer-events: none; + position: absolute; + top: -10px; + width: 0; + left: 5px; } + .tooltip > .nub.rtl { + left: auto; + right: 5px; } + .tooltip.radius { + border-radius: 3px; } + .tooltip.round { + border-radius: 1000px; } + .tooltip.round > .nub { + left: 2rem; } + .tooltip.opened { + border-bottom: dotted 1px #003f54 !important; + color: #008CBA !important; } + +.tap-to-close { + color: #777777; + display: block; + font-size: 0.625rem; + font-weight: normal; } + +@media only screen { + .tooltip > .nub { + border-color: transparent transparent #333333 transparent; + top: -10px; } + .tooltip.tip-top > .nub { + border-color: #333333 transparent transparent transparent; + bottom: -10px; + top: auto; } + .tooltip.tip-left, .tooltip.tip-right { + float: none !important; } + .tooltip.tip-left > .nub { + border-color: transparent transparent transparent #333333; + left: auto; + margin-top: -5px; + right: -10px; + top: 50%; } + .tooltip.tip-right > .nub { + border-color: transparent #333333 transparent transparent; + left: -10px; + margin-top: -5px; + right: auto; + top: 50%; } } + +meta.foundation-mq-topbar { + font-family: "/only screen and (min-width:40.063em)/"; + width: 40.063em; } + +/* Wrapped around .top-bar to contain to grid width */ +.contain-to-grid { + width: 100%; + background: #333333; } + .contain-to-grid .top-bar { + margin-bottom: 0; } + +.fixed { + position: fixed; + top: 0; + width: 100%; + z-index: 99; + left: 0; } + .fixed.expanded:not(.top-bar) { + height: auto; + max-height: 100%; + overflow-y: auto; + width: 100%; } + .fixed.expanded:not(.top-bar) .title-area { + position: fixed; + width: 100%; + z-index: 99; } + .fixed.expanded:not(.top-bar) .top-bar-section { + margin-top: 5.0625rem; + z-index: 98; } + +.top-bar { + background: #333333; + height: 5.0625rem; + line-height: 5.0625rem; + margin-bottom: 0; + overflow: hidden; + position: relative; } + .top-bar ul { + list-style: none; + margin-bottom: 0; } + .top-bar .row { + max-width: none; } + .top-bar form, .top-bar input, .top-bar select { + margin-bottom: 0; } + .top-bar input, .top-bar select { + font-size: 0.75rem; + height: 1.75rem; + padding-bottom: .35rem; + padding-top: .35rem; } + .top-bar .button, .top-bar button { + font-size: 0.75rem; + margin-bottom: 0; + padding-bottom: .4125rem; + padding-top: .4125rem; } + @media only screen and (max-width: 40em) { + .top-bar .button, .top-bar button { + position: relative; + top: -1px; } } + .top-bar .title-area { + margin: 0; + position: relative; } + .top-bar .name { + font-size: 16px; + height: 5.0625rem; + margin: 0; } + .top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span { + font-size: 1.0625rem; + line-height: 5.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 { + color: #FFFFFF; + display: block; + font-weight: normal; + padding: 0 1.6875rem; + width: 75%; } + .top-bar .toggle-topbar { + position: absolute; + right: 0; + top: 0; } + .top-bar .toggle-topbar a { + color: #FFFFFF; + display: block; + font-size: 0.8125rem; + font-weight: bold; + height: 5.0625rem; + line-height: 5.0625rem; + padding: 0 1.6875rem; + position: relative; + text-transform: uppercase; } + .top-bar .toggle-topbar.menu-icon { + margin-top: -16px; + top: 50%; } + .top-bar .toggle-topbar.menu-icon a { + color: #FFFFFF; + height: 34px; + line-height: 33px; + padding: 0 3.25rem 0 1.6875rem; + position: relative; } + .top-bar .toggle-topbar.menu-icon a span::after { + content: ""; + display: block; + height: 0; + position: absolute; + margin-top: -8px; + top: 50%; + right: 1.6875rem; + box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF; + width: 16px; } + .top-bar .toggle-topbar.menu-icon a span:hover:after { + box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px ""; } + .top-bar.expanded { + background: transparent; + height: auto; } + .top-bar.expanded .title-area { + background: #333333; } + .top-bar.expanded .toggle-topbar a { + color: #888888; } + .top-bar.expanded .toggle-topbar a span::after { + box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888; } + @media screen and (-webkit-min-device-pixel-ratio: 0) { + .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown, .top-bar.expanded .top-bar-section .dropdown { + clip: initial; } + .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul { + padding: 0; } } + +.top-bar-section { + left: 0; + position: relative; + width: auto; + transition: left 300ms ease-out; } + .top-bar-section ul { + display: block; + font-size: 16px; + height: auto; + margin: 0; + padding: 0; + width: 100%; } + .top-bar-section .divider, .top-bar-section [role="separator"] { + border-top: solid 1px #1a1a1a; + clear: both; + height: 1px; + width: 100%; } + .top-bar-section ul li { + background: #333333; } + .top-bar-section ul li > a { + color: #FFFFFF; + display: block; + font-family: "Open Sans", sans-serif; + font-size: 1.3125rem; + font-weight: normal; + padding-left: 1.6875rem; + padding: 12px 0 12px 1.6875rem; + text-transform: none; + width: 100%; } + .top-bar-section ul li > a.button { + font-size: 1.3125rem; + padding-left: 1.6875rem; + padding-right: 1.6875rem; + background-color: #008CBA; + border-color: #007095; + color: #FFFFFF; } + .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { + background-color: #007095; } + .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { + color: #FFFFFF; } + .top-bar-section ul li > a.button.secondary { + background-color: #e7e7e7; + border-color: #b9b9b9; + color: #333333; } + .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus { + background-color: #b9b9b9; } + .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus { + color: #333333; } + .top-bar-section ul li > a.button.success { + background-color: #43AC6A; + border-color: #368a55; + color: #FFFFFF; } + .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus { + background-color: #368a55; } + .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus { + color: #FFFFFF; } + .top-bar-section ul li > a.button.alert { + background-color: #f04124; + border-color: #cf2a0e; + color: #FFFFFF; } + .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus { + background-color: #cf2a0e; } + .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus { + color: #FFFFFF; } + .top-bar-section ul li > a.button.warning { + background-color: #f08a24; + border-color: #cf6e0e; + color: #FFFFFF; } + .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus { + background-color: #cf6e0e; } + .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus { + color: #FFFFFF; } + .top-bar-section ul li > a.button.info { + background-color: #a0d3e8; + border-color: #61b6d9; + color: #333333; } + .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus { + background-color: #61b6d9; } + .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus { + color: #FFFFFF; } + .top-bar-section ul li > button { + font-size: 1.3125rem; + padding-left: 1.6875rem; + padding-right: 1.6875rem; + background-color: #008CBA; + border-color: #007095; + color: #FFFFFF; } + .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { + background-color: #007095; } + .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { + color: #FFFFFF; } + .top-bar-section ul li > button.secondary { + background-color: #e7e7e7; + border-color: #b9b9b9; + color: #333333; } + .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus { + background-color: #b9b9b9; } + .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus { + color: #333333; } + .top-bar-section ul li > button.success { + background-color: #43AC6A; + border-color: #368a55; + color: #FFFFFF; } + .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus { + background-color: #368a55; } + .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus { + color: #FFFFFF; } + .top-bar-section ul li > button.alert { + background-color: #f04124; + border-color: #cf2a0e; + color: #FFFFFF; } + .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus { + background-color: #cf2a0e; } + .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus { + color: #FFFFFF; } + .top-bar-section ul li > button.warning { + background-color: #f08a24; + border-color: #cf6e0e; + color: #FFFFFF; } + .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus { + background-color: #cf6e0e; } + .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus { + color: #FFFFFF; } + .top-bar-section ul li > button.info { + background-color: #a0d3e8; + border-color: #61b6d9; + color: #333333; } + .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus { + background-color: #61b6d9; } + .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus { + color: #FFFFFF; } + .top-bar-section ul li:hover:not(.has-form) > a { + background-color: #555555; + color: #FFFFFF; + background: #222222; } + .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: 1.6875rem; } + .top-bar-section .has-dropdown { + position: relative; } + .top-bar-section .has-dropdown > a:after { + border: inset 5px; + content: ""; + display: block; + height: 0; + width: 0; + border-color: transparent transparent transparent rgba(255, 255, 255, 0.4); + border-left-style: solid; + margin-right: 1.6875rem; + margin-top: -4.5px; + position: absolute; + top: 50%; + right: 0; } + .top-bar-section .has-dropdown.moved { + position: static; } + .top-bar-section .has-dropdown.moved > .dropdown { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; + display: block; + position: absolute !important; + width: 100%; } + .top-bar-section .has-dropdown.moved > a:after { + display: none; } + .top-bar-section .dropdown { + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + overflow: hidden; + position: absolute !important; + width: 1px; + display: block; + padding: 0; + position: absolute; + top: 0; + z-index: 99; + left: 100%; } + .top-bar-section .dropdown li { + height: auto; + width: 100%; } + .top-bar-section .dropdown li a { + font-weight: normal; + padding: 8px 1.6875rem; } + .top-bar-section .dropdown li a.parent-link { + font-weight: normal; } + .top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link { + margin-bottom: 0; + margin-top: 0; + font-size: 1.125rem; } + .top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a { + color: #FFFFFF; + display: block; } + .top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover { + background: none; } + .top-bar-section .dropdown li.has-form { + padding: 8px 1.6875rem; } + .top-bar-section .dropdown li .button, .top-bar-section .dropdown li button { + top: auto; } + .top-bar-section .dropdown label { + color: #777777; + font-size: 0.625rem; + font-weight: bold; + margin-bottom: 0; + padding: 8px 1.6875rem 2px; + text-transform: uppercase; } + +.js-generated { + display: block; } + +@media only screen and (min-width:40.063em) { + .top-bar { + background: #333333; + overflow: visible; } + .top-bar:before, .top-bar:after { + content: " "; + display: table; } + .top-bar:after { + clear: both; } + .top-bar .toggle-topbar { + display: none; } + .top-bar .title-area { + float: left; } + .top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name h5 a, .top-bar .name h6 a { + width: auto; } + .top-bar input, .top-bar select, .top-bar .button, .top-bar button { + font-size: 0.875rem; + height: 1.75rem; + position: relative; + top: 1.65625rem; } + .top-bar .has-form > .button, .top-bar .has-form > button { + font-size: 0.875rem; + height: 1.75rem; + position: relative; + top: 1.65625rem; } + .top-bar.expanded { + background: #333333; } + .contain-to-grid .top-bar { + margin: 0 auto; + margin-bottom: 0; + max-width: 75rem; } + .top-bar-section { + transition: none 0 0; + left: 0 !important; } + .top-bar-section ul { + display: inline; + height: auto !important; + width: auto; } + .top-bar-section ul li { + float: left; } + .top-bar-section ul li .js-generated { + display: none; } + .top-bar-section li.hover > a:not(.button) { + background-color: #555555; + background: #222222; + color: #FFFFFF; } + .top-bar-section li:not(.has-form) a:not(.button) { + background: #333333; + line-height: 5.0625rem; + padding: 0 1.6875rem; } + .top-bar-section li:not(.has-form) a:not(.button):hover { + background-color: #555555; + background: #222222; } + .top-bar-section li.active:not(.has-form) a:not(.button) { + background: #008CBA; + color: #FFFFFF; + line-height: 5.0625rem; + padding: 0 1.6875rem; } + .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.6875rem !important; } + .top-bar-section .has-dropdown > a:after { + border: inset 5px; + content: ""; + display: block; + height: 0; + width: 0; + border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent; + border-top-style: solid; + margin-top: -2.5px; + top: 2.53125rem; } + .top-bar-section .has-dropdown.moved { + position: relative; } + .top-bar-section .has-dropdown.moved > .dropdown { + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + overflow: hidden; + position: absolute !important; + width: 1px; + display: block; } + .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; + display: block; + position: absolute !important; } + .top-bar-section .has-dropdown > a:focus + .dropdown { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; + display: block; + position: absolute !important; } + .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after { + border: none; + content: "\00bb"; + top: 0.1875rem; + right: 5px; } + .top-bar-section .dropdown { + left: 0; + background: transparent; + min-width: 100%; + top: auto; } + .top-bar-section .dropdown li a { + background: #333333; + color: #FFFFFF; + line-height: 5.0625rem; + padding: 12px 1.6875rem; + white-space: nowrap; } + .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) { + background: #333333; + color: #FFFFFF; } + .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) { + background-color: #555555; + color: #FFFFFF; + background: #222222; } + .top-bar-section .dropdown li label { + background: #333333; + white-space: nowrap; } + .top-bar-section .dropdown li .dropdown { + left: 100%; + top: 0; } + .top-bar-section > ul > .divider, .top-bar-section > ul > [role="separator"] { + border-right: solid 1px #4e4e4e; + border-bottom: none; + border-top: none; + clear: none; + height: 5.0625rem; + width: 0; } + .top-bar-section .has-form { + background: #333333; + height: 5.0625rem; + padding: 0 1.6875rem; } + .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: #222222; + color: #FFFFFF; } + .no-js .top-bar-section ul li:active > a { + background: #008CBA; + color: #FFFFFF; } + .no-js .top-bar-section .has-dropdown:hover > .dropdown { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; + display: block; + position: absolute !important; } + .no-js .top-bar-section .has-dropdown > a:focus + .dropdown { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; + display: block; + position: absolute !important; } } + +.text-left { + text-align: left !important; } + +.text-right { + text-align: right !important; } + +.text-center { + text-align: center !important; } + +.text-justify { + text-align: justify !important; } + +@media only screen and (max-width: 40em) { + .small-only-text-left { + text-align: left !important; } + .small-only-text-right { + text-align: right !important; } + .small-only-text-center { + text-align: center !important; } + .small-only-text-justify { + text-align: justify !important; } } + +@media only screen { + .small-text-left { + text-align: left !important; } + .small-text-right { + text-align: right !important; } + .small-text-center { + text-align: center !important; } + .small-text-justify { + text-align: justify !important; } } + +@media only screen and (min-width:40.063em) and (max-width:64em) { + .medium-only-text-left { + text-align: left !important; } + .medium-only-text-right { + text-align: right !important; } + .medium-only-text-center { + text-align: center !important; } + .medium-only-text-justify { + text-align: justify !important; } } + +@media only screen and (min-width:40.063em) { + .medium-text-left { + text-align: left !important; } + .medium-text-right { + text-align: right !important; } + .medium-text-center { + text-align: center !important; } + .medium-text-justify { + text-align: justify !important; } } + +@media only screen and (min-width:64.063em) and (max-width:90em) { + .large-only-text-left { + text-align: left !important; } + .large-only-text-right { + text-align: right !important; } + .large-only-text-center { + text-align: center !important; } + .large-only-text-justify { + text-align: justify !important; } } + +@media only screen and (min-width:64.063em) { + .large-text-left { + text-align: left !important; } + .large-text-right { + text-align: right !important; } + .large-text-center { + text-align: center !important; } + .large-text-justify { + text-align: justify !important; } } + +@media only screen and (min-width:90.063em) and (max-width:120em) { + .xlarge-only-text-left { + text-align: left !important; } + .xlarge-only-text-right { + text-align: right !important; } + .xlarge-only-text-center { + text-align: center !important; } + .xlarge-only-text-justify { + text-align: justify !important; } } + +@media only screen and (min-width:90.063em) { + .xlarge-text-left { + text-align: left !important; } + .xlarge-text-right { + text-align: right !important; } + .xlarge-text-center { + text-align: center !important; } + .xlarge-text-justify { + text-align: justify !important; } } + +@media only screen and (min-width:120.063em) and (max-width:99999999em) { + .xxlarge-only-text-left { + text-align: left !important; } + .xxlarge-only-text-right { + text-align: right !important; } + .xxlarge-only-text-center { + text-align: center !important; } + .xxlarge-only-text-justify { + text-align: justify !important; } } + +@media only screen and (min-width:120.063em) { + .xxlarge-text-left { + text-align: left !important; } + .xxlarge-text-right { + text-align: right !important; } + .xxlarge-text-center { + text-align: center !important; } + .xxlarge-text-justify { + text-align: justify !important; } } + +/* Typography resets */ +div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td { + margin: 0; + padding: 0; } + +/* Default Link Styles */ +a { + color: #e9aa0e; + line-height: inherit; + text-decoration: none; } + a:hover, a:focus { + color: #e9aa0e; + text-decoration: underline; } + a img { + border: none; } + +/* Default paragraph styles */ +p { + font-family: inherit; + font-size: 1rem; + font-weight: normal; + line-height: 1.6; + margin-bottom: 1.25rem; + text-rendering: optimizeLegibility; } + p.lead { + font-size: 1.21875rem; + line-height: 1.6; } + p aside { + font-size: 0.875rem; + font-style: italic; + line-height: 1.35; } + +/* Default header styles */ +h1, h2, h3, h4, h5, h6 { + color: #222222; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: normal; + line-height: 1.4; + margin-bottom: 0.5rem; + margin-top: 0.2rem; + text-rendering: optimizeLegibility; } + h1 small, h2 small, h3 small, h4 small, h5 small, h6 small { + color: #6f6f6f; + font-size: 60%; + line-height: 0; } + +h1 { + font-size: 1.4375rem; } + +h2 { + font-size: 1.4375rem; } + +h3 { + font-size: 1.25rem; } + +h4 { + font-size: 1.25rem; } + +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; + height: 0; + margin: 1.25rem 0 1.1875rem; } + +/* Helpful Typography Defaults */ +em, i { + font-style: italic; + line-height: inherit; } + +strong, b { + font-weight: bold; + line-height: inherit; } + +small { + font-size: 60%; + line-height: inherit; } + +code { + background-color: #f8f8f8; + border-color: #dfdfdf; + border-style: solid; + border-width: 1px; + color: #333333; + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-weight: normal; + padding: 0.125rem 0.3125rem 0.0625rem; } + +/* Lists */ +ul, ol, dl { + font-family: inherit; + font-size: 1rem; + line-height: 1.6; + list-style-position: outside; + margin-bottom: 1.25rem; } + +ul { + margin-left: 1.1rem; } + +/* Unordered Lists */ +ul li ul, ul li ol { + margin-left: 1.25rem; + margin-bottom: 0; } +ul.square li ul, ul.circle li ul, ul.disc li ul { + list-style: inherit; } +ul.square { + list-style-type: square; + margin-left: 1.1rem; } +ul.circle { + list-style-type: circle; + margin-left: 1.1rem; } +ul.disc { + list-style-type: disc; + margin-left: 1.1rem; } + +/* Ordered Lists */ +ol { + margin-left: 1.4rem; } + ol li ul, ol li ol { + margin-left: 1.25rem; + margin-bottom: 0; } + +.no-bullet { + list-style-type: none; + margin-left: 0; } + .no-bullet li ul, .no-bullet li ol { + margin-left: 1.25rem; + margin-bottom: 0; + list-style: none; } + +/* Definition Lists */ +dl dt { + margin-bottom: 0.3rem; + font-weight: bold; } +dl dd { + margin-bottom: 0.75rem; } + +/* Abbreviations */ +abbr, acronym { + text-transform: uppercase; + font-size: 90%; + color: #000000; + cursor: help; } + +abbr { + text-transform: none; } + abbr[title] { + border-bottom: 1px dotted #DDDDDD; } + +/* Blockquotes */ +blockquote { + margin: 0 0 1.25rem; + padding: 0.5625rem 1.25rem 0 1.1875rem; + border-left: 1px solid #DDDDDD; } + blockquote cite { + display: block; + font-size: 0.8125rem; + color: #555555; } + blockquote cite:before { + content: "\2014 \0020"; } + blockquote cite a, blockquote cite a:visited { + color: #555555; } + +blockquote, blockquote p { + line-height: 1.6; + color: #6f6f6f; } + +/* Microformats */ +.vcard { + display: inline-block; + margin: 0 0 1.25rem 0; + border: 1px solid #DDDDDD; + padding: 0.625rem 0.75rem; } + .vcard li { + margin: 0; + display: block; } + .vcard .fn { + font-weight: bold; + font-size: 0.9375rem; } + +.vevent .summary { + font-weight: bold; } +.vevent abbr { + cursor: default; + text-decoration: none; + font-weight: bold; + border: none; + padding: 0 0.0625rem; } + +@media only screen and (min-width:40.063em) { + h1, h2, h3, h4, h5, h6 { + line-height: 1.4; } + h1 { + font-size: 1.75rem; } + h2 { + font-size: 1.75rem; } + h3 { + font-size: 1.5rem; } + h4 { + font-size: 1.5rem; } + h5 { + font-size: 1.125rem; } + h6 { + font-size: 1rem; } } + +/* + * Print styles. + * + * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ + * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com) + */ +@media print { + * { + background: transparent !important; + color: #000000 !important; + /* Black prints faster: h5bp.com/s */ + box-shadow: none !important; + text-shadow: none !important; } + a, a:visited { + text-decoration: underline; } + a[href]:after { + content: " (" attr(href) ")"; } + abbr[title]:after { + content: " (" attr(title) ")"; } + .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { + content: ""; } + pre, blockquote { + border: 1px solid #999999; + page-break-inside: avoid; } + thead { + display: table-header-group; + /* h5bp.com/t */ } + tr, img { + page-break-inside: avoid; } + img { + max-width: 100% !important; } + @page { + margin: 0.34in; } + + p, h2, h3 { + orphans: 3; + widows: 3; } + h2, h3 { + page-break-after: avoid; } } + +.off-canvas-wrap { + -webkit-backface-visibility: hidden; + position: relative; + width: 100%; + overflow: hidden; } + .off-canvas-wrap.move-right, .off-canvas-wrap.move-left, .off-canvas-wrap.move-bottom, .off-canvas-wrap.move-top { + min-height: 100%; + -webkit-overflow-scrolling: touch; } + +.inner-wrap { + position: relative; + width: 100%; + -webkit-transition: -webkit-transform 500ms ease; + -moz-transition: -moz-transform 500ms ease; + -ms-transition: -ms-transform 500ms ease; + -o-transition: -o-transform 500ms ease; + transition: transform 500ms ease; } + .inner-wrap:before, .inner-wrap:after { + content: " "; + display: table; } + .inner-wrap:after { + clear: both; } + +.tab-bar { + -webkit-backface-visibility: hidden; + background: #3b76c4; + 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 { + height: 2.8125rem; + position: absolute; + top: 0; + width: 2.8125rem; + border-right: solid 1px #1d3b62; + left: 0; } + +.right-small { + height: 2.8125rem; + position: absolute; + top: 0; + width: 2.8125rem; + border-left: solid 1px #1d3b62; + right: 0; } + +.tab-bar-section { + height: 2.8125rem; + padding: 0 0.625rem; + position: absolute; + text-align: center; + top: 0; } + .tab-bar-section.left { + text-align: left; } + .tab-bar-section.right { + text-align: right; } + .tab-bar-section.left { + left: 0; + right: 2.8125rem; } + .tab-bar-section.right { + left: 2.8125rem; + right: 0; } + .tab-bar-section.middle { + left: 2.8125rem; + right: 2.8125rem; } + +.tab-bar .menu-icon { + color: #FFFFFF; + display: block; + height: 2.8125rem; + padding: 0; + position: relative; + text-indent: 3.4375rem; + transform: translate3d(0, 0, 0); + width: 2.8125rem; } + .tab-bar .menu-icon span::after { + content: ""; + display: block; + height: 0; + position: absolute; + top: 50%; + margin-top: -0.5rem; + left: 0.90625rem; + box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF; + width: 1rem; } + .tab-bar .menu-icon span:hover:after { + box-shadow: 0 0 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3; } + +.left-off-canvas-menu { + -webkit-backface-visibility: hidden; + background: #3b76c4; + bottom: 0; + box-sizing: content-box; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + overflow-x: hidden; + overflow-y: auto; + position: absolute; + transition: transform 500ms ease 0s; + width: 15.625rem; + z-index: 1001; + -webkit-transform: translate3d(-100%, 0, 0); + -moz-transform: translate3d(-100%, 0, 0); + -ms-transform: translate(-100%, 0); + -o-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + top: 0; } + .left-off-canvas-menu * { + -webkit-backface-visibility: hidden; } + +.right-off-canvas-menu { + -webkit-backface-visibility: hidden; + background: #3b76c4; + bottom: 0; + box-sizing: content-box; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + overflow-x: hidden; + overflow-y: auto; + position: absolute; + transition: transform 500ms ease 0s; + width: 15.625rem; + z-index: 1001; + -webkit-transform: translate3d(100%, 0, 0); + -moz-transform: translate3d(100%, 0, 0); + -ms-transform: translate(100%, 0); + -o-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + right: 0; + top: 0; } + .right-off-canvas-menu * { + -webkit-backface-visibility: hidden; } + +.top-off-canvas-menu { + -webkit-backface-visibility: hidden; + background: #3b76c4; + bottom: 0; + box-sizing: content-box; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + overflow-x: hidden; + overflow-y: auto; + position: absolute; + transition: transform 500ms ease 0s; + width: 15.625rem; + z-index: 1001; + -webkit-transform: translate3d(0, -100%, 0); + -moz-transform: translate3d(0, -100%, 0); + -ms-transform: translate(0, -100%); + -o-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + top: 0; + width: 100%; + height: 18.75rem; } + .top-off-canvas-menu * { + -webkit-backface-visibility: hidden; } + +.bottom-off-canvas-menu { + -webkit-backface-visibility: hidden; + background: #3b76c4; + bottom: 0; + box-sizing: content-box; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + overflow-x: hidden; + overflow-y: auto; + position: absolute; + transition: transform 500ms ease 0s; + width: 15.625rem; + z-index: 1001; + -webkit-transform: translate3d(0, 100%, 0); + -moz-transform: translate3d(0, 100%, 0); + -ms-transform: translate(0, 100%); + -o-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + bottom: 0; + width: 100%; + height: 18.75rem; } + .bottom-off-canvas-menu * { + -webkit-backface-visibility: hidden; } + +ul.off-canvas-list { + list-style-type: none; + margin: 0; + padding: 0; } + ul.off-canvas-list li label { + background: #444444; + border-bottom: none; + border-top: 1px solid #5e5e5e; + color: #999999; + display: block; + font-size: 0.75rem; + font-weight: bold; + margin: 0; + padding: .3rem 0.9375rem; + text-transform: uppercase; } + ul.off-canvas-list li a { + border-bottom: 1px solid #2c5893; + color: rgba(255, 255, 255, 0.7); + display: block; + padding: 0.6666666667rem; + transition: background 300ms ease; } + ul.off-canvas-list li a:hover { + background: #295389; } + ul.off-canvas-list li a:active { + background: #295389; } + +.move-right > .inner-wrap { + -webkit-transform: translate3d(15.625rem, 0, 0); + -moz-transform: translate3d(15.625rem, 0, 0); + -ms-transform: translate(15.625rem, 0); + -o-transform: translate3d(15.625rem, 0, 0); + transform: translate3d(15.625rem, 0, 0); } +.move-right .exit-off-canvas { + -webkit-backface-visibility: hidden; + box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); + cursor: pointer; + transition: background 300ms ease; + -webkit-tap-highlight-color: transparent; + background: rgba(255, 255, 255, 0.2); + bottom: 0; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1002; } + @media only screen and (min-width:40.063em) { + .move-right .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.move-left > .inner-wrap { + -webkit-transform: translate3d(-15.625rem, 0, 0); + -moz-transform: translate3d(-15.625rem, 0, 0); + -ms-transform: translate(-15.625rem, 0); + -o-transform: translate3d(-15.625rem, 0, 0); + transform: translate3d(-15.625rem, 0, 0); } +.move-left .exit-off-canvas { + -webkit-backface-visibility: hidden; + box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); + cursor: pointer; + transition: background 300ms ease; + -webkit-tap-highlight-color: transparent; + background: rgba(255, 255, 255, 0.2); + bottom: 0; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1002; } + @media only screen and (min-width:40.063em) { + .move-left .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.move-top > .inner-wrap { + -webkit-transform: translate3d(0, -18.75rem, 0); + -moz-transform: translate3d(0, -18.75rem, 0); + -ms-transform: translate(0, -18.75rem); + -o-transform: translate3d(0, -18.75rem, 0); + transform: translate3d(0, -18.75rem, 0); } +.move-top .exit-off-canvas { + -webkit-backface-visibility: hidden; + box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); + cursor: pointer; + transition: background 300ms ease; + -webkit-tap-highlight-color: transparent; + background: rgba(255, 255, 255, 0.2); + bottom: 0; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1002; } + @media only screen and (min-width:40.063em) { + .move-top .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.move-bottom > .inner-wrap { + -webkit-transform: translate3d(0, 18.75rem, 0); + -moz-transform: translate3d(0, 18.75rem, 0); + -ms-transform: translate(0, 18.75rem); + -o-transform: translate3d(0, 18.75rem, 0); + transform: translate3d(0, 18.75rem, 0); } +.move-bottom .exit-off-canvas { + -webkit-backface-visibility: hidden; + box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); + cursor: pointer; + transition: background 300ms ease; + -webkit-tap-highlight-color: transparent; + background: rgba(255, 255, 255, 0.2); + bottom: 0; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1002; } + @media only screen and (min-width:40.063em) { + .move-bottom .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.offcanvas-overlap .left-off-canvas-menu, .offcanvas-overlap .right-off-canvas-menu, .offcanvas-overlap .top-off-canvas-menu, .offcanvas-overlap .bottom-off-canvas-menu { + -ms-transform: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + transform: none; + z-index: 1003; } +.offcanvas-overlap .exit-off-canvas { + -webkit-backface-visibility: hidden; + box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); + cursor: pointer; + transition: background 300ms ease; + -webkit-tap-highlight-color: transparent; + background: rgba(255, 255, 255, 0.2); + bottom: 0; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1002; } + @media only screen and (min-width:40.063em) { + .offcanvas-overlap .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.offcanvas-overlap-left .right-off-canvas-menu { + -ms-transform: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + transform: none; + z-index: 1003; } +.offcanvas-overlap-left .exit-off-canvas { + -webkit-backface-visibility: hidden; + box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); + cursor: pointer; + transition: background 300ms ease; + -webkit-tap-highlight-color: transparent; + background: rgba(255, 255, 255, 0.2); + bottom: 0; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1002; } + @media only screen and (min-width:40.063em) { + .offcanvas-overlap-left .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.offcanvas-overlap-right .left-off-canvas-menu { + -ms-transform: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + transform: none; + z-index: 1003; } +.offcanvas-overlap-right .exit-off-canvas { + -webkit-backface-visibility: hidden; + box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); + cursor: pointer; + transition: background 300ms ease; + -webkit-tap-highlight-color: transparent; + background: rgba(255, 255, 255, 0.2); + bottom: 0; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1002; } + @media only screen and (min-width:40.063em) { + .offcanvas-overlap-right .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.offcanvas-overlap-top .bottom-off-canvas-menu { + -ms-transform: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + transform: none; + z-index: 1003; } +.offcanvas-overlap-top .exit-off-canvas { + -webkit-backface-visibility: hidden; + box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); + cursor: pointer; + transition: background 300ms ease; + -webkit-tap-highlight-color: transparent; + background: rgba(255, 255, 255, 0.2); + bottom: 0; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1002; } + @media only screen and (min-width:40.063em) { + .offcanvas-overlap-top .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.offcanvas-overlap-bottom .top-off-canvas-menu { + -ms-transform: none; + -webkit-transform: none; + -moz-transform: none; + -o-transform: none; + transform: none; + z-index: 1003; } +.offcanvas-overlap-bottom .exit-off-canvas { + -webkit-backface-visibility: hidden; + box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); + cursor: pointer; + transition: background 300ms ease; + -webkit-tap-highlight-color: transparent; + background: rgba(255, 255, 255, 0.2); + bottom: 0; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1002; } + @media only screen and (min-width:40.063em) { + .offcanvas-overlap-bottom .exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); } } + +.no-csstransforms .left-off-canvas-menu { + left: -15.625rem; } +.no-csstransforms .right-off-canvas-menu { + right: -15.625rem; } +.no-csstransforms .top-off-canvas-menu { + top: -18.75rem; } +.no-csstransforms .bottom-off-canvas-menu { + bottom: -18.75rem; } +.no-csstransforms .move-left > .inner-wrap { + right: 15.625rem; } +.no-csstransforms .move-right > .inner-wrap { + left: 15.625rem; } +.no-csstransforms .move-top > .inner-wrap { + right: 18.75rem; } +.no-csstransforms .move-bottom > .inner-wrap { + left: 18.75rem; } + +.left-submenu { + -webkit-backface-visibility: hidden; + -webkit-overflow-scrolling: touch; + background: #3b76c4; + bottom: 0; + box-sizing: content-box; + margin: 0; + overflow-x: hidden; + overflow-y: auto; + position: absolute; + top: 0; + width: 15.625rem; + height: 18.75rem; + z-index: 1002; + -webkit-transform: translate3d(-100%, 0, 0); + -moz-transform: translate3d(-100%, 0, 0); + -ms-transform: translate(-100%, 0); + -o-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + -webkit-transition: -webkit-transform 500ms ease; + -moz-transition: -moz-transform 500ms ease; + -ms-transition: -ms-transform 500ms ease; + -o-transition: -o-transform 500ms ease; + transition: transform 500ms ease; } + .left-submenu * { + -webkit-backface-visibility: hidden; } + .left-submenu .back > a { + background: #444; + border-bottom: none; + border-top: 1px solid #5e5e5e; + color: #999999; + font-weight: bold; + padding: .3rem 0.9375rem; + text-transform: uppercase; + margin: 0; } + .left-submenu .back > a:hover { + background: #303030; + border-bottom: none; + border-top: 1px solid #5e5e5e; } + .left-submenu .back > a:before { + content: "\AB"; + margin-right: .5rem; + display: inline; } + .left-submenu.move-right, .left-submenu.offcanvas-overlap-right, .left-submenu.offcanvas-overlap { + -webkit-transform: translate3d(0%, 0, 0); + -moz-transform: translate3d(0%, 0, 0); + -ms-transform: translate(0%, 0); + -o-transform: translate3d(0%, 0, 0); + transform: translate3d(0%, 0, 0); } + +.right-submenu { + -webkit-backface-visibility: hidden; + -webkit-overflow-scrolling: touch; + background: #3b76c4; + bottom: 0; + box-sizing: content-box; + margin: 0; + overflow-x: hidden; + overflow-y: auto; + position: absolute; + top: 0; + width: 15.625rem; + height: 18.75rem; + z-index: 1002; + -webkit-transform: translate3d(100%, 0, 0); + -moz-transform: translate3d(100%, 0, 0); + -ms-transform: translate(100%, 0); + -o-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + right: 0; + -webkit-transition: -webkit-transform 500ms ease; + -moz-transition: -moz-transform 500ms ease; + -ms-transition: -ms-transform 500ms ease; + -o-transition: -o-transform 500ms ease; + transition: transform 500ms ease; } + .right-submenu * { + -webkit-backface-visibility: hidden; } + .right-submenu .back > a { + background: #444; + border-bottom: none; + border-top: 1px solid #5e5e5e; + color: #999999; + font-weight: bold; + padding: .3rem 0.9375rem; + text-transform: uppercase; + margin: 0; } + .right-submenu .back > a:hover { + background: #303030; + border-bottom: none; + border-top: 1px solid #5e5e5e; } + .right-submenu .back > a:after { + content: "\BB"; + margin-left: .5rem; + display: inline; } + .right-submenu.move-left, .right-submenu.offcanvas-overlap-left, .right-submenu.offcanvas-overlap { + -webkit-transform: translate3d(0%, 0, 0); + -moz-transform: translate3d(0%, 0, 0); + -ms-transform: translate(0%, 0); + -o-transform: translate3d(0%, 0, 0); + transform: translate3d(0%, 0, 0); } + +.top-submenu { + -webkit-backface-visibility: hidden; + -webkit-overflow-scrolling: touch; + background: #3b76c4; + bottom: 0; + box-sizing: content-box; + margin: 0; + overflow-x: hidden; + overflow-y: auto; + position: absolute; + top: 0; + width: 15.625rem; + height: 18.75rem; + z-index: 1002; + -webkit-transform: translate3d(0, -100%, 0); + -moz-transform: translate3d(0, -100%, 0); + -ms-transform: translate(0, -100%); + -o-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + top: 0; + width: 100%; + -webkit-transition: -webkit-transform 500ms ease; + -moz-transition: -moz-transform 500ms ease; + -ms-transition: -ms-transform 500ms ease; + -o-transition: -o-transform 500ms ease; + transition: transform 500ms ease; } + .top-submenu * { + -webkit-backface-visibility: hidden; } + .top-submenu .back > a { + background: #444; + border-bottom: none; + border-top: 1px solid #5e5e5e; + color: #999999; + font-weight: bold; + padding: .3rem 0.9375rem; + text-transform: uppercase; + margin: 0; } + .top-submenu .back > a:hover { + background: #303030; + border-bottom: none; + border-top: 1px solid #5e5e5e; } + .top-submenu.move-bottom, .top-submenu.offcanvas-overlap-bottom, .top-submenu.offcanvas-overlap { + -webkit-transform: translate3d(0, 0%, 0); + -moz-transform: translate3d(0, 0%, 0); + -ms-transform: translate(0, 0%); + -o-transform: translate3d(0, 0%, 0); + transform: translate3d(0, 0%, 0); } + +.bottom-submenu { + -webkit-backface-visibility: hidden; + -webkit-overflow-scrolling: touch; + background: #3b76c4; + bottom: 0; + box-sizing: content-box; + margin: 0; + overflow-x: hidden; + overflow-y: auto; + position: absolute; + top: 0; + width: 15.625rem; + height: 18.75rem; + z-index: 1002; + -webkit-transform: translate3d(0, 100%, 0); + -moz-transform: translate3d(0, 100%, 0); + -ms-transform: translate(0, 100%); + -o-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + bottom: 0; + width: 100%; + -webkit-transition: -webkit-transform 500ms ease; + -moz-transition: -moz-transform 500ms ease; + -ms-transition: -ms-transform 500ms ease; + -o-transition: -o-transform 500ms ease; + transition: transform 500ms ease; } + .bottom-submenu * { + -webkit-backface-visibility: hidden; } + .bottom-submenu .back > a { + background: #444; + border-bottom: none; + border-top: 1px solid #5e5e5e; + color: #999999; + font-weight: bold; + padding: .3rem 0.9375rem; + text-transform: uppercase; + margin: 0; } + .bottom-submenu .back > a:hover { + background: #303030; + border-bottom: none; + border-top: 1px solid #5e5e5e; } + .bottom-submenu.move-top, .bottom-submenu.offcanvas-overlap-top, .bottom-submenu.offcanvas-overlap { + -webkit-transform: translate3d(0, 0%, 0); + -moz-transform: translate3d(0, 0%, 0); + -ms-transform: translate(0, 0%); + -o-transform: translate3d(0, 0%, 0); + transform: translate3d(0, 0%, 0); } + +.left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after { + content: "\BB"; + margin-left: .5rem; + display: inline; } + +.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before { + content: "\AB"; + margin-right: .5rem; + display: inline; } + +/* small displays */ +@media only screen { + .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { + display: inherit !important; } + .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { + display: none !important; } + .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; } + .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + overflow: hidden; + position: absolute !important; + width: 1px; } + table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { + display: table !important; } + thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { + display: table-header-group !important; } + tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { + display: table-row-group !important; } + tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { + display: table-row; } + th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { + display: table-cell !important; } } + +/* medium displays */ +@media only screen and (min-width:40.063em) { + .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { + display: inherit !important; } + .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { + display: none !important; } + .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; } + .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + overflow: hidden; + position: absolute !important; + width: 1px; } + table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { + display: table !important; } + thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { + display: table-header-group !important; } + tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { + display: table-row-group !important; } + tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { + display: table-row; } + th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { + display: table-cell !important; } } + +/* large displays */ +@media only screen and (min-width:64.063em) { + .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { + display: inherit !important; } + .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { + display: none !important; } + .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; } + .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + overflow: hidden; + position: absolute !important; + width: 1px; } + table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { + display: table !important; } + thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { + display: table-header-group !important; } + tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { + display: table-row-group !important; } + tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { + display: table-row; } + th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { + display: table-cell !important; } } + +/* xlarge displays */ +@media only screen and (min-width:90.063em) { + .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { + display: inherit !important; } + .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { + display: none !important; } + .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; } + .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + overflow: hidden; + position: absolute !important; + width: 1px; } + table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { + display: table !important; } + thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { + display: table-header-group !important; } + tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { + display: table-row-group !important; } + tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { + display: table-row; } + th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { + display: table-cell !important; } } + +/* xxlarge displays */ +@media only screen and (min-width:120.063em) { + .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down { + display: inherit !important; } + .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down { + display: none !important; } + .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; } + .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down { + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + overflow: hidden; + position: absolute !important; + width: 1px; } + table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down { + display: table !important; } + thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down { + display: table-header-group !important; } + tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down { + display: table-row-group !important; } + tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down { + display: table-row; } + th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { + display: table-cell !important; } } + +/* Orientation targeting */ +.show-for-landscape, .hide-for-portrait { + display: inherit !important; } + +.hide-for-landscape, .show-for-portrait { + display: none !important; } + +/* Specific visibility for tables */ +table.hide-for-landscape, table.show-for-portrait { + display: table !important; } + +thead.hide-for-landscape, thead.show-for-portrait { + display: table-header-group !important; } + +tbody.hide-for-landscape, tbody.show-for-portrait { + display: table-row-group !important; } + +tr.hide-for-landscape, tr.show-for-portrait { + display: table-row !important; } + +td.hide-for-landscape, td.show-for-portrait, th.hide-for-landscape, th.show-for-portrait { + display: table-cell !important; } + +@media only screen and (orientation: landscape) { + .show-for-landscape, .hide-for-portrait { + display: inherit !important; } + .hide-for-landscape, .show-for-portrait { + display: none !important; } + /* Specific visibility for tables */ + table.show-for-landscape, table.hide-for-portrait { + display: table !important; } + thead.show-for-landscape, thead.hide-for-portrait { + display: table-header-group !important; } + tbody.show-for-landscape, tbody.hide-for-portrait { + display: table-row-group !important; } + tr.show-for-landscape, tr.hide-for-portrait { + display: table-row !important; } + td.show-for-landscape, td.hide-for-portrait, th.show-for-landscape, th.hide-for-portrait { + display: table-cell !important; } } + +@media only screen and (orientation: portrait) { + .show-for-portrait, .hide-for-landscape { + display: inherit !important; } + .hide-for-portrait, .show-for-landscape { + display: none !important; } + /* Specific visibility for tables */ + table.show-for-portrait, table.hide-for-landscape { + display: table !important; } + thead.show-for-portrait, thead.hide-for-landscape { + display: table-header-group !important; } + tbody.show-for-portrait, tbody.hide-for-landscape { + display: table-row-group !important; } + tr.show-for-portrait, tr.hide-for-landscape { + display: table-row !important; } + td.show-for-portrait, td.hide-for-landscape, th.show-for-portrait, th.hide-for-landscape { + display: table-cell !important; } } + +/* Touch-enabled device targeting */ +.show-for-touch { + display: none !important; } + +.hide-for-touch { + display: inherit !important; } + +.touch .show-for-touch { + display: inherit !important; } + +.touch .hide-for-touch { + display: none !important; } + +/* Specific visibility for tables */ +table.hide-for-touch { + display: table !important; } + +.touch table.show-for-touch { + display: table !important; } + +thead.hide-for-touch { + display: table-header-group !important; } + +.touch thead.show-for-touch { + display: table-header-group !important; } + +tbody.hide-for-touch { + display: table-row-group !important; } + +.touch tbody.show-for-touch { + display: table-row-group !important; } + +tr.hide-for-touch { + display: table-row !important; } + +.touch tr.show-for-touch { + display: table-row !important; } + +td.hide-for-touch { + display: table-cell !important; } + +.touch td.show-for-touch { + display: table-cell !important; } + +th.hide-for-touch { + display: table-cell !important; } + +.touch th.show-for-touch { + display: table-cell !important; } + +/* Screen reader-specific classes */ +.show-for-sr { + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + overflow: hidden; + position: absolute !important; + width: 1px; } + +.show-on-focus { + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + overflow: hidden; + position: absolute !important; + width: 1px; } + .show-on-focus:focus, .show-on-focus:active { + position: static !important; + height: auto; + width: auto; + overflow: visible; + clip: auto; } + +/* Print visibility */ +.print-only, .show-for-print { + display: none !important; } + +@media print { + .print-only, .show-for-print { + display: block !important; } + .hide-on-print, .hide-for-print { + display: none !important; } + table.show-for-print { + display: table !important; } + thead.show-for-print { + display: table-header-group !important; } + tbody.show-for-print { + display: table-row-group !important; } + tr.show-for-print { + display: table-row !important; } + td.show-for-print { + display: table-cell !important; } + th.show-for-print { + display: table-cell !important; } } + +/* + Created on : Mar 5, 2015, 2:57:35 PM + Author : laury +*/ +img.aligncenter { + display: block; + clear: both; + float: none; + padding: 0; + margin-left: auto; + margin-right: auto; } + +img.alignright { + padding: 0; + margin: 0 0 6px 11px; + display: inline; } + +blockquote.alignleft, img.alignleft, .wp-caption.alignleft { + margin: 0.4375rem 2.1875rem 0.4375rem 0; } + +blockquote.alignright, img.alignright, .wp-caption.alignright { + margin: 0.4375rem 0 0.4375rem 2.1875rem; } + +img.alignleft { + padding: 0; + display: inline; } + +.alignright { + float: right; } + +.alignnone { + float: none; } + +.alignleft { + float: left; } + +.wp-caption { + width: auto; } + +.wp-caption-text { + font-family: Open Sans, sans-serif; + font-size: 9px; + color: #FFFFFF; + font-style: italic; + margin: 0; + padding: 0 5px; } + +.gallery-one-title { + height: 45px; + font-size: 0.8em; + text-align: center; + font-family: sans-serif; + padding: 5px; } + +.gallery-holder { + margin: 10px 0 20px 0; } + +@media 0em, 40em { + img.alignright, img.alignleft, img.aligncenter { + width: 70% !important; + display: block; + margin-left: auto; + margin-right: auto; + float: none; + text-align: center; } + div.wp-caption.alignright, div.wp-caption.alignleft { + width: 44% !important; + margin-left: auto; + margin-right: auto; + float: none; + text-align: center; } + div.wp-caption.aligncenter { + width: 85% !important; + margin-left: auto; + margin-right: auto; + float: none; + text-align: center; } + div.wp-caption.alignnone { + width: 85% !important; + float: none; } + div.wp-caption.alignright, div.wp-caption.alignleft, div.wp-caption.aligncenter { + width: 100%; } } + +@media 40.063em, 64em { + img.aligncenter, img.alignnone { + width: 70% !important; + display: block; + margin-left: auto; + margin-right: auto; + float: none; + text-align: center; } + div.wp-caption.aligncenter { + width: 74% !important; + margin-left: auto; + margin-right: auto; + float: none; + text-align: center; } + div.wp-caption.aligncenter { + width: 100%; } + div.wp-caption.alignnone { + width: 73% !important; + float: none; } } + +.wp-caption { + max-width: 100%; + margin: 10px 20px; + padding: 5px; + text-align: center; } + .wp-caption img { + width: 100%; } + .wp-caption p.wp-caption-text { + padding: 5px; + width: 100%; + margin: 0; + color: black; + font-size: 12px; } + .wp-caption.aligncenter { + margin: 10px auto; } + +@media only screen and (max-width: 40em) { + #blog-posts-over { + padding: 0 !important; + margin: 0 !important; } } + +.blog-posts-container { + margin: 30px 0 30px; } + .blog-posts-container embed, .blog-posts-container iframe, .blog-posts-container object, .blog-posts-container video { + max-width: 100%; } + .blog-posts-container a { + text-decoration: none; } + .blog-posts-container header.entry-header h2.entry-title a { + color: #222; + margin-left: 0; } + .blog-posts-container .wp-caption .wp-caption-text, .blog-posts-container .gallery-caption, .blog-posts-container .entry-caption { + overflow: hidden; + color: #757575; + font-size: 0.857143rem; + font-style: italic; + line-height: 2; } + .blog-posts-container .date { + font-size: 12px; } + .blog-posts-container footer.entry-meta { + color: #757575; + font-size: 0.928571rem; + line-height: 1.84615; + margin-top: 1.71429rem; + clear: both; + float: none; + margin-right: auto; } + .blog-posts-container footer { + background: none; + clear: both; + padding: 15px 0 0; + position: relative; + text-align: center; } + +#content-wrapper h1, #content-wrapper h2, #content-wrapper h3, #content-wrapper h4, #content-wrapper h5, #content-wrapper h6 { + clear: both; } + +.content { + background: #fff; + /* -webkit-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.75); + -moz-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.75); + box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.75);*/ + box-shadow: 3px 3px 8px -1px darkgrey; } + +#searchform_container { + margin-top: 20px; } + +#searchform { + max-width: 100%; + text-align: center; } + #searchform div input.blogbutton { + background: -webkit-linear-gradient(left, #1999ce 5%, #107098 100%); + background: -moz-linear-gradient(center top, #1999ce 5%, #107098 100%); + background: -ms-linear-gradient(left, #1999ce 5%, #107098 100%); } + +#blog-side-info { + border-left: 1px solid grey; + margin-top: 30px; + padding-left: 20px; } + @media only screen and (max-width: 40em) { + #blog-side-info { + text-align: center; } } + +h1, h2, h3, h4, h5, h6 { + clear: both; } + +/* PLUGINS */ +/* Nextgen */ +.gallery li a img { + display: block; + width: 100%; } + +.ngg-gallery-thumbnail, .ngg-gallery-thumbnail-box { + float: none !important; } + +.ngg-album-compact h4 .ngg-album-desc { + height: auto !important; + font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-weight: 400; } + +.ngg-album-compact .album-meta-wrapper h4 a { + font-style: normal; } + +.album-meta-wrapper { + display: block; + height: 54px; + margin-bottom: 20px; } + +.ngg-glmalbums { + margin: 10px 0; + min-height: 260px; } + @media only screen and (max-width: 40em) { + .ngg-glmalbums { + min-height: 180px; } } + +.ngg-album-link { + text-align: center; } + +/* Ninja Forms */ +.ninja-forms-form-wrap { + max-width: 600px; + margin: 0 auto; } + .ninja-forms-form-wrap input[type=submit] { + -webkit-appearance: none; + -moz-appearance: none; + border-radius: 0; + border-style: solid; + border-width: 0; + cursor: pointer; + font-family: "Open Sans", sans-serif; + font-weight: normal; + line-height: normal; + margin: 0 0 1.25rem; + position: relative; + text-align: center; + text-decoration: none; + display: inline-block; + padding: 1rem 2rem 1.0625rem 2rem; + font-size: 1rem; + background-color: #008CBA; + border-color: #007095; + color: #FFFFFF; + transition: background-color 300ms ease-out; + display: block; + margin: 0 auto; } + .ninja-forms-form-wrap input[type=submit]:hover, .ninja-forms-form-wrap input[type=submit]:focus { + background-color: #007095; } + .ninja-forms-form-wrap input[type=submit]:hover, .ninja-forms-form-wrap input[type=submit]:focus { + color: #FFFFFF; } + +/* For fixing cellphones not showing phone numbers because of /helpful/ auto-coloring */ +a[href^=tel] { + color: inherit; + text-decoration: none; } + +body .shadow-wrapper { + margin: 0 auto; + background: #FFFFFF; + box-shadow: 0 0 15px -6px #000000; + -ms-box-shadow: 0 0 15px -6px #000000; + -moz-box-shadow: 0 0 15px -6px #000000; + -webkit-box-shadow: 0 0 15px -6px #000000; + max-width: 1000px; + padding-top: 1.25rem; } + +header { + height: auto; } + header #logo img { + margin-bottom: 15px; } + header .search input { + height: 20px; + width: 167px; + padding: 0 8px; + margin: 13px 0px 0px 18px; + border-radius: 3px; + font-size: 10px; + color: #000000; + display: inline-block; } + header .search a.magnifying-glass { + font-size: 10em; + /* This controls the size. */ + display: inline-block; + width: 0.625rem; + height: 0.625rem; + border: 0.125rem solid #808285; + position: relative; + border-radius: 0.35em; + margin: 0 0 0 -25px; } + header .search a.magnifying-glass:before { + content: ""; + display: inline-block; + position: absolute; + right: -0.4375rem; + bottom: -0.25rem; + border-width: 0; + background: #808285; + width: 0.5rem; + height: 0.125rem; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); } + header #sec-nav { + position: relative; + text-align: left; + padding: 10px 0; + margin: 0 0 15px 45px; } + header #sec-nav ul { + margin: 0; } + header #sec-nav ul li { + display: inline; } + header #sec-nav ul li a { + font-size: 12px; + color: #808285; + padding: 0 5px; + font-weight: bold; } + header #sec-nav > ul > li { + position: relative; } + header #sec-nav > ul > li:before { + color: #999999; + content: "|"; + position: absolute; + top: 2px; + left: -15px; + font-size: 14px; + font-weight: bold; + display: block; + padding: 0 10px; } + header #sec-nav > ul > li:first-child:before { + content: none; } + header img { + margin-left: 5px; } + header .social { + margin-top: -25px; + padding-right: 0; } + header .social a { + float: right; + margin: 0 5px; } + header .social a img { + margin: 0; } + +.contain-to-grid { + box-shadow: 0 5px 10px -1px #999999; } + .contain-to-grid .top-bar { + height: 73px; + box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.5); + margin-bottom: 10px; } + +.tab-bar .tab-bar-section.middle { + text-align: right; } + +.top-bar-section { + background: transparent; + float: none; + margin-left: auto; + margin-right: auto; + display: inline-block; + height: auto; + line-height: 1; } + .top-bar-section ul li:not(.has-form):not(.active) > a:not(.button) { + background: transparent; } + +.breadcrumbs { + margin-top: 10px; } + +#content-bulk #con { + margin: 0; } +#content-bulk h2 { + text-transform: uppercase; + font-size: 25px; } +#content-bulk footer { + margin: 35px 0; } + #content-bulk footer #address { + margin-top: 25px; } + #content-bulk footer #address p { + font-size: 12px; + margin-top: 5px; } + #content-bulk footer #address img { + margin: 0; + padding-right: 5px; } + #content-bulk footer #address a { + font-size: 12px; } + #content-bulk footer img { + box-shadow: none; } + +.st_sharethis { + float: right; + width: 58px; } + +body .stButton .sharethis { + background-image: url("../assets/share-icon.png") !important; + width: 52px; + height: 22px; } + +#slideshow #caption { + background: rgba(0, 0, 0, 0.75); + color: #FFFFFF; + margin-top: -51px; } + #slideshow #caption p { + padding: 10px 5px; + font-size: 12px; + margin: 0; + text-align: right; } + +/* NextGen Gallery */ +.ngg-gallery-thumbnail, .ngg-gallery-thumbnail-box { + float: none !important; } + +.gallery li a img { + display: block; + width: 100%; } + +.ngg-gallery-thumbnail, .ngg-gallery-thumbnail-box { + float: none !important; } + +.ngg-album-compact h4 .ngg-album-desc { + height: auto !important; + font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-weight: 400; } + +.ngg-album-compact .album-meta-wrapper h4 a { + font-style: normal; } + +.album-meta-wrapper { + display: block; + height: 54px; + margin-bottom: 20px; } + +.ngg-glmalbums { + margin: 10px 0; } + +/* Ninja Forms */ +.ninja-forms-form-wrap { + max-width: 600px; + margin: 0 auto; } + .ninja-forms-form-wrap input[type=submit] { + -webkit-appearance: none; + -moz-appearance: none; + border-radius: 0; + border-style: solid; + border-width: 0; + cursor: pointer; + font-family: "Open Sans", sans-serif; + font-weight: normal; + line-height: normal; + margin: 0 0 1.25rem; + position: relative; + text-align: center; + text-decoration: none; + display: inline-block; + padding: 1rem 2rem 1.0625rem 2rem; + font-size: 1rem; + background-color: #008CBA; + border-color: #007095; + color: #FFFFFF; + transition: background-color 300ms ease-out; + display: block; + margin: 0 auto; } + .ninja-forms-form-wrap input[type=submit]:hover, .ninja-forms-form-wrap input[type=submit]:focus { + background-color: #007095; } + .ninja-forms-form-wrap input[type=submit]:hover, .ninja-forms-form-wrap input[type=submit]:focus { + color: #FFFFFF; } + +/* End NextGen Gallery */ +#blog-posts-over article.ai1ec_event { + padding: 10px; } + +/* These are the basic styles for calendar, there are several others that can be added from the calendar's mark up. + These styles are primarily for the buttons, columns headers, and the over all calendar body. More selectors will + be necessary when getting deeper into the calendar's mark up to style elements +*/ +#eventCalendar { + /* contains all of the buttons above the calendar, on left and right */ + /* entire calendar body */ } + #eventCalendar .fc-toolbar { + /* apply button styles here to affect all of the calendar buttons */ + /* currently selected button styles */ + /* affect only today, prev and next buttons (buttons on the above the left side of the calendar*/ + /* affect only month, week, day buttons (buttons above the right side of the calendar) */ + /* Calendar Title / Current Month or Date */ } + #eventCalendar .fc-view-container { + /* dates, days or months at the top of each column (sun, mon, tue, wed, thur, fri, sat) */ } + +.home-feed-post { + padding-bottom: 25px; } + +input[type="submit"].blogbutton { + border-radius: 3px; + color: #FFFFFF; + border: 2px solid #FFFFFF; + font-weight: bold; + font-size: 13px; + padding: 2px 5px; + margin-top: -10px; + text-transform: uppercase; } + input[type="submit"].blogbutton:hover { + cursor: pointer; + background: #FFFFFF; + border: 2px solid #035C84; + color: white; } + +#blog-posts-over article { + padding-top: 10px; + margin-bottom: 15px; + display: inline-block; + width: 100%; } + #blog-posts-over article .entry-header { + background: transparent; } + #blog-posts-over article #addthis_wrapper { + margin-top: -25px; } + #blog-posts-over article p { + padding-bottom: 15px; } + #blog-posts-over article a.read-more { + border: 2px solid #FFFFFF; + font-weight: bold; + font-size: 13px; + padding: 0 3px; + text-transform: uppercase; } + #blog-posts-over article a.read-more:hover { + background: #FFFFFF; + border: 2px solid #035C84; + color: #035C84; } + #blog-posts-over article .entry-header { + margin-bottom: 10px; } + #blog-posts-over article .entry-header .entry-title { + margin-bottom: 0; } + #blog-posts-over article .entry-header .meta.date { + font-size: 13px; + font-weight: bold; } + +/*#searchform div input &[type="text"] { + width: 95%; +}*/ +#blog-posts-over .entry-meta { + text-align: center; + color: #757575; + font-size: 12px; } + +#blog-posts-over > div { + margin: 25px 0; } + +#blog-side-info #searchform { + margin-bottom: 30px; } +#blog-side-info p { + margin-bottom: 0; } + +@media only screen and (max-width: 40em) { + #blog-side-info-wrapper { + float: none; + margin: 0 auto; + clear: both; } + #blog-side-info { + padding-left: 0; + border-left: 0; } + #blog-side-info ul { + margin-left: 0; + margin-top: 10px; } + #blog-side-info #searchform { + padding: 35px 0; } + #blog-side-info #searchform #s { + width: 100%; } } + +#blog-side-info { + padding-right: 10px; } + #blog-side-info ul { + list-style-type: none; } + +.blog-archive .featured-image-wrap, .blog-home .featured-image-wrap { + display: none; } + +#sidebar { + padding-top: 25px; + background: #f2f9fc; } + #sidebar .row.collapse { + margin-left: 14px; } + #sidebar li { + list-style: none; } + #sidebar li #calendar_wrap table#wp-calendar { + margin: 0 auto; } + #sidebar a { + font-size: 12px; } + #sidebar form { + margin: 0 12px 0 14px; } + #sidebar form select { + padding: 0 0.5rem; + border-radius: 5px; + height: 25px; + margin: 0; } + #sidebar form select option { + font-size: 10px; } + #sidebar .small-block-grid-2 { + margin-top: 10px; } + #sidebar .small-block-grid-2 li { + padding: 0 0.625rem 0.625rem; } + #sidebar .small-block-grid-2 li img { + border: 2px solid lightblue; } + #sidebar .small-block-grid-2 > li:nth-of-type(2), #sidebar .small-block-grid-2 > li:nth-of-type(4) { + padding-left: 0; } + #sidebar .small-block-grid-2 > li:nth-of-type(3), #sidebar .small-block-grid-2 > li:nth-of-type(4) { + padding-bottom: 20px; } + #sidebar h3 { + margin: 20px 0 0; } + #sidebar h1 { + margin: 0; + font-size: 1.5625rem; + text-transform: none; } + #sidebar input { + padding: 5px 0 5px 8px; + height: auto; + margin: 10px 0; } + #sidebar button { + border-radius: 2px; + padding: 0 10px; } + +#side-nav { + padding-top: 10px; + background: #f2f9fc; } + #side-nav h1 { + font-size: 1.375rem; + /* margin: 5px 0 25px;*/ } + #side-nav h4 { + font-weight: bold; + margin-left: 10px; } + #side-nav li { + list-style: none; } + #side-nav ul { + list-style: none; + margin: 0 0 20px; } + #side-nav ul li { + margin: 0 -15px; + padding: 5px 10px 5px 25px; } + #side-nav ul li:hover { + background: #81adc1; } + #side-nav ul li a { + color: darkblue; } + #side-nav ul li a:hover { + color: #FFFFFF; } + #side-nav h3 { + text-transform: none; + margin: 0; } + #side-nav input { + padding: 5px 0 5px 8px; + height: auto; + margin-bottom: 10px; } + #side-nav button { + border-radius: 2px; + padding: 0 10px; } + +#extra { + margin-top: 15px; } + #extra p { + line-height: 1.3; } + #extra p.title { + margin: 0; } + #extra p.title#last { + padding-top: 10px; } + #extra p#message { + text-transform: uppercase; + color: lightblue; + font-size: 0.9375rem; + margin: 40px 0; } + +.county-news { + font-weight: bold; } + +.current_page_item a { + font-weight: bold; } + +.search-top #searchform { + text-align: left; + display: inline-block; + position: relative; } + .search-top #searchform #search-button { + width: 22px; + right: 0px; + position: absolute; + padding: 0; + border: 1px solid lightgray; } +.search-top input { + height: 20px; + width: 167px; + padding: 0 8px; + margin: 13px 0px 0px 18px; + border-radius: 3px; + font-size: 10px; + color: #000000; + display: inline-block; } +.search-top a.magnifying-glass { + font-size: 10em; + /* This controls the size. */ + width: 0.75rem; + height: 0.75rem; + border: 0.125rem solid darkblue; + position: absolute; + top: 15px; + border-radius: 0.35em; + margin: 0 0 0 -20px; } + .search-top a.magnifying-glass:before { + content: ""; + display: inline-block; + position: absolute; + right: -0.4375rem; + bottom: -0.25rem; + border-width: 0; + background: darkblue; + width: 0.5rem; + height: 0.125rem; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); } + +.search-results #blog-posts-over .search-result-container header.entry-header { + margin-bottom: 0px; } +.search-results #blog-posts-over .search-result-container .search_result_context { + margin: 0; + padding: 0; + line-height: 1.3; } +.search-results #blog-posts-over .search-result-container article p { + margin: 0; + padding: 0; } + +footer.main { + position: absolute; + bottom: 0; + left: 0; + right: 0; } + @media only screen and (max-width: 1024px) { + footer.main { + position: relative; + bottom: 0; } } + +#footer_address span { + white-space: nowrap; } + +#connect { + padding-top: 20px; + background: #4c4d4f; } + #connect ul { + margin: 0; + list-style: none; } + #connect ul li { + background: none; + padding: 0 5px; + display: inline-block; } + #connect ul li > a { + display: block; + font-family: Open Sans, sans-serif; + font-size: 12px; + color: #fff; + padding: 20px 18px; + line-height: 1.2; } + #connect ul li a#current { + background: #3b76c4; } + +#copyright { + padding: 20px 0; + margin: 0 auto; + float: none; } + #copyright span { + font-size: 0.625rem; } + #copyright a { + color: #000000; } + +#footer_address span.bullet, #copyright span.bullet { + margin: 0 5px; } + @media only screen and (max-width: 40em) { + #footer_address span.bullet, #copyright span.bullet { + display: none !important; } } + +.off-canvas-wrap { + min-height: 100%; } + .off-canvas-wrap .inner-wrap { + min-height: 100vh; + height: 100%; } + +#example.element { + background-color: transparent; } + +/* for the mobile menu */ +aside.left-off-canvas-menu li.page_item { + display: block; + overflow: hidden; + position: relative; + padding: 4px 8px; } + +aside.left-off-canvas-menu .off-canvas-list ul li a { + line-height: 20px; + color: white; + border-bottom: 1px solid #b1b3b6; + background-repeat: no-repeat; + background-position: 3px 50%; } + +aside.left-off-canvas-menu li.page_item_has_children a.toggle { + position: absolute; + right: 10px; + top: 5px; + text-decoration: none; } + aside.left-off-canvas-menu li.page_item_has_children a.toggle:before { + content: '>'; + transform: rotate(0deg); + color: #FFFFFF; + height: 17px; + width: 17px; + font-size: 17px; + font-weight: bold; + display: block; } + aside.left-off-canvas-menu li.page_item_has_children a.toggle:hover { + background: transparent; } + +aside.left-off-canvas-menu li.page_item_has_children a.toggle.open { + content: '>'; + transform: rotate(90deg); + color: #FFFFFF; + height: 1rem; + width: 1rem; + font-size: 1rem; + font-weight: bold; + display: block; } + +aside.left-off-canvas-menu ul.children { + display: none; } + +aside.left-off-canvas-menu .off-canvas-list ul li > ul li > a { + padding-left: 10px; + margin-left: 25px; + line-height: 18px; } + +aside.left-off-canvas-menu ul.open { + display: block; } + +.left-off-canvas-menu { + list-style: none; } + .left-off-canvas-menu li a { + color: #FFFFFF; + font-size: 1rem; + line-height: 150%; + border-color: white; } + .left-off-canvas-menu li a:hover { + color: black; } + .left-off-canvas-menu li .dropdown { + list-style: none; } + .left-off-canvas-menu ul { + list-style: none; + padding: 10px 0; } + .left-off-canvas-menu ul li a { + color: #FFFFFF; } + .left-off-canvas-menu ul li ul { + list-style: none; } + .left-off-canvas-menu ul li ul li a { + width: 85%; + display: block; + white-space: pre-wrap; } + +.offcavas-social-list { + list-style: none; + margin-top: 0; + margin-bottom: 1.0625rem; + margin-left: -1.375rem; + margin-right: 0; + overflow: hidden; + padding: 0; + margin-left: auto; } + .offcavas-social-list > li { + display: block; + float: left; + list-style: none; + margin-left: 1.375rem; } + .offcavas-social-list > li > * { + display: block; } + +/* End Mobile Menu */ +/*# sourceMappingURL=app.css.map */ \ No newline at end of file diff --git a/css/app.css.map b/css/app.css.map new file mode 100644 index 0000000..cc41165 --- /dev/null +++ b/css/app.css.map @@ -0,0 +1,73 @@ +{ + "version": 3, + "file": "app.css", + "sources": [ + "../app.scss", + "../_settings.scss", + "../../bower_components/foundation/scss/foundation.scss", + "../_mixins.scss", + "../_wordpress.scss", + "../_defaults.scss", + "../_body.scss", + "../_page.header.scss", + "../_topbar.scss", + "../_main.scss", + "../_slideshow.scss", + "../_plugins.scss", + "../_blog.scss", + "../_sidebar.scss", + "../_search.scss", + "../_page.footer.scss", + "../_copyright.scss", + "../_structure.scss", + "../_left-off-canvas.scss", + "../../bower_components/foundation/scss/foundation/_functions.scss", + "../../bower_components/foundation/scss/foundation/components/_grid.scss", + "../../bower_components/foundation/scss/foundation/components/_accordion.scss", + "../../bower_components/foundation/scss/foundation/components/_alert-boxes.scss", + "../../bower_components/foundation/scss/foundation/components/_block-grid.scss", + "../../bower_components/foundation/scss/foundation/components/_breadcrumbs.scss", + "../../bower_components/foundation/scss/foundation/components/_button-groups.scss", + "../../bower_components/foundation/scss/foundation/components/_buttons.scss", + "../../bower_components/foundation/scss/foundation/components/_clearing.scss", + "../../bower_components/foundation/scss/foundation/components/_dropdown.scss", + "../../bower_components/foundation/scss/foundation/components/_dropdown-buttons.scss", + "../../bower_components/foundation/scss/foundation/components/_flex-video.scss", + "../../bower_components/foundation/scss/foundation/components/_forms.scss", + "../../bower_components/foundation/scss/foundation/components/_icon-bar.scss", + "../../bower_components/foundation/scss/foundation/components/_inline-lists.scss", + "../../bower_components/foundation/scss/foundation/components/_joyride.scss", + "../../bower_components/foundation/scss/foundation/components/_keystrokes.scss", + "../../bower_components/foundation/scss/foundation/components/_labels.scss", + "../../bower_components/foundation/scss/foundation/components/_magellan.scss", + "../../bower_components/foundation/scss/foundation/components/_orbit.scss", + "../../bower_components/foundation/scss/foundation/components/_pagination.scss", + "../../bower_components/foundation/scss/foundation/components/_panels.scss", + "../../bower_components/foundation/scss/foundation/components/_pricing-tables.scss", + "../../bower_components/foundation/scss/foundation/components/_progress-bars.scss", + "../../bower_components/foundation/scss/foundation/components/_range-slider.scss", + "../../bower_components/foundation/scss/foundation/components/_reveal.scss", + "../../bower_components/foundation/scss/foundation/components/_side-nav.scss", + "../../bower_components/foundation/scss/foundation/components/_split-buttons.scss", + "../../bower_components/foundation/scss/foundation/components/_sub-nav.scss", + "../../bower_components/foundation/scss/foundation/components/_switches.scss", + "../../bower_components/foundation/scss/foundation/components/_tables.scss", + "../../bower_components/foundation/scss/foundation/components/_tabs.scss", + "../../bower_components/foundation/scss/foundation/components/_thumbs.scss", + "../../bower_components/foundation/scss/foundation/components/_tooltips.scss", + "../../bower_components/foundation/scss/foundation/components/_top-bar.scss", + "../../bower_components/foundation/scss/foundation/components/_type.scss", + "../../bower_components/foundation/scss/foundation/components/_offcanvas.scss", + "../../bower_components/foundation/scss/foundation/components/_visibility.scss", + "../mixins/_gradient.scss", + "../mixins/_off-canvas-arrow.scss", + "../plugins/_nextgen.scss", + "../plugins/_gravityForms.scss", + "../plugins/_events.scss", + "../plugins/_fullCalendar.scss", + "../../bower_components/foundation/scss/foundation/components/_global.scss" + ], + "sourcesContent": [], + "mappings": "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", + "names": [] +} \ No newline at end of file diff --git a/js/app.js b/js/app.js new file mode 100644 index 0000000..1481ce2 --- /dev/null +++ b/js/app.js @@ -0,0 +1,33 @@ +/* + * To avoid conflicts, Wordpress tends to prefer jQuery being used over $. + * As long as this file is included, no such conflicts should arise. Ensure it + * is called before other .js files using $. + */ +var $=jQuery.noConflict();;!function(a,b,c,d){"use strict";function e(a){return("string"==typeof a||a instanceof String)&&(a=a.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g,"")),a}function f(a){this.selector=a,this.query=""}var g=function(b){var c=a("head");c.prepend(a.map(b,function(a){return 0===c.has("."+a).length?'':void 0}))};g(["foundation-mq-small","foundation-mq-small-only","foundation-mq-medium","foundation-mq-medium-only","foundation-mq-large","foundation-mq-large-only","foundation-mq-xlarge","foundation-mq-xlarge-only","foundation-mq-xxlarge","foundation-data-attribute-namespace"]),a(function(){"undefined"!=typeof FastClick&&"undefined"!=typeof c.body&&FastClick.attach(c.body)});var h=function(b,d){if("string"==typeof b){if(d){var e;if(d.jquery){if(e=d[0],!e)return d}else e=d;return a(e.querySelectorAll(b))}return a(c.querySelectorAll(b))}return a(b,d)},i=function(a){var b=[];return a||b.push("data"),this.namespace.length>0&&b.push(this.namespace),b.push(this.name),b.join("-")},j=function(a){for(var b=a.split("-"),c=b.length,d=[];c--;)0!==c?d.push(b[c]):this.namespace.length>0?d.push(this.namespace,b[c]):d.push(b[c]);return d.reverse().join("-")},k=function(b,c){var d=this,e=function(){var e=h(this),f=!e.data(d.attr_name(!0)+"-init");e.data(d.attr_name(!0)+"-init",a.extend({},d.settings,c||b,d.data_options(e))),f&&d.events(this)};return h(this.scope).is("["+this.attr_name()+"]")?e.call(this.scope):h("["+this.attr_name()+"]",this.scope).each(e),"string"==typeof b?this[b].call(this,c):void 0},l=function(a,b){function c(){b(a[0])}function d(){if(this.one("load",c),/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var a=this.attr("src"),b=a.match(/\?/)?"&":"?";b+="random="+(new Date).getTime(),this.attr("src",a+b)}}return a.attr("src")?void(a[0].complete||4===a[0].readyState?c():d.call(a)):void c()};/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */ +b.matchMedia||(b.matchMedia=function(){var a=b.styleMedia||b.media;if(!a){var d=c.createElement("style"),e=c.getElementsByTagName("script")[0],f=null;d.type="text/css",d.id="matchmediajs-test",e.parentNode.insertBefore(d,e),f="getComputedStyle"in b&&b.getComputedStyle(d,null)||d.currentStyle,a={matchMedium:function(a){var b="@media "+a+"{ #matchmediajs-test { width: 1px; } }";return d.styleSheet?d.styleSheet.cssText=b:d.textContent=b,"1px"===f.width}}}return function(b){return{matches:a.matchMedium(b||"all"),media:b||"all"}}}()),function(a){function c(){d&&(g(c),i&&a.fx.tick())}for(var d,e=0,f=["webkit","moz"],g=b.requestAnimationFrame,h=b.cancelAnimationFrame,i="undefined"!=typeof a.fx;e").appendTo("head")[0].sheet,global:{namespace:d},init:function(a,c,d,e,f){var g=[a,d,e,f],i=[];if(this.rtl=/rtl/i.test(h("html").attr("dir")),this.scope=a||this.scope,this.set_namespace(),c&&"string"==typeof c&&!/reflow/i.test(c))this.libs.hasOwnProperty(c)&&i.push(this.init_lib(c,g));else for(var j in this.libs)i.push(this.init_lib(j,c));return h(b).load(function(){h(b).trigger("resize.fndtn.clearing").trigger("resize.fndtn.dropdown").trigger("resize.fndtn.equalizer").trigger("resize.fndtn.interchange").trigger("resize.fndtn.joyride").trigger("resize.fndtn.magellan").trigger("resize.fndtn.topbar").trigger("resize.fndtn.slider")}),a},init_lib:function(b,c){return this.libs.hasOwnProperty(b)?(this.patch(this.libs[b]),c&&c.hasOwnProperty(b)?("undefined"!=typeof this.libs[b].settings?a.extend(!0,this.libs[b].settings,c[b]):"undefined"!=typeof this.libs[b].defaults&&a.extend(!0,this.libs[b].defaults,c[b]),this.libs[b].init.apply(this.libs[b],[this.scope,c[b]])):(c=c instanceof Array?c:new Array(c),this.libs[b].init.apply(this.libs[b],c))):function(){}},patch:function(a){a.scope=this.scope,a.namespace=this.global.namespace,a.rtl=this.rtl,a.data_options=this.utils.data_options,a.attr_name=i,a.add_namespace=j,a.bindings=k,a.S=this.utils.S},inherit:function(a,b){for(var c=b.split(" "),d=c.length;d--;)this.utils.hasOwnProperty(c[d])&&(a[c[d]]=this.utils[c[d]])},set_namespace:function(){var b=this.global.namespace===d?a(".foundation-data-attribute-namespace").css("font-family"):this.global.namespace;this.global.namespace=b===d||/false/i.test(b)?"":b},libs:{},utils:{S:h,throttle:function(a,b){var c=null;return function(){var d=this,e=arguments;null==c&&(c=setTimeout(function(){a.apply(d,e),c=null},b))}},debounce:function(a,b,c){var d,e;return function(){var f=this,g=arguments,h=function(){d=null,c||(e=a.apply(f,g))},i=c&&!d;return clearTimeout(d),d=setTimeout(h,b),i&&(e=a.apply(f,g)),e}},data_options:function(b,c){function d(a){return!isNaN(a-0)&&null!==a&&""!==a&&a!==!1&&a!==!0}function e(b){return"string"==typeof b?a.trim(b):b}c=c||"options";var f,g,h,i={},j=function(a){var b=Foundation.global.namespace;return b.length>0?a.data(b+"-"+c):a.data(c)},k=j(b);if("object"==typeof k)return k;for(h=(k||":").split(";"),f=h.length;f--;)g=h[f].split(":"),g=[g[0],g.slice(1).join(":")],/true/i.test(g[1])&&(g[1]=!0),/false/i.test(g[1])&&(g[1]=!1),d(g[1])&&(-1===g[1].indexOf(".")?g[1]=parseInt(g[1],10):g[1]=parseFloat(g[1])),2===g.length&&g[0].length>0&&(i[e(g[0])]=e(g[1]));return i},register_media:function(b,c){Foundation.media_queries[b]===d&&(a("head").append(''),Foundation.media_queries[b]=e(a("."+c).css("font-family")))},add_custom_rule:function(a,b){if(b===d&&Foundation.stylesheet)Foundation.stylesheet.insertRule(a,Foundation.stylesheet.cssRules.length);else{var c=Foundation.media_queries[b];c!==d&&Foundation.stylesheet.insertRule("@media "+Foundation.media_queries[b]+"{ "+a+" }",Foundation.stylesheet.cssRules.length)}},image_loaded:function(a,b){function c(a){for(var b=a.length,c=b-1;c>=0;c--)if(a.attr("height")===d)return!1;return!0}var e=this,f=a.length;(0===f||c(a))&&b(a),a.each(function(){l(e.S(this),function(){f-=1,0===f&&b(a)})})},random_str:function(){return this.fidx||(this.fidx=0),this.prefix=this.prefix||[this.name||"F",(+new Date).toString(36)].join("-"),this.prefix+(this.fidx++).toString(36)},match:function(a){return b.matchMedia(a).matches},is_small_up:function(){return this.match(Foundation.media_queries.small)},is_medium_up:function(){return this.match(Foundation.media_queries.medium)},is_large_up:function(){return this.match(Foundation.media_queries.large)},is_xlarge_up:function(){return this.match(Foundation.media_queries.xlarge)},is_xxlarge_up:function(){return this.match(Foundation.media_queries.xxlarge)},is_small_only:function(){return!(this.is_medium_up()||this.is_large_up()||this.is_xlarge_up()||this.is_xxlarge_up())},is_medium_only:function(){return this.is_medium_up()&&!this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_large_only:function(){return this.is_medium_up()&&this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xxlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&this.is_xxlarge_up()}}},a.fn.foundation=function(){var a=Array.prototype.slice.call(arguments,0);return this.each(function(){return Foundation.init.apply(Foundation,[this].concat(a)),this})}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.abide={name:"abide",version:"5.5.3",settings:{live_validate:!0,validate_on_blur:!0,focus_on_invalid:!0,error_labels:!0,error_class:"error",timeout:1e3,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/},validators:{equalTo:function(a,b,d){var e=c.getElementById(a.getAttribute(this.add_namespace("data-equalto"))).value,f=a.value,g=e===f;return g}}},timer:null,init:function(a,b,c){this.bindings(b,c)},events:function(b){function c(a,b){clearTimeout(d.timer),d.timer=setTimeout(function(){d.validate([a],b)}.bind(a),f.timeout)}var d=this,e=d.S(b).attr("novalidate","novalidate"),f=e.data(this.attr_name(!0)+"-init")||{};this.invalid_attr=this.add_namespace("data-invalid"),e.off(".abide").on("submit.fndtn.abide",function(a){var b=/ajax/i.test(d.S(this).attr(d.attr_name()));return d.validate(d.S(this).find("input, textarea, select").not(":hidden, [data-abide-ignore]").get(),a,b)}).on("validate.fndtn.abide",function(a){"manual"===f.validate_on&&d.validate([a.target],a)}).on("reset",function(b){return d.reset(a(this),b)}).find("input, textarea, select").not(":hidden, [data-abide-ignore]").off(".abide").on("blur.fndtn.abide change.fndtn.abide",function(a){var b=this.getAttribute("id"),d=e.find('[data-equalto="'+b+'"]');f.validate_on_blur&&f.validate_on_blur===!0&&c(this,a),"undefined"!=typeof d.get(0)&&d.val().length&&c(d.get(0),a),"change"===f.validate_on&&c(this,a)}).on("keydown.fndtn.abide",function(a){var b=this.getAttribute("id"),d=e.find('[data-equalto="'+b+'"]');f.live_validate&&f.live_validate===!0&&9!=a.which&&c(this,a),"undefined"!=typeof d.get(0)&&d.val().length&&c(d.get(0),a),"tab"===f.validate_on&&9===a.which?c(this,a):"change"===f.validate_on&&c(this,a)}).on("focus",function(b){navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)&&a("html, body").animate({scrollTop:a(b.target).offset().top},100)})},reset:function(b,c){var d=this;b.removeAttr(d.invalid_attr),a("["+d.invalid_attr+"]",b).removeAttr(d.invalid_attr),a("."+d.settings.error_class,b).not("small").removeClass(d.settings.error_class),a(":input",b).not(":button, :submit, :reset, :hidden, [data-abide-ignore]").val("").removeAttr(d.invalid_attr)},validate:function(a,b,c){for(var d=this.parse_patterns(a),e=d.length,f=this.S(a[0]).closest("form"),g=/submit/.test(b.type),h=0;e>h;h++)if(!d[h]&&(g||c))return this.settings.focus_on_invalid&&a[h].focus(),f.trigger("invalid.fndtn.abide"),this.S(a[h]).closest("form").attr(this.invalid_attr,""),!1;return(g||c)&&f.trigger("valid.fndtn.abide"),f.removeAttr(this.invalid_attr),c?!1:!0},parse_patterns:function(a){for(var b=a.length,c=[];b--;)c.push(this.pattern(a[b]));return this.check_validation_and_apply_styles(c)},pattern:function(a){var b=a.getAttribute("type"),c="string"==typeof a.getAttribute("required"),d=a.getAttribute("pattern")||"";return this.settings.patterns.hasOwnProperty(d)&&d.length>0?[a,this.settings.patterns[d],c]:d.length>0?[a,new RegExp(d),c]:this.settings.patterns.hasOwnProperty(b)?[a,this.settings.patterns[b],c]:(d=/.*/,[a,d,c])},check_validation_and_apply_styles:function(b){var c=b.length,d=[];if(0==c)return d;var e=this.S(b[0][0]).closest("[data-"+this.attr_name(!0)+"]");for(e.data(this.attr_name(!0)+"-init")||{};c--;){var f,g,h=b[c][0],i=b[c][2],j=h.value.trim(),k=this.S(h).parent(),l=h.getAttribute(this.add_namespace("data-abide-validator")),m="radio"===h.type,n="checkbox"===h.type,o=this.S('label[for="'+h.getAttribute("id")+'"]'),p=i?h.value.length>0:!0,q=[];if(h.getAttribute(this.add_namespace("data-equalto"))&&(l="equalTo"),f=k.is("label")?k.parent():k,m&&i)q.push(this.valid_radio(h,i));else if(n&&i)q.push(this.valid_checkbox(h,i));else if(l){for(var r=l.split(" "),s=!0,t=!0,u=0;u0&&this.settings.error_labels&&o.removeClass(this.settings.error_class).removeAttr("role"),a(h).triggerHandler("valid")):(this.S(h).attr(this.invalid_attr,""),f.addClass("error"),o.length>0&&this.settings.error_labels&&o.addClass(this.settings.error_class).attr("role","alert"),a(h).triggerHandler("invalid"))}else if(b[c][1].test(j)&&p||!i&&h.value.length<1||a(h).attr("disabled")?q.push(!0):q.push(!1),q=[q.every(function(a){return a})],q[0])this.S(h).removeAttr(this.invalid_attr),h.setAttribute("aria-invalid","false"),h.removeAttribute("aria-describedby"),f.removeClass(this.settings.error_class),o.length>0&&this.settings.error_labels&&o.removeClass(this.settings.error_class).removeAttr("role"),a(h).triggerHandler("valid");else{this.S(h).attr(this.invalid_attr,""),h.setAttribute("aria-invalid","true");var v=f.find("small."+this.settings.error_class,"span."+this.settings.error_class),w=v.length>0?v[0].id:"";w.length>0&&h.setAttribute("aria-describedby",w),f.addClass(this.settings.error_class),o.length>0&&this.settings.error_labels&&o.addClass(this.settings.error_class).attr("role","alert"),a(h).triggerHandler("invalid")}d=d.concat(q)}return d},valid_checkbox:function(b,c){var b=this.S(b),d=b.is(":checked")||!c||b.get(0).getAttribute("disabled");return d?(b.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),a(b).triggerHandler("valid")):(b.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),a(b).triggerHandler("invalid")),d},valid_radio:function(b,c){for(var d=b.getAttribute("name"),e=this.S(b).closest("[data-"+this.attr_name(!0)+"]").find("[name='"+d+"']"),f=e.length,g=!1,h=!1,i=0;f>i;i++)e[i].getAttribute("disabled")?(h=!0,g=!0):e[i].checked?g=!0:h&&(g=!1);for(var i=0;f>i;i++)g?(this.S(e[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),a(e[i]).triggerHandler("valid")):(this.S(e[i]).attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),a(e[i]).triggerHandler("invalid"));return g},valid_equal:function(a,b,d){var e=c.getElementById(a.getAttribute(this.add_namespace("data-equalto"))).value,f=a.value,g=e===f;return g?(this.S(a).removeAttr(this.invalid_attr),d.removeClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.removeClass(this.settings.error_class)):(this.S(a).attr(this.invalid_attr,""),d.addClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.addClass(this.settings.error_class)),g},valid_oneof:function(a,b,c,d){var a=this.S(a),e=this.S("["+this.add_namespace("data-oneof")+"]"),f=e.filter(":checked").length>0;if(f?a.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class):a.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),!d){var g=this;e.each(function(){g.valid_oneof.call(g,this,null,null,!0)})}return f},reflow:function(a,b){var c=this,d=c.S("["+this.attr_name()+"]").attr("novalidate","novalidate");c.S(d).each(function(a,b){c.events(b)})}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.accordion={name:"accordion",version:"5.5.3",settings:{content_class:"content",active_class:"active",multi_expand:!1,toggleable:!0,callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(b){var c=this,d=this.S;c.create(this.S(b)),d(this.scope).off(".fndtn.accordion").on("click.fndtn.accordion","["+this.attr_name()+"] > dd > a, ["+this.attr_name()+"] > li > a",function(b){var e=d(this).closest("["+c.attr_name()+"]"),f=c.attr_name()+"="+e.attr(c.attr_name()),g=e.data(c.attr_name(!0)+"-init")||c.settings,h=d("#"+this.href.split("#")[1]),i=a("> dd, > li",e),j=i.children("."+g.content_class),k=j.filter("."+g.active_class);return b.preventDefault(),e.attr(c.attr_name())&&(j=j.add("["+f+"] dd > ."+g.content_class+", ["+f+"] li > ."+g.content_class),i=i.add("["+f+"] dd, ["+f+"] li")),g.toggleable&&h.is(k)?(h.parent("dd, li").toggleClass(g.active_class,!1),h.toggleClass(g.active_class,!1),d(this).attr("aria-expanded",function(a,b){return"true"===b?"false":"true"}),g.callback(h),h.triggerHandler("toggled",[e]),void e.triggerHandler("toggled",[h])):(g.multi_expand||(j.removeClass(g.active_class),i.removeClass(g.active_class),i.children("a").attr("aria-expanded","false")),h.addClass(g.active_class).parent().addClass(g.active_class),g.callback(h),h.triggerHandler("toggled",[e]),e.triggerHandler("toggled",[h]),void d(this).attr("aria-expanded","true"))})},create:function(b){var c=this,d=b,e=a("> .accordion-navigation",d),f=d.data(c.attr_name(!0)+"-init")||c.settings;e.children("a").attr("aria-expanded","false"),e.has("."+f.content_class+"."+f.active_class).addClass(f.active_class).children("a").attr("aria-expanded","true"),f.multi_expand&&b.attr("aria-multiselectable","true")},toggle:function(a){var a="undefined"!=typeof a?a:{},c="undefined"!=typeof a.selector?a.selector:"",d="undefined"!=typeof a.toggle_state?a.toggle_state:"",e="undefined"!=typeof a.$accordion?a.$accordion:this.S(this.scope).closest("["+this.attr_name()+"]"),f=e.find("> dd"+c+", > li"+c);if(f.length<1)return b.console&&console.error("Selection not found.",c),!1;var g=this.S,h=this.settings.active_class;f.each(function(){var a=g(this),b=a.hasClass(h);(b&&"close"===d||!b&&"open"===d||""===d)&&a.find("> a").trigger("click.fndtn.accordion")})},open:function(a){var a="undefined"!=typeof a?a:{};a.toggle_state="open",this.toggle(a)},close:function(a){var a="undefined"!=typeof a?a:{};a.toggle_state="close",this.toggle(a)},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.alert={name:"alert",version:"5.5.3",settings:{callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this,c=this.S;a(this.scope).off(".alert").on("click.fndtn.alert","["+this.attr_name()+"] .close",function(a){var d=c(this).closest("["+b.attr_name()+"]"),e=d.data(b.attr_name(!0)+"-init")||b.settings;a.preventDefault(),Modernizr.csstransitions?(d.addClass("alert-close"),d.on("transitionend webkitTransitionEnd oTransitionEnd",function(a){c(this).trigger("close.fndtn.alert").remove(),e.callback()})):d.fadeOut(300,function(){c(this).trigger("close.fndtn.alert").remove(),e.callback()})})},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.clearing={name:"clearing",version:"5.5.3",settings:{templates:{viewing:'×

'},close_selectors:".clearing-close, div.clearing-blackout",open_selectors:"",skip_selector:"",touch_label:"",init:!1,locked:!1},init:function(a,b,c){var d=this;Foundation.inherit(this,"throttle image_loaded"),this.bindings(b,c),d.S(this.scope).is("["+this.attr_name()+"]")?this.assemble(d.S("li",this.scope)):d.S("["+this.attr_name()+"]",this.scope).each(function(){d.assemble(d.S("li",this))})},events:function(d){var e=this,f=e.S,g=a(".scroll-container");g.length>0&&(this.scope=g),f(this.scope).off(".clearing").on("click.fndtn.clearing","ul["+this.attr_name()+"] li "+this.settings.open_selectors,function(a,b,c){var b=b||f(this),c=c||b,d=b.next("li"),g=b.closest("["+e.attr_name()+"]").data(e.attr_name(!0)+"-init"),h=f(a.target);a.preventDefault(),g||(e.init(),g=b.closest("["+e.attr_name()+"]").data(e.attr_name(!0)+"-init")),c.hasClass("visible")&&b[0]===c[0]&&d.length>0&&e.is_open(b)&&(c=d,h=f("img",c)),e.open(h,b,c),e.update_paddles(c)}).on("click.fndtn.clearing",".clearing-main-next",function(a){e.nav(a,"next")}).on("click.fndtn.clearing",".clearing-main-prev",function(a){e.nav(a,"prev")}).on("click.fndtn.clearing",this.settings.close_selectors,function(a){Foundation.libs.clearing.close(a,this)}),a(c).on("keydown.fndtn.clearing",function(a){e.keydown(a)}),f(b).off(".clearing").on("resize.fndtn.clearing",function(){e.resize()}),this.swipe_events(d)},swipe_events:function(a){var b=this,c=b.S;c(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(a){a.touches||(a=a.originalEvent);var b={start_page_x:a.touches[0].pageX,start_page_y:a.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};c(this).data("swipe-transition",b),a.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(a){if(a.touches||(a=a.originalEvent),!(a.touches.length>1||a.scale&&1!==a.scale)){var d=c(this).data("swipe-transition");if("undefined"==typeof d&&(d={}),d.delta_x=a.touches[0].pageX-d.start_page_x,Foundation.rtl&&(d.delta_x=-d.delta_x),"undefined"==typeof d.is_scrolling&&(d.is_scrolling=!!(d.is_scrolling||Math.abs(d.delta_x)');var d=c.detach(),e="";if(null!=d[0]){e=d[0].outerHTML;var f=this.S("#foundationClearingHolder"),g=c.data(this.attr_name(!0)+"-init"),h={grid:'",viewing:g.templates.viewing},i='
'+h.viewing+h.grid+"
",j=this.settings.touch_label;Modernizr.touch&&(i=a(i).find(".clearing-touch-label").html(j).end()),f.after(i).remove()}}},open:function(b,d,e){function f(){setTimeout(function(){this.image_loaded(m,function(){1!==m.outerWidth()||o?g.call(this,m):f.call(this)}.bind(this))}.bind(this),100)}function g(b){var c=a(b);c.css("visibility","visible"),c.trigger("imageVisible"),i.css("overflow","hidden"),j.addClass("clearing-blackout"),k.addClass("clearing-container"),l.show(),this.fix_height(e).caption(h.S(".clearing-caption",l),h.S("img",e)).center_and_label(b,n).shift(d,e,function(){e.closest("li").siblings().removeClass("visible"),e.closest("li").addClass("visible")}),l.trigger("opened.fndtn.clearing")}var h=this,i=a(c.body),j=e.closest(".clearing-assembled"),k=h.S("div",j).first(),l=h.S(".visible-img",k),m=h.S("img",l).not(b),n=h.S(".clearing-touch-label",k),o=!1,p={};a("body").on("touchmove",function(a){a.preventDefault()}),m.error(function(){o=!0}),this.locked()||(l.trigger("open.fndtn.clearing"),p=this.load(b),p.interchange?m.attr("data-interchange",p.interchange).foundation("interchange","reflow"):m.attr("src",p.src).attr("data-interchange",""),m.css("visibility","hidden"),f.call(this))},close:function(b,d){b.preventDefault();var e,f,g=function(a){return/blackout/.test(a.selector)?a:a.closest(".clearing-blackout")}(a(d)),h=a(c.body);return d===b.target&&g&&(h.css("overflow",""),e=a("div",g).first(),f=a(".visible-img",e),f.trigger("close.fndtn.clearing"),this.settings.prev_index=0,a("ul["+this.attr_name()+"]",g).attr("style","").closest(".clearing-blackout").removeClass("clearing-blackout"),e.removeClass("clearing-container"),f.hide(),f.trigger("closed.fndtn.clearing")),a("body").off("touchmove"),!1},is_open:function(a){return a.parent().prop("style").length>0},keydown:function(b){var c=a(".clearing-blackout ul["+this.attr_name()+"]"),d=this.rtl?37:39,e=this.rtl?39:37,f=27;b.which===d&&this.go(c,"next"),b.which===e&&this.go(c,"prev"),b.which===f&&this.S("a.clearing-close").trigger("click.fndtn.clearing")},nav:function(b,c){var d=a("ul["+this.attr_name()+"]",".clearing-blackout");b.preventDefault(),this.go(d,c)},resize:function(){var b=a("img",".clearing-blackout .visible-img"),c=a(".clearing-touch-label",".clearing-blackout");b.length&&(this.center_and_label(b,c),b.trigger("resized.fndtn.clearing"))},fix_height:function(a){var b=a.parent().children(),c=this;return b.each(function(){var a=c.S(this),b=a.find("img");a.height()>b.outerHeight()&&a.addClass("fix-height")}).closest("ul").width(100*b.length+"%"),this},update_paddles:function(a){a=a.closest("li");var b=a.closest(".carousel").siblings(".visible-img");a.next().length>0?this.S(".clearing-main-next",b).removeClass("disabled"):this.S(".clearing-main-next",b).addClass("disabled"),a.prev().length>0?this.S(".clearing-main-prev",b).removeClass("disabled"):this.S(".clearing-main-prev",b).addClass("disabled")},center_and_label:function(a,b){return!this.rtl&&b.length>0?b.css({marginLeft:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10}):b.css({marginRight:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10,left:"auto",right:"50%"}),this},load:function(a){var b,c,d;return"A"===a[0].nodeName?(b=a.attr("href"),c=a.data("clearing-interchange")):(d=a.closest("a"),b=d.attr("href"),c=d.data("clearing-interchange")),this.preload(a),{src:b?b:a.attr("src"),interchange:b?c:a.data("clearing-interchange")}},preload:function(a){this.img(a.closest("li").next(),"next").img(a.closest("li").prev(),"prev")},img:function(b,c){if(b.length){var d,e,f,g=a(".clearing-preload-"+c),h=this.S("a",b);h.length?(d=h.attr("href"),e=h.data("clearing-interchange")):(f=this.S("img",b),d=f.attr("src"),e=f.data("clearing-interchange")),e?g.attr("data-interchange",e):(g.attr("src",d),g.attr("data-interchange",""))}return this},caption:function(a,b){var c=b.attr("data-caption");if(c){var d=a.get(0);d.innerHTML=c,a.show()}else a.text("").hide();return this},go:function(a,b){var c=this.S(".visible",a),d=c[b]();this.settings.skip_selector&&0!=d.find(this.settings.skip_selector).length&&(d=d[b]()),d.length&&this.S("img",d).trigger("click.fndtn.clearing",[c,d]).trigger("change.fndtn.clearing")},shift:function(a,b,c){var d,e=b.parent(),f=this.settings.prev_index||b.index(),g=this.direction(e,a,b),h=this.rtl?"right":"left",i=parseInt(e.css("left"),10),j=b.outerWidth(),k={};b.index()===f||/skip/.test(g)?/skip/.test(g)&&(d=b.index()-this.settings.up_count,this.lock(),d>0?(k[h]=-(d*j),e.animate(k,300,this.unlock())):(k[h]=0,e.animate(k,300,this.unlock()))):/left/.test(g)?(this.lock(),k[h]=i+j,e.animate(k,300,this.unlock())):/right/.test(g)&&(this.lock(),k[h]=i-j,e.animate(k,300,this.unlock())),c()},direction:function(a,b,c){var d,e=this.S("li",a),f=e.outerWidth()+e.outerWidth()/4,g=Math.floor(this.S(".clearing-container").outerWidth()/f)-1,h=e.index(c);return this.settings.up_count=g,d=this.adjacent(this.settings.prev_index,h)?h>g&&h>this.settings.prev_index?"right":h>g-1&&h<=this.settings.prev_index?"left":!1:"skip",this.settings.prev_index=h,d},adjacent:function(a,b){for(var c=b+1;c>=b-1;c--)if(c===a)return!0;return!1},lock:function(){this.settings.locked=!0},unlock:function(){this.settings.locked=!1},locked:function(){return this.settings.locked},off:function(){this.S(this.scope).off(".fndtn.clearing"),this.S(b).off(".fndtn.clearing")},reflow:function(){this.init()}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.dropdown={name:"dropdown",version:"5.5.3",settings:{active_class:"open",disabled_class:"disabled",mega_class:"mega",align:"bottom",is_hover:!1,hover_timeout:150,opened:function(){},closed:function(){}},init:function(b,c,d){Foundation.inherit(this,"throttle"),a.extend(!0,this.settings,c,d),this.bindings(c,d)},events:function(d){var e=this,f=e.S;f(this.scope).off(".dropdown").on("click.fndtn.dropdown","["+this.attr_name()+"]",function(b){var c=f(this).data(e.attr_name(!0)+"-init")||e.settings;(!c.is_hover||Modernizr.touch)&&(b.preventDefault(),f(this).parent("[data-reveal-id]").length&&b.stopPropagation(),e.toggle(a(this)))}).on("mouseenter.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(a){var b,c,d=f(this);clearTimeout(e.timeout),d.data(e.data_attr())?(b=f("#"+d.data(e.data_attr())),c=d):(b=d,c=f("["+e.attr_name()+'="'+b.attr("id")+'"]'));var g=c.data(e.attr_name(!0)+"-init")||e.settings;f(a.currentTarget).data(e.data_attr())&&g.is_hover&&e.closeall.call(e),g.is_hover&&e.open.apply(e,[b,c])}).on("mouseleave.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(a){var b,c=f(this);if(c.data(e.data_attr()))b=c.data(e.data_attr(!0)+"-init")||e.settings;else var d=f("["+e.attr_name()+'="'+f(this).attr("id")+'"]'),b=d.data(e.attr_name(!0)+"-init")||e.settings;e.timeout=setTimeout(function(){c.data(e.data_attr())?b.is_hover&&e.close.call(e,f("#"+c.data(e.data_attr()))):b.is_hover&&e.close.call(e,c)}.bind(this),b.hover_timeout)}).on("click.fndtn.dropdown",function(b){var d=f(b.target).closest("["+e.attr_name()+"-content]"),g=d.find("a");return g.length>0&&"false"!==d.attr("aria-autoclose")&&e.close.call(e,f("["+e.attr_name()+"-content]")),b.target!==c&&!a.contains(c.documentElement,b.target)||f(b.target).closest("["+e.attr_name()+"]").length>0?void 0:!f(b.target).data("revealId")&&d.length>0&&(f(b.target).is("["+e.attr_name()+"-content]")||a.contains(d.first()[0],b.target))?void b.stopPropagation():void e.close.call(e,f("["+e.attr_name()+"-content]"))}).on("opened.fndtn.dropdown","["+e.attr_name()+"-content]",function(){e.settings.opened.call(this)}).on("closed.fndtn.dropdown","["+e.attr_name()+"-content]",function(){e.settings.closed.call(this)}),f(b).off(".dropdown").on("resize.fndtn.dropdown",e.throttle(function(){e.resize.call(e)},50)),this.resize()},close:function(b){var c=this;b.each(function(d){var e=a("["+c.attr_name()+"="+b[d].id+"]")||a("aria-controls="+b[d].id+"]");e.attr("aria-expanded","false"),c.S(this).hasClass(c.settings.active_class)&&(c.S(this).css(Foundation.rtl?"right":"left","-99999px").attr("aria-hidden","true").removeClass(c.settings.active_class).prev("["+c.attr_name()+"]").removeClass(c.settings.active_class).removeData("target"),c.S(this).trigger("closed.fndtn.dropdown",[b]))}),b.removeClass("f-open-"+this.attr_name(!0))},closeall:function(){var b=this;a.each(b.S(".f-open-"+this.attr_name(!0)),function(){b.close.call(b,b.S(this))})},open:function(a,b){this.css(a.addClass(this.settings.active_class),b),a.prev("["+this.attr_name()+"]").addClass(this.settings.active_class),a.data("target",b.get(0)).trigger("opened.fndtn.dropdown",[a,b]),a.attr("aria-hidden","false"),b.attr("aria-expanded","true"),a.focus(),a.addClass("f-open-"+this.attr_name(!0))},data_attr:function(){return this.namespace.length>0?this.namespace+"-"+this.name:this.name},toggle:function(a){if(!a.hasClass(this.settings.disabled_class)){var b=this.S("#"+a.data(this.data_attr()));0!==b.length&&(this.close.call(this,this.S("["+this.attr_name()+"-content]").not(b)),b.hasClass(this.settings.active_class)?(this.close.call(this,b),b.data("target")!==a.get(0)&&this.open.call(this,b,a)):this.open.call(this,b,a))}},resize:function(){var b=this.S("["+this.attr_name()+"-content].open"),c=a(b.data("target"));b.length&&c.length&&this.css(b,c)},css:function(a,b){var c=Math.max((b.width()-a.width())/2,8),d=b.data(this.attr_name(!0)+"-init")||this.settings,e=a.parent().css("overflow-y")||a.parent().css("overflow");if(this.clear_idx(),this.small()){var f=this.dirs.bottom.call(a,b,d);a.attr("style","").removeClass("drop-left drop-right drop-top").css({position:"absolute",width:"95%","max-width":"none",top:f.top}),a.css(Foundation.rtl?"right":"left",c)}else if("visible"!==e){var g=b[0].offsetTop+b[0].offsetHeight;a.attr("style","").css({position:"absolute",top:g}),a.css(Foundation.rtl?"right":"left",c)}else this.style(a,b,d);return a},style:function(b,c,d){var e=a.extend({position:"absolute"},this.dirs[d.align].call(b,c,d));b.attr("style","").css(e)},dirs:{_base:function(a,d){var e=this.offsetParent(),f=e.offset(),g=a.offset();g.top-=f.top,g.left-=f.left,g.missRight=!1,g.missTop=!1,g.missLeft=!1,g.leftRightFlag=!1;var h,i=b.innerWidth;h=c.getElementsByClassName("row")[0]?c.getElementsByClassName("row")[0].clientWidth:i;var j=(i-h)/2,k=h;if(!this.hasClass("mega")&&!d.ignore_repositioning){var l=this.outerWidth(),m=a.offset().left;a.offset().top<=this.outerHeight()&&(g.missTop=!0,k=i-j,g.leftRightFlag=!0),m+l>m+j&&m-j>l&&(g.missRight=!0,g.missLeft=!1),0>=m-l&&(g.missLeft=!0,g.missRight=!1)}return g},top:function(a,b){var c=Foundation.libs.dropdown,d=c.dirs._base.call(this,a,b);return this.addClass("drop-top"),1==d.missTop&&(d.top=d.top+a.outerHeight()+this.outerHeight(), +this.removeClass("drop-top")),1==d.missRight&&(d.left=d.left-this.outerWidth()+a.outerWidth()),(a.outerWidth()0)for(var d=this.S("["+this.add_namespace("data-uuid")+'="'+a+'"]');c--;){var e,f=b[c][2];if(e=this.settings.named_queries.hasOwnProperty(f)?matchMedia(this.settings.named_queries[f]):matchMedia(f),e.matches)return{el:d,scenario:b[c]}}return!1},load:function(a,b){return("undefined"==typeof this["cached_"+a]||b)&&this["update_"+a](),this["cached_"+a]},update_images:function(){var a=this.S("img["+this.data_attr+"]"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cache={},this.cached_images=[],this.images_loaded=0===b;c--;){if(d++,a[c]){var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_images.push(a[c])}d===b&&(this.images_loaded=!0,this.enhance("images"))}return this},update_nodes:function(){var a=this.S("["+this.data_attr+"]").not("img"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cached_nodes=[],this.nodes_loaded=0===b;c--;){d++;var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_nodes.push(a[c]),d===b&&(this.nodes_loaded=!0,this.enhance("nodes"))}return this},enhance:function(c){for(var d=this["cached_"+c].length;d--;)this.object(a(this["cached_"+c][d]));return a(b).trigger("resize.fndtn.interchange")},convert_directive:function(a){var b=this.trim(a);return b.length>0?b:"replace"},parse_scenario:function(a){var b=a[0].match(/(.+),\s*(\w+)\s*$/),c=a[1].match(/(.*)\)/);if(b)var d=b[1],e=b[2];else var f=a[0].split(/,\s*$/),d=f[0],e="";return[this.trim(d),this.convert_directive(e),this.trim(c[1])]},object:function(a){var b=this.parse_data_attr(a),c=[],d=b.length;if(d>0)for(;d--;){var e=b[d].split(/,\s?\(/);if(e.length>1){var f=this.parse_scenario(e);c.push(f)}}return this.store(a,c)},store:function(a,b){var c=this.random_str(),d=a.data(this.add_namespace("uuid",!0));return this.cache[d]?this.cache[d]:(a.attr(this.add_namespace("data-uuid"),c),this.cache[c]=b)},trim:function(b){return"string"==typeof b?a.trim(b):b},set_data_attr:function(a){return a?this.namespace.length>0?this.namespace+"-"+this.settings.load_attr:this.settings.load_attr:this.namespace.length>0?"data-"+this.namespace+"-"+this.settings.load_attr:"data-"+this.settings.load_attr},parse_data_attr:function(a){for(var b=a.attr(this.attr_name()).split(/\[(.*?)\]/),c=b.length,d=[];c--;)b[c].replace(/[\W\d]+/,"").length>4&&d.push(b[c]);return d},reflow:function(){this.load("images",!0),this.load("nodes",!0)}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.joyride={name:"joyride",version:"5.5.3",defaults:{expose:!1,modal:!0,keyboard:!0,tip_location:"bottom",nub_position:"auto",scroll_speed:1500,scroll_animation:"linear",timer:0,start_timer_on_click:!0,start_offset:0,next_button:!0,prev_button:!0,tip_animation:"fade",pause_after:[],exposed:[],tip_animation_fade_speed:300,cookie_monster:!1,cookie_name:"joyride",cookie_domain:!1,cookie_expires:365,tip_container:"body",abort_on_close:!0,tip_location_patterns:{top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},post_ride_callback:function(){},post_step_callback:function(){},pre_step_callback:function(){},pre_ride_callback:function(){},post_expose_callback:function(){},template:{link:'×',timer:'
',tip:'
',wrapper:'
',button:'',prev_button:'',modal:'
',expose:'
',expose_cover:'
'},expose_add_class:""},init:function(b,c,d){Foundation.inherit(this,"throttle random_str"),this.settings=this.settings||a.extend({},this.defaults,d||c),this.bindings(c,d)},go_next:function(){this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())},go_prev:function(){this.settings.$li.prev().length<1||(this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(null,!0),this.startTimer()):(this.hide(),this.show(null,!0)))},events:function(){var c=this;a(this.scope).off(".joyride").on("click.fndtn.joyride",".joyride-next-tip, .joyride-modal-bg",function(a){a.preventDefault(),this.go_next()}.bind(this)).on("click.fndtn.joyride",".joyride-prev-tip",function(a){a.preventDefault(),this.go_prev()}.bind(this)).on("click.fndtn.joyride",".joyride-close-tip",function(a){a.preventDefault(),this.end(this.settings.abort_on_close)}.bind(this)).on("keyup.fndtn.joyride",function(a){if(this.settings.keyboard&&this.settings.riding)switch(a.which){case 39:a.preventDefault(),this.go_next();break;case 37:a.preventDefault(),this.go_prev();break;case 27:a.preventDefault(),this.end(this.settings.abort_on_close)}}.bind(this)),a(b).off(".joyride").on("resize.fndtn.joyride",c.throttle(function(){if(a("["+c.attr_name()+"]").length>0&&c.settings.$next_tip&&c.settings.riding){if(c.settings.exposed.length>0){var b=a(c.settings.exposed);b.each(function(){var b=a(this);c.un_expose(b),c.expose(b)})}c.is_phone()?c.pos_phone():c.pos_default(!1)}},100))},start:function(){var b=this,c=a("["+this.attr_name()+"]",this.scope),d=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],e=d.length;!c.length>0||(this.settings.init||this.events(),this.settings=c.data(this.attr_name(!0)+"-init"),this.settings.$content_el=c,this.settings.$body=a(this.settings.tip_container),this.settings.body_offset=a(this.settings.tip_container).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,this.settings.riding=!0,"function"!=typeof a.cookie&&(this.settings.cookie_monster=!1),(!this.settings.cookie_monster||this.settings.cookie_monster&&!a.cookie(this.settings.cookie_name))&&(this.settings.$tip_content.each(function(c){var f=a(this);this.settings=a.extend({},b.defaults,b.data_options(f));for(var g=e;g--;)b.settings[d[g]]=parseInt(b.settings[d[g]],10);b.create({$li:f,index:c})}),!this.settings.start_timer_on_click&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")))},resume:function(){this.set_li(),this.show()},tip_template:function(b){var c,d;return b.tip_class=b.tip_class||"",c=a(this.settings.template.tip).addClass(b.tip_class),d=a.trim(a(b.li).html())+this.prev_button_text(b.prev_button_text,b.index)+this.button_text(b.button_text)+this.settings.template.link+this.timer_instance(b.index),c.append(a(this.settings.template.wrapper)),c.first().attr(this.add_namespace("data-index"),b.index),a(".joyride-content-wrapper",c).append(d),c[0]},timer_instance:function(b){var c;return c=0===b&&this.settings.start_timer_on_click&&this.settings.timer>0||0===this.settings.timer?"":a(this.settings.template.timer)[0].outerHTML},button_text:function(b){return this.settings.tip_settings.next_button?(b=a.trim(b)||"Next",b=a(this.settings.template.button).append(b)[0].outerHTML):b="",b},prev_button_text:function(b,c){return this.settings.tip_settings.prev_button?(b=a.trim(b)||"Previous",b=0==c?a(this.settings.template.prev_button).append(b).addClass("disabled")[0].outerHTML:a(this.settings.template.prev_button).append(b)[0].outerHTML):b="",b},create:function(b){this.settings.tip_settings=a.extend({},this.settings,this.data_options(b.$li));var c=b.$li.attr(this.add_namespace("data-button"))||b.$li.attr(this.add_namespace("data-text")),d=b.$li.attr(this.add_namespace("data-button-prev"))||b.$li.attr(this.add_namespace("data-prev-text")),e=b.$li.attr("class"),f=a(this.tip_template({tip_class:e,index:b.index,button_text:c,prev_button_text:d,li:b.$li}));a(this.settings.tip_container).append(f)},show:function(b,c){var e=null;if(this.settings.$li===d||-1===a.inArray(this.settings.$li.index(),this.settings.pause_after))if(this.settings.paused?this.settings.paused=!1:this.set_li(b,c),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0){if(b&&(this.settings.pre_ride_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.pre_step_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tip_settings=a.extend({},this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tip_settings.tip_location_pattern=this.settings.tip_location_patterns[this.settings.tip_settings.tip_location],!/body/i.test(this.settings.$target.selector)&&!this.settings.expose){var f=a(".joyride-modal-bg");/pop/i.test(this.settings.tipAnimation)?f.hide():f.fadeOut(this.settings.tipAnimationFadeSpeed),this.scroll_to()}this.is_phone()?this.pos_phone(!0):this.pos_default(!0),e=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tip_animation)?(e.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tip_animation)&&(e.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed).show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed)),this.settings.$current_tip=this.settings.$next_tip}else this.settings.$li&&this.settings.$target.length<1?this.show(b,c):this.end();else this.settings.paused=!0},is_phone:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||a(".joyride-modal-bg").hide(),this.settings.$current_tip.css("visibility","hidden"),setTimeout(a.proxy(function(){this.hide(),this.css("visibility","visible")},this.settings.$current_tip),0),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(a,b){a?(this.settings.$li=this.settings.$tip_content.eq(this.settings.start_offset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(b?this.settings.$li=this.settings.$li.prev():this.settings.$li=this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=a(".joyride-tip-guide").eq(this.settings.$li.index()),this.settings.$next_tip.data("closed","")},set_target:function(){var b=this.settings.$li.attr(this.add_namespace("data-class")),d=this.settings.$li.attr(this.add_namespace("data-id")),e=function(){return d?a(c.getElementById(d)):b?a("."+b).first():a("body")};this.settings.$target=e()},scroll_to:function(){var c,d;c=a(b).height()/2,d=Math.ceil(this.settings.$target.offset().top-c+this.settings.$next_tip.outerHeight()),0!=d&&a("html, body").stop().animate({scrollTop:d},this.settings.scroll_speed,"swing")},paused:function(){return-1===a.inArray(this.settings.$li.index()+1,this.settings.pause_after)},restart:function(){this.hide(),this.settings.$li=d,this.show("init")},pos_default:function(a){var b=this.settings.$next_tip.find(".joyride-nub"),c=Math.ceil(b.outerWidth()/2),d=Math.ceil(b.outerHeight()/2),e=a||!1;if(e&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),/body/i.test(this.settings.$target.selector))this.settings.$li.length&&this.pos_modal(b);else{var f=this.settings.tip_settings.tipAdjustmentY?parseInt(this.settings.tip_settings.tipAdjustmentY):0,g=this.settings.tip_settings.tipAdjustmentX?parseInt(this.settings.tip_settings.tipAdjustmentX):0;this.bottom()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()+g}):this.settings.$next_tip.css({top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"top")):this.top()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()}):this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"bottom")):this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.outerWidth()+this.settings.$target.offset().left+c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.offset().left-this.settings.$next_tip.outerWidth()-c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"right")),!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts0&&arguments[0]instanceof a)e=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;e=this.settings.$target}return e.length<1?(b.console&&console.error("element not valid",e),!1):(c=a(this.settings.template.expose),this.settings.$body.append(c),c.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),d=a(this.settings.template.expose_cover),f={zIndex:e.css("z-index"),position:e.css("position")},g=null==e.attr("class")?"":e.attr("class"),e.css("z-index",parseInt(c.css("z-index"))+1),"static"==f.position&&e.css("position","relative"),e.data("expose-css",f),e.data("orig-class",g),e.attr("class",g+" "+this.settings.expose_add_class),d.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),this.settings.modal&&this.show_modal(),this.settings.$body.append(d),c.addClass(h),d.addClass(h),e.data("expose",h),this.settings.post_expose_callback(this.settings.$li.index(),this.settings.$next_tip,e),void this.add_exposed(e))},un_expose:function(){var c,d,e,f,g,h=!1;if(arguments.length>0&&arguments[0]instanceof a)d=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;d=this.settings.$target}return d.length<1?(b.console&&console.error("element not valid",d),!1):(c=d.data("expose"),e=a("."+c),arguments.length>1&&(h=arguments[1]),h===!0?a(".joyride-expose-wrapper,.joyride-expose-cover").remove():e.remove(),f=d.data("expose-css"),"auto"==f.zIndex?d.css("z-index",""):d.css("z-index",f.zIndex),f.position!=d.css("position")&&("static"==f.position?d.css("position",""):d.css("position",f.position)),g=d.data("orig-class"),d.attr("class",g),d.removeData("orig-classes"),d.removeData("expose"),d.removeData("expose-z-index"),void this.remove_exposed(d))},add_exposed:function(b){this.settings.exposed=this.settings.exposed||[],b instanceof a||"object"==typeof b?this.settings.exposed.push(b[0]):"string"==typeof b&&this.settings.exposed.push(b)},remove_exposed:function(b){var c,d;for(b instanceof a?c=b[0]:"string"==typeof b&&(c=b),this.settings.exposed=this.settings.exposed||[],d=this.settings.exposed.length;d--;)if(this.settings.exposed[d]==c)return void this.settings.exposed.splice(d,1)},center:function(){var c=a(b);return this.settings.$next_tip.css({top:(c.height()-this.settings.$next_tip.outerHeight())/2+c.scrollTop(),left:(c.width()-this.settings.$next_tip.outerWidth())/2+c.scrollLeft()}),!0},bottom:function(){return/bottom/i.test(this.settings.tip_settings.tip_location)},top:function(){return/top/i.test(this.settings.tip_settings.tip_location)},right:function(){return/right/i.test(this.settings.tip_settings.tip_location)},left:function(){return/left/i.test(this.settings.tip_settings.tip_location)},corners:function(c){if(0===c.length)return[!1,!1,!1,!1];var d=a(b),e=d.height()/2,f=Math.ceil(this.settings.$target.offset().top-e+this.settings.$next_tip.outerHeight()),g=d.width()+d.scrollLeft(),h=d.height()+f,i=d.height()+d.scrollTop(),j=d.scrollTop();return j>f&&(j=0>f?0:f),h>i&&(i=h),[c.offset().topc.offset().left]},visible:function(a){for(var b=a.length;b--;)if(a[b])return!1;return!0},nub_position:function(a,b,c){"auto"===b?a.addClass(c):a.addClass(b)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(b){this.settings.cookie_monster&&a.cookie(this.settings.cookie_name,"ridden",{expires:this.settings.cookie_expires,domain:this.settings.cookie_domain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),a(this.scope).off("keyup.joyride"),this.settings.$next_tip.data("closed",!0),this.settings.riding=!1,a(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),("undefined"==typeof b||b===!1)&&(this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip),this.settings.post_ride_callback(this.settings.$li.index(),this.settings.$current_tip)),a(".joyride-tip-guide").remove()},off:function(){a(this.scope).off(".joyride"),a(b).off(".joyride"),a(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),a(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate)},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs["magellan-expedition"]={name:"magellan-expedition",version:"5.5.3",settings:{active_class:"active",threshold:0,destination_threshold:20,throttle_delay:30,fixed_top:0,offset_by_height:!0,duration:700,easing:"swing"},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c)},events:function(){var b=this,c=b.S,d=b.settings;b.set_expedition_position(),c(b.scope).off(".magellan").on("click.fndtn.magellan","["+b.add_namespace("data-magellan-arrival")+"] a[href*=#]",function(c){var d=this.hostname===location.hostname||!this.hostname,e=b.filterPathname(location.pathname)===b.filterPathname(this.pathname),f=this.hash.replace(/(:|\.|\/)/g,"\\$1"),g=this;if(d&&e&&f){c.preventDefault();var h=a(this).closest("["+b.attr_name()+"]"),i=h.data("magellan-expedition-init"),j=this.hash.split("#").join(""),k=a('a[name="'+j+'"]');0===k.length&&(k=a("#"+j));var l=k.offset().top-i.destination_threshold+1;i.offset_by_height&&(l-=h.outerHeight()),a("html, body").stop().animate({scrollTop:l},i.duration,i.easing,function(){history.pushState?history.pushState(null,null,g.pathname+g.search+"#"+j):location.hash=g.pathname+g.search+"#"+j})}}).on("scroll.fndtn.magellan",b.throttle(this.check_for_arrivals.bind(this),d.throttle_delay))},check_for_arrivals:function(){var a=this;a.update_arrivals(),a.update_expedition_positions()},set_expedition_position:function(){var b=this;a("["+this.attr_name()+"=fixed]",b.scope).each(function(c,d){var e,f,g=a(this),h=g.data("magellan-expedition-init"),i=g.attr("styles");g.attr("style",""),e=g.offset().top+h.threshold,f=parseInt(g.data("magellan-fixed-top")),isNaN(f)||(b.settings.fixed_top=f),g.data(b.data_attr("magellan-top-offset"),e),g.attr("style",i)})},update_expedition_positions:function(){var c=this,d=a(b).scrollTop();a("["+this.attr_name()+"=fixed]",c.scope).each(function(){var b=a(this),e=b.data("magellan-expedition-init"),f=b.attr("style"),g=b.data("magellan-top-offset");if(d+c.settings.fixed_top>=g){var h=b.prev("["+c.add_namespace("data-magellan-expedition-clone")+"]");0===h.length&&(h=b.clone(),h.removeAttr(c.attr_name()),h.attr(c.add_namespace("data-magellan-expedition-clone"),""),b.before(h)),b.css({position:"fixed",top:e.fixed_top}).addClass("fixed")}else b.prev("["+c.add_namespace("data-magellan-expedition-clone")+"]").remove(),b.attr("style",f).css("position","").css("top","").removeClass("fixed")})},update_arrivals:function(){var c=this,d=a(b).scrollTop();a("["+this.attr_name()+"]",c.scope).each(function(){var b=a(this),e=b.data(c.attr_name(!0)+"-init"),f=c.offsets(b,d),g=b.find("["+c.add_namespace("data-magellan-arrival")+"]"),h=!1;f.each(function(a,d){if(d.viewport_offset>=d.top_offset){var f=b.find("["+c.add_namespace("data-magellan-arrival")+"]");return f.not(d.arrival).removeClass(e.active_class),d.arrival.addClass(e.active_class),h=!0,!0}}),h||g.removeClass(e.active_class)})},offsets:function(b,c){var d=this,e=b.data(d.attr_name(!0)+"-init"),f=c;return b.find("["+d.add_namespace("data-magellan-arrival")+"]").map(function(c,g){var h=a(this).data(d.data_attr("magellan-arrival")),i=a("["+d.add_namespace("data-magellan-destination")+"="+h+"]");if(i.length>0){var j=i.offset().top-e.destination_threshold;return e.offset_by_height&&(j-=b.outerHeight()),j=Math.floor(j),{destination:i,arrival:a(this),top_offset:j,viewport_offset:f}}}).sort(function(a,b){return a.top_offsetb.top_offset?1:0})},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},off:function(){this.S(this.scope).off(".magellan"),this.S(b).off(".magellan")},filterPathname:function(a){return a=a||"",a.replace(/^\//,"").replace(/(?:index|default).[a-zA-Z]{3,4}$/,"").replace(/\/$/,"")},reflow:function(){var b=this;a("["+b.add_namespace("data-magellan-expedition-clone")+"]",b.scope).remove()}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.offcanvas={name:"offcanvas",version:"5.5.3",settings:{open_method:"move",close_on_click:!1},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this,c=b.S,d="",e="",f="",g="",h="";"move"===this.settings.open_method?(d="move-",e="right",f="left",g="top",h="bottom"):"overlap_single"===this.settings.open_method?(d="offcanvas-overlap-",e="right",f="left",g="top",h="bottom"):"overlap"===this.settings.open_method&&(d="offcanvas-overlap"),c(this.scope).off(".offcanvas").on("click.fndtn.offcanvas",".left-off-canvas-toggle",function(f){b.click_toggle_class(f,d+e),"overlap"!==b.settings.open_method&&c(".left-submenu").removeClass(d+e),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".left-off-canvas-menu a",function(f){var g=b.get_settings(f),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(f.preventDefault(),c(this).siblings(".left-submenu").toggleClass(d+e)):h.hasClass("back")&&(f.preventDefault(),h.parent().removeClass(d+e)):(b.hide.call(b,d+e,b.get_wrapper(f)),h.parent().removeClass(d+e)),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-toggle",function(e){b.click_toggle_class(e,d+f),"overlap"!==b.settings.open_method&&c(".right-submenu").removeClass(d+f),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-menu a",function(e){var g=b.get_settings(e),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".right-submenu").toggleClass(d+f)):h.hasClass("back")&&(e.preventDefault(),h.parent().removeClass(d+f)):(b.hide.call(b,d+f,b.get_wrapper(e)),h.parent().removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true"); +}).on("click.fndtn.offcanvas",".top-off-canvas-toggle",function(e){b.click_toggle_class(e,d+h),"overlap"!==b.settings.open_method&&c(".top-submenu").removeClass(d+h),a(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".top-off-canvas-menu a",function(e){var f=b.get_settings(e),g=c(this).parent();!f.close_on_click||g.hasClass("has-submenu")||g.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".top-submenu").toggleClass(d+h)):g.hasClass("back")&&(e.preventDefault(),g.parent().removeClass(d+h)):(b.hide.call(b,d+h,b.get_wrapper(e)),g.parent().removeClass(d+h)),a(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-toggle",function(e){b.click_toggle_class(e,d+g),"overlap"!==b.settings.open_method&&c(".bottom-submenu").removeClass(d+g),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-menu a",function(e){var f=b.get_settings(e),h=c(this).parent();!f.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".bottom-submenu").toggleClass(d+g)):h.hasClass("back")&&(e.preventDefault(),h.parent().removeClass(d+g)):(b.hide.call(b,d+g,b.get_wrapper(e)),h.parent().removeClass(d+g)),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(g){b.click_remove_class(g,d+f),c(".right-submenu").removeClass(d+f),e&&(b.click_remove_class(g,d+e),c(".left-submenu").removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(c){b.click_remove_class(c,d+f),a(".left-off-canvas-toggle").attr("aria-expanded","false"),e&&(b.click_remove_class(c,d+e),a(".right-off-canvas-toggle").attr("aria-expanded","false"))}).on("click.fndtn.offcanvas",".exit-off-canvas",function(e){b.click_remove_class(e,d+g),c(".bottom-submenu").removeClass(d+g),h&&(b.click_remove_class(e,d+h),c(".top-submenu").removeClass(d+g)),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(c){b.click_remove_class(c,d+g),a(".top-off-canvas-toggle").attr("aria-expanded","false"),h&&(b.click_remove_class(c,d+h),a(".bottom-off-canvas-toggle").attr("aria-expanded","false"))})},toggle:function(a,b){b=b||this.get_wrapper(),b.is("."+a)?this.hide(a,b):this.show(a,b)},show:function(a,b){b=b||this.get_wrapper(),b.trigger("open.fndtn.offcanvas"),b.addClass(a)},hide:function(a,b){b=b||this.get_wrapper(),b.trigger("close.fndtn.offcanvas"),b.removeClass(a)},click_toggle_class:function(a,b){a.preventDefault();var c=this.get_wrapper(a);this.toggle(b,c)},click_remove_class:function(a,b){a.preventDefault();var c=this.get_wrapper(a);this.hide(b,c)},get_settings:function(a){var b=this.S(a.target).closest("["+this.attr_name()+"]");return b.data(this.attr_name(!0)+"-init")||this.settings},get_wrapper:function(a){var b=this.S(a?a.target:this.scope).closest(".off-canvas-wrap");return 0===b.length&&(b=this.S(".off-canvas-wrap")),b},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";var e=function(){},f=function(e,f){if(e.hasClass(f.slides_container_class))return this;var j,k,l,m,n,o,p=this,q=e,r=0,s=!1;p.slides=function(){return q.children(f.slide_selector)},p.slides().first().addClass(f.active_slide_class),p.update_slide_number=function(b){f.slide_number&&(k.find("span:first").text(parseInt(b)+1),k.find("span:last").text(p.slides().length)),f.bullets&&(l.children().removeClass(f.bullets_active_class),a(l.children().get(b)).addClass(f.bullets_active_class))},p.update_active_link=function(b){var c=a('[data-orbit-link="'+p.slides().eq(b).attr("data-orbit-slide")+'"]');c.siblings().removeClass(f.bullets_active_class),c.addClass(f.bullets_active_class)},p.build_markup=function(){q.wrap('
'),j=q.parent(),q.addClass(f.slides_container_class),f.stack_on_small&&j.addClass(f.stack_on_small_class),f.navigation_arrows&&(j.append(a('').addClass(f.prev_class)),j.append(a('').addClass(f.next_class))),f.timer&&(m=a("
").addClass(f.timer_container_class),m.append(""),m.append(a("
").addClass(f.timer_progress_class)),m.addClass(f.timer_paused_class),j.append(m)),f.slide_number&&(k=a("
").addClass(f.slide_number_class),k.append(" "+f.slide_number_text+" "),j.append(k)),f.bullets&&(l=a("
    ").addClass(f.bullets_container_class),j.append(l),l.wrap('
    '),p.slides().each(function(b,c){var d=a("
  1. ").attr("data-orbit-slide",b).on("click",p.link_bullet);l.append(d)}))},p._goto=function(b,c){if(b===r)return!1;"object"==typeof o&&o.restart();var d=p.slides(),e="next";if(s=!0,r>b&&(e="prev"),b>=d.length){if(!f.circular)return!1;b=0}else if(0>b){if(!f.circular)return!1;b=d.length-1}var g=a(d.get(r)),h=a(d.get(b));g.css("zIndex",2),g.removeClass(f.active_slide_class),h.css("zIndex",4).addClass(f.active_slide_class),q.trigger("before-slide-change.fndtn.orbit"),f.before_slide_change(),p.update_active_link(b);var i=function(){var a=function(){r=b,s=!1,c===!0&&(o=p.create_timer(),o.start()),p.update_slide_number(r),q.trigger("after-slide-change.fndtn.orbit",[{slide_number:r,total_slides:d.length}]),f.after_slide_change(r,d.length)};q.outerHeight()!=h.outerHeight()&&f.variable_height?q.animate({height:h.outerHeight()},250,"linear",a):a()};if(1===d.length)return i(),!1;var j=function(){"next"===e&&n.next(g,h,i),"prev"===e&&n.prev(g,h,i)};h.outerHeight()>q.outerHeight()&&f.variable_height?q.animate({height:h.outerHeight()},250,"linear",j):j()},p.next=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r+1)},p.prev=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r-1)},p.link_custom=function(b){b.preventDefault();var c=a(this).attr("data-orbit-link");if("string"==typeof c&&""!=(c=a.trim(c))){var d=j.find("[data-orbit-slide="+c+"]");-1!=d.index()&&p._goto(d.index())}},p.link_bullet=function(b){var c=a(this).attr("data-orbit-slide");if("string"==typeof c&&""!=(c=a.trim(c)))if(isNaN(parseInt(c))){var d=j.find("[data-orbit-slide="+c+"]");-1!=d.index()&&p._goto(d.index()+1)}else p._goto(parseInt(c))},p.timer_callback=function(){p._goto(r+1,!0)},p.compute_dimensions=function(){var b=a(p.slides().get(r)),c=b.outerHeight();f.variable_height||p.slides().each(function(){a(this).outerHeight()>c&&(c=a(this).outerHeight())}),q.height(c)},p.create_timer=function(){var a=new g(j.find("."+f.timer_container_class),f,p.timer_callback);return a},p.stop_timer=function(){"object"==typeof o&&o.stop()},p.toggle_timer=function(){var a=j.find("."+f.timer_container_class);a.hasClass(f.timer_paused_class)?("undefined"==typeof o&&(o=p.create_timer()),o.start()):"object"==typeof o&&o.stop()},p.init=function(){p.build_markup(),f.timer&&(o=p.create_timer(),Foundation.utils.image_loaded(this.slides().children("img"),o.start)),n=new i(f,q),"slide"===f.animation&&(n=new h(f,q)),j.on("click","."+f.next_class,p.next),j.on("click","."+f.prev_class,p.prev),f.next_on_click&&j.on("click","."+f.slides_container_class+" [data-orbit-slide]",p.link_bullet),j.on("click",p.toggle_timer),f.swipe&&j.on("touchstart.fndtn.orbit",function(a){a.touches||(a=a.originalEvent);var b={start_page_x:a.touches[0].pageX,start_page_y:a.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};j.data("swipe-transition",b),a.stopPropagation()}).on("touchmove.fndtn.orbit",function(a){if(a.touches||(a=a.originalEvent),!(a.touches.length>1||a.scale&&1!==a.scale)){var b=j.data("swipe-transition");if("undefined"==typeof b&&(b={}),b.delta_x=a.touches[0].pageX-b.start_page_x,"undefined"==typeof b.is_scrolling&&(b.is_scrolling=!!(b.is_scrolling||Math.abs(b.delta_x)0?d(this.scope).on("open.fndtn.reveal",this.settings.open).on("opened.fndtn.reveal",this.settings.opened).on("opened.fndtn.reveal",this.open_video).on("close.fndtn.reveal",this.settings.close).on("closed.fndtn.reveal",this.settings.closed).on("closed.fndtn.reveal",this.close_video):d(this.scope).on("open.fndtn.reveal","["+b.attr_name()+"]",this.settings.open).on("opened.fndtn.reveal","["+b.attr_name()+"]",this.settings.opened).on("opened.fndtn.reveal","["+b.attr_name()+"]",this.open_video).on("close.fndtn.reveal","["+b.attr_name()+"]",this.settings.close).on("closed.fndtn.reveal","["+b.attr_name()+"]",this.settings.closed).on("closed.fndtn.reveal","["+b.attr_name()+"]",this.close_video),!0},key_up_on:function(a){var b=this;return b.S("body").off("keyup.fndtn.reveal").on("keyup.fndtn.reveal",function(a){var c=b.S("["+b.attr_name()+"].open"),d=c.data(b.attr_name(!0)+"-init")||b.settings;d&&27===a.which&&d.close_on_esc&&!b.locked&&b.close.call(b,c)}),!0},key_up_off:function(a){return this.S("body").off("keyup.fndtn.reveal"),!0},open:function(c,e){var g,h=this;c?"undefined"!=typeof c.selector?g=h.S("#"+c.data(h.data_attr("reveal-id"))).first():(g=h.S(this.scope),e=c):g=h.S(this.scope);var i=g.data(h.attr_name(!0)+"-init");if(i=i||this.settings,g.hasClass("open")&&c!==d&&c.attr("data-reveal-id")==g.attr("id"))return h.close(g);if(!g.hasClass("open")){var j=h.S("["+h.attr_name()+"].open");"undefined"==typeof g.data("css-top")&&g.data("css-top",parseInt(g.css("top"),10)).data("offset",this.cache_offset(g)),g.attr("tabindex","0").attr("aria-hidden","false"),this.key_up_on(g),g.on("open.fndtn.reveal",function(a){"fndtn.reveal"!==a.namespace}),g.on("open.fndtn.reveal").trigger("open.fndtn.reveal"),j.length<1&&this.toggle_bg(g,!0),"string"==typeof e&&(e={url:e});var k=function(){j.length>0&&(i.multiple_opened?h.to_back(j):h.hide(j,i.css.close)),i.multiple_opened&&f.push(g),h.show(g,i.css.open)};if("undefined"!=typeof e&&e.url){var l="undefined"!=typeof e.success?e.success:null;a.extend(e,{success:function(b,c,d){if(a.isFunction(l)){var e=l(b,c,d);"string"==typeof e&&(b=e)}"undefined"!=typeof options&&"undefined"!=typeof options.replaceContentSel?g.find(options.replaceContentSel).html(b):g.html(b),h.S(g).foundation("section","reflow"),h.S(g).children().foundation(),k()}}),i.on_ajax_error!==a.noop&&a.extend(e,{error:i.on_ajax_error}),a.ajax(e)}else k()}h.S(b).trigger("resize")},close:function(b){var b=b&&b.length?b:this.S(this.scope),c=this.S("["+this.attr_name()+"].open"),d=b.data(this.attr_name(!0)+"-init")||this.settings,e=this;if(c.length>0)if(b.removeAttr("tabindex","0").attr("aria-hidden","true"),this.locked=!0,this.key_up_off(b),b.trigger("close.fndtn.reveal"),(d.multiple_opened&&1===c.length||!d.multiple_opened||b.length>1)&&(e.toggle_bg(b,!1),e.to_front(b)),d.multiple_opened){var g=b.is(":not(.toback)");e.hide(b,d.css.close,d),g?f.pop():f=a.grep(f,function(a){var c=a[0]===b[0];return c&&e.to_front(b),!c}),f.length>0&&e.to_front(f[f.length-1])}else e.hide(c,d.css.close,d)},close_targets:function(){var a="."+this.settings.dismiss_modal_class;return this.settings.close_on_background_click?a+", ."+this.settings.bg_class:a},toggle_bg:function(b,c){0===this.S("."+this.settings.bg_class).length&&(this.settings.bg=a("
    ",{"class":this.settings.bg_class}).appendTo("body").hide());var e=this.settings.bg.filter(":visible").length>0;c!=e&&((c==d?e:!c)?this.hide(this.settings.bg):this.show(this.settings.bg))},show:function(c,d){if(d){var f=c.data(this.attr_name(!0)+"-init")||this.settings,g=f.root_element,h=this;if(0===c.parent(g).length){var i=c.wrap('
    ').parent();c.on("closed.fndtn.reveal.wrapped",function(){c.detach().appendTo(i),c.unwrap().unbind("closed.fndtn.reveal.wrapped")}),c.detach().appendTo(g)}var j=e(f.animation);if(j.animate||(this.locked=!1),j.pop){d.top=a(b).scrollTop()-c.data("offset")+"px";var k={top:a(b).scrollTop()+c.data("css-top")+"px",opacity:1};return setTimeout(function(){return c.css(d).animate(k,f.animation_speed,"linear",function(){h.locked=!1,c.trigger("opened.fndtn.reveal")}).addClass("open")},f.animation_speed/2)}if(d.top=a(b).scrollTop()+c.data("css-top")+"px",j.fade){var k={opacity:1};return setTimeout(function(){return c.css(d).animate(k,f.animation_speed,"linear",function(){h.locked=!1,c.trigger("opened.fndtn.reveal")}).addClass("open")},f.animation_speed/2)}return c.css(d).show().css({opacity:1}).addClass("open").trigger("opened.fndtn.reveal")}var f=this.settings;return e(f.animation).fade?c.fadeIn(f.animation_speed/2):(this.locked=!1,c.show())},to_back:function(a){a.addClass("toback")},to_front:function(a){a.removeClass("toback")},hide:function(c,d){if(d){var f=c.data(this.attr_name(!0)+"-init"),g=this;f=f||this.settings;var h=e(f.animation);if(h.animate||(this.locked=!1),h.pop){var i={top:-a(b).scrollTop()-c.data("offset")+"px",opacity:0};return setTimeout(function(){return c.animate(i,f.animation_speed,"linear",function(){g.locked=!1,c.css(d).trigger("closed.fndtn.reveal")}).removeClass("open")},f.animation_speed/2)}if(h.fade){var i={opacity:0};return setTimeout(function(){return c.animate(i,f.animation_speed,"linear",function(){g.locked=!1,c.css(d).trigger("closed.fndtn.reveal")}).removeClass("open")},f.animation_speed/2)}return c.hide().css(d).removeClass("open").trigger("closed.fndtn.reveal")}var f=this.settings;return e(f.animation).fade?c.fadeOut(f.animation_speed/2):c.hide()},close_video:function(b){var c=a(".flex-video",b.target),d=a("iframe",c);d.length>0&&(d.attr("data-src",d[0].src),d.attr("src",d.attr("src")),c.hide())},open_video:function(b){var c=a(".flex-video",b.target),e=c.find("iframe");if(e.length>0){var f=e.attr("data-src");if("string"==typeof f)e[0].src=e.attr("data-src");else{var g=e[0].src;e[0].src=d,e[0].src=g}c.show()}},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},cache_offset:function(a){var b=a.show().height()+parseInt(a.css("top"),10)+a.scrollY;return a.hide(),b},off:function(){a(this.scope).off(".fndtn.reveal")},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.slider={name:"slider",version:"5.5.3",settings:{start:0,end:100,step:1,precision:2,initial:null,display_selector:"",vertical:!1,trigger_input_change:!1,on_change:function(){}},cache:{},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c),this.reflow()},events:function(){var c=this;a(this.scope).off(".slider").on("mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider","["+c.attr_name()+"]:not(.disabled, [disabled]) .range-slider-handle",function(b){c.cache.active||(b.preventDefault(),c.set_active_slider(a(b.target)))}).on("mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider",function(d){if(c.cache.active)if(d.preventDefault(),a.data(c.cache.active[0],"settings").vertical){var e=0;d.pageY||(e=b.scrollY),c.calculate_position(c.cache.active,c.get_cursor_position(d,"y")+e)}else c.calculate_position(c.cache.active,c.get_cursor_position(d,"x"))}).on("mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider",function(d){if(!c.cache.active){var e="slider"===a(d.target).attr("role")?a(d.target):a(d.target).closest(".range-slider").find("[role='slider']");if(e.length&&!e.parent().hasClass("disabled")&&!e.parent().attr("disabled"))if(c.set_active_slider(e),a.data(c.cache.active[0],"settings").vertical){var f=0;d.pageY||(f=b.scrollY),c.calculate_position(c.cache.active,c.get_cursor_position(d,"y")+f)}else c.calculate_position(c.cache.active,c.get_cursor_position(d,"x"))}c.remove_active_slider()}).on("change.fndtn.slider",function(a){c.settings.on_change()}),c.S(b).on("resize.fndtn.slider",c.throttle(function(a){c.reflow()},300)),this.S("["+this.attr_name()+"]").each(function(){var b=a(this),d=b.children(".range-slider-handle")[0],e=c.initialize_settings(d);""!=e.display_selector&&a(e.display_selector).each(function(){a(this).attr("value")&&a(this).off("change").on("change",function(){b.foundation("slider","set_value",a(this).val())})})})},get_cursor_position:function(a,b){var c,d="page"+b.toUpperCase(),e="client"+b.toUpperCase();return"undefined"!=typeof a[d]?c=a[d]:"undefined"!=typeof a.originalEvent[e]?c=a.originalEvent[e]:a.originalEvent.touches&&a.originalEvent.touches[0]&&"undefined"!=typeof a.originalEvent.touches[0][e]?c=a.originalEvent.touches[0][e]:a.currentPoint&&"undefined"!=typeof a.currentPoint[b]&&(c=a.currentPoint[b]),c},set_active_slider:function(a){this.cache.active=a},remove_active_slider:function(){this.cache.active=null},calculate_position:function(b,c){var d=this,e=a.data(b[0],"settings"),f=(a.data(b[0],"handle_l"),a.data(b[0],"handle_o"),a.data(b[0],"bar_l")),g=a.data(b[0],"bar_o");requestAnimationFrame(function(){var a;a=Foundation.rtl&&!e.vertical?d.limit_to((g+f-c)/f,0,1):d.limit_to((c-g)/f,0,1),a=e.vertical?1-a:a;var h=d.normalized_value(a,e.start,e.end,e.step,e.precision);d.set_ui(b,h)})},set_ui:function(b,c){var d=a.data(b[0],"settings"),e=a.data(b[0],"handle_l"),f=a.data(b[0],"bar_l"),g=this.normalized_percentage(c,d.start,d.end),h=g*(f-e)-1,i=100*g,j=b.parent(),k=b.parent().children("input[type=hidden]");Foundation.rtl&&!d.vertical&&(h=-h),h=d.vertical?-h+f-e+1:h,this.set_translate(b,h,d.vertical),d.vertical?b.siblings(".range-slider-active-segment").css("height",i+"%"):b.siblings(".range-slider-active-segment").css("width",i+"%"),j.attr(this.attr_name(),c).trigger("change.fndtn.slider"),k.val(c),d.trigger_input_change&&k.trigger("change.fndtn.slider"),b[0].hasAttribute("aria-valuemin")||b.attr({"aria-valuemin":d.start,"aria-valuemax":d.end}),b.attr("aria-valuenow",c),""!=d.display_selector&&a(d.display_selector).each(function(){this.hasAttribute("value")?a(this).val(c):a(this).text(c)})},normalized_percentage:function(a,b,c){return Math.min(1,(a-b)/(c-b))},normalized_value:function(a,b,c,d,e){var f=c-b,g=a*f,h=(g-g%d)/d,i=g%d,j=i>=.5*d?d:0;return(h*d+j+b).toFixed(e)},set_translate:function(b,c,d){d?a(b).css("-webkit-transform","translateY("+c+"px)").css("-moz-transform","translateY("+c+"px)").css("-ms-transform","translateY("+c+"px)").css("-o-transform","translateY("+c+"px)").css("transform","translateY("+c+"px)"):a(b).css("-webkit-transform","translateX("+c+"px)").css("-moz-transform","translateX("+c+"px)").css("-ms-transform","translateX("+c+"px)").css("-o-transform","translateX("+c+"px)").css("transform","translateX("+c+"px)")},limit_to:function(a,b,c){return Math.min(Math.max(a,b),c)},initialize_settings:function(b){var c,d=a.extend({},this.settings,this.data_options(a(b).parent()));return null===d.precision&&(c=(""+d.step).match(/\.([\d]*)/),d.precision=c&&c[1]?c[1].length:0),d.vertical?(a.data(b,"bar_o",a(b).parent().offset().top),a.data(b,"bar_l",a(b).parent().outerHeight()),a.data(b,"handle_o",a(b).offset().top),a.data(b,"handle_l",a(b).outerHeight())):(a.data(b,"bar_o",a(b).parent().offset().left),a.data(b,"bar_l",a(b).parent().outerWidth()),a.data(b,"handle_o",a(b).offset().left),a.data(b,"handle_l",a(b).outerWidth())),a.data(b,"bar",a(b).parent()),a.data(b,"settings",d)},set_initial_position:function(b){var c=a.data(b.children(".range-slider-handle")[0],"settings"),d="number"!=typeof c.initial||isNaN(c.initial)?Math.floor(.5*(c.end-c.start)/c.step)*c.step+c.start:c.initial,e=b.children(".range-slider-handle");this.set_ui(e,d)},set_value:function(b){var c=this;a("["+c.attr_name()+"]",this.scope).each(function(){a(this).attr(c.attr_name(),b)}),a(this.scope).attr(c.attr_name())&&a(this.scope).attr(c.attr_name(),b),c.reflow()},reflow:function(){var b=this;b.S("["+this.attr_name()+"]").each(function(){var c=a(this).children(".range-slider-handle")[0],d=a(this).attr(b.attr_name());b.initialize_settings(c),d?b.set_ui(a(c),parseFloat(d)):b.set_initial_position(a(this))})}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.tab={name:"tab",version:"5.5.3",settings:{active_class:"active",callback:function(){},deep_linking:!1,scroll_to_content:!0,is_hover:!1},default_tab_hashes:[],init:function(a,b,c){var d=this,e=this.S;e("["+this.attr_name()+"] > .active > a",this.scope).each(function(){d.default_tab_hashes.push(this.hash)}),this.bindings(b,c),this.handle_location_hash_change()},events:function(){var a=this,c=this.S,d=function(b,d){var e=c(d).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");if(!e.is_hover||Modernizr.touch){var f=b.keyCode||b.which;9!==f&&(b.preventDefault(),b.stopPropagation()),a.toggle_active_tab(c(d).parent())}};c(this.scope).off(".tab").on("keydown.fndtn.tab","["+this.attr_name()+"] > * > a",function(a){var b=a.keyCode||a.which;if(13===b||32===b){var c=this;d(a,c)}}).on("click.fndtn.tab","["+this.attr_name()+"] > * > a",function(a){var b=this;d(a,b)}).on("mouseenter.fndtn.tab","["+this.attr_name()+"] > * > a",function(b){var d=c(this).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");d.is_hover&&a.toggle_active_tab(c(this).parent())}),c(b).on("hashchange.fndtn.tab",function(b){b.preventDefault(),a.handle_location_hash_change()})},handle_location_hash_change:function(){var b=this,c=this.S;c("["+this.attr_name()+"]",this.scope).each(function(){var e=c(this).data(b.attr_name(!0)+"-init");if(e.deep_linking){var f;if(f=e.scroll_to_content?b.scope.location.hash:b.scope.location.hash.replace("fndtn-",""),""!=f){var g=c(f);if(g.hasClass("content")&&g.parent().hasClass("tabs-content"))b.toggle_active_tab(a("["+b.attr_name()+"] > * > a[href="+f+"]").parent());else{var h=g.closest(".content").attr("id");h!=d&&b.toggle_active_tab(a("["+b.attr_name()+"] > * > a[href=#"+h+"]").parent(),f)}}else for(var i=0;i * > a[href="+b.default_tab_hashes[i]+"]").parent())}})},toggle_active_tab:function(e,f){var g=this,h=g.S,i=e.closest("["+this.attr_name()+"]"),j=e.find("a"),k=e.children("a").first(),l="#"+k.attr("href").split("#")[1],m=h(l),n=e.siblings(),o=i.data(this.attr_name(!0)+"-init"),p=function(b){var d,e=a(this),f=a(this).parents("li").prev().children('[role="tab"]'),g=a(this).parents("li").next().children('[role="tab"]');switch(b.keyCode){case 37:d=f;break;case 39:d=g;break;default:d=!1}d.length&&(e.attr({tabindex:"-1","aria-selected":null}),d.attr({tabindex:"0","aria-selected":!0}).focus()),a('[role="tabpanel"]').attr("aria-hidden","true"),a("#"+a(c.activeElement).attr("href").substring(1)).attr("aria-hidden",null)},q=function(a){var c=o.scroll_to_content?g.default_tab_hashes[0]:"fndtn-"+g.default_tab_hashes[0].replace("#","");(a!==c||b.location.hash)&&(b.location.hash=a)};k.data("tab-content")&&(l="#"+k.data("tab-content").split("#")[1],m=h(l)),o.deep_linking&&(o.scroll_to_content?(q(f||l),f==d||f==l?e.parent()[0].scrollIntoView():h(l)[0].scrollIntoView()):q(f!=d?"fndtn-"+f.replace("#",""):"fndtn-"+l.replace("#",""))),e.addClass(o.active_class).triggerHandler("opened"),j.attr({"aria-selected":"true",tabindex:0}),n.removeClass(o.active_class),n.find("a").attr({"aria-selected":"false"}),m.siblings().removeClass(o.active_class).attr({"aria-hidden":"true"}),m.addClass(o.active_class).attr("aria-hidden","false").removeAttr("tabindex"),o.callback(e),m.triggerHandler("toggled",[m]),i.triggerHandler("toggled",[e]),j.off("keydown").on("keydown",p)},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.tooltip={name:"tooltip",version:"5.5.3",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,hover_delay:200,fade_in_duration:150,fade_out_duration:150,show_on:"all",tip_template:function(a,b){return''+b+''}},cache:{},init:function(a,b,c){Foundation.inherit(this,"random_str"),this.bindings(b,c)},should_show:function(b,c){var d=a.extend({},this.settings,this.data_options(b));return"all"===d.show_on?!0:this.small()&&"small"===d.show_on?!0:this.medium()&&"medium"===d.show_on?!0:this.large()&&"large"===d.show_on?!0:!1},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},events:function(b){function c(a,b,c){a.timer||(c?(a.timer=null,e.showTip(b)):a.timer=setTimeout(function(){a.timer=null,e.showTip(b)}.bind(a),e.settings.hover_delay))}function d(a,b){a.timer&&(clearTimeout(a.timer),a.timer=null),e.hide(b)}var e=this,f=e.S;e.create(this.S(b)),a(this.scope).off(".tooltip").on("mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"]",function(b){var g=f(this),h=a.extend({},e.settings,e.data_options(g)),i=!1;if(Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&f(b.target).is("a"))return!1;if(/mouse/i.test(b.type)&&e.ie_touch(b))return!1;if(g.hasClass("open"))Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&b.preventDefault(),e.hide(g);else{if(h.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type))return;if(!h.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&(b.preventDefault(),f(h.tooltip_class+".open").hide(),i=!0,a(".open["+e.attr_name()+"]").length>0)){var j=f(a(".open["+e.attr_name()+"]")[0]);e.hide(j)}/enter|over/i.test(b.type)?c(this,g):"mouseout"===b.type||"mouseleave"===b.type?d(this,g):c(this,g,!0)}}).on("mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"].open",function(b){return/mouse/i.test(b.type)&&e.ie_touch(b)?!1:void(("touch"!=a(this).data("tooltip-open-event-type")||"mouseleave"!=b.type)&&("mouse"==a(this).data("tooltip-open-event-type")&&/MSPointerDown|touchstart/i.test(b.type)?e.convert_to_touch(a(this)):d(this,a(this))))}).on("DOMNodeRemoved DOMAttrModified","["+this.attr_name()+"]:not(a)",function(a){d(this,f(this))})},ie_touch:function(a){return!1},showTip:function(a){var b=this.getTip(a);return this.should_show(a,b)?this.show(a):void 0},getTip:function(b){var c=this.selector(b),d=a.extend({},this.settings,this.data_options(b)),e=null;return c&&(e=this.S('span[data-selector="'+c+'"]'+d.tooltip_class)),"object"==typeof e?e:!1},selector:function(a){var b=a.attr(this.attr_name())||a.attr("data-selector");return"string"!=typeof b&&(b=this.random_str(6),a.attr("data-selector",b).attr("aria-describedby",b)),b},create:function(c){var d=this,e=a.extend({},this.settings,this.data_options(c)),f=this.settings.tip_template;"string"==typeof e.tip_template&&b.hasOwnProperty(e.tip_template)&&(f=b[e.tip_template]); +var g=a(f(this.selector(c),a("
    ").html(c.attr("title")).html())),h=this.inheritable_classes(c);g.addClass(h).appendTo(e.append_to),Modernizr.touch&&(g.append(''+e.touch_close_text+""),g.on("touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip",function(a){d.hide(c)})),c.removeAttr("title").attr("title","")},reposition:function(b,c,d){var e,f,g,h,i;c.css("visibility","hidden").show(),e=b.data("width"),f=c.children(".nub"),g=f.outerHeight(),h=f.outerWidth(),this.small()?c.css({width:"100%"}):c.css({width:e?e:"auto"}),i=function(a,b,c,d,e,f){return a.css({top:b?b:"auto",bottom:d?d:"auto",left:e?e:"auto",right:c?c:"auto"}).end()};var j=b.offset().top,k=b.offset().left,l=b.outerHeight();if(i(c,j+l+10,"auto","auto",k),this.small())i(c,j+l+10,"auto","auto",12.5,a(this.scope).width()),c.addClass("tip-override"),i(f,-g,"auto","auto",k);else{Foundation.rtl&&(f.addClass("rtl"),k=k+b.outerWidth()-c.outerWidth()),i(c,j+l+10,"auto","auto",k),f.attr("style")&&f.removeAttr("style"),c.removeClass("tip-override");var m=c.outerHeight();d&&d.indexOf("tip-top")>-1?(Foundation.rtl&&f.addClass("rtl"),i(c,j-m,"auto","auto",k).removeClass("tip-override")):d&&d.indexOf("tip-left")>-1?(i(c,j+l/2-m/2,"auto","auto",k-c.outerWidth()-g).removeClass("tip-override"),f.removeClass("rtl")):d&&d.indexOf("tip-right")>-1&&(i(c,j+l/2-m/2,"auto","auto",k+b.outerWidth()+g).removeClass("tip-override"),f.removeClass("rtl"))}c.css("visibility","visible").hide()},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},inheritable_classes:function(b){var c=a.extend({},this.settings,this.data_options(b)),d=["tip-top","tip-left","tip-bottom","tip-right","radius","round"].concat(c.additional_inheritable_classes),e=b.attr("class"),f=e?a.map(e.split(" "),function(b,c){return-1!==a.inArray(b,d)?b:void 0}).join(" "):"";return a.trim(f)},convert_to_touch:function(b){var c=this,d=c.getTip(b),e=a.extend({},c.settings,c.data_options(b));0===d.find(".tap-to-close").length&&(d.append(''+e.touch_close_text+""),d.on("click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose",function(a){c.hide(b)})),b.data("tooltip-open-event-type","touch")},show:function(a){var b=this.getTip(a);"touch"==a.data("tooltip-open-event-type")&&this.convert_to_touch(a),this.reposition(a,b,a.attr("class")),a.addClass("open"),b.fadeIn(this.settings.fade_in_duration)},hide:function(a){var b=this.getTip(a);b.fadeOut(this.settings.fade_out_duration,function(){b.find(".tap-to-close").remove(),b.off("click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose"),a.removeClass("open")})},off:function(){var b=this;this.S(this.scope).off(".fndtn.tooltip"),this.S(this.settings.tooltip_class).each(function(c){a("["+b.attr_name()+"]").eq(c).attr("title",a(this).text())}).remove()},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.topbar={name:"topbar",version:"5.5.3",settings:{index:0,start_offset:0,sticky_class:"sticky",custom_back_text:!0,back_text:"Back",mobile_show_parent_link:!0,is_hover:!0,scrolltop:!0,sticky_on:"all",dropdown_autoclose:!0},init:function(b,c,d){Foundation.inherit(this,"add_custom_rule register_media throttle");var e=this;e.register_media("topbar","foundation-mq-topbar"),this.bindings(c,d),e.S("["+this.attr_name()+"]",this.scope).each(function(){var b=a(this),c=b.data(e.attr_name(!0)+"-init");e.S("section, .top-bar-section",this);b.data("index",0);var d=b.parent();d.hasClass("fixed")||e.is_sticky(b,d,c)?(e.settings.sticky_class=c.sticky_class,e.settings.sticky_topbar=b,b.data("height",d.outerHeight()),b.data("stickyoffset",d.offset().top)):b.data("height",b.outerHeight()),c.assembled||e.assemble(b),c.is_hover?e.S(".has-dropdown",b).addClass("not-click"):e.S(".has-dropdown",b).removeClass("not-click"),e.add_custom_rule(".f-topbar-fixed { padding-top: "+b.data("height")+"px }"),d.hasClass("fixed")&&e.S("body").addClass("f-topbar-fixed")})},is_sticky:function(a,b,c){var d=b.hasClass(c.sticky_class),e=matchMedia(Foundation.media_queries.small).matches,f=matchMedia(Foundation.media_queries.medium).matches,g=matchMedia(Foundation.media_queries.large).matches;return d&&"all"===c.sticky_on?!0:d&&this.small()&&-1!==c.sticky_on.indexOf("small")&&e&&!f&&!g?!0:d&&this.medium()&&-1!==c.sticky_on.indexOf("medium")&&e&&f&&!g?!0:d&&this.large()&&-1!==c.sticky_on.indexOf("large")&&e&&f&&g?!0:!1},toggle:function(c){var d,e=this;d=c?e.S(c).closest("["+this.attr_name()+"]"):e.S("["+this.attr_name()+"]");var f=d.data(this.attr_name(!0)+"-init"),g=e.S("section, .top-bar-section",d);e.breakpoint()&&(e.rtl?(g.css({right:"0%"}),a(">.name",g).css({right:"100%"})):(g.css({left:"0%"}),a(">.name",g).css({left:"100%"})),e.S("li.moved",g).removeClass("moved"),d.data("index",0),d.toggleClass("expanded").css("height","")),f.scrolltop?d.hasClass("expanded")?d.parent().hasClass("fixed")&&(f.scrolltop?(d.parent().removeClass("fixed"),d.addClass("fixed"),e.S("body").removeClass("f-topbar-fixed"),b.scrollTo(0,0)):d.parent().removeClass("expanded")):d.hasClass("fixed")&&(d.parent().addClass("fixed"),d.removeClass("fixed"),e.S("body").addClass("f-topbar-fixed")):(e.is_sticky(d,d.parent(),f)&&d.parent().addClass("fixed"),d.parent().hasClass("fixed")&&(d.hasClass("expanded")?(d.addClass("fixed"),d.parent().addClass("expanded"),e.S("body").addClass("f-topbar-fixed")):(d.removeClass("fixed"),d.parent().removeClass("expanded"),e.update_sticky_positioning())))},timer:null,events:function(c){var d=this,e=this.S;e(this.scope).off(".topbar").on("click.fndtn.topbar","["+this.attr_name()+"] .toggle-topbar",function(a){a.preventDefault(),d.toggle(this)}).on("click.fndtn.topbar contextmenu.fndtn.topbar",'.top-bar .top-bar-section li a[href^="#"],['+this.attr_name()+'] .top-bar-section li a[href^="#"]',function(b){var c=a(this).closest("li"),e=c.closest("["+d.attr_name()+"]"),f=e.data(d.attr_name(!0)+"-init");if(f.dropdown_autoclose&&f.is_hover){var g=a(this).closest(".hover");g.removeClass("hover")}!d.breakpoint()||c.hasClass("back")||c.hasClass("has-dropdown")||d.toggle()}).on("click.fndtn.topbar","["+this.attr_name()+"] li.has-dropdown",function(b){var c=e(this),f=e(b.target),g=c.closest("["+d.attr_name()+"]"),h=g.data(d.attr_name(!0)+"-init");return f.data("revealId")?void d.toggle():void(d.breakpoint()||(!h.is_hover||Modernizr.touch)&&(b.stopImmediatePropagation(),c.hasClass("hover")?(c.removeClass("hover").find("li").removeClass("hover"),c.parents("li.hover").removeClass("hover")):(c.addClass("hover"),a(c).siblings().removeClass("hover"),"A"===f[0].nodeName&&f.parent().hasClass("has-dropdown")&&b.preventDefault())))}).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown>a",function(a){if(d.breakpoint()){a.preventDefault();var b=e(this),c=b.closest("["+d.attr_name()+"]"),f=c.find("section, .top-bar-section"),g=(b.next(".dropdown").outerHeight(),b.closest("li"));c.data("index",c.data("index")+1),g.addClass("moved"),d.rtl?(f.css({right:-(100*c.data("index"))+"%"}),f.find(">.name").css({right:100*c.data("index")+"%"})):(f.css({left:-(100*c.data("index"))+"%"}),f.find(">.name").css({left:100*c.data("index")+"%"})),c.css("height",b.siblings("ul").outerHeight(!0)+c.data("height"))}}),e(b).off(".topbar").on("resize.fndtn.topbar",d.throttle(function(){d.resize.call(d)},50)).trigger("resize.fndtn.topbar").load(function(){e(this).trigger("resize.fndtn.topbar")}),e("body").off(".topbar").on("click.fndtn.topbar",function(a){var b=e(a.target).closest("li").closest("li.hover");b.length>0||e("["+d.attr_name()+"] li.hover").removeClass("hover")}),e(this.scope).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown .back",function(a){a.preventDefault();var b=e(this),c=b.closest("["+d.attr_name()+"]"),f=c.find("section, .top-bar-section"),g=(c.data(d.attr_name(!0)+"-init"),b.closest("li.moved")),h=g.parent();c.data("index",c.data("index")-1),d.rtl?(f.css({right:-(100*c.data("index"))+"%"}),f.find(">.name").css({right:100*c.data("index")+"%"})):(f.css({left:-(100*c.data("index"))+"%"}),f.find(">.name").css({left:100*c.data("index")+"%"})),0===c.data("index")?c.css("height",""):c.css("height",h.outerHeight(!0)+c.data("height")),setTimeout(function(){g.removeClass("moved")},300)}),e(this.scope).find(".dropdown a").focus(function(){a(this).parents(".has-dropdown").addClass("hover")}).blur(function(){a(this).parents(".has-dropdown").removeClass("hover")})},resize:function(){var a=this;a.S("["+this.attr_name()+"]").each(function(){var b,d=a.S(this),e=d.data(a.attr_name(!0)+"-init"),f=d.parent("."+a.settings.sticky_class);if(!a.breakpoint()){var g=d.hasClass("expanded");d.css("height","").removeClass("expanded").find("li").removeClass("hover"),g&&a.toggle(d)}a.is_sticky(d,f,e)&&(f.hasClass("fixed")?(f.removeClass("fixed"),b=f.offset().top,a.S(c.body).hasClass("f-topbar-fixed")&&(b-=d.data("height")),d.data("stickyoffset",b),f.addClass("fixed")):(b=f.offset().top,d.data("stickyoffset",b)))})},breakpoint:function(){return!matchMedia(Foundation.media_queries.topbar).matches},small:function(){return matchMedia(Foundation.media_queries.small).matches},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},assemble:function(b){var c=this,d=b.data(this.attr_name(!0)+"-init"),e=c.S("section, .top-bar-section",b);e.detach(),c.S(".has-dropdown>a",e).each(function(){var b,e=c.S(this),f=e.siblings(".dropdown"),g=e.attr("href");f.find(".title.back").length||(b=a(1==d.mobile_show_parent_link&&g?'
  2. ":'
  3. '),1==d.custom_back_text?a("h5>a",b).html(d.back_text):a("h5>a",b).html("« "+e.html()),f.prepend(b))}),e.appendTo(b),this.sticky(),this.assembled(b)},assembled:function(b){b.data(this.attr_name(!0),a.extend({},b.data(this.attr_name(!0)),{assembled:!0}))},height:function(b){var c=0,d=this;return a("> li",b).each(function(){c+=d.S(this).outerHeight(!0)}),c},sticky:function(){var a=this;this.S(b).on("scroll",function(){a.update_sticky_positioning()})},update_sticky_positioning:function(){var a="."+this.settings.sticky_class,c=this.S(b),d=this;if(d.settings.sticky_topbar&&d.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(),this.settings)){var e=this.settings.sticky_topbar.data("stickyoffset")+this.settings.start_offset;d.S(a).hasClass("expanded")||(c.scrollTop()>e?d.S(a).hasClass("fixed")||(d.S(a).addClass("fixed"),d.S("body").addClass("f-topbar-fixed")):c.scrollTop()<=e&&d.S(a).hasClass("fixed")&&(d.S(a).removeClass("fixed"),d.S("body").removeClass("f-topbar-fixed")))}},off:function(){this.S(this.scope).off(".fndtn.topbar"),this.S(b).off(".fndtn.topbar")},reflow:function(){}}}(jQuery,window,window.document);;// Load foundation +$(document).foundation(); +$(document).ready(function () { + $('ul.children').each(function () { + $(this).before(''); + }); + $('a.toggle').click('click', function () { + $(this).toggleClass('open'); + $(this).siblings('ul').toggleClass('open'); + }); + $('.top-bar-section').find('ul.sub-menu.dropdown').each(function (){ + var menuImg = $(this).parent('li').prop('id'); + var menuNum = menuImg.match(/\d+/)[0]; + var menuImgSrc = 'img_for_menu_' + menuNum; + if (window['img_for_menu_' + menuNum]) { + $(this).find('li.image-placeholder').html(''); + } else { + $(this).find('li.image-placeholder').parent('ul').addClass('no-image-subul'); + $(this).find('li.image-placeholder').remove(); + } + //console.log('ul = ' + menuImg); + //console.log('menu-id = ' + menuNum); + }); +}); diff --git a/js/fastclick/lib/fastclick.js b/js/fastclick/lib/fastclick.js new file mode 100644 index 0000000..3af4f9d --- /dev/null +++ b/js/fastclick/lib/fastclick.js @@ -0,0 +1,841 @@ +;(function () { + 'use strict'; + + /** + * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs. + * + * @codingstandard ftlabs-jsv2 + * @copyright The Financial Times Limited [All Rights Reserved] + * @license MIT License (see LICENSE.txt) + */ + + /*jslint browser:true, node:true*/ + /*global define, Event, Node*/ + + + /** + * Instantiate fast-clicking listeners on the specified layer. + * + * @constructor + * @param {Element} layer The layer to listen on + * @param {Object} [options={}] The options to override the defaults + */ + function FastClick(layer, options) { + var oldOnClick; + + options = options || {}; + + /** + * Whether a click is currently being tracked. + * + * @type boolean + */ + this.trackingClick = false; + + + /** + * Timestamp for when click tracking started. + * + * @type number + */ + this.trackingClickStart = 0; + + + /** + * The element being tracked for a click. + * + * @type EventTarget + */ + this.targetElement = null; + + + /** + * X-coordinate of touch start event. + * + * @type number + */ + this.touchStartX = 0; + + + /** + * Y-coordinate of touch start event. + * + * @type number + */ + this.touchStartY = 0; + + + /** + * ID of the last touch, retrieved from Touch.identifier. + * + * @type number + */ + this.lastTouchIdentifier = 0; + + + /** + * Touchmove boundary, beyond which a click will be cancelled. + * + * @type number + */ + this.touchBoundary = options.touchBoundary || 10; + + + /** + * The FastClick layer. + * + * @type Element + */ + this.layer = layer; + + /** + * The minimum time between tap(touchstart and touchend) events + * + * @type number + */ + this.tapDelay = options.tapDelay || 200; + + /** + * The maximum time for a tap + * + * @type number + */ + this.tapTimeout = options.tapTimeout || 700; + + if (FastClick.notNeeded(layer)) { + return; + } + + // Some old versions of Android don't have Function.prototype.bind + function bind(method, context) { + return function() { return method.apply(context, arguments); }; + } + + + var methods = ['onMouse', 'onClick', 'onTouchStart', 'onTouchMove', 'onTouchEnd', 'onTouchCancel']; + var context = this; + for (var i = 0, l = methods.length; i < l; i++) { + context[methods[i]] = bind(context[methods[i]], context); + } + + // Set up event handlers as required + if (deviceIsAndroid) { + layer.addEventListener('mouseover', this.onMouse, true); + layer.addEventListener('mousedown', this.onMouse, true); + layer.addEventListener('mouseup', this.onMouse, true); + } + + layer.addEventListener('click', this.onClick, true); + layer.addEventListener('touchstart', this.onTouchStart, false); + layer.addEventListener('touchmove', this.onTouchMove, false); + layer.addEventListener('touchend', this.onTouchEnd, false); + layer.addEventListener('touchcancel', this.onTouchCancel, false); + + // Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2) + // which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick + // layer when they are cancelled. + if (!Event.prototype.stopImmediatePropagation) { + layer.removeEventListener = function(type, callback, capture) { + var rmv = Node.prototype.removeEventListener; + if (type === 'click') { + rmv.call(layer, type, callback.hijacked || callback, capture); + } else { + rmv.call(layer, type, callback, capture); + } + }; + + layer.addEventListener = function(type, callback, capture) { + var adv = Node.prototype.addEventListener; + if (type === 'click') { + adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) { + if (!event.propagationStopped) { + callback(event); + } + }), capture); + } else { + adv.call(layer, type, callback, capture); + } + }; + } + + // If a handler is already declared in the element's onclick attribute, it will be fired before + // FastClick's onClick handler. Fix this by pulling out the user-defined handler function and + // adding it as listener. + if (typeof layer.onclick === 'function') { + + // Android browser on at least 3.2 requires a new reference to the function in layer.onclick + // - the old one won't work if passed to addEventListener directly. + oldOnClick = layer.onclick; + layer.addEventListener('click', function(event) { + oldOnClick(event); + }, false); + layer.onclick = null; + } + } + + /** + * Windows Phone 8.1 fakes user agent string to look like Android and iPhone. + * + * @type boolean + */ + var deviceIsWindowsPhone = navigator.userAgent.indexOf("Windows Phone") >= 0; + + /** + * Android requires exceptions. + * + * @type boolean + */ + var deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0 && !deviceIsWindowsPhone; + + + /** + * iOS requires exceptions. + * + * @type boolean + */ + var deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent) && !deviceIsWindowsPhone; + + + /** + * iOS 4 requires an exception for select elements. + * + * @type boolean + */ + var deviceIsIOS4 = deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent); + + + /** + * iOS 6.0-7.* requires the target element to be manually derived + * + * @type boolean + */ + var deviceIsIOSWithBadTarget = deviceIsIOS && (/OS [6-7]_\d/).test(navigator.userAgent); + + /** + * BlackBerry requires exceptions. + * + * @type boolean + */ + var deviceIsBlackBerry10 = navigator.userAgent.indexOf('BB10') > 0; + + /** + * Determine whether a given element requires a native click. + * + * @param {EventTarget|Element} target Target DOM element + * @returns {boolean} Returns true if the element needs a native click + */ + FastClick.prototype.needsClick = function(target) { + switch (target.nodeName.toLowerCase()) { + + // Don't send a synthetic click to disabled inputs (issue #62) + case 'button': + case 'select': + case 'textarea': + if (target.disabled) { + return true; + } + + break; + case 'input': + + // File inputs need real clicks on iOS 6 due to a browser bug (issue #68) + if ((deviceIsIOS && target.type === 'file') || target.disabled) { + return true; + } + + break; + case 'label': + case 'iframe': // iOS8 homescreen apps can prevent events bubbling into frames + case 'video': + return true; + } + + return (/\bneedsclick\b/).test(target.className); + }; + + + /** + * Determine whether a given element requires a call to focus to simulate click into element. + * + * @param {EventTarget|Element} target Target DOM element + * @returns {boolean} Returns true if the element requires a call to focus to simulate native click. + */ + FastClick.prototype.needsFocus = function(target) { + switch (target.nodeName.toLowerCase()) { + case 'textarea': + return true; + case 'select': + return !deviceIsAndroid; + case 'input': + switch (target.type) { + case 'button': + case 'checkbox': + case 'file': + case 'image': + case 'radio': + case 'submit': + return false; + } + + // No point in attempting to focus disabled inputs + return !target.disabled && !target.readOnly; + default: + return (/\bneedsfocus\b/).test(target.className); + } + }; + + + /** + * Send a click event to the specified element. + * + * @param {EventTarget|Element} targetElement + * @param {Event} event + */ + FastClick.prototype.sendClick = function(targetElement, event) { + var clickEvent, touch; + + // On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24) + if (document.activeElement && document.activeElement !== targetElement) { + document.activeElement.blur(); + } + + touch = event.changedTouches[0]; + + // Synthesise a click event, with an extra attribute so it can be tracked + clickEvent = document.createEvent('MouseEvents'); + clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null); + clickEvent.forwardedTouchEvent = true; + targetElement.dispatchEvent(clickEvent); + }; + + FastClick.prototype.determineEventType = function(targetElement) { + + //Issue #159: Android Chrome Select Box does not open with a synthetic click event + if (deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') { + return 'mousedown'; + } + + return 'click'; + }; + + + /** + * @param {EventTarget|Element} targetElement + */ + FastClick.prototype.focus = function(targetElement) { + var length; + + // Issue #160: on iOS 7, some input elements (e.g. date datetime month) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724. + if (deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time' && targetElement.type !== 'month') { + length = targetElement.value.length; + targetElement.setSelectionRange(length, length); + } else { + targetElement.focus(); + } + }; + + + /** + * Check whether the given target element is a child of a scrollable layer and if so, set a flag on it. + * + * @param {EventTarget|Element} targetElement + */ + FastClick.prototype.updateScrollParent = function(targetElement) { + var scrollParent, parentElement; + + scrollParent = targetElement.fastClickScrollParent; + + // Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the + // target element was moved to another parent. + if (!scrollParent || !scrollParent.contains(targetElement)) { + parentElement = targetElement; + do { + if (parentElement.scrollHeight > parentElement.offsetHeight) { + scrollParent = parentElement; + targetElement.fastClickScrollParent = parentElement; + break; + } + + parentElement = parentElement.parentElement; + } while (parentElement); + } + + // Always update the scroll top tracker if possible. + if (scrollParent) { + scrollParent.fastClickLastScrollTop = scrollParent.scrollTop; + } + }; + + + /** + * @param {EventTarget} targetElement + * @returns {Element|EventTarget} + */ + FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) { + + // On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node. + if (eventTarget.nodeType === Node.TEXT_NODE) { + return eventTarget.parentNode; + } + + return eventTarget; + }; + + + /** + * On touch start, record the position and scroll offset. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onTouchStart = function(event) { + var targetElement, touch, selection; + + // Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111). + if (event.targetTouches.length > 1) { + return true; + } + + targetElement = this.getTargetElementFromEventTarget(event.target); + touch = event.targetTouches[0]; + + if (deviceIsIOS) { + + // Only trusted events will deselect text on iOS (issue #49) + selection = window.getSelection(); + if (selection.rangeCount && !selection.isCollapsed) { + return true; + } + + if (!deviceIsIOS4) { + + // Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23): + // when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched + // with the same identifier as the touch event that previously triggered the click that triggered the alert. + // Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an + // immediately preceeding touch event (issue #52), so this fix is unavailable on that platform. + // Issue 120: touch.identifier is 0 when Chrome dev tools 'Emulate touch events' is set with an iOS device UA string, + // which causes all touch events to be ignored. As this block only applies to iOS, and iOS identifiers are always long, + // random integers, it's safe to to continue if the identifier is 0 here. + if (touch.identifier && touch.identifier === this.lastTouchIdentifier) { + event.preventDefault(); + return false; + } + + this.lastTouchIdentifier = touch.identifier; + + // If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and: + // 1) the user does a fling scroll on the scrollable layer + // 2) the user stops the fling scroll with another tap + // then the event.target of the last 'touchend' event will be the element that was under the user's finger + // when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check + // is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42). + this.updateScrollParent(targetElement); + } + } + + this.trackingClick = true; + this.trackingClickStart = event.timeStamp; + this.targetElement = targetElement; + + this.touchStartX = touch.pageX; + this.touchStartY = touch.pageY; + + // Prevent phantom clicks on fast double-tap (issue #36) + if ((event.timeStamp - this.lastClickTime) < this.tapDelay) { + event.preventDefault(); + } + + return true; + }; + + + /** + * Based on a touchmove event object, check whether the touch has moved past a boundary since it started. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.touchHasMoved = function(event) { + var touch = event.changedTouches[0], boundary = this.touchBoundary; + + if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) { + return true; + } + + return false; + }; + + + /** + * Update the last position. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onTouchMove = function(event) { + if (!this.trackingClick) { + return true; + } + + // If the touch has moved, cancel the click tracking + if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) { + this.trackingClick = false; + this.targetElement = null; + } + + return true; + }; + + + /** + * Attempt to find the labelled control for the given label element. + * + * @param {EventTarget|HTMLLabelElement} labelElement + * @returns {Element|null} + */ + FastClick.prototype.findControl = function(labelElement) { + + // Fast path for newer browsers supporting the HTML5 control attribute + if (labelElement.control !== undefined) { + return labelElement.control; + } + + // All browsers under test that support touch events also support the HTML5 htmlFor attribute + if (labelElement.htmlFor) { + return document.getElementById(labelElement.htmlFor); + } + + // If no for attribute exists, attempt to retrieve the first labellable descendant element + // the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label + return labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea'); + }; + + + /** + * On touch end, determine whether to send a click event at once. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onTouchEnd = function(event) { + var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement; + + if (!this.trackingClick) { + return true; + } + + // Prevent phantom clicks on fast double-tap (issue #36) + if ((event.timeStamp - this.lastClickTime) < this.tapDelay) { + this.cancelNextClick = true; + return true; + } + + if ((event.timeStamp - this.trackingClickStart) > this.tapTimeout) { + return true; + } + + // Reset to prevent wrong click cancel on input (issue #156). + this.cancelNextClick = false; + + this.lastClickTime = event.timeStamp; + + trackingClickStart = this.trackingClickStart; + this.trackingClick = false; + this.trackingClickStart = 0; + + // On some iOS devices, the targetElement supplied with the event is invalid if the layer + // is performing a transition or scroll, and has to be re-detected manually. Note that + // for this to function correctly, it must be called *after* the event target is checked! + // See issue #57; also filed as rdar://13048589 . + if (deviceIsIOSWithBadTarget) { + touch = event.changedTouches[0]; + + // In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null + targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement; + targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent; + } + + targetTagName = targetElement.tagName.toLowerCase(); + if (targetTagName === 'label') { + forElement = this.findControl(targetElement); + if (forElement) { + this.focus(targetElement); + if (deviceIsAndroid) { + return false; + } + + targetElement = forElement; + } + } else if (this.needsFocus(targetElement)) { + + // Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through. + // Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37). + if ((event.timeStamp - trackingClickStart) > 100 || (deviceIsIOS && window.top !== window && targetTagName === 'input')) { + this.targetElement = null; + return false; + } + + this.focus(targetElement); + this.sendClick(targetElement, event); + + // Select elements need the event to go through on iOS 4, otherwise the selector menu won't open. + // Also this breaks opening selects when VoiceOver is active on iOS6, iOS7 (and possibly others) + if (!deviceIsIOS || targetTagName !== 'select') { + this.targetElement = null; + event.preventDefault(); + } + + return false; + } + + if (deviceIsIOS && !deviceIsIOS4) { + + // Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled + // and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42). + scrollParent = targetElement.fastClickScrollParent; + if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) { + return true; + } + } + + // Prevent the actual click from going though - unless the target node is marked as requiring + // real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted. + if (!this.needsClick(targetElement)) { + event.preventDefault(); + this.sendClick(targetElement, event); + } + + return false; + }; + + + /** + * On touch cancel, stop tracking the click. + * + * @returns {void} + */ + FastClick.prototype.onTouchCancel = function() { + this.trackingClick = false; + this.targetElement = null; + }; + + + /** + * Determine mouse events which should be permitted. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onMouse = function(event) { + + // If a target element was never set (because a touch event was never fired) allow the event + if (!this.targetElement) { + return true; + } + + if (event.forwardedTouchEvent) { + return true; + } + + // Programmatically generated events targeting a specific element should be permitted + if (!event.cancelable) { + return true; + } + + // Derive and check the target element to see whether the mouse event needs to be permitted; + // unless explicitly enabled, prevent non-touch click events from triggering actions, + // to prevent ghost/doubleclicks. + if (!this.needsClick(this.targetElement) || this.cancelNextClick) { + + // Prevent any user-added listeners declared on FastClick element from being fired. + if (event.stopImmediatePropagation) { + event.stopImmediatePropagation(); + } else { + + // Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2) + event.propagationStopped = true; + } + + // Cancel the event + event.stopPropagation(); + event.preventDefault(); + + return false; + } + + // If the mouse event is permitted, return true for the action to go through. + return true; + }; + + + /** + * On actual clicks, determine whether this is a touch-generated click, a click action occurring + * naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or + * an actual click which should be permitted. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onClick = function(event) { + var permitted; + + // It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early. + if (this.trackingClick) { + this.targetElement = null; + this.trackingClick = false; + return true; + } + + // Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target. + if (event.target.type === 'submit' && event.detail === 0) { + return true; + } + + permitted = this.onMouse(event); + + // Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through. + if (!permitted) { + this.targetElement = null; + } + + // If clicks are permitted, return true for the action to go through. + return permitted; + }; + + + /** + * Remove all FastClick's event listeners. + * + * @returns {void} + */ + FastClick.prototype.destroy = function() { + var layer = this.layer; + + if (deviceIsAndroid) { + layer.removeEventListener('mouseover', this.onMouse, true); + layer.removeEventListener('mousedown', this.onMouse, true); + layer.removeEventListener('mouseup', this.onMouse, true); + } + + layer.removeEventListener('click', this.onClick, true); + layer.removeEventListener('touchstart', this.onTouchStart, false); + layer.removeEventListener('touchmove', this.onTouchMove, false); + layer.removeEventListener('touchend', this.onTouchEnd, false); + layer.removeEventListener('touchcancel', this.onTouchCancel, false); + }; + + + /** + * Check whether FastClick is needed. + * + * @param {Element} layer The layer to listen on + */ + FastClick.notNeeded = function(layer) { + var metaViewport; + var chromeVersion; + var blackberryVersion; + var firefoxVersion; + + // Devices that don't support touch don't need FastClick + if (typeof window.ontouchstart === 'undefined') { + return true; + } + + // Chrome version - zero for other browsers + chromeVersion = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1]; + + if (chromeVersion) { + + if (deviceIsAndroid) { + metaViewport = document.querySelector('meta[name=viewport]'); + + if (metaViewport) { + // Chrome on Android with user-scalable="no" doesn't need FastClick (issue #89) + if (metaViewport.content.indexOf('user-scalable=no') !== -1) { + return true; + } + // Chrome 32 and above with width=device-width or less don't need FastClick + if (chromeVersion > 31 && document.documentElement.scrollWidth <= window.outerWidth) { + return true; + } + } + + // Chrome desktop doesn't need FastClick (issue #15) + } else { + return true; + } + } + + if (deviceIsBlackBerry10) { + blackberryVersion = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/); + + // BlackBerry 10.3+ does not require Fastclick library. + // https://github.com/ftlabs/fastclick/issues/251 + if (blackberryVersion[1] >= 10 && blackberryVersion[2] >= 3) { + metaViewport = document.querySelector('meta[name=viewport]'); + + if (metaViewport) { + // user-scalable=no eliminates click delay. + if (metaViewport.content.indexOf('user-scalable=no') !== -1) { + return true; + } + // width=device-width (or less than device-width) eliminates click delay. + if (document.documentElement.scrollWidth <= window.outerWidth) { + return true; + } + } + } + } + + // IE10 with -ms-touch-action: none or manipulation, which disables double-tap-to-zoom (issue #97) + if (layer.style.msTouchAction === 'none' || layer.style.touchAction === 'manipulation') { + return true; + } + + // Firefox version - zero for other browsers + firefoxVersion = +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1]; + + if (firefoxVersion >= 27) { + // Firefox 27+ does not have tap delay if the content is not zoomable - https://bugzilla.mozilla.org/show_bug.cgi?id=922896 + + metaViewport = document.querySelector('meta[name=viewport]'); + if (metaViewport && (metaViewport.content.indexOf('user-scalable=no') !== -1 || document.documentElement.scrollWidth <= window.outerWidth)) { + return true; + } + } + + // IE11: prefixed -ms-touch-action is no longer supported and it's recomended to use non-prefixed version + // http://msdn.microsoft.com/en-us/library/windows/apps/Hh767313.aspx + if (layer.style.touchAction === 'none' || layer.style.touchAction === 'manipulation') { + return true; + } + + return false; + }; + + + /** + * Factory method for creating a FastClick object + * + * @param {Element} layer The layer to listen on + * @param {Object} [options={}] The options to override the defaults + */ + FastClick.attach = function(layer, options) { + return new FastClick(layer, options); + }; + + + if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) { + + // AMD. Register as an anonymous module. + define(function() { + return FastClick; + }); + } else if (typeof module !== 'undefined' && module.exports) { + module.exports = FastClick.attach; + module.exports.FastClick = FastClick; + } else { + window.FastClick = FastClick; + } +}()); diff --git a/js/foundation/css/foundation.css.map b/js/foundation/css/foundation.css.map new file mode 100644 index 0000000..40bd448 --- /dev/null +++ b/js/foundation/css/foundation.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../../../scss/foundation/components/_global.scss","../../../scss/foundation/components/_grid.scss","../../../scss/foundation/components/_accordion.scss","../../../scss/foundation/components/_alert-boxes.scss","../../../scss/foundation/components/_block-grid.scss","../../../scss/foundation/components/_breadcrumbs.scss","../../../scss/foundation/components/_buttons.scss","../../../scss/foundation/_functions.scss","../../../scss/foundation/components/_button-groups.scss","../../../scss/foundation/components/_clearing.scss","../../../scss/foundation/components/_dropdown.scss","../../../scss/foundation/components/_dropdown-buttons.scss","../../../scss/foundation/components/_flex-video.scss","../../../scss/foundation/components/_forms.scss","../../../scss/foundation/components/_icon-bar.scss","../../../scss/foundation/components/_inline-lists.scss","../../../scss/foundation/components/_joyride.scss","../../../scss/foundation/components/_keystrokes.scss","../../../scss/foundation/components/_labels.scss","../../../scss/foundation/components/_magellan.scss","../../../scss/foundation/components/_orbit.scss","../../../scss/foundation/components/_pagination.scss","../../../scss/foundation/components/_panels.scss","../../../scss/foundation/components/_pricing-tables.scss","../../../scss/foundation/components/_progress-bars.scss","../../../scss/foundation/components/_range-slider.scss","../../../scss/foundation/components/_reveal.scss","../../../scss/foundation/components/_side-nav.scss","../../../scss/foundation/components/_split-buttons.scss","../../../scss/foundation/components/_sub-nav.scss","../../../scss/foundation/components/_switches.scss","../../../scss/foundation/components/_tables.scss","../../../scss/foundation/components/_tabs.scss","../../../scss/foundation/components/_thumbs.scss","../../../scss/foundation/components/_tooltips.scss","../../../scss/foundation/components/_top-bar.scss","../../../scss/foundation/components/_type.scss","../../../scss/foundation/components/_offcanvas.scss","../../../scss/foundation/components/_visibility.scss"], +"names": [], +"file": "foundation.css" +} diff --git a/js/foundation/css/normalize.css.map b/js/foundation/css/normalize.css.map new file mode 100644 index 0000000..8fc7c41 --- /dev/null +++ b/js/foundation/css/normalize.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": ";;;;;;AAQA,IAAK;EACH,WAAW,EAAE,UAAU;;EACvB,oBAAoB,EAAE,IAAI;;EAC1B,wBAAwB,EAAE,IAAI;;;;;;AAOhC,IAAK;EACH,MAAM,EAAE,CAAC;;;;;;;;;;AAaX;;;;;;;;;;;;OAYQ;EACN,OAAO,EAAE,KAAK;;;;;;AAQhB;;;KAGM;EACJ,OAAO,EAAE,YAAY;;EACrB,cAAc,EAAE,QAAQ;;;;;;;AAQ1B,qBAAsB;EACpB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,CAAC;;;;;;AAQX;QACS;EACP,OAAO,EAAE,IAAI;;;;;;;AAUf,CAAE;EACA,gBAAgB,EAAE,WAAW;;;;;;AAQ/B;OACQ;EACN,OAAO,EAAE,CAAC;;;;;;;AAUZ,WAAY;EACV,aAAa,EAAE,UAAU;;;;;AAO3B;MACO;EACL,WAAW,EAAE,IAAI;;;;;AAOnB,GAAI;EACF,UAAU,EAAE,MAAM;;;;;;AAQpB,EAAG;EACD,SAAS,EAAE,GAAG;EACd,MAAM,EAAE,QAAQ;;;;;AAOlB,IAAK;EACH,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;;;;;AAOb,KAAM;EACJ,SAAS,EAAE,GAAG;;;;;AAOhB;GACI;EACF,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,CAAC;EACd,QAAQ,EAAE,QAAQ;EAClB,cAAc,EAAE,QAAQ;;AAG1B,GAAI;EACF,GAAG,EAAE,MAAM;;AAGb,GAAI;EACF,MAAM,EAAE,OAAO;;;;;;;AAUjB,GAAI;EACF,MAAM,EAAE,CAAC;;;;;AAOX,cAAe;EACb,QAAQ,EAAE,MAAM;;;;;;;AAUlB,MAAO;EACL,MAAM,EAAE,QAAQ;;;;;AAOlB,EAAG;EACD,UAAU,EAAE,WAAW;EACvB,MAAM,EAAE,CAAC;;;;;AAOX,GAAI;EACF,QAAQ,EAAE,IAAI;;;;;AAOhB;;;IAGK;EACH,WAAW,EAAE,oBAAoB;EACjC,SAAS,EAAE,GAAG;;;;;;;;;;;;;;AAkBhB;;;;QAIS;EACP,KAAK,EAAE,OAAO;;EACd,IAAI,EAAE,OAAO;;EACb,MAAM,EAAE,CAAC;;;;;;AAOX,MAAO;EACL,QAAQ,EAAE,OAAO;;;;;;;;AAUnB;MACO;EACL,cAAc,EAAE,IAAI;;;;;;;;;AAWtB;;;oBAGqB;EACnB,kBAAkB,EAAE,MAAM;;EAC1B,MAAM,EAAE,OAAO;;;;;;AAOjB;oBACqB;EACnB,MAAM,EAAE,OAAO;;;;;AAOjB;uBACwB;EACtB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;;;;;;AAQZ,KAAM;EACJ,WAAW,EAAE,MAAM;;;;;;;;;AAWrB;mBACoB;EAClB,UAAU,EAAE,UAAU;;EACtB,OAAO,EAAE,CAAC;;;;;;;;AASZ;+CACgD;EAC9C,MAAM,EAAE,IAAI;;;;;;AAQd,oBAAqB;EACnB,kBAAkB,EAAE,SAAS;;EAC7B,UAAU,EAAE,WAAW;;;;;;;;AASzB;+CACgD;EAC9C,kBAAkB,EAAE,IAAI;;;;;AAO1B,QAAS;EACP,MAAM,EAAE,iBAAiB;EACzB,MAAM,EAAE,KAAK;EACb,OAAO,EAAE,qBAAqB;;;;;;AAQhC,MAAO;EACL,MAAM,EAAE,CAAC;;EACT,OAAO,EAAE,CAAC;;;;;;AAOZ,QAAS;EACP,QAAQ,EAAE,IAAI;;;;;;AAQhB,QAAS;EACP,WAAW,EAAE,IAAI;;;;;;;AAUnB,KAAM;EACJ,eAAe,EAAE,QAAQ;EACzB,cAAc,EAAE,CAAC;;AAGnB;EACG;EACD,OAAO,EAAE,CAAC", +"sources": ["../../../scss/normalize.scss"], +"names": [], +"file": "normalize.css" +} diff --git a/js/foundation/js/foundation.js b/js/foundation/js/foundation.js new file mode 100644 index 0000000..13a76a2 --- /dev/null +++ b/js/foundation/js/foundation.js @@ -0,0 +1,6581 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2015, ZURB + * Free to use under the MIT license. + * http://www.opensource.org/licenses/mit-license.php +*/ + +(function ($, window, document, undefined) { + 'use strict'; + + var header_helpers = function (class_array) { + var head = $('head'); + head.prepend($.map(class_array, function (class_name) { + if (head.has('.' + class_name).length === 0) { + return ''; + } + })); + }; + + header_helpers([ + 'foundation-mq-small', + 'foundation-mq-small-only', + 'foundation-mq-medium', + 'foundation-mq-medium-only', + 'foundation-mq-large', + 'foundation-mq-large-only', + 'foundation-mq-xlarge', + 'foundation-mq-xlarge-only', + 'foundation-mq-xxlarge', + 'foundation-data-attribute-namespace']); + + // Enable FastClick if present + + $(function () { + if (typeof FastClick !== 'undefined') { + // Don't attach to body if undefined + if (typeof document.body !== 'undefined') { + FastClick.attach(document.body); + } + } + }); + + // private Fast Selector wrapper, + // returns jQuery object. Only use where + // getElementById is not available. + var S = function (selector, context) { + if (typeof selector === 'string') { + if (context) { + var cont; + if (context.jquery) { + cont = context[0]; + if (!cont) { + return context; + } + } else { + cont = context; + } + return $(cont.querySelectorAll(selector)); + } + + return $(document.querySelectorAll(selector)); + } + + return $(selector, context); + }; + + // Namespace functions. + + var attr_name = function (init) { + var arr = []; + if (!init) { + arr.push('data'); + } + if (this.namespace.length > 0) { + arr.push(this.namespace); + } + arr.push(this.name); + + return arr.join('-'); + }; + + var add_namespace = function (str) { + var parts = str.split('-'), + i = parts.length, + arr = []; + + while (i--) { + if (i !== 0) { + arr.push(parts[i]); + } else { + if (this.namespace.length > 0) { + arr.push(this.namespace, parts[i]); + } else { + arr.push(parts[i]); + } + } + } + + return arr.reverse().join('-'); + }; + + // Event binding and data-options updating. + + var bindings = function (method, options) { + var self = this, + bind = function(){ + var $this = S(this), + should_bind_events = !$this.data(self.attr_name(true) + '-init'); + $this.data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options($this))); + + if (should_bind_events) { + self.events(this); + } + }; + + if (S(this.scope).is('[' + this.attr_name() +']')) { + bind.call(this.scope); + } else { + S('[' + this.attr_name() +']', this.scope).each(bind); + } + // # Patch to fix #5043 to move this *after* the if/else clause in order for Backbone and similar frameworks to have improved control over event binding and data-options updating. + if (typeof method === 'string') { + return this[method].call(this, options); + } + + }; + + var single_image_loaded = function (image, callback) { + function loaded () { + callback(image[0]); + } + + function bindLoad () { + this.one('load', loaded); + + if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { + var src = this.attr( 'src' ), + param = src.match( /\?/ ) ? '&' : '?'; + + param += 'random=' + (new Date()).getTime(); + this.attr('src', src + param); + } + } + + if (!image.attr('src')) { + loaded(); + return; + } + + if (image[0].complete || image[0].readyState === 4) { + loaded(); + } else { + bindLoad.call(image); + } + }; + + /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */ + + window.matchMedia || (window.matchMedia = function() { + "use strict"; + + // For browsers that support matchMedium api such as IE 9 and webkit + var styleMedia = (window.styleMedia || window.media); + + // For those that don't support matchMedium + if (!styleMedia) { + var style = document.createElement('style'), + script = document.getElementsByTagName('script')[0], + info = null; + + style.type = 'text/css'; + style.id = 'matchmediajs-test'; + + script.parentNode.insertBefore(style, script); + + // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers + info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle; + + styleMedia = { + matchMedium: function(media) { + var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; + + // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers + if (style.styleSheet) { + style.styleSheet.cssText = text; + } else { + style.textContent = text; + } + + // Test if media query is true or false + return info.width === '1px'; + } + }; + } + + return function(media) { + return { + matches: styleMedia.matchMedium(media || 'all'), + media: media || 'all' + }; + }; + }()); + + /* + * jquery.requestAnimationFrame + * https://github.com/gnarf37/jquery-requestAnimationFrame + * Requires jQuery 1.8+ + * + * Copyright (c) 2012 Corey Frang + * Licensed under the MIT license. + */ + + (function(jQuery) { + + + // requestAnimationFrame polyfill adapted from Erik Möller + // fixes from Paul Irish and Tino Zijdel + // http://paulirish.com/2011/requestanimationframe-for-smart-animating/ + // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating + + var animating, + lastTime = 0, + vendors = ['webkit', 'moz'], + requestAnimationFrame = window.requestAnimationFrame, + cancelAnimationFrame = window.cancelAnimationFrame, + jqueryFxAvailable = 'undefined' !== typeof jQuery.fx; + + for (; lastTime < vendors.length && !requestAnimationFrame; lastTime++) { + requestAnimationFrame = window[ vendors[lastTime] + 'RequestAnimationFrame' ]; + cancelAnimationFrame = cancelAnimationFrame || + window[ vendors[lastTime] + 'CancelAnimationFrame' ] || + window[ vendors[lastTime] + 'CancelRequestAnimationFrame' ]; + } + + function raf() { + if (animating) { + requestAnimationFrame(raf); + + if (jqueryFxAvailable) { + jQuery.fx.tick(); + } + } + } + + if (requestAnimationFrame) { + // use rAF + window.requestAnimationFrame = requestAnimationFrame; + window.cancelAnimationFrame = cancelAnimationFrame; + + if (jqueryFxAvailable) { + jQuery.fx.timer = function (timer) { + if (timer() && jQuery.timers.push(timer) && !animating) { + animating = true; + raf(); + } + }; + + jQuery.fx.stop = function () { + animating = false; + }; + } + } else { + // polyfill + window.requestAnimationFrame = function (callback) { + var currTime = new Date().getTime(), + timeToCall = Math.max(0, 16 - (currTime - lastTime)), + id = window.setTimeout(function () { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + + window.cancelAnimationFrame = function (id) { + clearTimeout(id); + }; + + } + + }( $ )); + + function removeQuotes (string) { + if (typeof string === 'string' || string instanceof String) { + string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, ''); + } + + return string; + } + + function MediaQuery(selector) { + this.selector = selector; + this.query = ''; + } + + MediaQuery.prototype.toString = function () { + return this.query || (this.query = S(this.selector).css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')); + }; + + window.Foundation = { + name : 'Foundation', + + version : '5.5.3', + + media_queries : { + 'small' : new MediaQuery('.foundation-mq-small'), + 'small-only' : new MediaQuery('.foundation-mq-small-only'), + 'medium' : new MediaQuery('.foundation-mq-medium'), + 'medium-only' : new MediaQuery('.foundation-mq-medium-only'), + 'large' : new MediaQuery('.foundation-mq-large'), + 'large-only' : new MediaQuery('.foundation-mq-large-only'), + 'xlarge' : new MediaQuery('.foundation-mq-xlarge'), + 'xlarge-only' : new MediaQuery('.foundation-mq-xlarge-only'), + 'xxlarge' : new MediaQuery('.foundation-mq-xxlarge') + }, + + stylesheet : $('').appendTo('head')[0].sheet, + + global : { + namespace : undefined + }, + + init : function (scope, libraries, method, options, response) { + var args = [scope, method, options, response], + responses = []; + + // check RTL + this.rtl = /rtl/i.test(S('html').attr('dir')); + + // set foundation global scope + this.scope = scope || this.scope; + + this.set_namespace(); + + if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) { + if (this.libs.hasOwnProperty(libraries)) { + responses.push(this.init_lib(libraries, args)); + } + } else { + for (var lib in this.libs) { + responses.push(this.init_lib(lib, libraries)); + } + } + + S(window).load(function () { + S(window) + .trigger('resize.fndtn.clearing') + .trigger('resize.fndtn.dropdown') + .trigger('resize.fndtn.equalizer') + .trigger('resize.fndtn.interchange') + .trigger('resize.fndtn.joyride') + .trigger('resize.fndtn.magellan') + .trigger('resize.fndtn.topbar') + .trigger('resize.fndtn.slider'); + }); + + return scope; + }, + + init_lib : function (lib, args) { + if (this.libs.hasOwnProperty(lib)) { + this.patch(this.libs[lib]); + + if (args && args.hasOwnProperty(lib)) { + if (typeof this.libs[lib].settings !== 'undefined') { + $.extend(true, this.libs[lib].settings, args[lib]); + } else if (typeof this.libs[lib].defaults !== 'undefined') { + $.extend(true, this.libs[lib].defaults, args[lib]); + } + return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]); + } + + args = args instanceof Array ? args : new Array(args); + return this.libs[lib].init.apply(this.libs[lib], args); + } + + return function () {}; + }, + + patch : function (lib) { + lib.scope = this.scope; + lib.namespace = this.global.namespace; + lib.rtl = this.rtl; + lib['data_options'] = this.utils.data_options; + lib['attr_name'] = attr_name; + lib['add_namespace'] = add_namespace; + lib['bindings'] = bindings; + lib['S'] = this.utils.S; + }, + + inherit : function (scope, methods) { + var methods_arr = methods.split(' '), + i = methods_arr.length; + + while (i--) { + if (this.utils.hasOwnProperty(methods_arr[i])) { + scope[methods_arr[i]] = this.utils[methods_arr[i]]; + } + } + }, + + set_namespace : function () { + + // Description: + // Don't bother reading the namespace out of the meta tag + // if the namespace has been set globally in javascript + // + // Example: + // Foundation.global.namespace = 'my-namespace'; + // or make it an empty string: + // Foundation.global.namespace = ''; + // + // + + // If the namespace has not been set (is undefined), try to read it out of the meta element. + // Otherwise use the globally defined namespace, even if it's empty ('') + var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace; + + // Finally, if the namsepace is either undefined or false, set it to an empty string. + // Otherwise use the namespace value. + this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace; + }, + + libs : {}, + + // methods that can be inherited in libraries + utils : { + + // Description: + // Fast Selector wrapper returns jQuery object. Only use where getElementById + // is not available. + // + // Arguments: + // Selector (String): CSS selector describing the element(s) to be + // returned as a jQuery object. + // + // Scope (String): CSS selector describing the area to be searched. Default + // is document. + // + // Returns: + // Element (jQuery Object): jQuery object containing elements matching the + // selector within the scope. + S : S, + + // Description: + // Executes a function a max of once every n milliseconds + // + // Arguments: + // Func (Function): Function to be throttled. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Returns: + // Lazy_function (Function): Function with throttling applied. + throttle : function (func, delay) { + var timer = null; + + return function () { + var context = this, args = arguments; + + if (timer == null) { + timer = setTimeout(function () { + func.apply(context, args); + timer = null; + }, delay); + } + }; + }, + + // Description: + // Executes a function when it stops being invoked for n seconds + // Modified version of _.debounce() http://underscorejs.org + // + // Arguments: + // Func (Function): Function to be debounced. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Immediate (Bool): Whether the function should be called at the beginning + // of the delay instead of the end. Default is false. + // + // Returns: + // Lazy_function (Function): Function with debouncing applied. + debounce : function (func, delay, immediate) { + var timeout, result; + return function () { + var context = this, args = arguments; + var later = function () { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + } + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, delay); + if (callNow) { + result = func.apply(context, args); + } + return result; + }; + }, + + // Description: + // Parses data-options attribute + // + // Arguments: + // El (jQuery Object): Element to be parsed. + // + // Returns: + // Options (Javascript Object): Contents of the element's data-options + // attribute. + data_options : function (el, data_attr_name) { + data_attr_name = data_attr_name || 'options'; + var opts = {}, ii, p, opts_arr, + data_options = function (el) { + var namespace = Foundation.global.namespace; + + if (namespace.length > 0) { + return el.data(namespace + '-' + data_attr_name); + } + + return el.data(data_attr_name); + }; + + var cached_options = data_options(el); + + if (typeof cached_options === 'object') { + return cached_options; + } + + opts_arr = (cached_options || ':').split(';'); + ii = opts_arr.length; + + function isNumber (o) { + return !isNaN (o - 0) && o !== null && o !== '' && o !== false && o !== true; + } + + function trim (str) { + if (typeof str === 'string') { + return $.trim(str); + } + return str; + } + + while (ii--) { + p = opts_arr[ii].split(':'); + p = [p[0], p.slice(1).join(':')]; + + if (/true/i.test(p[1])) { + p[1] = true; + } + if (/false/i.test(p[1])) { + p[1] = false; + } + if (isNumber(p[1])) { + if (p[1].indexOf('.') === -1) { + p[1] = parseInt(p[1], 10); + } else { + p[1] = parseFloat(p[1]); + } + } + + if (p.length === 2 && p[0].length > 0) { + opts[trim(p[0])] = trim(p[1]); + } + } + + return opts; + }, + + // Description: + // Adds JS-recognizable media queries + // + // Arguments: + // Media (String): Key string for the media query to be stored as in + // Foundation.media_queries + // + // Class (String): Class name for the generated tag + register_media : function (media, media_class) { + if (Foundation.media_queries[media] === undefined) { + $('head').append(''); + Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family')); + } + }, + + // Description: + // Add custom CSS within a JS-defined media query + // + // Arguments: + // Rule (String): CSS rule to be appended to the document. + // + // Media (String): Optional media query string for the CSS rule to be + // nested under. + add_custom_rule : function (rule, media) { + if (media === undefined && Foundation.stylesheet) { + Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length); + } else { + var query = Foundation.media_queries[media]; + + if (query !== undefined) { + Foundation.stylesheet.insertRule('@media ' + + Foundation.media_queries[media] + '{ ' + rule + ' }', Foundation.stylesheet.cssRules.length); + } + } + }, + + // Description: + // Performs a callback function when an image is fully loaded + // + // Arguments: + // Image (jQuery Object): Image(s) to check if loaded. + // + // Callback (Function): Function to execute when image is fully loaded. + image_loaded : function (images, callback) { + var self = this, + unloaded = images.length; + + function pictures_has_height(images) { + var pictures_number = images.length; + + for (var i = pictures_number - 1; i >= 0; i--) { + if(images.attr('height') === undefined) { + return false; + }; + }; + + return true; + } + + if (unloaded === 0 || pictures_has_height(images)) { + callback(images); + } + + images.each(function () { + single_image_loaded(self.S(this), function () { + unloaded -= 1; + if (unloaded === 0) { + callback(images); + } + }); + }); + }, + + // Description: + // Returns a random, alphanumeric string + // + // Arguments: + // Length (Integer): Length of string to be generated. Defaults to random + // integer. + // + // Returns: + // Rand (String): Pseudo-random, alphanumeric string. + random_str : function () { + if (!this.fidx) { + this.fidx = 0; + } + this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-'); + + return this.prefix + (this.fidx++).toString(36); + }, + + // Description: + // Helper for window.matchMedia + // + // Arguments: + // mq (String): Media query + // + // Returns: + // (Boolean): Whether the media query passes or not + match : function (mq) { + return window.matchMedia(mq).matches; + }, + + // Description: + // Helpers for checking Foundation default media queries with JS + // + // Returns: + // (Boolean): Whether the media query passes or not + + is_small_up : function () { + return this.match(Foundation.media_queries.small); + }, + + is_medium_up : function () { + return this.match(Foundation.media_queries.medium); + }, + + is_large_up : function () { + return this.match(Foundation.media_queries.large); + }, + + is_xlarge_up : function () { + return this.match(Foundation.media_queries.xlarge); + }, + + is_xxlarge_up : function () { + return this.match(Foundation.media_queries.xxlarge); + }, + + is_small_only : function () { + return !this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_medium_only : function () { + return this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_large_only : function () { + return this.is_medium_up() && this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_xlarge_only : function () { + return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_xxlarge_only : function () { + return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && this.is_xxlarge_up(); + } + } + }; + + $.fn.foundation = function () { + var args = Array.prototype.slice.call(arguments, 0); + + return this.each(function () { + Foundation.init.apply(Foundation, [this].concat(args)); + return this; + }); + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.abide = { + name : 'abide', + + version : '5.5.3', + + settings : { + live_validate : true, // validate the form as you go + validate_on_blur : true, // validate whenever you focus/blur on an input field + // validate_on: 'tab', // tab (when user tabs between fields), change (input changes), manual (call custom events) + + focus_on_invalid : true, // automatically bring the focus to an invalid input field + error_labels : true, // labels with a for="inputId" will receive an `error` class + error_class : 'error', // labels with a for="inputId" will receive an `error` class + // the amount of time Abide will take before it validates the form (in ms). + // smaller time will result in faster validation + timeout : 1000, + patterns : { + alpha : /^[a-zA-Z]+$/, + alpha_numeric : /^[a-zA-Z0-9]+$/, + integer : /^[-+]?\d+$/, + number : /^[-+]?\d*(?:[\.\,]\d+)?$/, + + // amex, visa, diners + card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/, + cvv : /^([0-9]){3,4}$/, + + // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address + email : /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/, + + // http://blogs.lse.ac.uk/lti/2008/04/23/a-regular-expression-to-match-any-url/ + url: /^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/, + // abc.de + domain : /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/, + + datetime : /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/, + // YYYY-MM-DD + date : /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/, + // HH:MM:SS + time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/, + dateISO : /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/, + // MM/DD/YYYY + month_day_year : /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/, + // DD/MM/YYYY + day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/, + + // #FFF or #FFFFFF + color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/ + }, + validators : { + equalTo : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + return valid; + } + } + }, + + timer : null, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + form = self.S(scope).attr('novalidate', 'novalidate'), + settings = form.data(this.attr_name(true) + '-init') || {}; + + this.invalid_attr = this.add_namespace('data-invalid'); + + function validate(originalSelf, e) { + clearTimeout(self.timer); + self.timer = setTimeout(function () { + self.validate([originalSelf], e); + }.bind(originalSelf), settings.timeout); + } + + form + .off('.abide') + .on('submit.fndtn.abide', function (e) { + var is_ajax = /ajax/i.test(self.S(this).attr(self.attr_name())); + return self.validate(self.S(this).find('input, textarea, select').not(":hidden, [data-abide-ignore]").get(), e, is_ajax); + }) + .on('validate.fndtn.abide', function (e) { + if (settings.validate_on === 'manual') { + self.validate([e.target], e); + } + }) + .on('reset', function (e) { + return self.reset($(this), e); + }) + .find('input, textarea, select').not(":hidden, [data-abide-ignore]") + .off('.abide') + .on('blur.fndtn.abide change.fndtn.abide', function (e) { + var id = this.getAttribute('id'), + eqTo = form.find('[data-equalto="'+ id +'"]'); + // old settings fallback + // will be deprecated with F6 release + if (settings.validate_on_blur && settings.validate_on_blur === true) { + validate(this, e); + } + // checks if there is an equalTo equivalent related by id + if(typeof eqTo.get(0) !== "undefined" && eqTo.val().length){ + validate(eqTo.get(0),e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('keydown.fndtn.abide', function (e) { + var id = this.getAttribute('id'), + eqTo = form.find('[data-equalto="'+ id +'"]'); + // old settings fallback + // will be deprecated with F6 release + if (settings.live_validate && settings.live_validate === true && e.which != 9) { + validate(this, e); + } + // checks if there is an equalTo equivalent related by id + if(typeof eqTo.get(0) !== "undefined" && eqTo.val().length){ + validate(eqTo.get(0),e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'tab' && e.which === 9) { + validate(this, e); + } + else if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('focus', function (e) { + if (navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)) { + $('html, body').animate({ + scrollTop: $(e.target).offset().top + }, 100); + } + }); + }, + + reset : function (form, e) { + var self = this; + form.removeAttr(self.invalid_attr); + + $('[' + self.invalid_attr + ']', form).removeAttr(self.invalid_attr); + $('.' + self.settings.error_class, form).not('small').removeClass(self.settings.error_class); + $(':input', form).not(':button, :submit, :reset, :hidden, [data-abide-ignore]').val('').removeAttr(self.invalid_attr); + }, + + validate : function (els, e, is_ajax) { + var validations = this.parse_patterns(els), + validation_count = validations.length, + form = this.S(els[0]).closest('form'), + submit_event = /submit/.test(e.type); + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < validation_count; i++) { + if (!validations[i] && (submit_event || is_ajax)) { + if (this.settings.focus_on_invalid) { + els[i].focus(); + } + form.trigger('invalid.fndtn.abide'); + this.S(els[i]).closest('form').attr(this.invalid_attr, ''); + return false; + } + } + + if (submit_event || is_ajax) { + form.trigger('valid.fndtn.abide'); + } + + form.removeAttr(this.invalid_attr); + + if (is_ajax) { + return false; + } + + return true; + }, + + parse_patterns : function (els) { + var i = els.length, + el_patterns = []; + + while (i--) { + el_patterns.push(this.pattern(els[i])); + } + + return this.check_validation_and_apply_styles(el_patterns); + }, + + pattern : function (el) { + var type = el.getAttribute('type'), + required = typeof el.getAttribute('required') === 'string'; + + var pattern = el.getAttribute('pattern') || ''; + + if (this.settings.patterns.hasOwnProperty(pattern) && pattern.length > 0) { + return [el, this.settings.patterns[pattern], required]; + } else if (pattern.length > 0) { + return [el, new RegExp(pattern), required]; + } + + if (this.settings.patterns.hasOwnProperty(type)) { + return [el, this.settings.patterns[type], required]; + } + + pattern = /.*/; + + return [el, pattern, required]; + }, + + // TODO: Break this up into smaller methods, getting hard to read. + check_validation_and_apply_styles : function (el_patterns) { + var i = el_patterns.length, + validations = []; + if (i == 0) { + return validations; + } + var form = this.S(el_patterns[0][0]).closest('[data-' + this.attr_name(true) + ']'), + settings = form.data(this.attr_name(true) + '-init') || {}; + while (i--) { + var el = el_patterns[i][0], + required = el_patterns[i][2], + value = el.value.trim(), + direct_parent = this.S(el).parent(), + validator = el.getAttribute(this.add_namespace('data-abide-validator')), + is_radio = el.type === 'radio', + is_checkbox = el.type === 'checkbox', + label = this.S('label[for="' + el.getAttribute('id') + '"]'), + valid_length = (required) ? (el.value.length > 0) : true, + el_validations = []; + + var parent, valid; + + // support old way to do equalTo validations + if (el.getAttribute(this.add_namespace('data-equalto'))) { validator = 'equalTo' } + + if (!direct_parent.is('label')) { + parent = direct_parent; + } else { + parent = direct_parent.parent(); + } + + if (is_radio && required) { + el_validations.push(this.valid_radio(el, required)); + } else if (is_checkbox && required) { + el_validations.push(this.valid_checkbox(el, required)); + + } else if (validator) { + // Validate using each of the specified (space-delimited) validators. + var validators = validator.split(' '); + var last_valid = true, all_valid = true; + for (var iv = 0; iv < validators.length; iv++) { + valid = this.settings.validators[validators[iv]].apply(this, [el, required, parent]) + el_validations.push(valid); + all_valid = valid && last_valid; + last_valid = valid; + } + if (all_valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass('error'); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass('error'); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } else { + + if (el_patterns[i][1].test(value) && valid_length || + !required && el.value.length < 1 || $(el).attr('disabled')) { + el_validations.push(true); + } else { + el_validations.push(false); + } + + el_validations = [el_validations.every(function (valid) {return valid;})]; + if (el_validations[0]) { + this.S(el).removeAttr(this.invalid_attr); + el.setAttribute('aria-invalid', 'false'); + el.removeAttribute('aria-describedby'); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + el.setAttribute('aria-invalid', 'true'); + + // Try to find the error associated with the input + var errorElem = parent.find('small.' + this.settings.error_class, 'span.' + this.settings.error_class); + var errorID = errorElem.length > 0 ? errorElem[0].id : ''; + if (errorID.length > 0) { + el.setAttribute('aria-describedby', errorID); + } + + // el.setAttribute('aria-describedby', $(el).find('.error')[0].id); + parent.addClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } + validations = validations.concat(el_validations); + } + + return validations; + }, + + valid_checkbox : function (el, required) { + var el = this.S(el), + valid = (el.is(':checked') || !required || el.get(0).getAttribute('disabled')); + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + $(el).triggerHandler('valid'); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + $(el).triggerHandler('invalid'); + } + + return valid; + }, + + valid_radio : function (el, required) { + var name = el.getAttribute('name'), + group = this.S(el).closest('[data-' + this.attr_name(true) + ']').find("[name='" + name + "']"), + count = group.length, + valid = false, + disabled = false; + + // Has to count up to make sure the focus gets applied to the top error + for (var i=0; i < count; i++) { + if( group[i].getAttribute('disabled') ){ + disabled=true; + valid=true; + } else { + if (group[i].checked){ + valid = true; + } else { + if( disabled ){ + valid = false; + } + } + } + } + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < count; i++) { + if (valid) { + this.S(group[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + $(group[i]).triggerHandler('valid'); + } else { + this.S(group[i]).attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + $(group[i]).triggerHandler('invalid'); + } + } + + return valid; + }, + + valid_equal : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + if (valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.removeClass(this.settings.error_class); + } + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.addClass(this.settings.error_class); + } + } + + return valid; + }, + + valid_oneof : function (el, required, parent, doNotValidateOthers) { + var el = this.S(el), + others = this.S('[' + this.add_namespace('data-oneof') + ']'), + valid = others.filter(':checked').length > 0; + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + } + + if (!doNotValidateOthers) { + var _this = this; + others.each(function () { + _this.valid_oneof.call(_this, this, null, null, true); + }); + } + + return valid; + }, + + reflow : function(scope, options) { + var self = this, + form = self.S('[' + this.attr_name() + ']').attr('novalidate', 'novalidate'); + self.S(form).each(function (idx, el) { + self.events(el); + }); + } + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.accordion = { + name : 'accordion', + + version : '5.5.3', + + settings : { + content_class : 'content', + active_class : 'active', + multi_expand : false, + toggleable : true, + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (instance) { + var self = this; + var S = this.S; + self.create(this.S(instance)); + + S(this.scope) + .off('.fndtn.accordion') + .on('click.fndtn.accordion', '[' + this.attr_name() + '] > dd > a, [' + this.attr_name() + '] > li > a', function (e) { + var accordion = S(this).closest('[' + self.attr_name() + ']'), + groupSelector = self.attr_name() + '=' + accordion.attr(self.attr_name()), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings, + target = S('#' + this.href.split('#')[1]), + aunts = $('> dd, > li', accordion), + siblings = aunts.children('.' + settings.content_class), + active_content = siblings.filter('.' + settings.active_class); + + e.preventDefault(); + + if (accordion.attr(self.attr_name())) { + siblings = siblings.add('[' + groupSelector + '] dd > ' + '.' + settings.content_class + ', [' + groupSelector + '] li > ' + '.' + settings.content_class); + aunts = aunts.add('[' + groupSelector + '] dd, [' + groupSelector + '] li'); + } + + if (settings.toggleable && target.is(active_content)) { + target.parent('dd, li').toggleClass(settings.active_class, false); + target.toggleClass(settings.active_class, false); + S(this).attr('aria-expanded', function(i, attr){ + return attr === 'true' ? 'false' : 'true'; + }); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + return; + } + + if (!settings.multi_expand) { + siblings.removeClass(settings.active_class); + aunts.removeClass(settings.active_class); + aunts.children('a').attr('aria-expanded','false'); + } + + target.addClass(settings.active_class).parent().addClass(settings.active_class); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + S(this).attr('aria-expanded','true'); + }); + }, + + create: function($instance) { + var self = this, + accordion = $instance, + aunts = $('> .accordion-navigation', accordion), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings; + + aunts.children('a').attr('aria-expanded','false'); + aunts.has('.' + settings.content_class + '.' + settings.active_class).addClass(settings.active_class).children('a').attr('aria-expanded','true'); + + if (settings.multi_expand) { + $instance.attr('aria-multiselectable','true'); + } + }, + + toggle : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + var selector = typeof options.selector !== 'undefined' ? options.selector : ''; + var toggle_state = typeof options.toggle_state !== 'undefined' ? options.toggle_state : ''; + var $accordion = typeof options.$accordion !== 'undefined' ? options.$accordion : this.S(this.scope).closest('[' + this.attr_name() + ']'); + + var $items = $accordion.find('> dd' + selector + ', > li' + selector); + if ( $items.length < 1 ) { + if ( window.console ) { + console.error('Selection not found.', selector); + } + return false; + } + + var S = this.S; + var active_class = this.settings.active_class; + $items.each(function() { + var $item = S(this); + var is_active = $item.hasClass(active_class); + if ( ( is_active && toggle_state === 'close' ) || ( !is_active && toggle_state === 'open' ) || toggle_state === '' ) { + $item.find('> a').trigger('click.fndtn.accordion'); + } + }); + }, + + open : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'open'; + this.toggle(options); + }, + + close : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'close'; + this.toggle(options); + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.alert = { + name : 'alert', + + version : '5.5.3', + + settings : { + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = this.S; + + $(this.scope).off('.alert').on('click.fndtn.alert', '[' + this.attr_name() + '] .close', function (e) { + var alertBox = S(this).closest('[' + self.attr_name() + ']'), + settings = alertBox.data(self.attr_name(true) + '-init') || self.settings; + + e.preventDefault(); + if (Modernizr.csstransitions) { + alertBox.addClass('alert-close'); + alertBox.on('transitionend webkitTransitionEnd oTransitionEnd', function (e) { + S(this).trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } else { + alertBox.fadeOut(300, function () { + S(this).trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } + }); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.clearing = { + name : 'clearing', + + version : '5.5.3', + + settings : { + templates : { + viewing : '×' + + '' + + '' + + '' + }, + + // comma delimited list of selectors that, on click, will close clearing, + // add 'div.clearing-blackout, div.visible-img' to close on background click + close_selectors : '.clearing-close, div.clearing-blackout', + + // Default to the entire li element. + open_selectors : '', + + // Image will be skipped in carousel. + skip_selector : '', + + touch_label : '', + + // event initializer and locks + init : false, + locked : false + }, + + init : function (scope, method, options) { + var self = this; + Foundation.inherit(this, 'throttle image_loaded'); + + this.bindings(method, options); + + if (self.S(this.scope).is('[' + this.attr_name() + ']')) { + this.assemble(self.S('li', this.scope)); + } else { + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + self.assemble(self.S('li', this)); + }); + } + }, + + events : function (scope) { + var self = this, + S = self.S, + $scroll_container = $('.scroll-container'); + + if ($scroll_container.length > 0) { + this.scope = $scroll_container; + } + + S(this.scope) + .off('.clearing') + .on('click.fndtn.clearing', 'ul[' + this.attr_name() + '] li ' + this.settings.open_selectors, + function (e, current, target) { + var current = current || S(this), + target = target || current, + next = current.next('li'), + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'), + image = S(e.target); + + e.preventDefault(); + + if (!settings) { + self.init(); + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + } + + // if clearing is open and the current image is + // clicked, go to the next image in sequence + if (target.hasClass('visible') && + current[0] === target[0] && + next.length > 0 && self.is_open(current)) { + target = next; + image = S('img', target); + } + + // set current and target to the clicked li if not otherwise defined. + self.open(image, current, target); + self.update_paddles(target); + }) + + .on('click.fndtn.clearing', '.clearing-main-next', + function (e) { self.nav(e, 'next') }) + .on('click.fndtn.clearing', '.clearing-main-prev', + function (e) { self.nav(e, 'prev') }) + .on('click.fndtn.clearing', this.settings.close_selectors, + function (e) { Foundation.libs.clearing.close(e, this) }); + + $(document).on('keydown.fndtn.clearing', + function (e) { self.keydown(e) }); + + S(window).off('.clearing').on('resize.fndtn.clearing', + function () { self.resize() }); + + this.swipe_events(scope); + }, + + swipe_events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .on('touchstart.fndtn.clearing', '.visible-img', function (e) { + if (!e.touches) { e = e.originalEvent; } + var data = { + start_page_x : e.touches[0].pageX, + start_page_y : e.touches[0].pageY, + start_time : (new Date()).getTime(), + delta_x : 0, + is_scrolling : undefined + }; + + S(this).data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.clearing', '.visible-img', function (e) { + if (!e.touches) { + e = e.originalEvent; + } + // Ignore pinch/zoom events + if (e.touches.length > 1 || e.scale && e.scale !== 1) { + return; + } + + var data = S(this).data('swipe-transition'); + + if (typeof data === 'undefined') { + data = {}; + } + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if (Foundation.rtl) { + data.delta_x = -data.delta_x; + } + + if (typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? 'next' : 'prev'; + data.active = true; + self.nav(e, direction); + } + }) + .on('touchend.fndtn.clearing', '.visible-img', function (e) { + S(this).data('swipe-transition', {}); + e.stopPropagation(); + }); + }, + + assemble : function ($li) { + var $el = $li.parent(); + + if ($el.parent().hasClass('carousel')) { + return; + } + + $el.after('
    '); + + var grid = $el.detach(), + grid_outerHTML = ''; + + if (grid[0] == null) { + return; + } else { + grid_outerHTML = grid[0].outerHTML; + } + + var holder = this.S('#foundationClearingHolder'), + settings = $el.data(this.attr_name(true) + '-init'), + data = { + grid : '', + viewing : settings.templates.viewing + }, + wrapper = '
    ' + data.viewing + + data.grid + '
    ', + touch_label = this.settings.touch_label; + + if (Modernizr.touch) { + wrapper = $(wrapper).find('.clearing-touch-label').html(touch_label).end(); + } + + holder.after(wrapper).remove(); + }, + + open : function ($image, current, target) { + var self = this, + body = $(document.body), + root = target.closest('.clearing-assembled'), + container = self.S('div', root).first(), + visible_image = self.S('.visible-img', container), + image = self.S('img', visible_image).not($image), + label = self.S('.clearing-touch-label', container), + error = false, + loaded = {}; + + // Event to disable scrolling on touch devices when Clearing is activated + $('body').on('touchmove', function (e) { + e.preventDefault(); + }); + + image.error(function () { + error = true; + }); + + function startLoad() { + setTimeout(function () { + this.image_loaded(image, function () { + if (image.outerWidth() === 1 && !error) { + startLoad.call(this); + } else { + cb.call(this, image); + } + }.bind(this)); + }.bind(this), 100); + } + + function cb (image) { + var $image = $(image); + $image.css('visibility', 'visible'); + $image.trigger('imageVisible'); + // toggle the gallery + body.css('overflow', 'hidden'); + root.addClass('clearing-blackout'); + container.addClass('clearing-container'); + visible_image.show(); + this.fix_height(target) + .caption(self.S('.clearing-caption', visible_image), self.S('img', target)) + .center_and_label(image, label) + .shift(current, target, function () { + target.closest('li').siblings().removeClass('visible'); + target.closest('li').addClass('visible'); + }); + visible_image.trigger('opened.fndtn.clearing') + } + + if (!this.locked()) { + visible_image.trigger('open.fndtn.clearing'); + // set the image to the selected thumbnail + loaded = this.load($image); + if (loaded.interchange) { + image + .attr('data-interchange', loaded.interchange) + .foundation('interchange', 'reflow'); + } else { + image + .attr('src', loaded.src) + .attr('data-interchange', ''); + } + image.css('visibility', 'hidden'); + + startLoad.call(this); + } + }, + + close : function (e, el) { + e.preventDefault(); + + var root = (function (target) { + if (/blackout/.test(target.selector)) { + return target; + } else { + return target.closest('.clearing-blackout'); + } + }($(el))), + body = $(document.body), container, visible_image; + + if (el === e.target && root) { + body.css('overflow', ''); + container = $('div', root).first(); + visible_image = $('.visible-img', container); + visible_image.trigger('close.fndtn.clearing'); + this.settings.prev_index = 0; + $('ul[' + this.attr_name() + ']', root) + .attr('style', '').closest('.clearing-blackout') + .removeClass('clearing-blackout'); + container.removeClass('clearing-container'); + visible_image.hide(); + visible_image.trigger('closed.fndtn.clearing'); + } + + // Event to re-enable scrolling on touch devices + $('body').off('touchmove'); + + return false; + }, + + is_open : function (current) { + return current.parent().prop('style').length > 0; + }, + + keydown : function (e) { + var clearing = $('.clearing-blackout ul[' + this.attr_name() + ']'), + NEXT_KEY = this.rtl ? 37 : 39, + PREV_KEY = this.rtl ? 39 : 37, + ESC_KEY = 27; + + if (e.which === NEXT_KEY) { + this.go(clearing, 'next'); + } + if (e.which === PREV_KEY) { + this.go(clearing, 'prev'); + } + if (e.which === ESC_KEY) { + this.S('a.clearing-close').trigger('click.fndtn.clearing'); + } + }, + + nav : function (e, direction) { + var clearing = $('ul[' + this.attr_name() + ']', '.clearing-blackout'); + + e.preventDefault(); + this.go(clearing, direction); + }, + + resize : function () { + var image = $('img', '.clearing-blackout .visible-img'), + label = $('.clearing-touch-label', '.clearing-blackout'); + + if (image.length) { + this.center_and_label(image, label); + image.trigger('resized.fndtn.clearing') + } + }, + + // visual adjustments + fix_height : function (target) { + var lis = target.parent().children(), + self = this; + + lis.each(function () { + var li = self.S(this), + image = li.find('img'); + + if (li.height() > image.outerHeight()) { + li.addClass('fix-height'); + } + }) + .closest('ul') + .width(lis.length * 100 + '%'); + + return this; + }, + + update_paddles : function (target) { + target = target.closest('li'); + var visible_image = target + .closest('.carousel') + .siblings('.visible-img'); + + if (target.next().length > 0) { + this.S('.clearing-main-next', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-next', visible_image).addClass('disabled'); + } + + if (target.prev().length > 0) { + this.S('.clearing-main-prev', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-prev', visible_image).addClass('disabled'); + } + }, + + center_and_label : function (target, label) { + if (!this.rtl && label.length > 0) { + label.css({ + marginLeft : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10 + }); + } else { + label.css({ + marginRight : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10, + left: 'auto', + right: '50%' + }); + } + return this; + }, + + // image loading and preloading + + load : function ($image) { + var href, + interchange, + closest_a; + + if ($image[0].nodeName === 'A') { + href = $image.attr('href'); + interchange = $image.data('clearing-interchange'); + } else { + closest_a = $image.closest('a'); + href = closest_a.attr('href'); + interchange = closest_a.data('clearing-interchange'); + } + + this.preload($image); + + return { + 'src': href ? href : $image.attr('src'), + 'interchange': href ? interchange : $image.data('clearing-interchange') + } + }, + + preload : function ($image) { + this + .img($image.closest('li').next(), 'next') + .img($image.closest('li').prev(), 'prev'); + }, + + img : function (img, sibling_type) { + if (img.length) { + var preload_img = $('.clearing-preload-' + sibling_type), + new_a = this.S('a', img), + src, + interchange, + image; + + if (new_a.length) { + src = new_a.attr('href'); + interchange = new_a.data('clearing-interchange'); + } else { + image = this.S('img', img); + src = image.attr('src'); + interchange = image.data('clearing-interchange'); + } + + if (interchange) { + preload_img.attr('data-interchange', interchange); + } else { + preload_img.attr('src', src); + preload_img.attr('data-interchange', ''); + } + } + return this; + }, + + // image caption + + caption : function (container, $image) { + var caption = $image.attr('data-caption'); + + if (caption) { + var containerPlain = container.get(0); + containerPlain.innerHTML = caption; + container.show(); + } else { + container + .text('') + .hide(); + } + return this; + }, + + // directional methods + + go : function ($ul, direction) { + var current = this.S('.visible', $ul), + target = current[direction](); + + // Check for skip selector. + if (this.settings.skip_selector && target.find(this.settings.skip_selector).length != 0) { + target = target[direction](); + } + + if (target.length) { + this.S('img', target) + .trigger('click.fndtn.clearing', [current, target]) + .trigger('change.fndtn.clearing'); + } + }, + + shift : function (current, target, callback) { + var clearing = target.parent(), + old_index = this.settings.prev_index || target.index(), + direction = this.direction(clearing, current, target), + dir = this.rtl ? 'right' : 'left', + left = parseInt(clearing.css('left'), 10), + width = target.outerWidth(), + skip_shift; + + var dir_obj = {}; + + // we use jQuery animate instead of CSS transitions because we + // need a callback to unlock the next animation + // needs support for RTL ** + if (target.index() !== old_index && !/skip/.test(direction)) { + if (/left/.test(direction)) { + this.lock(); + dir_obj[dir] = left + width; + clearing.animate(dir_obj, 300, this.unlock()); + } else if (/right/.test(direction)) { + this.lock(); + dir_obj[dir] = left - width; + clearing.animate(dir_obj, 300, this.unlock()); + } + } else if (/skip/.test(direction)) { + // the target image is not adjacent to the current image, so + // do we scroll right or not + skip_shift = target.index() - this.settings.up_count; + this.lock(); + + if (skip_shift > 0) { + dir_obj[dir] = -(skip_shift * width); + clearing.animate(dir_obj, 300, this.unlock()); + } else { + dir_obj[dir] = 0; + clearing.animate(dir_obj, 300, this.unlock()); + } + } + + callback(); + }, + + direction : function ($el, current, target) { + var lis = this.S('li', $el), + li_width = lis.outerWidth() + (lis.outerWidth() / 4), + up_count = Math.floor(this.S('.clearing-container').outerWidth() / li_width) - 1, + target_index = lis.index(target), + response; + + this.settings.up_count = up_count; + + if (this.adjacent(this.settings.prev_index, target_index)) { + if ((target_index > up_count) && target_index > this.settings.prev_index) { + response = 'right'; + } else if ((target_index > up_count - 1) && target_index <= this.settings.prev_index) { + response = 'left'; + } else { + response = false; + } + } else { + response = 'skip'; + } + + this.settings.prev_index = target_index; + + return response; + }, + + adjacent : function (current_index, target_index) { + for (var i = target_index + 1; i >= target_index - 1; i--) { + if (i === current_index) { + return true; + } + } + return false; + }, + + // lock management + + lock : function () { + this.settings.locked = true; + }, + + unlock : function () { + this.settings.locked = false; + }, + + locked : function () { + return this.settings.locked; + }, + + off : function () { + this.S(this.scope).off('.fndtn.clearing'); + this.S(window).off('.fndtn.clearing'); + }, + + reflow : function () { + this.init(); + } + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.dropdown = { + name : 'dropdown', + + version : '5.5.3', + + settings : { + active_class : 'open', + disabled_class : 'disabled', + mega_class : 'mega', + align : 'bottom', + is_hover : false, + hover_timeout : 150, + opened : function () {}, + closed : function () {} + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.dropdown') + .on('click.fndtn.dropdown', '[' + this.attr_name() + ']', function (e) { + var settings = S(this).data(self.attr_name(true) + '-init') || self.settings; + if (!settings.is_hover || Modernizr.touch) { + e.preventDefault(); + if (S(this).parent('[data-reveal-id]').length) { + e.stopPropagation(); + } + self.toggle($(this)); + } + }) + .on('mouseenter.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this), + dropdown, + target; + + clearTimeout(self.timeout); + + if ($this.data(self.data_attr())) { + dropdown = S('#' + $this.data(self.data_attr())); + target = $this; + } else { + dropdown = $this; + target = S('[' + self.attr_name() + '="' + dropdown.attr('id') + '"]'); + } + + var settings = target.data(self.attr_name(true) + '-init') || self.settings; + + if (S(e.currentTarget).data(self.data_attr()) && settings.is_hover) { + self.closeall.call(self); + } + + if (settings.is_hover) { + self.open.apply(self, [dropdown, target]); + } + }) + .on('mouseleave.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this); + var settings; + + if ($this.data(self.data_attr())) { + settings = $this.data(self.data_attr(true) + '-init') || self.settings; + } else { + var target = S('[' + self.attr_name() + '="' + S(this).attr('id') + '"]'), + settings = target.data(self.attr_name(true) + '-init') || self.settings; + } + + self.timeout = setTimeout(function () { + if ($this.data(self.data_attr())) { + if (settings.is_hover) { + self.close.call(self, S('#' + $this.data(self.data_attr()))); + } + } else { + if (settings.is_hover) { + self.close.call(self, $this); + } + } + }.bind(this), settings.hover_timeout); + }) + .on('click.fndtn.dropdown', function (e) { + var parent = S(e.target).closest('[' + self.attr_name() + '-content]'); + var links = parent.find('a'); + + if (links.length > 0 && parent.attr('aria-autoclose') !== 'false') { + self.close.call(self, S('[' + self.attr_name() + '-content]')); + } + + if (e.target !== document && !$.contains(document.documentElement, e.target)) { + return; + } + + if (S(e.target).closest('[' + self.attr_name() + ']').length > 0) { + return; + } + + if (!(S(e.target).data('revealId')) && + (parent.length > 0 && (S(e.target).is('[' + self.attr_name() + '-content]') || + $.contains(parent.first()[0], e.target)))) { + e.stopPropagation(); + return; + } + + self.close.call(self, S('[' + self.attr_name() + '-content]')); + }) + .on('opened.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.opened.call(this); + }) + .on('closed.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.closed.call(this); + }); + + S(window) + .off('.dropdown') + .on('resize.fndtn.dropdown', self.throttle(function () { + self.resize.call(self); + }, 50)); + + this.resize(); + }, + + close : function (dropdown) { + var self = this; + dropdown.each(function (idx) { + var original_target = $('[' + self.attr_name() + '=' + dropdown[idx].id + ']') || $('aria-controls=' + dropdown[idx].id + ']'); + original_target.attr('aria-expanded', 'false'); + if (self.S(this).hasClass(self.settings.active_class)) { + self.S(this) + .css(Foundation.rtl ? 'right' : 'left', '-99999px') + .attr('aria-hidden', 'true') + .removeClass(self.settings.active_class) + .prev('[' + self.attr_name() + ']') + .removeClass(self.settings.active_class) + .removeData('target'); + + self.S(this).trigger('closed.fndtn.dropdown', [dropdown]); + } + }); + dropdown.removeClass('f-open-' + this.attr_name(true)); + }, + + closeall : function () { + var self = this; + $.each(self.S('.f-open-' + this.attr_name(true)), function () { + self.close.call(self, self.S(this)); + }); + }, + + open : function (dropdown, target) { + this + .css(dropdown + .addClass(this.settings.active_class), target); + dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class); + dropdown.data('target', target.get(0)).trigger('opened.fndtn.dropdown', [dropdown, target]); + dropdown.attr('aria-hidden', 'false'); + target.attr('aria-expanded', 'true'); + dropdown.focus(); + dropdown.addClass('f-open-' + this.attr_name(true)); + }, + + data_attr : function () { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.name; + } + + return this.name; + }, + + toggle : function (target) { + if (target.hasClass(this.settings.disabled_class)) { + return; + } + var dropdown = this.S('#' + target.data(this.data_attr())); + if (dropdown.length === 0) { + // No dropdown found, not continuing + return; + } + + this.close.call(this, this.S('[' + this.attr_name() + '-content]').not(dropdown)); + + if (dropdown.hasClass(this.settings.active_class)) { + this.close.call(this, dropdown); + if (dropdown.data('target') !== target.get(0)) { + this.open.call(this, dropdown, target); + } + } else { + this.open.call(this, dropdown, target); + } + }, + + resize : function () { + var dropdown = this.S('[' + this.attr_name() + '-content].open'); + var target = $(dropdown.data("target")); + + if (dropdown.length && target.length) { + this.css(dropdown, target); + } + }, + + css : function (dropdown, target) { + var left_offset = Math.max((target.width() - dropdown.width()) / 2, 8), + settings = target.data(this.attr_name(true) + '-init') || this.settings, + parentOverflow = dropdown.parent().css('overflow-y') || dropdown.parent().css('overflow'); + + this.clear_idx(); + + + + if (this.small()) { + var p = this.dirs.bottom.call(dropdown, target, settings); + + dropdown.attr('style', '').removeClass('drop-left drop-right drop-top').css({ + position : 'absolute', + width : '95%', + 'max-width' : 'none', + top : p.top + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } + // detect if dropdown is in an overflow container + else if (parentOverflow !== 'visible') { + var offset = target[0].offsetTop + target[0].offsetHeight; + + dropdown.attr('style', '').css({ + position : 'absolute', + top : offset + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } + else { + + this.style(dropdown, target, settings); + } + + return dropdown; + }, + + style : function (dropdown, target, settings) { + var css = $.extend({position : 'absolute'}, + this.dirs[settings.align].call(dropdown, target, settings)); + + dropdown.attr('style', '').css(css); + }, + + // return CSS property object + // `this` is the dropdown + dirs : { + // Calculate target offset + _base : function (t, s) { + var o_p = this.offsetParent(), + o = o_p.offset(), + p = t.offset(); + + p.top -= o.top; + p.left -= o.left; + + //set some flags on the p object to pass along + p.missRight = false; + p.missTop = false; + p.missLeft = false; + p.leftRightFlag = false; + + //lets see if the panel will be off the screen + //get the actual width of the page and store it + var actualBodyWidth; + var windowWidth = window.innerWidth; + + if (document.getElementsByClassName('row')[0]) { + actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth; + } else { + actualBodyWidth = windowWidth; + } + + var actualMarginWidth = (windowWidth - actualBodyWidth) / 2; + var actualBoundary = actualBodyWidth; + + if (!this.hasClass('mega') && !s.ignore_repositioning) { + var outerWidth = this.outerWidth(); + var o_left = t.offset().left; + + //miss top + if (t.offset().top <= this.outerHeight()) { + p.missTop = true; + actualBoundary = windowWidth - actualMarginWidth; + p.leftRightFlag = true; + } + + //miss right + if (o_left + outerWidth > o_left + actualMarginWidth && o_left - actualMarginWidth > outerWidth) { + p.missRight = true; + p.missLeft = false; + } + + //miss left + if (o_left - outerWidth <= 0) { + p.missLeft = true; + p.missRight = false; + } + } + + return p; + }, + + top : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t, s); + + this.addClass('drop-top'); + + if (p.missTop == true) { + p.top = p.top + t.outerHeight() + this.outerHeight(); + this.removeClass('drop-top'); + } + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (Foundation.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), + top : p.top - this.outerHeight()}; + } + + return {left : p.left, top : p.top - this.outerHeight()}; + }, + + bottom : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t, s); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (self.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), top : p.top + t.outerHeight()}; + } + + return {left : p.left, top : p.top + t.outerHeight()}; + }, + + left : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t, s); + + this.addClass('drop-left'); + + if (p.missLeft == true) { + p.left = p.left + this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-left'); + } + + return {left : p.left - this.outerWidth(), top : p.top}; + }, + + right : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t, s); + + this.addClass('drop-right'); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-right'); + } else { + p.triggeredRight = true; + } + + var self = Foundation.libs.dropdown; + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + return {left : p.left + t.outerWidth(), top : p.top}; + } + }, + + // Insert rule to style psuedo elements + adjust_pip : function (dropdown, target, settings, position) { + var sheet = Foundation.stylesheet, + pip_offset_base = 8; + + if (dropdown.hasClass(settings.mega_class)) { + pip_offset_base = position.left + (target.outerWidth() / 2) - 8; + } else if (this.small()) { + pip_offset_base += position.left - 8; + } + + this.rule_idx = sheet.cssRules.length; + + //default + var sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + + if (position.missRight == true) { + pip_offset_base = dropdown.outerWidth() - 23; + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + } + + //just a case where right is fired, but its not missing right + if (position.triggeredRight == true) { + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left:-12px;', + css_after = 'left:-14px;'; + } + + if (sheet.insertRule) { + sheet.insertRule([sel_before, '{', css_before, '}'].join(' '), this.rule_idx); + sheet.insertRule([sel_after, '{', css_after, '}'].join(' '), this.rule_idx + 1); + } else { + sheet.addRule(sel_before, css_before, this.rule_idx); + sheet.addRule(sel_after, css_after, this.rule_idx + 1); + } + }, + + // Remove old dropdown rule index + clear_idx : function () { + var sheet = Foundation.stylesheet; + + if (typeof this.rule_idx !== 'undefined') { + sheet.deleteRule(this.rule_idx); + sheet.deleteRule(this.rule_idx); + delete this.rule_idx; + } + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + off : function () { + this.S(this.scope).off('.fndtn.dropdown'); + this.S('html, body').off('.fndtn.dropdown'); + this.S(window).off('.fndtn.dropdown'); + this.S('[data-dropdown-content]').off('.fndtn.dropdown'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.equalizer = { + name : 'equalizer', + + version : '5.5.3', + + settings : { + use_tallest : true, + before_height_change : $.noop, + after_height_change : $.noop, + equalize_on_stack : false, + act_on_hidden_el: false + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'image_loaded'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + this.S(window).off('.equalizer').on('resize.fndtn.equalizer', function (e) { + this.reflow(); + }.bind(this)); + }, + + equalize : function (equalizer) { + var isStacked = false, + group = equalizer.data('equalizer'), + settings = equalizer.data(this.attr_name(true)+'-init') || this.settings, + vals, + firstTopOffset; + + if (settings.act_on_hidden_el) { + vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]') : equalizer.find('['+this.attr_name()+'-watch]'); + } + else { + vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]:visible') : equalizer.find('['+this.attr_name()+'-watch]:visible'); + } + + if (vals.length === 0) { + return; + } + + settings.before_height_change(); + equalizer.trigger('before-height-change.fndth.equalizer'); + vals.height('inherit'); + + if (settings.equalize_on_stack === false) { + firstTopOffset = vals.first().offset().top; + vals.each(function () { + if ($(this).offset().top !== firstTopOffset) { + isStacked = true; + return false; + } + }); + if (isStacked) { + return; + } + } + + var heights = vals.map(function () { return $(this).outerHeight(false) }).get(); + + if (settings.use_tallest) { + var max = Math.max.apply(null, heights); + vals.css('height', max); + } else { + var min = Math.min.apply(null, heights); + vals.css('height', min); + } + + settings.after_height_change(); + equalizer.trigger('after-height-change.fndtn.equalizer'); + }, + + reflow : function () { + var self = this; + + this.S('[' + this.attr_name() + ']', this.scope).each(function () { + var $eq_target = $(this), + media_query = $eq_target.data('equalizer-mq'), + ignore_media_query = true; + + if (media_query) { + media_query = 'is_' + media_query.replace(/-/g, '_'); + if (Foundation.utils.hasOwnProperty(media_query)) { + ignore_media_query = false; + } + } + + self.image_loaded(self.S('img', this), function () { + if (ignore_media_query || Foundation.utils[media_query]()) { + self.equalize($eq_target) + } else { + var vals = $eq_target.find('[' + self.attr_name() + '-watch]:visible'); + vals.css('height', 'auto'); + } + }); + }); + } + }; +})(jQuery, window, window.document); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.interchange = { + name : 'interchange', + + version : '5.5.3', + + cache : {}, + + images_loaded : false, + nodes_loaded : false, + + settings : { + load_attr : 'interchange', + + named_queries : { + 'default' : 'only screen', + 'small' : Foundation.media_queries['small'], + 'small-only' : Foundation.media_queries['small-only'], + 'medium' : Foundation.media_queries['medium'], + 'medium-only' : Foundation.media_queries['medium-only'], + 'large' : Foundation.media_queries['large'], + 'large-only' : Foundation.media_queries['large-only'], + 'xlarge' : Foundation.media_queries['xlarge'], + 'xlarge-only' : Foundation.media_queries['xlarge-only'], + 'xxlarge' : Foundation.media_queries['xxlarge'], + 'landscape' : 'only screen and (orientation: landscape)', + 'portrait' : 'only screen and (orientation: portrait)', + 'retina' : 'only screen and (-webkit-min-device-pixel-ratio: 2),' + + 'only screen and (min--moz-device-pixel-ratio: 2),' + + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + + 'only screen and (min-device-pixel-ratio: 2),' + + 'only screen and (min-resolution: 192dpi),' + + 'only screen and (min-resolution: 2dppx)' + }, + + directives : { + replace : function (el, path, trigger) { + // The trigger argument, if called within the directive, fires + // an event named after the directive on the element, passing + // any parameters along to the event that you pass to trigger. + // + // ex. trigger(), trigger([a, b, c]), or trigger(a, b, c) + // + // This allows you to bind a callback like so: + // $('#interchangeContainer').on('replace', function (e, a, b, c) { + // console.log($(this).html(), a, b, c); + // }); + + if (el !== null && /IMG/.test(el[0].nodeName)) { + var orig_path = $.each(el, function(){this.src = path;}); + // var orig_path = el[0].src; + + if (new RegExp(path, 'i').test(orig_path)) { + return; + } + + el.attr("src", path); + + return trigger(el[0].src); + } + var last_path = el.data(this.data_attr + '-last-path'), + self = this; + + if (last_path == path) { + return; + } + + if (/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(path)) { + $(el).css('background-image', 'url(' + path + ')'); + el.data('interchange-last-path', path); + return trigger(path); + } + + return $.get(path, function (response) { + el.html(response); + el.data(self.data_attr + '-last-path', path); + trigger(); + }); + + } + } + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.data_attr = this.set_data_attr(); + $.extend(true, this.settings, method, options); + this.bindings(method, options); + this.reflow(); + }, + + get_media_hash : function () { + var mediaHash = ''; + for (var queryName in this.settings.named_queries ) { + mediaHash += matchMedia(this.settings.named_queries[queryName]).matches.toString(); + } + return mediaHash; + }, + + events : function () { + var self = this, prevMediaHash; + + $(window) + .off('.interchange') + .on('resize.fndtn.interchange', self.throttle(function () { + var currMediaHash = self.get_media_hash(); + if (currMediaHash !== prevMediaHash) { + self.resize(); + } + prevMediaHash = currMediaHash; + }, 50)); + + return this; + }, + + resize : function () { + var cache = this.cache; + + if (!this.images_loaded || !this.nodes_loaded) { + setTimeout($.proxy(this.resize, this), 50); + return; + } + + for (var uuid in cache) { + if (cache.hasOwnProperty(uuid)) { + var passed = this.results(uuid, cache[uuid]); + if (passed) { + this.settings.directives[passed + .scenario[1]].call(this, passed.el, passed.scenario[0], (function (passed) { + if (arguments[0] instanceof Array) { + var args = arguments[0]; + } else { + var args = Array.prototype.slice.call(arguments, 0); + } + + return function() { + passed.el.trigger(passed.scenario[1], args); + } + }(passed))); + } + } + } + + }, + + results : function (uuid, scenarios) { + var count = scenarios.length; + + if (count > 0) { + var el = this.S('[' + this.add_namespace('data-uuid') + '="' + uuid + '"]'); + + while (count--) { + var mq, rule = scenarios[count][2]; + if (this.settings.named_queries.hasOwnProperty(rule)) { + mq = matchMedia(this.settings.named_queries[rule]); + } else { + mq = matchMedia(rule); + } + if (mq.matches) { + return {el : el, scenario : scenarios[count]}; + } + } + } + + return false; + }, + + load : function (type, force_update) { + if (typeof this['cached_' + type] === 'undefined' || force_update) { + this['update_' + type](); + } + + return this['cached_' + type]; + }, + + update_images : function () { + var images = this.S('img[' + this.data_attr + ']'), + count = images.length, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cache = {}; + this.cached_images = []; + this.images_loaded = (count === 0); + + while (i--) { + loaded_count++; + if (images[i]) { + var str = images[i].getAttribute(data_attr) || ''; + + if (str.length > 0) { + this.cached_images.push(images[i]); + } + } + + if (loaded_count === count) { + this.images_loaded = true; + this.enhance('images'); + } + } + + return this; + }, + + update_nodes : function () { + var nodes = this.S('[' + this.data_attr + ']').not('img'), + count = nodes.length, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cached_nodes = []; + this.nodes_loaded = (count === 0); + + while (i--) { + loaded_count++; + var str = nodes[i].getAttribute(data_attr) || ''; + + if (str.length > 0) { + this.cached_nodes.push(nodes[i]); + } + + if (loaded_count === count) { + this.nodes_loaded = true; + this.enhance('nodes'); + } + } + + return this; + }, + + enhance : function (type) { + var i = this['cached_' + type].length; + + while (i--) { + this.object($(this['cached_' + type][i])); + } + + return $(window).trigger('resize.fndtn.interchange'); + }, + + convert_directive : function (directive) { + + var trimmed = this.trim(directive); + + if (trimmed.length > 0) { + return trimmed; + } + + return 'replace'; + }, + + parse_scenario : function (scenario) { + // This logic had to be made more complex since some users were using commas in the url path + // So we cannot simply just split on a comma + + var directive_match = scenario[0].match(/(.+),\s*(\w+)\s*$/), + // getting the mq has gotten a bit complicated since we started accounting for several use cases + // of URLs. For now we'll continue to match these scenarios, but we may consider having these scenarios + // as nested objects or arrays in F6. + // regex: match everything before close parenthesis for mq + media_query = scenario[1].match(/(.*)\)/); + + if (directive_match) { + var path = directive_match[1], + directive = directive_match[2]; + + } else { + var cached_split = scenario[0].split(/,\s*$/), + path = cached_split[0], + directive = ''; + } + + return [this.trim(path), this.convert_directive(directive), this.trim(media_query[1])]; + }, + + object : function (el) { + var raw_arr = this.parse_data_attr(el), + scenarios = [], + i = raw_arr.length; + + if (i > 0) { + while (i--) { + // split array between comma delimited content and mq + // regex: comma, optional space, open parenthesis + var scenario = raw_arr[i].split(/,\s?\(/); + + if (scenario.length > 1) { + var params = this.parse_scenario(scenario); + scenarios.push(params); + } + } + } + + return this.store(el, scenarios); + }, + + store : function (el, scenarios) { + var uuid = this.random_str(), + current_uuid = el.data(this.add_namespace('uuid', true)); + + if (this.cache[current_uuid]) { + return this.cache[current_uuid]; + } + + el.attr(this.add_namespace('data-uuid'), uuid); + return this.cache[uuid] = scenarios; + }, + + trim : function (str) { + + if (typeof str === 'string') { + return $.trim(str); + } + + return str; + }, + + set_data_attr : function (init) { + if (init) { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.settings.load_attr; + } + + return this.settings.load_attr; + } + + if (this.namespace.length > 0) { + return 'data-' + this.namespace + '-' + this.settings.load_attr; + } + + return 'data-' + this.settings.load_attr; + }, + + parse_data_attr : function (el) { + var raw = el.attr(this.attr_name()).split(/\[(.*?)\]/), + i = raw.length, + output = []; + + while (i--) { + if (raw[i].replace(/[\W\d]+/, '').length > 4) { + output.push(raw[i]); + } + } + + return output; + }, + + reflow : function () { + this.load('images', true); + this.load('nodes', true); + } + + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + var Modernizr = Modernizr || false; + + Foundation.libs.joyride = { + name : 'joyride', + + version : '5.5.3', + + defaults : { + expose : false, // turn on or off the expose feature + modal : true, // Whether to cover page with modal during the tour + keyboard : true, // enable left, right and esc keystrokes + tip_location : 'bottom', // 'top', 'bottom', 'left' or 'right' in relation to parent + nub_position : 'auto', // override on a per tooltip bases + scroll_speed : 1500, // Page scrolling speed in milliseconds, 0 = no scroll animation + scroll_animation : 'linear', // supports 'swing' and 'linear', extend with jQuery UI. + timer : 0, // 0 = no timer , all other numbers = timer in milliseconds + start_timer_on_click : true, // true or false - true requires clicking the first button start the timer + start_offset : 0, // the index of the tooltip you want to start on (index of the li) + next_button : true, // true or false to control whether a next button is used + prev_button : true, // true or false to control whether a prev button is used + tip_animation : 'fade', // 'pop' or 'fade' in each tip + pause_after : [], // array of indexes where to pause the tour after + exposed : [], // array of expose elements + tip_animation_fade_speed : 300, // when tipAnimation = 'fade' this is speed in milliseconds for the transition + cookie_monster : false, // true or false to control whether cookies are used + cookie_name : 'joyride', // Name the cookie you'll use + cookie_domain : false, // Will this cookie be attached to a domain, ie. '.notableapp.com' + cookie_expires : 365, // set when you would like the cookie to expire. + tip_container : 'body', // Where will the tip be attached + abort_on_close : true, // When true, the close event will not fire any callback + tip_location_patterns : { + top : ['bottom'], + bottom : [], // bottom should not need to be repositioned + left : ['right', 'top', 'bottom'], + right : ['left', 'top', 'bottom'] + }, + post_ride_callback : function () {}, // A method to call once the tour closes (canceled or complete) + post_step_callback : function () {}, // A method to call after each step + pre_step_callback : function () {}, // A method to call before each step + pre_ride_callback : function () {}, // A method to call before the tour starts (passed index, tip, and cloned exposed element) + post_expose_callback : function () {}, // A method to call after an element has been exposed + template : { // HTML segments for tip layout + link : '×', + timer : '
    ', + tip : '
    ', + wrapper : '
    ', + button : '', + prev_button : '', + modal : '
    ', + expose : '
    ', + expose_cover : '
    ' + }, + expose_add_class : '' // One or more space-separated class names to be added to exposed element + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.settings = this.settings || $.extend({}, this.defaults, (options || method)); + + this.bindings(method, options) + }, + + go_next : function () { + if (this.settings.$li.next().length < 1) { + this.end(); + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(); + this.startTimer(); + } else { + this.hide(); + this.show(); + } + }, + + go_prev : function () { + if (this.settings.$li.prev().length < 1) { + // Do nothing if there are no prev element + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(null, true); + this.startTimer(); + } else { + this.hide(); + this.show(null, true); + } + }, + + events : function () { + var self = this; + + $(this.scope) + .off('.joyride') + .on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) { + e.preventDefault(); + this.go_next() + }.bind(this)) + .on('click.fndtn.joyride', '.joyride-prev-tip', function (e) { + e.preventDefault(); + this.go_prev(); + }.bind(this)) + + .on('click.fndtn.joyride', '.joyride-close-tip', function (e) { + e.preventDefault(); + this.end(this.settings.abort_on_close); + }.bind(this)) + + .on('keyup.fndtn.joyride', function (e) { + // Don't do anything if keystrokes are disabled + // or if the joyride is not being shown + if (!this.settings.keyboard || !this.settings.riding) { + return; + } + + switch (e.which) { + case 39: // right arrow + e.preventDefault(); + this.go_next(); + break; + case 37: // left arrow + e.preventDefault(); + this.go_prev(); + break; + case 27: // escape + e.preventDefault(); + this.end(this.settings.abort_on_close); + } + }.bind(this)); + + $(window) + .off('.joyride') + .on('resize.fndtn.joyride', self.throttle(function () { + if ($('[' + self.attr_name() + ']').length > 0 && self.settings.$next_tip && self.settings.riding) { + if (self.settings.exposed.length > 0) { + var $els = $(self.settings.exposed); + + $els.each(function () { + var $this = $(this); + self.un_expose($this); + self.expose($this); + }); + } + + if (self.is_phone()) { + self.pos_phone(); + } else { + self.pos_default(false); + } + } + }, 100)); + }, + + start : function () { + var self = this, + $this = $('[' + this.attr_name() + ']', this.scope), + integer_settings = ['timer', 'scrollSpeed', 'startOffset', 'tipAnimationFadeSpeed', 'cookieExpires'], + int_settings_count = integer_settings.length; + + if (!$this.length > 0) { + return; + } + + if (!this.settings.init) { + this.events(); + } + + this.settings = $this.data(this.attr_name(true) + '-init'); + + // non configureable settings + this.settings.$content_el = $this; + this.settings.$body = $(this.settings.tip_container); + this.settings.body_offset = $(this.settings.tip_container).position(); + this.settings.$tip_content = this.settings.$content_el.find('> li'); + this.settings.paused = false; + this.settings.attempts = 0; + this.settings.riding = true; + + // can we create cookies? + if (typeof $.cookie !== 'function') { + this.settings.cookie_monster = false; + } + + // generate the tips and insert into dom. + if (!this.settings.cookie_monster || this.settings.cookie_monster && !$.cookie(this.settings.cookie_name)) { + this.settings.$tip_content.each(function (index) { + var $this = $(this); + this.settings = $.extend({}, self.defaults, self.data_options($this)); + + // Make sure that settings parsed from data_options are integers where necessary + var i = int_settings_count; + while (i--) { + self.settings[integer_settings[i]] = parseInt(self.settings[integer_settings[i]], 10); + } + self.create({$li : $this, index : index}); + }); + + // show first tip + if (!this.settings.start_timer_on_click && this.settings.timer > 0) { + this.show('init'); + this.startTimer(); + } else { + this.show('init'); + } + + } + }, + + resume : function () { + this.set_li(); + this.show(); + }, + + tip_template : function (opts) { + var $blank, content; + + opts.tip_class = opts.tip_class || ''; + + $blank = $(this.settings.template.tip).addClass(opts.tip_class); + content = $.trim($(opts.li).html()) + + this.prev_button_text(opts.prev_button_text, opts.index) + + this.button_text(opts.button_text) + + this.settings.template.link + + this.timer_instance(opts.index); + + $blank.append($(this.settings.template.wrapper)); + $blank.first().attr(this.add_namespace('data-index'), opts.index); + $('.joyride-content-wrapper', $blank).append(content); + + return $blank[0]; + }, + + timer_instance : function (index) { + var txt; + + if ((index === 0 && this.settings.start_timer_on_click && this.settings.timer > 0) || this.settings.timer === 0) { + txt = ''; + } else { + txt = $(this.settings.template.timer)[0].outerHTML; + } + return txt; + }, + + button_text : function (txt) { + if (this.settings.tip_settings.next_button) { + txt = $.trim(txt) || 'Next'; + txt = $(this.settings.template.button).append(txt)[0].outerHTML; + } else { + txt = ''; + } + return txt; + }, + + prev_button_text : function (txt, idx) { + if (this.settings.tip_settings.prev_button) { + txt = $.trim(txt) || 'Previous'; + + // Add the disabled class to the button if it's the first element + if (idx == 0) { + txt = $(this.settings.template.prev_button).append(txt).addClass('disabled')[0].outerHTML; + } else { + txt = $(this.settings.template.prev_button).append(txt)[0].outerHTML; + } + } else { + txt = ''; + } + return txt; + }, + + create : function (opts) { + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(opts.$li)); + var buttonText = opts.$li.attr(this.add_namespace('data-button')) || opts.$li.attr(this.add_namespace('data-text')), + prevButtonText = opts.$li.attr(this.add_namespace('data-button-prev')) || opts.$li.attr(this.add_namespace('data-prev-text')), + tipClass = opts.$li.attr('class'), + $tip_content = $(this.tip_template({ + tip_class : tipClass, + index : opts.index, + button_text : buttonText, + prev_button_text : prevButtonText, + li : opts.$li + })); + + $(this.settings.tip_container).append($tip_content); + }, + + show : function (init, is_prev) { + var $timer = null; + + // are we paused? + if (this.settings.$li === undefined || ($.inArray(this.settings.$li.index(), this.settings.pause_after) === -1)) { + + // don't go to the next li if the tour was paused + if (this.settings.paused) { + this.settings.paused = false; + } else { + this.set_li(init, is_prev); + } + + this.settings.attempts = 0; + + if (this.settings.$li.length && this.settings.$target.length > 0) { + if (init) { //run when we first start + this.settings.pre_ride_callback(this.settings.$li.index(), this.settings.$next_tip); + if (this.settings.modal) { + this.show_modal(); + } + } + + this.settings.pre_step_callback(this.settings.$li.index(), this.settings.$next_tip); + + if (this.settings.modal && this.settings.expose) { + this.expose(); + } + + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(this.settings.$li)); + + this.settings.timer = parseInt(this.settings.timer, 10); + + this.settings.tip_settings.tip_location_pattern = this.settings.tip_location_patterns[this.settings.tip_settings.tip_location]; + + // scroll and hide bg if not modal and not expose + if (!/body/i.test(this.settings.$target.selector) && !this.settings.expose) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (/pop/i.test(this.settings.tipAnimation)) { + joyridemodalbg.hide(); + } else { + joyridemodalbg.fadeOut(this.settings.tipAnimationFadeSpeed); + } + this.scroll_to(); + } + + if (this.is_phone()) { + this.pos_phone(true); + } else { + this.pos_default(true); + } + + $timer = this.settings.$next_tip.find('.joyride-timer-indicator'); + + if (/pop/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip.show(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.show(); + + } + + } else if (/fade/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip + .fadeIn(this.settings.tip_animation_fade_speed) + .show(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed); + } + } + + this.settings.$current_tip = this.settings.$next_tip; + + // skip non-existant targets + } else if (this.settings.$li && this.settings.$target.length < 1) { + + this.show(init, is_prev); + + } else { + + this.end(); + + } + } else { + + this.settings.paused = true; + + } + + }, + + is_phone : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + hide : function () { + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + if (!this.settings.modal) { + $('.joyride-modal-bg').hide(); + } + + // Prevent scroll bouncing...wait to remove from layout + this.settings.$current_tip.css('visibility', 'hidden'); + setTimeout($.proxy(function () { + this.hide(); + this.css('visibility', 'visible'); + }, this.settings.$current_tip), 0); + this.settings.post_step_callback(this.settings.$li.index(), + this.settings.$current_tip); + }, + + set_li : function (init, is_prev) { + if (init) { + this.settings.$li = this.settings.$tip_content.eq(this.settings.start_offset); + this.set_next_tip(); + this.settings.$current_tip = this.settings.$next_tip; + } else { + if (is_prev) { + this.settings.$li = this.settings.$li.prev(); + } else { + this.settings.$li = this.settings.$li.next(); + } + this.set_next_tip(); + } + + this.set_target(); + }, + + set_next_tip : function () { + this.settings.$next_tip = $('.joyride-tip-guide').eq(this.settings.$li.index()); + this.settings.$next_tip.data('closed', ''); + }, + + set_target : function () { + var cl = this.settings.$li.attr(this.add_namespace('data-class')), + id = this.settings.$li.attr(this.add_namespace('data-id')), + $sel = function () { + if (id) { + return $(document.getElementById(id)); + } else if (cl) { + return $('.' + cl).first(); + } else { + return $('body'); + } + }; + + this.settings.$target = $sel(); + }, + + scroll_to : function () { + var window_half, tipOffset; + + window_half = $(window).height() / 2; + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()); + + if (tipOffset != 0) { + $('html, body').stop().animate({ + scrollTop : tipOffset + }, this.settings.scroll_speed, 'swing'); + } + }, + + paused : function () { + return ($.inArray((this.settings.$li.index() + 1), this.settings.pause_after) === -1); + }, + + restart : function () { + this.hide(); + this.settings.$li = undefined; + this.show('init'); + }, + + pos_default : function (init) { + var $nub = this.settings.$next_tip.find('.joyride-nub'), + nub_width = Math.ceil($nub.outerWidth() / 2), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + // tip must not be "display: none" to calculate position + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0, + leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0; + + if (this.bottom()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth() + leftAdjustment}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'top'); + + } else if (this.top()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'bottom'); + + } else if (this.right()) { + + this.settings.$next_tip.css({ + top : this.settings.$target.offset().top + topAdjustment, + left : (this.settings.$target.outerWidth() + this.settings.$target.offset().left + nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'left'); + + } else if (this.left()) { + + this.settings.$next_tip.css({ + top : this.settings.$target.offset().top + topAdjustment, + left : (this.settings.$target.offset().left - this.settings.$next_tip.outerWidth() - nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'right'); + + } + + if (!this.visible(this.corners(this.settings.$next_tip)) && this.settings.attempts < this.settings.tip_settings.tip_location_pattern.length) { + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + this.settings.tip_settings.tip_location = this.settings.tip_settings.tip_location_pattern[this.settings.attempts]; + + this.settings.attempts++; + + this.pos_default(); + + } + + } else if (this.settings.$li.length) { + + this.pos_modal($nub); + + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + + }, + + pos_phone : function (init) { + var tip_height = this.settings.$next_tip.outerHeight(), + tip_offset = this.settings.$next_tip.offset(), + target_height = this.settings.$target.outerHeight(), + $nub = $('.joyride-nub', this.settings.$next_tip), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + + if (this.top()) { + + this.settings.$next_tip.offset({top : this.settings.$target.offset().top - tip_height - nub_height}); + $nub.addClass('bottom'); + + } else { + + this.settings.$next_tip.offset({top : this.settings.$target.offset().top + target_height + nub_height}); + $nub.addClass('top'); + + } + + } else if (this.settings.$li.length) { + this.pos_modal($nub); + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + }, + + pos_modal : function ($nub) { + this.center(); + $nub.hide(); + + this.show_modal(); + }, + + show_modal : function () { + if (!this.settings.$next_tip.data('closed')) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (joyridemodalbg.length < 1) { + var joyridemodalbg = $(this.settings.template.modal); + joyridemodalbg.appendTo('body'); + } + + if (/pop/i.test(this.settings.tip_animation)) { + joyridemodalbg.show(); + } else { + joyridemodalbg.fadeIn(this.settings.tip_animation_fade_speed); + } + } + }, + + expose : function () { + var expose, + exposeCover, + el, + origCSS, + origClasses, + randId = 'expose-' + this.random_str(6); + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) { + el = this.settings.$target; + } else { + return false; + } + + if (el.length < 1) { + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + expose = $(this.settings.template.expose); + this.settings.$body.append(expose); + expose.css({ + top : el.offset().top, + left : el.offset().left, + width : el.outerWidth(true), + height : el.outerHeight(true) + }); + + exposeCover = $(this.settings.template.expose_cover); + + origCSS = { + zIndex : el.css('z-index'), + position : el.css('position') + }; + + origClasses = el.attr('class') == null ? '' : el.attr('class'); + + el.css('z-index', parseInt(expose.css('z-index')) + 1); + + if (origCSS.position == 'static') { + el.css('position', 'relative'); + } + + el.data('expose-css', origCSS); + el.data('orig-class', origClasses); + el.attr('class', origClasses + ' ' + this.settings.expose_add_class); + + exposeCover.css({ + top : el.offset().top, + left : el.offset().left, + width : el.outerWidth(true), + height : el.outerHeight(true) + }); + + if (this.settings.modal) { + this.show_modal(); + } + + this.settings.$body.append(exposeCover); + expose.addClass(randId); + exposeCover.addClass(randId); + el.data('expose', randId); + this.settings.post_expose_callback(this.settings.$li.index(), this.settings.$next_tip, el); + this.add_exposed(el); + }, + + un_expose : function () { + var exposeId, + el, + expose, + origCSS, + origClasses, + clearAll = false; + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) { + el = this.settings.$target; + } else { + return false; + } + + if (el.length < 1) { + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + exposeId = el.data('expose'); + expose = $('.' + exposeId); + + if (arguments.length > 1) { + clearAll = arguments[1]; + } + + if (clearAll === true) { + $('.joyride-expose-wrapper,.joyride-expose-cover').remove(); + } else { + expose.remove(); + } + + origCSS = el.data('expose-css'); + + if (origCSS.zIndex == 'auto') { + el.css('z-index', ''); + } else { + el.css('z-index', origCSS.zIndex); + } + + if (origCSS.position != el.css('position')) { + if (origCSS.position == 'static') {// this is default, no need to set it. + el.css('position', ''); + } else { + el.css('position', origCSS.position); + } + } + + origClasses = el.data('orig-class'); + el.attr('class', origClasses); + el.removeData('orig-classes'); + + el.removeData('expose'); + el.removeData('expose-z-index'); + this.remove_exposed(el); + }, + + add_exposed : function (el) { + this.settings.exposed = this.settings.exposed || []; + if (el instanceof $ || typeof el === 'object') { + this.settings.exposed.push(el[0]); + } else if (typeof el == 'string') { + this.settings.exposed.push(el); + } + }, + + remove_exposed : function (el) { + var search, i; + if (el instanceof $) { + search = el[0] + } else if (typeof el == 'string') { + search = el; + } + + this.settings.exposed = this.settings.exposed || []; + i = this.settings.exposed.length; + + while (i--) { + if (this.settings.exposed[i] == search) { + this.settings.exposed.splice(i, 1); + return; + } + } + }, + + center : function () { + var $w = $(window); + + this.settings.$next_tip.css({ + top : ((($w.height() - this.settings.$next_tip.outerHeight()) / 2) + $w.scrollTop()), + left : ((($w.width() - this.settings.$next_tip.outerWidth()) / 2) + $w.scrollLeft()) + }); + + return true; + }, + + bottom : function () { + return /bottom/i.test(this.settings.tip_settings.tip_location); + }, + + top : function () { + return /top/i.test(this.settings.tip_settings.tip_location); + }, + + right : function () { + return /right/i.test(this.settings.tip_settings.tip_location); + }, + + left : function () { + return /left/i.test(this.settings.tip_settings.tip_location); + }, + + corners : function (el) { + if (el.length === 0) { + return [false, false, false, false]; + } + + var w = $(window), + window_half = w.height() / 2, + //using this to calculate since scroll may not have finished yet. + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()), + right = w.width() + w.scrollLeft(), + offsetBottom = w.height() + tipOffset, + bottom = w.height() + w.scrollTop(), + top = w.scrollTop(); + + if (tipOffset < top) { + if (tipOffset < 0) { + top = 0; + } else { + top = tipOffset; + } + } + + if (offsetBottom > bottom) { + bottom = offsetBottom; + } + + return [ + el.offset().top < top, + right < el.offset().left + el.outerWidth(), + bottom < el.offset().top + el.outerHeight(), + w.scrollLeft() > el.offset().left + ]; + }, + + visible : function (hidden_corners) { + var i = hidden_corners.length; + + while (i--) { + if (hidden_corners[i]) { + return false; + } + } + + return true; + }, + + nub_position : function (nub, pos, def) { + if (pos === 'auto') { + nub.addClass(def); + } else { + nub.addClass(pos); + } + }, + + startTimer : function () { + if (this.settings.$li.length) { + this.settings.automate = setTimeout(function () { + this.hide(); + this.show(); + this.startTimer(); + }.bind(this), this.settings.timer); + } else { + clearTimeout(this.settings.automate); + } + }, + + end : function (abort) { + if (this.settings.cookie_monster) { + $.cookie(this.settings.cookie_name, 'ridden', {expires : this.settings.cookie_expires, domain : this.settings.cookie_domain}); + } + + if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + } + + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + // Unplug keystrokes listener + $(this.scope).off('keyup.joyride') + + this.settings.$next_tip.data('closed', true); + this.settings.riding = false; + + $('.joyride-modal-bg').hide(); + this.settings.$current_tip.hide(); + + if (typeof abort === 'undefined' || abort === false) { + this.settings.post_step_callback(this.settings.$li.index(), this.settings.$current_tip); + this.settings.post_ride_callback(this.settings.$li.index(), this.settings.$current_tip); + } + + $('.joyride-tip-guide').remove(); + }, + + off : function () { + $(this.scope).off('.joyride'); + $(window).off('.joyride'); + $('.joyride-close-tip, .joyride-next-tip, .joyride-modal-bg').off('.joyride'); + $('.joyride-tip-guide, .joyride-modal-bg').remove(); + clearTimeout(this.settings.automate); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs['magellan-expedition'] = { + name : 'magellan-expedition', + + version : '5.5.3', + + settings : { + active_class : 'active', + threshold : 0, // pixels from the top of the expedition for it to become fixes + destination_threshold : 20, // pixels from the top of destination for it to be considered active + throttle_delay : 30, // calculation throttling to increase framerate + fixed_top : 0, // top distance in pixels assigend to the fixed element on scroll + offset_by_height : true, // whether to offset the destination by the expedition height. Usually you want this to be true, unless your expedition is on the side. + duration : 700, // animation duration time + easing : 'swing' // animation easing + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + settings = self.settings; + + // initialize expedition offset + self.set_expedition_position(); + + S(self.scope) + .off('.magellan') + .on('click.fndtn.magellan', '[' + self.add_namespace('data-magellan-arrival') + '] a[href*=#]', function (e) { + var sameHost = ((this.hostname === location.hostname) || !this.hostname), + samePath = self.filterPathname(location.pathname) === self.filterPathname(this.pathname), + testHash = this.hash.replace(/(:|\.|\/)/g, '\\$1'), + anchor = this; + + if (sameHost && samePath && testHash) { + e.preventDefault(); + var expedition = $(this).closest('[' + self.attr_name() + ']'), + settings = expedition.data('magellan-expedition-init'), + hash = this.hash.split('#').join(''), + target = $('a[name="' + hash + '"]'); + + if (target.length === 0) { + target = $('#' + hash); + + } + + // Account for expedition height if fixed position + var scroll_top = target.offset().top - settings.destination_threshold + 1; + if (settings.offset_by_height) { + scroll_top = scroll_top - expedition.outerHeight(); + } + $('html, body').stop().animate({ + 'scrollTop' : scroll_top + }, settings.duration, settings.easing, function () { + if (history.pushState) { + history.pushState(null, null, anchor.pathname + anchor.search + '#' + hash); + } else { + location.hash = anchor.pathname + anchor.search + '#' + hash; + } + }); + } + }) + .on('scroll.fndtn.magellan', self.throttle(this.check_for_arrivals.bind(this), settings.throttle_delay)); + }, + + check_for_arrivals : function () { + var self = this; + self.update_arrivals(); + self.update_expedition_positions(); + }, + + set_expedition_position : function () { + var self = this; + $('[' + this.attr_name() + '=fixed]', self.scope).each(function (idx, el) { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('styles'), // save styles + top_offset, fixed_top; + + expedition.attr('style', ''); + top_offset = expedition.offset().top + settings.threshold; + + //set fixed-top by attribute + fixed_top = parseInt(expedition.data('magellan-fixed-top')); + if (!isNaN(fixed_top)) { + self.settings.fixed_top = fixed_top; + } + + expedition.data(self.data_attr('magellan-top-offset'), top_offset); + expedition.attr('style', styles); + }); + }, + + update_expedition_positions : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + '=fixed]', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('style'), // save styles + top_offset = expedition.data('magellan-top-offset'); + + //scroll to the top distance + if (window_top_offset + self.settings.fixed_top >= top_offset) { + // Placeholder allows height calculations to be consistent even when + // appearing to switch between fixed/non-fixed placement + var placeholder = expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']'); + if (placeholder.length === 0) { + placeholder = expedition.clone(); + placeholder.removeAttr(self.attr_name()); + placeholder.attr(self.add_namespace('data-magellan-expedition-clone'), ''); + expedition.before(placeholder); + } + expedition.css({position :'fixed', top : settings.fixed_top}).addClass('fixed'); + } else { + expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']').remove(); + expedition.attr('style', styles).css('position', '').css('top', '').removeClass('fixed'); + } + }); + }, + + update_arrivals : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + ']', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data(self.attr_name(true) + '-init'), + offsets = self.offsets(expedition, window_top_offset), + arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'), + active_item = false; + offsets.each(function (idx, item) { + if (item.viewport_offset >= item.top_offset) { + var arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'); + arrivals.not(item.arrival).removeClass(settings.active_class); + item.arrival.addClass(settings.active_class); + active_item = true; + return true; + } + }); + + if (!active_item) { + arrivals.removeClass(settings.active_class); + } + }); + }, + + offsets : function (expedition, window_offset) { + var self = this, + settings = expedition.data(self.attr_name(true) + '-init'), + viewport_offset = window_offset; + + return expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']').map(function (idx, el) { + var name = $(this).data(self.data_attr('magellan-arrival')), + dest = $('[' + self.add_namespace('data-magellan-destination') + '=' + name + ']'); + if (dest.length > 0) { + var top_offset = dest.offset().top - settings.destination_threshold; + if (settings.offset_by_height) { + top_offset = top_offset - expedition.outerHeight(); + } + top_offset = Math.floor(top_offset); + return { + destination : dest, + arrival : $(this), + top_offset : top_offset, + viewport_offset : viewport_offset + } + } + }).sort(function (a, b) { + if (a.top_offset < b.top_offset) { + return -1; + } + if (a.top_offset > b.top_offset) { + return 1; + } + return 0; + }); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () { + this.S(this.scope).off('.magellan'); + this.S(window).off('.magellan'); + }, + + filterPathname : function (pathname) { + pathname = pathname || ''; + return pathname + .replace(/^\//,'') + .replace(/(?:index|default).[a-zA-Z]{3,4}$/,'') + .replace(/\/$/,''); + }, + + reflow : function () { + var self = this; + // remove placeholder expeditions used for height calculation purposes + $('[' + self.add_namespace('data-magellan-expedition-clone') + ']', self.scope).remove(); + } + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.offcanvas = { + name : 'offcanvas', + + version : '5.5.3', + + settings : { + open_method : 'move', + close_on_click : false + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + move_class = '', + right_postfix = '', + left_postfix = '', + top_postfix = '', + bottom_postfix = ''; + + if (this.settings.open_method === 'move') { + move_class = 'move-'; + right_postfix = 'right'; + left_postfix = 'left'; + top_postfix = 'top'; + bottom_postfix = 'bottom'; + } else if (this.settings.open_method === 'overlap_single') { + move_class = 'offcanvas-overlap-'; + right_postfix = 'right'; + left_postfix = 'left'; + top_postfix = 'top'; + bottom_postfix = 'bottom'; + } else if (this.settings.open_method === 'overlap') { + move_class = 'offcanvas-overlap'; + } + + S(this.scope).off('.offcanvas') + .on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + right_postfix); + if (self.settings.open_method !== 'overlap') { + S('.left-submenu').removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + right_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + right_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.left-submenu').toggleClass(move_class + right_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of left canvas + .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + left_postfix); + if (self.settings.open_method !== 'overlap') { + S('.right-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + left_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + left_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.right-submenu').toggleClass(move_class + left_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of right canvas + .on('click.fndtn.offcanvas', '.top-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + bottom_postfix); + if (self.settings.open_method !== 'overlap') { + S('.top-submenu').removeClass(move_class + bottom_postfix); + } + $('.top-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.top-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + bottom_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + bottom_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.top-submenu').toggleClass(move_class + bottom_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + bottom_postfix); + } + $('.top-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of top canvas + .on('click.fndtn.offcanvas', '.bottom-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + top_postfix); + if (self.settings.open_method !== 'overlap') { + S('.bottom-submenu').removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.bottom-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + top_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + top_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.bottom-submenu').toggleClass(move_class + top_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of bottom + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + S('.right-submenu').removeClass(move_class + left_postfix); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + S('.left-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + $('.left-off-canvas-toggle').attr('aria-expanded', 'false'); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + $('.right-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + top_postfix); + S('.bottom-submenu').removeClass(move_class + top_postfix); + if (bottom_postfix) { + self.click_remove_class(e, move_class + bottom_postfix); + S('.top-submenu').removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + top_postfix); + $('.top-off-canvas-toggle').attr('aria-expanded', 'false'); + if (bottom_postfix) { + self.click_remove_class(e, move_class + bottom_postfix); + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }); + }, + + toggle : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + if ($off_canvas.is('.' + class_name)) { + this.hide(class_name, $off_canvas); + } else { + this.show(class_name, $off_canvas); + } + }, + + show : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('open.fndtn.offcanvas'); + $off_canvas.addClass(class_name); + }, + + hide : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('close.fndtn.offcanvas'); + $off_canvas.removeClass(class_name); + }, + + click_toggle_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.toggle(class_name, $off_canvas); + }, + + click_remove_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.hide(class_name, $off_canvas); + }, + + get_settings : function (e) { + var offcanvas = this.S(e.target).closest('[' + this.attr_name() + ']'); + return offcanvas.data(this.attr_name(true) + '-init') || this.settings; + }, + + get_wrapper : function (e) { + var $off_canvas = this.S(e ? e.target : this.scope).closest('.off-canvas-wrap'); + + if ($off_canvas.length === 0) { + $off_canvas = this.S('.off-canvas-wrap'); + } + return $off_canvas; + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + var noop = function () {}; + + var Orbit = function (el, settings) { + // Don't reinitialize plugin + if (el.hasClass(settings.slides_container_class)) { + return this; + } + + var self = this, + container, + slides_container = el, + number_container, + bullets_container, + timer_container, + idx = 0, + animate, + timer, + locked = false, + adjust_height_after = false; + + self.slides = function () { + return slides_container.children(settings.slide_selector); + }; + + self.slides().first().addClass(settings.active_slide_class); + + self.update_slide_number = function (index) { + if (settings.slide_number) { + number_container.find('span:first').text(parseInt(index) + 1); + number_container.find('span:last').text(self.slides().length); + } + if (settings.bullets) { + bullets_container.children().removeClass(settings.bullets_active_class); + $(bullets_container.children().get(index)).addClass(settings.bullets_active_class); + } + }; + + self.update_active_link = function (index) { + var link = $('[data-orbit-link="' + self.slides().eq(index).attr('data-orbit-slide') + '"]'); + link.siblings().removeClass(settings.bullets_active_class); + link.addClass(settings.bullets_active_class); + }; + + self.build_markup = function () { + slides_container.wrap('
    '); + container = slides_container.parent(); + slides_container.addClass(settings.slides_container_class); + + if (settings.stack_on_small) { + container.addClass(settings.stack_on_small_class); + } + + if (settings.navigation_arrows) { + container.append($('').addClass(settings.prev_class)); + container.append($('').addClass(settings.next_class)); + } + + if (settings.timer) { + timer_container = $('
    ').addClass(settings.timer_container_class); + timer_container.append(''); + timer_container.append($('
    ').addClass(settings.timer_progress_class)); + timer_container.addClass(settings.timer_paused_class); + container.append(timer_container); + } + + if (settings.slide_number) { + number_container = $('
    ').addClass(settings.slide_number_class); + number_container.append(' ' + settings.slide_number_text + ' '); + container.append(number_container); + } + + if (settings.bullets) { + bullets_container = $('
      ').addClass(settings.bullets_container_class); + container.append(bullets_container); + bullets_container.wrap('
      '); + self.slides().each(function (idx, el) { + var bullet = $('
    1. ').attr('data-orbit-slide', idx).on('click', self.link_bullet);; + bullets_container.append(bullet); + }); + } + + }; + + self._goto = function (next_idx, start_timer) { + // if (locked) {return false;} + if (next_idx === idx) {return false;} + if (typeof timer === 'object') {timer.restart();} + var slides = self.slides(); + + var dir = 'next'; + locked = true; + if (next_idx < idx) {dir = 'prev';} + if (next_idx >= slides.length) { + if (!settings.circular) { + return false; + } + next_idx = 0; + } else if (next_idx < 0) { + if (!settings.circular) { + return false; + } + next_idx = slides.length - 1; + } + + var current = $(slides.get(idx)); + var next = $(slides.get(next_idx)); + + current.css('zIndex', 2); + current.removeClass(settings.active_slide_class); + next.css('zIndex', 4).addClass(settings.active_slide_class); + + slides_container.trigger('before-slide-change.fndtn.orbit'); + settings.before_slide_change(); + self.update_active_link(next_idx); + + var callback = function () { + var unlock = function () { + idx = next_idx; + locked = false; + if (start_timer === true) {timer = self.create_timer(); timer.start();} + self.update_slide_number(idx); + slides_container.trigger('after-slide-change.fndtn.orbit', [{slide_number : idx, total_slides : slides.length}]); + settings.after_slide_change(idx, slides.length); + }; + if (slides_container.outerHeight() != next.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 250, 'linear', unlock); + } else { + unlock(); + } + }; + + if (slides.length === 1) {callback(); return false;} + + var start_animation = function () { + if (dir === 'next') {animate.next(current, next, callback);} + if (dir === 'prev') {animate.prev(current, next, callback);} + }; + + if (next.outerHeight() > slides_container.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 250, 'linear', start_animation); + } else { + start_animation(); + } + }; + + self.next = function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + self._goto(idx + 1); + }; + + self.prev = function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + self._goto(idx - 1); + }; + + self.link_custom = function (e) { + e.preventDefault(); + var link = $(this).attr('data-orbit-link'); + if ((typeof link === 'string') && (link = $.trim(link)) != '') { + var slide = container.find('[data-orbit-slide=' + link + ']'); + if (slide.index() != -1) {self._goto(slide.index());} + } + }; + + self.link_bullet = function (e) { + var index = $(this).attr('data-orbit-slide'); + if ((typeof index === 'string') && (index = $.trim(index)) != '') { + if (isNaN(parseInt(index))) { + var slide = container.find('[data-orbit-slide=' + index + ']'); + if (slide.index() != -1) {self._goto(slide.index() + 1);} + } else { + self._goto(parseInt(index)); + } + } + + } + + self.timer_callback = function () { + self._goto(idx + 1, true); + } + + self.compute_dimensions = function () { + var current = $(self.slides().get(idx)); + var h = current.outerHeight(); + if (!settings.variable_height) { + self.slides().each(function(){ + if ($(this).outerHeight() > h) { h = $(this).outerHeight(); } + }); + } + slides_container.height(h); + }; + + self.create_timer = function () { + var t = new Timer( + container.find('.' + settings.timer_container_class), + settings, + self.timer_callback + ); + return t; + }; + + self.stop_timer = function () { + if (typeof timer === 'object') { + timer.stop(); + } + }; + + self.toggle_timer = function () { + var t = container.find('.' + settings.timer_container_class); + if (t.hasClass(settings.timer_paused_class)) { + if (typeof timer === 'undefined') {timer = self.create_timer();} + timer.start(); + } else { + if (typeof timer === 'object') {timer.stop();} + } + }; + + self.init = function () { + self.build_markup(); + if (settings.timer) { + timer = self.create_timer(); + Foundation.utils.image_loaded(this.slides().children('img'), timer.start); + } + animate = new FadeAnimation(settings, slides_container); + if (settings.animation === 'slide') { + animate = new SlideAnimation(settings, slides_container); + } + + container.on('click', '.' + settings.next_class, self.next); + container.on('click', '.' + settings.prev_class, self.prev); + + if (settings.next_on_click) { + container.on('click', '.' + settings.slides_container_class + ' [data-orbit-slide]', self.link_bullet); + } + + container.on('click', self.toggle_timer); + if (settings.swipe) { + container.on('touchstart.fndtn.orbit', function (e) { + if (!e.touches) {e = e.originalEvent;} + var data = { + start_page_x : e.touches[0].pageX, + start_page_y : e.touches[0].pageY, + start_time : (new Date()).getTime(), + delta_x : 0, + is_scrolling : undefined + }; + container.data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.orbit', function (e) { + if (!e.touches) { + e = e.originalEvent; + } + // Ignore pinch/zoom events + if (e.touches.length > 1 || e.scale && e.scale !== 1) { + return; + } + + var data = container.data('swipe-transition'); + if (typeof data === 'undefined') {data = {};} + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if ( typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? (idx + 1) : (idx - 1); + data.active = true; + self._goto(direction); + } + }) + .on('touchend.fndtn.orbit', function (e) { + container.data('swipe-transition', {}); + e.stopPropagation(); + }) + } + container.on('mouseenter.fndtn.orbit', function (e) { + if (settings.timer && settings.pause_on_hover) { + self.stop_timer(); + } + }) + .on('mouseleave.fndtn.orbit', function (e) { + if (settings.timer && settings.resume_on_mouseout) { + timer.start(); + } + }); + + $(document).on('click', '[data-orbit-link]', self.link_custom); + $(window).on('load resize', self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), function () { + container.prev('.' + settings.preloader_class).css('display', 'none'); + self.update_slide_number(0); + self.update_active_link(0); + slides_container.trigger('ready.fndtn.orbit'); + }); + }; + + self.init(); + }; + + var Timer = function (el, settings, callback) { + var self = this, + duration = settings.timer_speed, + progress = el.find('.' + settings.timer_progress_class), + start, + timeout, + left = -1; + + this.update_progress = function (w) { + var new_progress = progress.clone(); + new_progress.attr('style', ''); + new_progress.css('width', w + '%'); + progress.replaceWith(new_progress); + progress = new_progress; + }; + + this.restart = function () { + clearTimeout(timeout); + el.addClass(settings.timer_paused_class); + left = -1; + self.update_progress(0); + }; + + this.start = function () { + if (!el.hasClass(settings.timer_paused_class)) {return true;} + left = (left === -1) ? duration : left; + el.removeClass(settings.timer_paused_class); + start = new Date().getTime(); + progress.animate({'width' : '100%'}, left, 'linear'); + timeout = setTimeout(function () { + self.restart(); + callback(); + }, left); + el.trigger('timer-started.fndtn.orbit') + }; + + this.stop = function () { + if (el.hasClass(settings.timer_paused_class)) {return true;} + clearTimeout(timeout); + el.addClass(settings.timer_paused_class); + var end = new Date().getTime(); + left = left - (end - start); + var w = 100 - ((left / duration) * 100); + self.update_progress(w); + el.trigger('timer-stopped.fndtn.orbit'); + }; + }; + + var SlideAnimation = function (settings, container) { + var duration = settings.animation_speed; + var is_rtl = ($('html[dir=rtl]').length === 1); + var margin = is_rtl ? 'marginRight' : 'marginLeft'; + var animMargin = {}; + animMargin[margin] = '0%'; + + this.next = function (current, next, callback) { + current.animate({marginLeft : '-100%'}, duration); + next.animate(animMargin, duration, function () { + current.css(margin, '100%'); + callback(); + }); + }; + + this.prev = function (current, prev, callback) { + current.animate({marginLeft : '100%'}, duration); + prev.css(margin, '-100%'); + prev.animate(animMargin, duration, function () { + current.css(margin, '100%'); + callback(); + }); + }; + }; + + var FadeAnimation = function (settings, container) { + var duration = settings.animation_speed; + var is_rtl = ($('html[dir=rtl]').length === 1); + var margin = is_rtl ? 'marginRight' : 'marginLeft'; + + this.next = function (current, next, callback) { + next.css({'margin' : '0%', 'opacity' : '0.01'}); + next.animate({'opacity' :'1'}, duration, 'linear', function () { + current.css('margin', '100%'); + callback(); + }); + }; + + this.prev = function (current, prev, callback) { + prev.css({'margin' : '0%', 'opacity' : '0.01'}); + prev.animate({'opacity' : '1'}, duration, 'linear', function () { + current.css('margin', '100%'); + callback(); + }); + }; + }; + + Foundation.libs = Foundation.libs || {}; + + Foundation.libs.orbit = { + name : 'orbit', + + version : '5.5.3', + + settings : { + animation : 'slide', + timer_speed : 10000, + pause_on_hover : true, + resume_on_mouseout : false, + next_on_click : true, + animation_speed : 500, + stack_on_small : false, + navigation_arrows : true, + slide_number : true, + slide_number_text : 'of', + container_class : 'orbit-container', + stack_on_small_class : 'orbit-stack-on-small', + next_class : 'orbit-next', + prev_class : 'orbit-prev', + timer_container_class : 'orbit-timer', + timer_paused_class : 'paused', + timer_progress_class : 'orbit-progress', + slides_container_class : 'orbit-slides-container', + preloader_class : 'preloader', + slide_selector : '*', + bullets_container_class : 'orbit-bullets', + bullets_active_class : 'active', + slide_number_class : 'orbit-slide-number', + caption_class : 'orbit-caption', + active_slide_class : 'active', + orbit_transition_class : 'orbit-transitioning', + bullets : true, + circular : true, + timer : true, + variable_height : false, + swipe : true, + before_slide_change : noop, + after_slide_change : noop + }, + + init : function (scope, method, options) { + var self = this; + this.bindings(method, options); + }, + + events : function (instance) { + var orbit_instance = new Orbit(this.S(instance), this.S(instance).data('orbit-init')); + this.S(instance).data(this.name + '-instance', orbit_instance); + }, + + reflow : function () { + var self = this; + + if (self.S(self.scope).is('[data-orbit]')) { + var $el = self.S(self.scope); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + } else { + self.S('[data-orbit]', self.scope).each(function (idx, el) { + var $el = self.S(el); + var opts = self.data_options($el); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + }); + } + } + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + var openModals = []; + + Foundation.libs.reveal = { + name : 'reveal', + + version : '5.5.3', + + locked : false, + + settings : { + animation : 'fadeAndPop', + animation_speed : 250, + close_on_background_click : true, + close_on_esc : true, + dismiss_modal_class : 'close-reveal-modal', + multiple_opened : false, + bg_class : 'reveal-modal-bg', + root_element : 'body', + open : function(){}, + opened : function(){}, + close : function(){}, + closed : function(){}, + on_ajax_error: $.noop, + bg : $('.reveal-modal-bg'), + css : { + open : { + 'opacity' : 0, + 'visibility' : 'visible', + 'display' : 'block' + }, + close : { + 'opacity' : 1, + 'visibility' : 'hidden', + 'display' : 'none' + } + } + }, + + init : function (scope, method, options) { + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.reveal') + .on('click.fndtn.reveal', '[' + this.add_namespace('data-reveal-id') + ']:not([disabled])', function (e) { + e.preventDefault(); + + if (!self.locked) { + var element = S(this), + ajax = element.data(self.data_attr('reveal-ajax')), + replaceContentSel = element.data(self.data_attr('reveal-replace-content')); + + self.locked = true; + + if (typeof ajax === 'undefined') { + self.open.call(self, element); + } else { + var url = ajax === true ? element.attr('href') : ajax; + self.open.call(self, element, {url : url}, { replaceContentSel : replaceContentSel }); + } + } + }); + + S(document) + .on('click.fndtn.reveal', this.close_targets(), function (e) { + e.preventDefault(); + if (!self.locked) { + var settings = S('[' + self.attr_name() + '].open').data(self.attr_name(true) + '-init') || self.settings, + bg_clicked = S(e.target)[0] === S('.' + settings.bg_class)[0]; + + if (bg_clicked) { + if (settings.close_on_background_click) { + e.stopPropagation(); + } else { + return; + } + } + + self.locked = true; + self.close.call(self, bg_clicked ? S('[' + self.attr_name() + '].open:not(.toback)') : S(this).closest('[' + self.attr_name() + ']')); + } + }); + + if (S('[' + self.attr_name() + ']', this.scope).length > 0) { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', this.settings.open) + .on('opened.fndtn.reveal', this.settings.opened) + .on('opened.fndtn.reveal', this.open_video) + .on('close.fndtn.reveal', this.settings.close) + .on('closed.fndtn.reveal', this.settings.closed) + .on('closed.fndtn.reveal', this.close_video); + } else { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.open) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.opened) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.open_video) + .on('close.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.close) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.closed) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.close_video); + } + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_on : function (scope) { + var self = this; + + // PATCH #1: fixing multiple keyup event trigger from single key press + self.S('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) { + var open_modal = self.S('[' + self.attr_name() + '].open'), + settings = open_modal.data(self.attr_name(true) + '-init') || self.settings ; + // PATCH #2: making sure that the close event can be called only while unlocked, + // so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window. + if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key + self.close.call(self, open_modal); + } + }); + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_off : function (scope) { + this.S('body').off('keyup.fndtn.reveal'); + return true; + }, + + open : function (target, ajax_settings) { + var self = this, + modal; + + if (target) { + if (typeof target.selector !== 'undefined') { + // Find the named node; only use the first one found, since the rest of the code assumes there's only one node + modal = self.S('#' + target.data(self.data_attr('reveal-id'))).first(); + } else { + modal = self.S(this.scope); + + ajax_settings = target; + } + } else { + modal = self.S(this.scope); + } + + var settings = modal.data(self.attr_name(true) + '-init'); + settings = settings || this.settings; + + + if (modal.hasClass('open') && target !== undefined && target.attr('data-reveal-id') == modal.attr('id')) { + return self.close(modal); + } + + if (!modal.hasClass('open')) { + var open_modal = self.S('[' + self.attr_name() + '].open'); + + if (typeof modal.data('css-top') === 'undefined') { + modal.data('css-top', parseInt(modal.css('top'), 10)) + .data('offset', this.cache_offset(modal)); + } + + modal.attr('tabindex','0').attr('aria-hidden','false'); + + this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open + + // Prevent namespace event from triggering twice + modal.on('open.fndtn.reveal', function(e) { + if (e.namespace !== 'fndtn.reveal') return; + }); + + modal.on('open.fndtn.reveal').trigger('open.fndtn.reveal'); + + if (open_modal.length < 1) { + this.toggle_bg(modal, true); + } + + if (typeof ajax_settings === 'string') { + ajax_settings = { + url : ajax_settings + }; + } + + var openModal = function() { + if(open_modal.length > 0) { + if(settings.multiple_opened) { + self.to_back(open_modal); + } else { + self.hide(open_modal, settings.css.close); + } + } + + // bl: add the open_modal that isn't already in the background to the openModals array + if(settings.multiple_opened) { + openModals.push(modal); + } + + self.show(modal, settings.css.open); + }; + + if (typeof ajax_settings === 'undefined' || !ajax_settings.url) { + openModal(); + } else { + var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null; + $.extend(ajax_settings, { + success : function (data, textStatus, jqXHR) { + if ( $.isFunction(old_success) ) { + var result = old_success(data, textStatus, jqXHR); + if (typeof result == 'string') { + data = result; + } + } + + if (typeof options !== 'undefined' && typeof options.replaceContentSel !== 'undefined') { + modal.find(options.replaceContentSel).html(data); + } else { + modal.html(data); + } + + self.S(modal).foundation('section', 'reflow'); + self.S(modal).children().foundation(); + + openModal(); + } + }); + + // check for if user initalized with error callback + if (settings.on_ajax_error !== $.noop) { + $.extend(ajax_settings, { + error : settings.on_ajax_error + }); + } + + $.ajax(ajax_settings); + } + } + self.S(window).trigger('resize'); + }, + + close : function (modal) { + var modal = modal && modal.length ? modal : this.S(this.scope), + open_modals = this.S('[' + this.attr_name() + '].open'), + settings = modal.data(this.attr_name(true) + '-init') || this.settings, + self = this; + + if (open_modals.length > 0) { + + modal.removeAttr('tabindex','0').attr('aria-hidden','true'); + + this.locked = true; + this.key_up_off(modal); // PATCH #3: turning on key up capture only when a reveal window is open + + modal.trigger('close.fndtn.reveal'); + + if ((settings.multiple_opened && open_modals.length === 1) || !settings.multiple_opened || modal.length > 1) { + self.toggle_bg(modal, false); + self.to_front(modal); + } + + if (settings.multiple_opened) { + var isCurrent = modal.is(':not(.toback)'); + self.hide(modal, settings.css.close, settings); + if(isCurrent) { + // remove the last modal since it is now closed + openModals.pop(); + } else { + // if this isn't the current modal, then find it in the array and remove it + openModals = $.grep(openModals, function(elt) { + var isThis = elt[0]===modal[0]; + if(isThis) { + // since it's not currently in the front, put it in the front now that it is hidden + // so that if it's re-opened, it won't be .toback + self.to_front(modal); + } + return !isThis; + }); + } + // finally, show the next modal in the stack, if there is one + if(openModals.length>0) { + self.to_front(openModals[openModals.length - 1]); + } + } else { + self.hide(open_modals, settings.css.close, settings); + } + } + }, + + close_targets : function () { + var base = '.' + this.settings.dismiss_modal_class; + + if (this.settings.close_on_background_click) { + return base + ', .' + this.settings.bg_class; + } + + return base; + }, + + toggle_bg : function (modal, state) { + if (this.S('.' + this.settings.bg_class).length === 0) { + this.settings.bg = $('
      ', {'class': this.settings.bg_class}) + .appendTo('body').hide(); + } + + var visible = this.settings.bg.filter(':visible').length > 0; + if ( state != visible ) { + if ( state == undefined ? visible : !state ) { + this.hide(this.settings.bg); + } else { + this.show(this.settings.bg); + } + } + }, + + show : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init') || this.settings, + root_element = settings.root_element, + context = this; + + if (el.parent(root_element).length === 0) { + var placeholder = el.wrap('
      ').parent(); + + el.on('closed.fndtn.reveal.wrapped', function () { + el.detach().appendTo(placeholder); + el.unwrap().unbind('closed.fndtn.reveal.wrapped'); + }); + + el.detach().appendTo(root_element); + } + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + css.top = $(window).scrollTop() - el.data('offset') + 'px'; + var end_css = { + top: $(window).scrollTop() + el.data('css-top') + 'px', + opacity: 1 + }; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.trigger('opened.fndtn.reveal'); + }) + .addClass('open'); + }, settings.animation_speed / 2); + } + + css.top = $(window).scrollTop() + el.data('css-top') + 'px'; + + if (animData.fade) { + var end_css = {opacity: 1}; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.trigger('opened.fndtn.reveal'); + }) + .addClass('open'); + }, settings.animation_speed / 2); + } + + return el.css(css).show().css({opacity : 1}).addClass('open').trigger('opened.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeIn(settings.animation_speed / 2); + } + + this.locked = false; + + return el.show(); + }, + + to_back : function(el) { + el.addClass('toback'); + }, + + to_front : function(el) { + el.removeClass('toback'); + }, + + hide : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init'), + context = this; + settings = settings || this.settings; + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + var end_css = { + top: - $(window).scrollTop() - el.data('offset') + 'px', + opacity: 0 + }; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.css(css).trigger('closed.fndtn.reveal'); + }) + .removeClass('open'); + }, settings.animation_speed / 2); + } + + if (animData.fade) { + var end_css = {opacity : 0}; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.css(css).trigger('closed.fndtn.reveal'); + }) + .removeClass('open'); + }, settings.animation_speed / 2); + } + + return el.hide().css(css).removeClass('open').trigger('closed.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeOut(settings.animation_speed / 2); + } + + return el.hide(); + }, + + close_video : function (e) { + var video = $('.flex-video', e.target), + iframe = $('iframe', video); + + if (iframe.length > 0) { + iframe.attr('data-src', iframe[0].src); + iframe.attr('src', iframe.attr('src')); + video.hide(); + } + }, + + open_video : function (e) { + var video = $('.flex-video', e.target), + iframe = video.find('iframe'); + + if (iframe.length > 0) { + var data_src = iframe.attr('data-src'); + if (typeof data_src === 'string') { + iframe[0].src = iframe.attr('data-src'); + } else { + var src = iframe[0].src; + iframe[0].src = undefined; + iframe[0].src = src; + } + video.show(); + } + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + cache_offset : function (modal) { + var offset = modal.show().height() + parseInt(modal.css('top'), 10) + modal.scrollY; + + modal.hide(); + + return offset; + }, + + off : function () { + $(this.scope).off('.fndtn.reveal'); + }, + + reflow : function () {} + }; + + /* + * getAnimationData('popAndFade') // {animate: true, pop: true, fade: true} + * getAnimationData('fade') // {animate: true, pop: false, fade: true} + * getAnimationData('pop') // {animate: true, pop: true, fade: false} + * getAnimationData('foo') // {animate: false, pop: false, fade: false} + * getAnimationData(null) // {animate: false, pop: false, fade: false} + */ + function getAnimationData(str) { + var fade = /fade/i.test(str); + var pop = /pop/i.test(str); + return { + animate : fade || pop, + pop : pop, + fade : fade + }; + } +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.slider = { + name : 'slider', + + version : '5.5.3', + + settings : { + start : 0, + end : 100, + step : 1, + precision : 2, + initial : null, + display_selector : '', + vertical : false, + trigger_input_change : false, + on_change : function () {} + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + var self = this; + $(this.scope) + .off('.slider') + .on('mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider', + '[' + self.attr_name() + ']:not(.disabled, [disabled]) .range-slider-handle', function (e) { + if (!self.cache.active) { + e.preventDefault(); + self.set_active_slider($(e.target)); + } + }) + .on('mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider', function (e) { + if (!!self.cache.active) { + e.preventDefault(); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + }) + .on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function (e) { + if(!self.cache.active) { + // if the user has just clicked into the slider without starting to drag the handle + var slider = $(e.target).attr('role') === 'slider' ? $(e.target) : $(e.target).closest('.range-slider').find("[role='slider']"); + + if (slider.length && (!slider.parent().hasClass('disabled') && !slider.parent().attr('disabled'))) { + self.set_active_slider(slider); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + } + self.remove_active_slider(); + }) + .on('change.fndtn.slider', function (e) { + self.settings.on_change(); + }); + + self.S(window) + .on('resize.fndtn.slider', self.throttle(function (e) { + self.reflow(); + }, 300)); + + // update slider value as users change input value + this.S('[' + this.attr_name() + ']').each(function () { + var slider = $(this), + handle = slider.children('.range-slider-handle')[0], + settings = self.initialize_settings(handle); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function(){ + if ($(this).attr('value')) { + $(this).off('change').on('change', function () { + slider.foundation("slider", "set_value", $(this).val()); + }); + } + }); + } + }); + }, + + get_cursor_position : function (e, xy) { + var pageXY = 'page' + xy.toUpperCase(), + clientXY = 'client' + xy.toUpperCase(), + position; + + if (typeof e[pageXY] !== 'undefined') { + position = e[pageXY]; + } else if (typeof e.originalEvent[clientXY] !== 'undefined') { + position = e.originalEvent[clientXY]; + } else if (e.originalEvent.touches && e.originalEvent.touches[0] && typeof e.originalEvent.touches[0][clientXY] !== 'undefined') { + position = e.originalEvent.touches[0][clientXY]; + } else if (e.currentPoint && typeof e.currentPoint[xy] !== 'undefined') { + position = e.currentPoint[xy]; + } + + return position; + }, + + set_active_slider : function ($handle) { + this.cache.active = $handle; + }, + + remove_active_slider : function () { + this.cache.active = null; + }, + + calculate_position : function ($handle, cursor_x) { + var self = this, + settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + handle_o = $.data($handle[0], 'handle_o'), + bar_l = $.data($handle[0], 'bar_l'), + bar_o = $.data($handle[0], 'bar_o'); + + requestAnimationFrame(function () { + var pct; + + if (Foundation.rtl && !settings.vertical) { + pct = self.limit_to(((bar_o + bar_l - cursor_x) / bar_l), 0, 1); + } else { + pct = self.limit_to(((cursor_x - bar_o) / bar_l), 0, 1); + } + + pct = settings.vertical ? 1 - pct : pct; + + var norm = self.normalized_value(pct, settings.start, settings.end, settings.step, settings.precision); + + self.set_ui($handle, norm); + }); + }, + + set_ui : function ($handle, value) { + var settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + bar_l = $.data($handle[0], 'bar_l'), + norm_pct = this.normalized_percentage(value, settings.start, settings.end), + handle_offset = norm_pct * (bar_l - handle_l) - 1, + progress_bar_length = norm_pct * 100, + $handle_parent = $handle.parent(), + $hidden_inputs = $handle.parent().children('input[type=hidden]'); + + if (Foundation.rtl && !settings.vertical) { + handle_offset = -handle_offset; + } + + handle_offset = settings.vertical ? -handle_offset + bar_l - handle_l + 1 : handle_offset; + this.set_translate($handle, handle_offset, settings.vertical); + + if (settings.vertical) { + $handle.siblings('.range-slider-active-segment').css('height', progress_bar_length + '%'); + } else { + $handle.siblings('.range-slider-active-segment').css('width', progress_bar_length + '%'); + } + + $handle_parent.attr(this.attr_name(), value).trigger('change.fndtn.slider'); + + $hidden_inputs.val(value); + if (settings.trigger_input_change) { + $hidden_inputs.trigger('change.fndtn.slider'); + } + + if (!$handle[0].hasAttribute('aria-valuemin')) { + $handle.attr({ + 'aria-valuemin' : settings.start, + 'aria-valuemax' : settings.end + }); + } + $handle.attr('aria-valuenow', value); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function () { + if (this.hasAttribute('value')) { + $(this).val(value); + } else { + $(this).text(value); + } + }); + } + + }, + + normalized_percentage : function (val, start, end) { + return Math.min(1, (val - start) / (end - start)); + }, + + normalized_value : function (val, start, end, step, precision) { + var range = end - start, + point = val * range, + mod = (point - (point % step)) / step, + rem = point % step, + round = ( rem >= step * 0.5 ? step : 0); + return ((mod * step + round) + start).toFixed(precision); + }, + + set_translate : function (ele, offset, vertical) { + if (vertical) { + $(ele) + .css('-webkit-transform', 'translateY(' + offset + 'px)') + .css('-moz-transform', 'translateY(' + offset + 'px)') + .css('-ms-transform', 'translateY(' + offset + 'px)') + .css('-o-transform', 'translateY(' + offset + 'px)') + .css('transform', 'translateY(' + offset + 'px)'); + } else { + $(ele) + .css('-webkit-transform', 'translateX(' + offset + 'px)') + .css('-moz-transform', 'translateX(' + offset + 'px)') + .css('-ms-transform', 'translateX(' + offset + 'px)') + .css('-o-transform', 'translateX(' + offset + 'px)') + .css('transform', 'translateX(' + offset + 'px)'); + } + }, + + limit_to : function (val, min, max) { + return Math.min(Math.max(val, min), max); + }, + + initialize_settings : function (handle) { + var settings = $.extend({}, this.settings, this.data_options($(handle).parent())), + decimal_places_match_result; + + if (settings.precision === null) { + decimal_places_match_result = ('' + settings.step).match(/\.([\d]*)/); + settings.precision = decimal_places_match_result && decimal_places_match_result[1] ? decimal_places_match_result[1].length : 0; + } + + if (settings.vertical) { + $.data(handle, 'bar_o', $(handle).parent().offset().top); + $.data(handle, 'bar_l', $(handle).parent().outerHeight()); + $.data(handle, 'handle_o', $(handle).offset().top); + $.data(handle, 'handle_l', $(handle).outerHeight()); + } else { + $.data(handle, 'bar_o', $(handle).parent().offset().left); + $.data(handle, 'bar_l', $(handle).parent().outerWidth()); + $.data(handle, 'handle_o', $(handle).offset().left); + $.data(handle, 'handle_l', $(handle).outerWidth()); + } + + $.data(handle, 'bar', $(handle).parent()); + return $.data(handle, 'settings', settings); + }, + + set_initial_position : function ($ele) { + var settings = $.data($ele.children('.range-slider-handle')[0], 'settings'), + initial = ((typeof settings.initial == 'number' && !isNaN(settings.initial)) ? settings.initial : Math.floor((settings.end - settings.start) * 0.5 / settings.step) * settings.step + settings.start), + $handle = $ele.children('.range-slider-handle'); + this.set_ui($handle, initial); + }, + + set_value : function (value) { + var self = this; + $('[' + self.attr_name() + ']', this.scope).each(function () { + $(this).attr(self.attr_name(), value); + }); + if (!!$(this.scope).attr(self.attr_name())) { + $(this.scope).attr(self.attr_name(), value); + } + self.reflow(); + }, + + reflow : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var handle = $(this).children('.range-slider-handle')[0], + val = $(this).attr(self.attr_name()); + self.initialize_settings(handle); + + if (val) { + self.set_ui($(handle), parseFloat(val)); + } else { + self.set_initial_position($(this)); + } + }); + } + }; + +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tab = { + name : 'tab', + + version : '5.5.3', + + settings : { + active_class : 'active', + callback : function () {}, + deep_linking : false, + scroll_to_content : true, + is_hover : false + }, + + default_tab_hashes : [], + + init : function (scope, method, options) { + var self = this, + S = this.S; + + // Store the default active tabs which will be referenced when the + // location hash is absent, as in the case of navigating the tabs and + // returning to the first viewing via the browser Back button. + S('[' + this.attr_name() + '] > .active > a', this.scope).each(function () { + self.default_tab_hashes.push(this.hash); + }); + + this.bindings(method, options); + this.handle_location_hash_change(); + }, + + events : function () { + var self = this, + S = this.S; + + var usual_tab_behavior = function (e, target) { + var settings = S(target).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (!settings.is_hover || Modernizr.touch) { + // if user did not pressed tab key, prevent default action + var keyCode = e.keyCode || e.which; + if (keyCode !== 9) { + e.preventDefault(); + e.stopPropagation(); + } + self.toggle_active_tab(S(target).parent()); + + } + }; + + S(this.scope) + .off('.tab') + // Key event: focus/tab key + .on('keydown.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) { + var keyCode = e.keyCode || e.which; + // if user pressed tab key + if (keyCode === 13 || keyCode === 32) { // enter or space + var el = this; + usual_tab_behavior(e, el); + } + }) + // Click event: tab title + .on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) { + var el = this; + usual_tab_behavior(e, el); + }) + // Hover event: tab title + .on('mouseenter.fndtn.tab', '[' + this.attr_name() + '] > * > a', function (e) { + var settings = S(this).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (settings.is_hover) { + self.toggle_active_tab(S(this).parent()); + } + }); + + // Location hash change event + S(window).on('hashchange.fndtn.tab', function (e) { + e.preventDefault(); + self.handle_location_hash_change(); + }); + }, + + handle_location_hash_change : function () { + + var self = this, + S = this.S; + + S('[' + this.attr_name() + ']', this.scope).each(function () { + var settings = S(this).data(self.attr_name(true) + '-init'); + if (settings.deep_linking) { + // Match the location hash to a label + var hash; + if (settings.scroll_to_content) { + hash = self.scope.location.hash; + } else { + // prefix the hash to prevent anchor scrolling + hash = self.scope.location.hash.replace('fndtn-', ''); + } + if (hash != '') { + // Check whether the location hash references a tab content div or + // another element on the page (inside or outside the tab content div) + var hash_element = S(hash); + if (hash_element.hasClass('content') && hash_element.parent().hasClass('tabs-content')) { + // Tab content div + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + hash + ']').parent()); + } else { + // Not the tab content div. If inside the tab content, find the + // containing tab and toggle it as active. + var hash_tab_container_id = hash_element.closest('.content').attr('id'); + if (hash_tab_container_id != undefined) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=#' + hash_tab_container_id + ']').parent(), hash); + } + } + } else { + // Reference the default tab hashes which were initialized in the init function + for (var ind = 0; ind < self.default_tab_hashes.length; ind++) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + self.default_tab_hashes[ind] + ']').parent()); + } + } + } + }); + }, + + toggle_active_tab : function (tab, location_hash) { + var self = this, + S = self.S, + tabs = tab.closest('[' + this.attr_name() + ']'), + tab_link = tab.find('a'), + anchor = tab.children('a').first(), + target_hash = '#' + anchor.attr('href').split('#')[1], + target = S(target_hash), + siblings = tab.siblings(), + settings = tabs.data(this.attr_name(true) + '-init'), + interpret_keyup_action = function (e) { + // Light modification of Heydon Pickering's Practical ARIA Examples: http://heydonworks.com/practical_aria_examples/js/a11y.js + + // define current, previous and next (possible) tabs + + var $original = $(this); + var $prev = $(this).parents('li').prev().children('[role="tab"]'); + var $next = $(this).parents('li').next().children('[role="tab"]'); + var $target; + + // find the direction (prev or next) + + switch (e.keyCode) { + case 37: + $target = $prev; + break; + case 39: + $target = $next; + break; + default: + $target = false + break; + } + + if ($target.length) { + $original.attr({ + 'tabindex' : '-1', + 'aria-selected' : null + }); + $target.attr({ + 'tabindex' : '0', + 'aria-selected' : true + }).focus(); + } + + // Hide panels + + $('[role="tabpanel"]') + .attr('aria-hidden', 'true'); + + // Show panel which corresponds to target + + $('#' + $(document.activeElement).attr('href').substring(1)) + .attr('aria-hidden', null); + + }, + go_to_hash = function(hash) { + // This function allows correct behaviour of the browser's back button when deep linking is enabled. Without it + // the user would get continually redirected to the default hash. + var default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : 'fndtn-' + self.default_tab_hashes[0].replace('#', ''); + + if (hash !== default_hash || window.location.hash) { + window.location.hash = hash; + } + }; + + // allow usage of data-tab-content attribute instead of href + if (anchor.data('tab-content')) { + target_hash = '#' + anchor.data('tab-content').split('#')[1]; + target = S(target_hash); + } + + if (settings.deep_linking) { + + if (settings.scroll_to_content) { + + // retain current hash to scroll to content + go_to_hash(location_hash || target_hash); + + if (location_hash == undefined || location_hash == target_hash) { + tab.parent()[0].scrollIntoView(); + } else { + S(target_hash)[0].scrollIntoView(); + } + } else { + // prefix the hashes so that the browser doesn't scroll down + if (location_hash != undefined) { + go_to_hash('fndtn-' + location_hash.replace('#', '')); + } else { + go_to_hash('fndtn-' + target_hash.replace('#', '')); + } + } + } + + // WARNING: The activation and deactivation of the tab content must + // occur after the deep linking in order to properly refresh the browser + // window (notably in Chrome). + // Clean up multiple attr instances to done once + tab.addClass(settings.active_class).triggerHandler('opened'); + tab_link.attr({'aria-selected' : 'true', tabindex : 0}); + siblings.removeClass(settings.active_class) + siblings.find('a').attr({'aria-selected' : 'false'/*, tabindex : -1*/}); + target.siblings().removeClass(settings.active_class).attr({'aria-hidden' : 'true'/*, tabindex : -1*/}); + target.addClass(settings.active_class).attr('aria-hidden', 'false').removeAttr('tabindex'); + settings.callback(tab); + target.triggerHandler('toggled', [target]); + tabs.triggerHandler('toggled', [tab]); + + tab_link.off('keydown').on('keydown', interpret_keyup_action ); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tooltip = { + name : 'tooltip', + + version : '5.5.3', + + settings : { + additional_inheritable_classes : [], + tooltip_class : '.tooltip', + append_to : 'body', + touch_close_text : 'Tap To Close', + disable_for_touch : false, + hover_delay : 200, + fade_in_duration : 150, + fade_out_duration : 150, + show_on : 'all', + tip_template : function (selector, content) { + return '' + content + ''; + } + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'random_str'); + this.bindings(method, options); + }, + + should_show : function (target, tip) { + var settings = $.extend({}, this.settings, this.data_options(target)); + + if (settings.show_on === 'all') { + return true; + } else if (this.small() && settings.show_on === 'small') { + return true; + } else if (this.medium() && settings.show_on === 'medium') { + return true; + } else if (this.large() && settings.show_on === 'large') { + return true; + } + return false; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + events : function (instance) { + var self = this, + S = self.S; + + self.create(this.S(instance)); + + function _startShow(elt, $this, immediate) { + if (elt.timer) { + return; + } + + if (immediate) { + elt.timer = null; + self.showTip($this); + } else { + elt.timer = setTimeout(function () { + elt.timer = null; + self.showTip($this); + }.bind(elt), self.settings.hover_delay); + } + } + + function _startHide(elt, $this) { + if (elt.timer) { + clearTimeout(elt.timer); + elt.timer = null; + } + + self.hide($this); + } + + $(this.scope) + .off('.tooltip') + .on('mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', + '[' + this.attr_name() + ']', function (e) { + var $this = S(this), + settings = $.extend({}, self.settings, self.data_options($this)), + is_touch = false; + + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type) && S(e.target).is('a')) { + return false; + } + + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($this.hasClass('open')) { + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + } + self.hide($this); + } else { + if (settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + return; + } else if (!settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + S(settings.tooltip_class + '.open').hide(); + is_touch = true; + // close other open tooltips on touch + if ($('.open[' + self.attr_name() + ']').length > 0) { + var prevOpen = S($('.open[' + self.attr_name() + ']')[0]); + self.hide(prevOpen); + } + } + + if (/enter|over/i.test(e.type)) { + _startShow(this, $this); + + } else if (e.type === 'mouseout' || e.type === 'mouseleave') { + _startHide(this, $this); + } else { + _startShow(this, $this, true); + } + } + }) + .on('mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', '[' + this.attr_name() + '].open', function (e) { + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($(this).data('tooltip-open-event-type') == 'touch' && e.type == 'mouseleave') { + return; + } else if ($(this).data('tooltip-open-event-type') == 'mouse' && /MSPointerDown|touchstart/i.test(e.type)) { + self.convert_to_touch($(this)); + } else { + _startHide(this, $(this)); + } + }) + .on('DOMNodeRemoved DOMAttrModified', '[' + this.attr_name() + ']:not(a)', function (e) { + _startHide(this, S(this)); + }); + }, + + ie_touch : function (e) { + // How do I distinguish between IE11 and Windows Phone 8????? + return false; + }, + + showTip : function ($target) { + var $tip = this.getTip($target); + if (this.should_show($target, $tip)) { + return this.show($target); + } + return; + }, + + getTip : function ($target) { + var selector = this.selector($target), + settings = $.extend({}, this.settings, this.data_options($target)), + tip = null; + + if (selector) { + tip = this.S('span[data-selector="' + selector + '"]' + settings.tooltip_class); + } + + return (typeof tip === 'object') ? tip : false; + }, + + selector : function ($target) { + var dataSelector = $target.attr(this.attr_name()) || $target.attr('data-selector'); + + if (typeof dataSelector != 'string') { + dataSelector = this.random_str(6); + $target + .attr('data-selector', dataSelector) + .attr('aria-describedby', dataSelector); + } + + return dataSelector; + }, + + create : function ($target) { + var self = this, + settings = $.extend({}, this.settings, this.data_options($target)), + tip_template = this.settings.tip_template; + + if (typeof settings.tip_template === 'string' && window.hasOwnProperty(settings.tip_template)) { + tip_template = window[settings.tip_template]; + } + + var $tip = $(tip_template(this.selector($target), $('
      ').html($target.attr('title')).html())), + classes = this.inheritable_classes($target); + + $tip.addClass(classes).appendTo(settings.append_to); + + if (Modernizr.touch) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', function (e) { + self.hide($target); + }); + } + + $target.removeAttr('title').attr('title', ''); + }, + + reposition : function (target, tip, classes) { + var width, nub, nubHeight, nubWidth, objPos; + + tip.css('visibility', 'hidden').show(); + + width = target.data('width'); + nub = tip.children('.nub'); + nubHeight = nub.outerHeight(); + nubWidth = nub.outerWidth(); + + if (this.small()) { + tip.css({'width' : '100%'}); + } else { + tip.css({'width' : (width) ? width : 'auto'}); + } + + objPos = function (obj, top, right, bottom, left, width) { + return obj.css({ + 'top' : (top) ? top : 'auto', + 'bottom' : (bottom) ? bottom : 'auto', + 'left' : (left) ? left : 'auto', + 'right' : (right) ? right : 'auto' + }).end(); + }; + + var o_top = target.offset().top; + var o_left = target.offset().left; + var outerHeight = target.outerHeight(); + + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', o_left); + + if (this.small()) { + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', 12.5, $(this.scope).width()); + tip.addClass('tip-override'); + objPos(nub, -nubHeight, 'auto', 'auto', o_left); + } else { + + if (Foundation.rtl) { + nub.addClass('rtl'); + o_left = o_left + target.outerWidth() - tip.outerWidth(); + } + + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', o_left); + // reset nub from small styles, if they've been applied + if (nub.attr('style')) { + nub.removeAttr('style'); + } + + tip.removeClass('tip-override'); + + var tip_outerHeight = tip.outerHeight(); + + if (classes && classes.indexOf('tip-top') > -1) { + if (Foundation.rtl) { + nub.addClass('rtl'); + } + objPos(tip, (o_top - tip_outerHeight), 'auto', 'auto', o_left) + .removeClass('tip-override'); + } else if (classes && classes.indexOf('tip-left') > -1) { + objPos(tip, (o_top + (outerHeight / 2) - (tip_outerHeight / 2)), 'auto', 'auto', (o_left - tip.outerWidth() - nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } else if (classes && classes.indexOf('tip-right') > -1) { + objPos(tip, (o_top + (outerHeight / 2) - (tip_outerHeight / 2)), 'auto', 'auto', (o_left + target.outerWidth() + nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } + } + + tip.css('visibility', 'visible').hide(); + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + inheritable_classes : function ($target) { + var settings = $.extend({}, this.settings, this.data_options($target)), + inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'radius', 'round'].concat(settings.additional_inheritable_classes), + classes = $target.attr('class'), + filtered = classes ? $.map(classes.split(' '), function (el, i) { + if ($.inArray(el, inheritables) !== -1) { + return el; + } + }).join(' ') : ''; + + return $.trim(filtered); + }, + + convert_to_touch : function ($target) { + var self = this, + $tip = self.getTip($target), + settings = $.extend({}, self.settings, self.data_options($target)); + + if ($tip.find('.tap-to-close').length === 0) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose', function (e) { + self.hide($target); + }); + } + + $target.data('tooltip-open-event-type', 'touch'); + }, + + show : function ($target) { + var $tip = this.getTip($target); + if ($target.data('tooltip-open-event-type') == 'touch') { + this.convert_to_touch($target); + } + + this.reposition($target, $tip, $target.attr('class')); + $target.addClass('open'); + $tip.fadeIn(this.settings.fade_in_duration); + }, + + hide : function ($target) { + var $tip = this.getTip($target); + + $tip.fadeOut(this.settings.fade_out_duration, function () { + $tip.find('.tap-to-close').remove(); + $tip.off('click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose'); + $target.removeClass('open'); + }); + }, + + off : function () { + var self = this; + this.S(this.scope).off('.fndtn.tooltip'); + this.S(this.settings.tooltip_class).each(function (i) { + $('[' + self.attr_name() + ']').eq(i).attr('title', $(this).text()); + }).remove(); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); + +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.topbar = { + name : 'topbar', + + version : '5.5.3', + + settings : { + index : 0, + start_offset : 0, + sticky_class : 'sticky', + custom_back_text : true, + back_text : 'Back', + mobile_show_parent_link : true, + is_hover : true, + scrolltop : true, // jump to top when sticky nav menu toggle is clicked + sticky_on : 'all', + dropdown_autoclose: true + }, + + init : function (section, method, options) { + Foundation.inherit(this, 'add_custom_rule register_media throttle'); + var self = this; + + self.register_media('topbar', 'foundation-mq-topbar'); + + this.bindings(method, options); + + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + var topbar = $(this), + settings = topbar.data(self.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', this); + topbar.data('index', 0); + var topbarContainer = topbar.parent(); + if (topbarContainer.hasClass('fixed') || self.is_sticky(topbar, topbarContainer, settings) ) { + self.settings.sticky_class = settings.sticky_class; + self.settings.sticky_topbar = topbar; + topbar.data('height', topbarContainer.outerHeight()); + topbar.data('stickyoffset', topbarContainer.offset().top); + } else { + topbar.data('height', topbar.outerHeight()); + } + + if (!settings.assembled) { + self.assemble(topbar); + } + + if (settings.is_hover) { + self.S('.has-dropdown', topbar).addClass('not-click'); + } else { + self.S('.has-dropdown', topbar).removeClass('not-click'); + } + + // Pad body when sticky (scrolled) or fixed. + self.add_custom_rule('.f-topbar-fixed { padding-top: ' + topbar.data('height') + 'px }'); + + if (topbarContainer.hasClass('fixed')) { + self.S('body').addClass('f-topbar-fixed'); + } + }); + + }, + + is_sticky : function (topbar, topbarContainer, settings) { + var sticky = topbarContainer.hasClass(settings.sticky_class); + var smallMatch = matchMedia(Foundation.media_queries.small).matches; + var medMatch = matchMedia(Foundation.media_queries.medium).matches; + var lrgMatch = matchMedia(Foundation.media_queries.large).matches; + + if (sticky && settings.sticky_on === 'all') { + return true; + } + if (sticky && this.small() && settings.sticky_on.indexOf('small') !== -1) { + if (smallMatch && !medMatch && !lrgMatch) { return true; } + } + if (sticky && this.medium() && settings.sticky_on.indexOf('medium') !== -1) { + if (smallMatch && medMatch && !lrgMatch) { return true; } + } + if (sticky && this.large() && settings.sticky_on.indexOf('large') !== -1) { + if (smallMatch && medMatch && lrgMatch) { return true; } + } + + return false; + }, + + toggle : function (toggleEl) { + var self = this, + topbar; + + if (toggleEl) { + topbar = self.S(toggleEl).closest('[' + this.attr_name() + ']'); + } else { + topbar = self.S('[' + this.attr_name() + ']'); + } + + var settings = topbar.data(this.attr_name(true) + '-init'); + + var section = self.S('section, .top-bar-section', topbar); + + if (self.breakpoint()) { + if (!self.rtl) { + section.css({left : '0%'}); + $('>.name', section).css({left : '100%'}); + } else { + section.css({right : '0%'}); + $('>.name', section).css({right : '100%'}); + } + + self.S('li.moved', section).removeClass('moved'); + topbar.data('index', 0); + + topbar + .toggleClass('expanded') + .css('height', ''); + } + + if (settings.scrolltop) { + if (!topbar.hasClass('expanded')) { + if (topbar.hasClass('fixed')) { + topbar.parent().addClass('fixed'); + topbar.removeClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if (topbar.parent().hasClass('fixed')) { + if (settings.scrolltop) { + topbar.parent().removeClass('fixed'); + topbar.addClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + + window.scrollTo(0, 0); + } else { + topbar.parent().removeClass('expanded'); + } + } + } else { + if (self.is_sticky(topbar, topbar.parent(), settings)) { + topbar.parent().addClass('fixed'); + } + + if (topbar.parent().hasClass('fixed')) { + if (!topbar.hasClass('expanded')) { + topbar.removeClass('fixed'); + topbar.parent().removeClass('expanded'); + self.update_sticky_positioning(); + } else { + topbar.addClass('fixed'); + topbar.parent().addClass('expanded'); + self.S('body').addClass('f-topbar-fixed'); + } + } + } + }, + + timer : null, + + events : function (bar) { + var self = this, + S = this.S; + + S(this.scope) + .off('.topbar') + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .toggle-topbar', function (e) { + e.preventDefault(); + self.toggle(this); + }) + .on('click.fndtn.topbar contextmenu.fndtn.topbar', '.top-bar .top-bar-section li a[href^="#"],[' + this.attr_name() + '] .top-bar-section li a[href^="#"]', function (e) { + var li = $(this).closest('li'), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-init'); + + if (settings.dropdown_autoclose && settings.is_hover) { + var hoverLi = $(this).closest('.hover'); + hoverLi.removeClass('hover'); + } + if (self.breakpoint() && !li.hasClass('back') && !li.hasClass('has-dropdown')) { + self.toggle(); + } + + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] li.has-dropdown', function (e) { + var li = S(this), + target = S(e.target), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-init'); + + if (target.data('revealId')) { + self.toggle(); + return; + } + + if (self.breakpoint()) { + return; + } + + if (settings.is_hover && !Modernizr.touch) { + return; + } + + e.stopImmediatePropagation(); + + if (li.hasClass('hover')) { + li + .removeClass('hover') + .find('li') + .removeClass('hover'); + + li.parents('li.hover') + .removeClass('hover'); + } else { + li.addClass('hover'); + + $(li).siblings().removeClass('hover'); + + if (target[0].nodeName === 'A' && target.parent().hasClass('has-dropdown')) { + e.preventDefault(); + } + } + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown>a', function (e) { + if (self.breakpoint()) { + + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + dropdownHeight = $this.next('.dropdown').outerHeight(), + $selectedLi = $this.closest('li'); + + topbar.data('index', topbar.data('index') + 1); + $selectedLi.addClass('moved'); + + if (!self.rtl) { + section.css({left : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({left : 100 * topbar.data('index') + '%'}); + } else { + section.css({right : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({right : 100 * topbar.data('index') + '%'}); + } + + topbar.css('height', $this.siblings('ul').outerHeight(true) + topbar.data('height')); + } + }); + + S(window).off('.topbar').on('resize.fndtn.topbar', self.throttle(function () { + self.resize.call(self); + }, 50)).trigger('resize.fndtn.topbar').load(function () { + // Ensure that the offset is calculated after all of the pages resources have loaded + S(this).trigger('resize.fndtn.topbar'); + }); + + S('body').off('.topbar').on('click.fndtn.topbar', function (e) { + var parent = S(e.target).closest('li').closest('li.hover'); + + if (parent.length > 0) { + return; + } + + S('[' + self.attr_name() + '] li.hover').removeClass('hover'); + }); + + // Go up a level on Click + S(this.scope).on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown .back', function (e) { + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + settings = topbar.data(self.attr_name(true) + '-init'), + $movedLi = $this.closest('li.moved'), + $previousLevelUl = $movedLi.parent(); + + topbar.data('index', topbar.data('index') - 1); + + if (!self.rtl) { + section.css({left : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({left : 100 * topbar.data('index') + '%'}); + } else { + section.css({right : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({right : 100 * topbar.data('index') + '%'}); + } + + if (topbar.data('index') === 0) { + topbar.css('height', ''); + } else { + topbar.css('height', $previousLevelUl.outerHeight(true) + topbar.data('height')); + } + + setTimeout(function () { + $movedLi.removeClass('moved'); + }, 300); + }); + + // Show dropdown menus when their items are focused + S(this.scope).find('.dropdown a') + .focus(function () { + $(this).parents('.has-dropdown').addClass('hover'); + }) + .blur(function () { + $(this).parents('.has-dropdown').removeClass('hover'); + }); + }, + + resize : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var topbar = self.S(this), + settings = topbar.data(self.attr_name(true) + '-init'); + + var stickyContainer = topbar.parent('.' + self.settings.sticky_class); + var stickyOffset; + + if (!self.breakpoint()) { + var doToggle = topbar.hasClass('expanded'); + topbar + .css('height', '') + .removeClass('expanded') + .find('li') + .removeClass('hover'); + + if (doToggle) { + self.toggle(topbar); + } + } + + if (self.is_sticky(topbar, stickyContainer, settings)) { + if (stickyContainer.hasClass('fixed')) { + // Remove the fixed to allow for correct calculation of the offset. + stickyContainer.removeClass('fixed'); + + stickyOffset = stickyContainer.offset().top; + if (self.S(document.body).hasClass('f-topbar-fixed')) { + stickyOffset -= topbar.data('height'); + } + + topbar.data('stickyoffset', stickyOffset); + stickyContainer.addClass('fixed'); + } else { + stickyOffset = stickyContainer.offset().top; + topbar.data('stickyoffset', stickyOffset); + } + } + + }); + }, + + breakpoint : function () { + return !matchMedia(Foundation.media_queries['topbar']).matches; + }, + + small : function () { + return matchMedia(Foundation.media_queries['small']).matches; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + assemble : function (topbar) { + var self = this, + settings = topbar.data(this.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', topbar); + + // Pull element out of the DOM for manipulation + section.detach(); + + self.S('.has-dropdown>a', section).each(function () { + var $link = self.S(this), + $dropdown = $link.siblings('.dropdown'), + url = $link.attr('href'), + $titleLi; + + if (!$dropdown.find('.title.back').length) { + + if (settings.mobile_show_parent_link == true && url) { + $titleLi = $('
    2. '); + } else { + $titleLi = $('
    3. '); + } + + // Copy link to subnav + if (settings.custom_back_text == true) { + $('h5>a', $titleLi).html(settings.back_text); + } else { + $('h5>a', $titleLi).html('« ' + $link.html()); + } + $dropdown.prepend($titleLi); + } + }); + + // Put element back in the DOM + section.appendTo(topbar); + + // check for sticky + this.sticky(); + + this.assembled(topbar); + }, + + assembled : function (topbar) { + topbar.data(this.attr_name(true), $.extend({}, topbar.data(this.attr_name(true)), {assembled : true})); + }, + + height : function (ul) { + var total = 0, + self = this; + + $('> li', ul).each(function () { + total += self.S(this).outerHeight(true); + }); + + return total; + }, + + sticky : function () { + var self = this; + + this.S(window).on('scroll', function () { + self.update_sticky_positioning(); + }); + }, + + update_sticky_positioning : function () { + var klass = '.' + this.settings.sticky_class, + $window = this.S(window), + self = this; + + if (self.settings.sticky_topbar && self.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(), this.settings)) { + var distance = this.settings.sticky_topbar.data('stickyoffset') + this.settings.start_offset; + if (!self.S(klass).hasClass('expanded')) { + if ($window.scrollTop() > (distance)) { + if (!self.S(klass).hasClass('fixed')) { + self.S(klass).addClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if ($window.scrollTop() <= distance) { + if (self.S(klass).hasClass('fixed')) { + self.S(klass).removeClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + } + } + } + } + }, + + off : function () { + this.S(this.scope).off('.fndtn.topbar'); + this.S(window).off('.fndtn.topbar'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation.min.js b/js/foundation/js/foundation.min.js new file mode 100644 index 0000000..558dcfa --- /dev/null +++ b/js/foundation/js/foundation.min.js @@ -0,0 +1,5 @@ +!function(a,b,c,d){"use strict";function e(a){return("string"==typeof a||a instanceof String)&&(a=a.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g,"")),a}function f(a){this.selector=a,this.query=""}var g=function(b){var c=a("head");c.prepend(a.map(b,function(a){return 0===c.has("."+a).length?'':void 0}))};g(["foundation-mq-small","foundation-mq-small-only","foundation-mq-medium","foundation-mq-medium-only","foundation-mq-large","foundation-mq-large-only","foundation-mq-xlarge","foundation-mq-xlarge-only","foundation-mq-xxlarge","foundation-data-attribute-namespace"]),a(function(){"undefined"!=typeof FastClick&&"undefined"!=typeof c.body&&FastClick.attach(c.body)});var h=function(b,d){if("string"==typeof b){if(d){var e;if(d.jquery){if(e=d[0],!e)return d}else e=d;return a(e.querySelectorAll(b))}return a(c.querySelectorAll(b))}return a(b,d)},i=function(a){var b=[];return a||b.push("data"),this.namespace.length>0&&b.push(this.namespace),b.push(this.name),b.join("-")},j=function(a){for(var b=a.split("-"),c=b.length,d=[];c--;)0!==c?d.push(b[c]):this.namespace.length>0?d.push(this.namespace,b[c]):d.push(b[c]);return d.reverse().join("-")},k=function(b,c){var d=this,e=function(){var e=h(this),f=!e.data(d.attr_name(!0)+"-init");e.data(d.attr_name(!0)+"-init",a.extend({},d.settings,c||b,d.data_options(e))),f&&d.events(this)};return h(this.scope).is("["+this.attr_name()+"]")?e.call(this.scope):h("["+this.attr_name()+"]",this.scope).each(e),"string"==typeof b?this[b].call(this,c):void 0},l=function(a,b){function c(){b(a[0])}function d(){if(this.one("load",c),/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var a=this.attr("src"),b=a.match(/\?/)?"&":"?";b+="random="+(new Date).getTime(),this.attr("src",a+b)}}return a.attr("src")?void(a[0].complete||4===a[0].readyState?c():d.call(a)):void c()};/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */ +b.matchMedia||(b.matchMedia=function(){var a=b.styleMedia||b.media;if(!a){var d=c.createElement("style"),e=c.getElementsByTagName("script")[0],f=null;d.type="text/css",d.id="matchmediajs-test",e.parentNode.insertBefore(d,e),f="getComputedStyle"in b&&b.getComputedStyle(d,null)||d.currentStyle,a={matchMedium:function(a){var b="@media "+a+"{ #matchmediajs-test { width: 1px; } }";return d.styleSheet?d.styleSheet.cssText=b:d.textContent=b,"1px"===f.width}}}return function(b){return{matches:a.matchMedium(b||"all"),media:b||"all"}}}()),function(a){function c(){d&&(g(c),i&&a.fx.tick())}for(var d,e=0,f=["webkit","moz"],g=b.requestAnimationFrame,h=b.cancelAnimationFrame,i="undefined"!=typeof a.fx;e").appendTo("head")[0].sheet,global:{namespace:d},init:function(a,c,d,e,f){var g=[a,d,e,f],i=[];if(this.rtl=/rtl/i.test(h("html").attr("dir")),this.scope=a||this.scope,this.set_namespace(),c&&"string"==typeof c&&!/reflow/i.test(c))this.libs.hasOwnProperty(c)&&i.push(this.init_lib(c,g));else for(var j in this.libs)i.push(this.init_lib(j,c));return h(b).load(function(){h(b).trigger("resize.fndtn.clearing").trigger("resize.fndtn.dropdown").trigger("resize.fndtn.equalizer").trigger("resize.fndtn.interchange").trigger("resize.fndtn.joyride").trigger("resize.fndtn.magellan").trigger("resize.fndtn.topbar").trigger("resize.fndtn.slider")}),a},init_lib:function(b,c){return this.libs.hasOwnProperty(b)?(this.patch(this.libs[b]),c&&c.hasOwnProperty(b)?("undefined"!=typeof this.libs[b].settings?a.extend(!0,this.libs[b].settings,c[b]):"undefined"!=typeof this.libs[b].defaults&&a.extend(!0,this.libs[b].defaults,c[b]),this.libs[b].init.apply(this.libs[b],[this.scope,c[b]])):(c=c instanceof Array?c:new Array(c),this.libs[b].init.apply(this.libs[b],c))):function(){}},patch:function(a){a.scope=this.scope,a.namespace=this.global.namespace,a.rtl=this.rtl,a.data_options=this.utils.data_options,a.attr_name=i,a.add_namespace=j,a.bindings=k,a.S=this.utils.S},inherit:function(a,b){for(var c=b.split(" "),d=c.length;d--;)this.utils.hasOwnProperty(c[d])&&(a[c[d]]=this.utils[c[d]])},set_namespace:function(){var b=this.global.namespace===d?a(".foundation-data-attribute-namespace").css("font-family"):this.global.namespace;this.global.namespace=b===d||/false/i.test(b)?"":b},libs:{},utils:{S:h,throttle:function(a,b){var c=null;return function(){var d=this,e=arguments;null==c&&(c=setTimeout(function(){a.apply(d,e),c=null},b))}},debounce:function(a,b,c){var d,e;return function(){var f=this,g=arguments,h=function(){d=null,c||(e=a.apply(f,g))},i=c&&!d;return clearTimeout(d),d=setTimeout(h,b),i&&(e=a.apply(f,g)),e}},data_options:function(b,c){function d(a){return!isNaN(a-0)&&null!==a&&""!==a&&a!==!1&&a!==!0}function e(b){return"string"==typeof b?a.trim(b):b}c=c||"options";var f,g,h,i={},j=function(a){var b=Foundation.global.namespace;return b.length>0?a.data(b+"-"+c):a.data(c)},k=j(b);if("object"==typeof k)return k;for(h=(k||":").split(";"),f=h.length;f--;)g=h[f].split(":"),g=[g[0],g.slice(1).join(":")],/true/i.test(g[1])&&(g[1]=!0),/false/i.test(g[1])&&(g[1]=!1),d(g[1])&&(-1===g[1].indexOf(".")?g[1]=parseInt(g[1],10):g[1]=parseFloat(g[1])),2===g.length&&g[0].length>0&&(i[e(g[0])]=e(g[1]));return i},register_media:function(b,c){Foundation.media_queries[b]===d&&(a("head").append(''),Foundation.media_queries[b]=e(a("."+c).css("font-family")))},add_custom_rule:function(a,b){if(b===d&&Foundation.stylesheet)Foundation.stylesheet.insertRule(a,Foundation.stylesheet.cssRules.length);else{var c=Foundation.media_queries[b];c!==d&&Foundation.stylesheet.insertRule("@media "+Foundation.media_queries[b]+"{ "+a+" }",Foundation.stylesheet.cssRules.length)}},image_loaded:function(a,b){function c(a){for(var b=a.length,c=b-1;c>=0;c--)if(a.attr("height")===d)return!1;return!0}var e=this,f=a.length;(0===f||c(a))&&b(a),a.each(function(){l(e.S(this),function(){f-=1,0===f&&b(a)})})},random_str:function(){return this.fidx||(this.fidx=0),this.prefix=this.prefix||[this.name||"F",(+new Date).toString(36)].join("-"),this.prefix+(this.fidx++).toString(36)},match:function(a){return b.matchMedia(a).matches},is_small_up:function(){return this.match(Foundation.media_queries.small)},is_medium_up:function(){return this.match(Foundation.media_queries.medium)},is_large_up:function(){return this.match(Foundation.media_queries.large)},is_xlarge_up:function(){return this.match(Foundation.media_queries.xlarge)},is_xxlarge_up:function(){return this.match(Foundation.media_queries.xxlarge)},is_small_only:function(){return!(this.is_medium_up()||this.is_large_up()||this.is_xlarge_up()||this.is_xxlarge_up())},is_medium_only:function(){return this.is_medium_up()&&!this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_large_only:function(){return this.is_medium_up()&&this.is_large_up()&&!this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&!this.is_xxlarge_up()},is_xxlarge_only:function(){return this.is_medium_up()&&this.is_large_up()&&this.is_xlarge_up()&&this.is_xxlarge_up()}}},a.fn.foundation=function(){var a=Array.prototype.slice.call(arguments,0);return this.each(function(){return Foundation.init.apply(Foundation,[this].concat(a)),this})}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.abide={name:"abide",version:"5.5.3",settings:{live_validate:!0,validate_on_blur:!0,focus_on_invalid:!0,error_labels:!0,error_class:"error",timeout:1e3,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/},validators:{equalTo:function(a,b,d){var e=c.getElementById(a.getAttribute(this.add_namespace("data-equalto"))).value,f=a.value,g=e===f;return g}}},timer:null,init:function(a,b,c){this.bindings(b,c)},events:function(b){function c(a,b){clearTimeout(d.timer),d.timer=setTimeout(function(){d.validate([a],b)}.bind(a),f.timeout)}var d=this,e=d.S(b).attr("novalidate","novalidate"),f=e.data(this.attr_name(!0)+"-init")||{};this.invalid_attr=this.add_namespace("data-invalid"),e.off(".abide").on("submit.fndtn.abide",function(a){var b=/ajax/i.test(d.S(this).attr(d.attr_name()));return d.validate(d.S(this).find("input, textarea, select").not(":hidden, [data-abide-ignore]").get(),a,b)}).on("validate.fndtn.abide",function(a){"manual"===f.validate_on&&d.validate([a.target],a)}).on("reset",function(b){return d.reset(a(this),b)}).find("input, textarea, select").not(":hidden, [data-abide-ignore]").off(".abide").on("blur.fndtn.abide change.fndtn.abide",function(a){var b=this.getAttribute("id"),d=e.find('[data-equalto="'+b+'"]');f.validate_on_blur&&f.validate_on_blur===!0&&c(this,a),"undefined"!=typeof d.get(0)&&d.val().length&&c(d.get(0),a),"change"===f.validate_on&&c(this,a)}).on("keydown.fndtn.abide",function(a){var b=this.getAttribute("id"),d=e.find('[data-equalto="'+b+'"]');f.live_validate&&f.live_validate===!0&&9!=a.which&&c(this,a),"undefined"!=typeof d.get(0)&&d.val().length&&c(d.get(0),a),"tab"===f.validate_on&&9===a.which?c(this,a):"change"===f.validate_on&&c(this,a)}).on("focus",function(b){navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)&&a("html, body").animate({scrollTop:a(b.target).offset().top},100)})},reset:function(b,c){var d=this;b.removeAttr(d.invalid_attr),a("["+d.invalid_attr+"]",b).removeAttr(d.invalid_attr),a("."+d.settings.error_class,b).not("small").removeClass(d.settings.error_class),a(":input",b).not(":button, :submit, :reset, :hidden, [data-abide-ignore]").val("").removeAttr(d.invalid_attr)},validate:function(a,b,c){for(var d=this.parse_patterns(a),e=d.length,f=this.S(a[0]).closest("form"),g=/submit/.test(b.type),h=0;e>h;h++)if(!d[h]&&(g||c))return this.settings.focus_on_invalid&&a[h].focus(),f.trigger("invalid.fndtn.abide"),this.S(a[h]).closest("form").attr(this.invalid_attr,""),!1;return(g||c)&&f.trigger("valid.fndtn.abide"),f.removeAttr(this.invalid_attr),c?!1:!0},parse_patterns:function(a){for(var b=a.length,c=[];b--;)c.push(this.pattern(a[b]));return this.check_validation_and_apply_styles(c)},pattern:function(a){var b=a.getAttribute("type"),c="string"==typeof a.getAttribute("required"),d=a.getAttribute("pattern")||"";return this.settings.patterns.hasOwnProperty(d)&&d.length>0?[a,this.settings.patterns[d],c]:d.length>0?[a,new RegExp(d),c]:this.settings.patterns.hasOwnProperty(b)?[a,this.settings.patterns[b],c]:(d=/.*/,[a,d,c])},check_validation_and_apply_styles:function(b){var c=b.length,d=[];if(0==c)return d;var e=this.S(b[0][0]).closest("[data-"+this.attr_name(!0)+"]");for(e.data(this.attr_name(!0)+"-init")||{};c--;){var f,g,h=b[c][0],i=b[c][2],j=h.value.trim(),k=this.S(h).parent(),l=h.getAttribute(this.add_namespace("data-abide-validator")),m="radio"===h.type,n="checkbox"===h.type,o=this.S('label[for="'+h.getAttribute("id")+'"]'),p=i?h.value.length>0:!0,q=[];if(h.getAttribute(this.add_namespace("data-equalto"))&&(l="equalTo"),f=k.is("label")?k.parent():k,m&&i)q.push(this.valid_radio(h,i));else if(n&&i)q.push(this.valid_checkbox(h,i));else if(l){for(var r=l.split(" "),s=!0,t=!0,u=0;u0&&this.settings.error_labels&&o.removeClass(this.settings.error_class).removeAttr("role"),a(h).triggerHandler("valid")):(this.S(h).attr(this.invalid_attr,""),f.addClass("error"),o.length>0&&this.settings.error_labels&&o.addClass(this.settings.error_class).attr("role","alert"),a(h).triggerHandler("invalid"))}else if(b[c][1].test(j)&&p||!i&&h.value.length<1||a(h).attr("disabled")?q.push(!0):q.push(!1),q=[q.every(function(a){return a})],q[0])this.S(h).removeAttr(this.invalid_attr),h.setAttribute("aria-invalid","false"),h.removeAttribute("aria-describedby"),f.removeClass(this.settings.error_class),o.length>0&&this.settings.error_labels&&o.removeClass(this.settings.error_class).removeAttr("role"),a(h).triggerHandler("valid");else{this.S(h).attr(this.invalid_attr,""),h.setAttribute("aria-invalid","true");var v=f.find("small."+this.settings.error_class,"span."+this.settings.error_class),w=v.length>0?v[0].id:"";w.length>0&&h.setAttribute("aria-describedby",w),f.addClass(this.settings.error_class),o.length>0&&this.settings.error_labels&&o.addClass(this.settings.error_class).attr("role","alert"),a(h).triggerHandler("invalid")}d=d.concat(q)}return d},valid_checkbox:function(b,c){var b=this.S(b),d=b.is(":checked")||!c||b.get(0).getAttribute("disabled");return d?(b.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),a(b).triggerHandler("valid")):(b.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),a(b).triggerHandler("invalid")),d},valid_radio:function(b,c){for(var d=b.getAttribute("name"),e=this.S(b).closest("[data-"+this.attr_name(!0)+"]").find("[name='"+d+"']"),f=e.length,g=!1,h=!1,i=0;f>i;i++)e[i].getAttribute("disabled")?(h=!0,g=!0):e[i].checked?g=!0:h&&(g=!1);for(var i=0;f>i;i++)g?(this.S(e[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class),a(e[i]).triggerHandler("valid")):(this.S(e[i]).attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),a(e[i]).triggerHandler("invalid"));return g},valid_equal:function(a,b,d){var e=c.getElementById(a.getAttribute(this.add_namespace("data-equalto"))).value,f=a.value,g=e===f;return g?(this.S(a).removeAttr(this.invalid_attr),d.removeClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.removeClass(this.settings.error_class)):(this.S(a).attr(this.invalid_attr,""),d.addClass(this.settings.error_class),label.length>0&&settings.error_labels&&label.addClass(this.settings.error_class)),g},valid_oneof:function(a,b,c,d){var a=this.S(a),e=this.S("["+this.add_namespace("data-oneof")+"]"),f=e.filter(":checked").length>0;if(f?a.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class):a.attr(this.invalid_attr,"").parent().addClass(this.settings.error_class),!d){var g=this;e.each(function(){g.valid_oneof.call(g,this,null,null,!0)})}return f},reflow:function(a,b){var c=this,d=c.S("["+this.attr_name()+"]").attr("novalidate","novalidate");c.S(d).each(function(a,b){c.events(b)})}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.accordion={name:"accordion",version:"5.5.3",settings:{content_class:"content",active_class:"active",multi_expand:!1,toggleable:!0,callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(b){var c=this,d=this.S;c.create(this.S(b)),d(this.scope).off(".fndtn.accordion").on("click.fndtn.accordion","["+this.attr_name()+"] > dd > a, ["+this.attr_name()+"] > li > a",function(b){var e=d(this).closest("["+c.attr_name()+"]"),f=c.attr_name()+"="+e.attr(c.attr_name()),g=e.data(c.attr_name(!0)+"-init")||c.settings,h=d("#"+this.href.split("#")[1]),i=a("> dd, > li",e),j=i.children("."+g.content_class),k=j.filter("."+g.active_class);return b.preventDefault(),e.attr(c.attr_name())&&(j=j.add("["+f+"] dd > ."+g.content_class+", ["+f+"] li > ."+g.content_class),i=i.add("["+f+"] dd, ["+f+"] li")),g.toggleable&&h.is(k)?(h.parent("dd, li").toggleClass(g.active_class,!1),h.toggleClass(g.active_class,!1),d(this).attr("aria-expanded",function(a,b){return"true"===b?"false":"true"}),g.callback(h),h.triggerHandler("toggled",[e]),void e.triggerHandler("toggled",[h])):(g.multi_expand||(j.removeClass(g.active_class),i.removeClass(g.active_class),i.children("a").attr("aria-expanded","false")),h.addClass(g.active_class).parent().addClass(g.active_class),g.callback(h),h.triggerHandler("toggled",[e]),e.triggerHandler("toggled",[h]),void d(this).attr("aria-expanded","true"))})},create:function(b){var c=this,d=b,e=a("> .accordion-navigation",d),f=d.data(c.attr_name(!0)+"-init")||c.settings;e.children("a").attr("aria-expanded","false"),e.has("."+f.content_class+"."+f.active_class).addClass(f.active_class).children("a").attr("aria-expanded","true"),f.multi_expand&&b.attr("aria-multiselectable","true")},toggle:function(a){var a="undefined"!=typeof a?a:{},c="undefined"!=typeof a.selector?a.selector:"",d="undefined"!=typeof a.toggle_state?a.toggle_state:"",e="undefined"!=typeof a.$accordion?a.$accordion:this.S(this.scope).closest("["+this.attr_name()+"]"),f=e.find("> dd"+c+", > li"+c);if(f.length<1)return b.console&&console.error("Selection not found.",c),!1;var g=this.S,h=this.settings.active_class;f.each(function(){var a=g(this),b=a.hasClass(h);(b&&"close"===d||!b&&"open"===d||""===d)&&a.find("> a").trigger("click.fndtn.accordion")})},open:function(a){var a="undefined"!=typeof a?a:{};a.toggle_state="open",this.toggle(a)},close:function(a){var a="undefined"!=typeof a?a:{};a.toggle_state="close",this.toggle(a)},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.alert={name:"alert",version:"5.5.3",settings:{callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this,c=this.S;a(this.scope).off(".alert").on("click.fndtn.alert","["+this.attr_name()+"] .close",function(a){var d=c(this).closest("["+b.attr_name()+"]"),e=d.data(b.attr_name(!0)+"-init")||b.settings;a.preventDefault(),Modernizr.csstransitions?(d.addClass("alert-close"),d.on("transitionend webkitTransitionEnd oTransitionEnd",function(a){c(this).trigger("close.fndtn.alert").remove(),e.callback()})):d.fadeOut(300,function(){c(this).trigger("close.fndtn.alert").remove(),e.callback()})})},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.clearing={name:"clearing",version:"5.5.3",settings:{templates:{viewing:'×'},close_selectors:".clearing-close, div.clearing-blackout",open_selectors:"",skip_selector:"",touch_label:"",init:!1,locked:!1},init:function(a,b,c){var d=this;Foundation.inherit(this,"throttle image_loaded"),this.bindings(b,c),d.S(this.scope).is("["+this.attr_name()+"]")?this.assemble(d.S("li",this.scope)):d.S("["+this.attr_name()+"]",this.scope).each(function(){d.assemble(d.S("li",this))})},events:function(d){var e=this,f=e.S,g=a(".scroll-container");g.length>0&&(this.scope=g),f(this.scope).off(".clearing").on("click.fndtn.clearing","ul["+this.attr_name()+"] li "+this.settings.open_selectors,function(a,b,c){var b=b||f(this),c=c||b,d=b.next("li"),g=b.closest("["+e.attr_name()+"]").data(e.attr_name(!0)+"-init"),h=f(a.target);a.preventDefault(),g||(e.init(),g=b.closest("["+e.attr_name()+"]").data(e.attr_name(!0)+"-init")),c.hasClass("visible")&&b[0]===c[0]&&d.length>0&&e.is_open(b)&&(c=d,h=f("img",c)),e.open(h,b,c),e.update_paddles(c)}).on("click.fndtn.clearing",".clearing-main-next",function(a){e.nav(a,"next")}).on("click.fndtn.clearing",".clearing-main-prev",function(a){e.nav(a,"prev")}).on("click.fndtn.clearing",this.settings.close_selectors,function(a){Foundation.libs.clearing.close(a,this)}),a(c).on("keydown.fndtn.clearing",function(a){e.keydown(a)}),f(b).off(".clearing").on("resize.fndtn.clearing",function(){e.resize()}),this.swipe_events(d)},swipe_events:function(a){var b=this,c=b.S;c(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(a){a.touches||(a=a.originalEvent);var b={start_page_x:a.touches[0].pageX,start_page_y:a.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};c(this).data("swipe-transition",b),a.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(a){if(a.touches||(a=a.originalEvent),!(a.touches.length>1||a.scale&&1!==a.scale)){var d=c(this).data("swipe-transition");if("undefined"==typeof d&&(d={}),d.delta_x=a.touches[0].pageX-d.start_page_x,Foundation.rtl&&(d.delta_x=-d.delta_x),"undefined"==typeof d.is_scrolling&&(d.is_scrolling=!!(d.is_scrolling||Math.abs(d.delta_x)
    ');var d=c.detach(),e="";if(null!=d[0]){e=d[0].outerHTML;var f=this.S("#foundationClearingHolder"),g=c.data(this.attr_name(!0)+"-init"),h={grid:'",viewing:g.templates.viewing},i='
    '+h.viewing+h.grid+"
    ",j=this.settings.touch_label;Modernizr.touch&&(i=a(i).find(".clearing-touch-label").html(j).end()),f.after(i).remove()}}},open:function(b,d,e){function f(){setTimeout(function(){this.image_loaded(m,function(){1!==m.outerWidth()||o?g.call(this,m):f.call(this)}.bind(this))}.bind(this),100)}function g(b){var c=a(b);c.css("visibility","visible"),c.trigger("imageVisible"),i.css("overflow","hidden"),j.addClass("clearing-blackout"),k.addClass("clearing-container"),l.show(),this.fix_height(e).caption(h.S(".clearing-caption",l),h.S("img",e)).center_and_label(b,n).shift(d,e,function(){e.closest("li").siblings().removeClass("visible"),e.closest("li").addClass("visible")}),l.trigger("opened.fndtn.clearing")}var h=this,i=a(c.body),j=e.closest(".clearing-assembled"),k=h.S("div",j).first(),l=h.S(".visible-img",k),m=h.S("img",l).not(b),n=h.S(".clearing-touch-label",k),o=!1,p={};a("body").on("touchmove",function(a){a.preventDefault()}),m.error(function(){o=!0}),this.locked()||(l.trigger("open.fndtn.clearing"),p=this.load(b),p.interchange?m.attr("data-interchange",p.interchange).foundation("interchange","reflow"):m.attr("src",p.src).attr("data-interchange",""),m.css("visibility","hidden"),f.call(this))},close:function(b,d){b.preventDefault();var e,f,g=function(a){return/blackout/.test(a.selector)?a:a.closest(".clearing-blackout")}(a(d)),h=a(c.body);return d===b.target&&g&&(h.css("overflow",""),e=a("div",g).first(),f=a(".visible-img",e),f.trigger("close.fndtn.clearing"),this.settings.prev_index=0,a("ul["+this.attr_name()+"]",g).attr("style","").closest(".clearing-blackout").removeClass("clearing-blackout"),e.removeClass("clearing-container"),f.hide(),f.trigger("closed.fndtn.clearing")),a("body").off("touchmove"),!1},is_open:function(a){return a.parent().prop("style").length>0},keydown:function(b){var c=a(".clearing-blackout ul["+this.attr_name()+"]"),d=this.rtl?37:39,e=this.rtl?39:37,f=27;b.which===d&&this.go(c,"next"),b.which===e&&this.go(c,"prev"),b.which===f&&this.S("a.clearing-close").trigger("click.fndtn.clearing")},nav:function(b,c){var d=a("ul["+this.attr_name()+"]",".clearing-blackout");b.preventDefault(),this.go(d,c)},resize:function(){var b=a("img",".clearing-blackout .visible-img"),c=a(".clearing-touch-label",".clearing-blackout");b.length&&(this.center_and_label(b,c),b.trigger("resized.fndtn.clearing"))},fix_height:function(a){var b=a.parent().children(),c=this;return b.each(function(){var a=c.S(this),b=a.find("img");a.height()>b.outerHeight()&&a.addClass("fix-height")}).closest("ul").width(100*b.length+"%"),this},update_paddles:function(a){a=a.closest("li");var b=a.closest(".carousel").siblings(".visible-img");a.next().length>0?this.S(".clearing-main-next",b).removeClass("disabled"):this.S(".clearing-main-next",b).addClass("disabled"),a.prev().length>0?this.S(".clearing-main-prev",b).removeClass("disabled"):this.S(".clearing-main-prev",b).addClass("disabled")},center_and_label:function(a,b){return!this.rtl&&b.length>0?b.css({marginLeft:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10}):b.css({marginRight:-(b.outerWidth()/2),marginTop:-(a.outerHeight()/2)-b.outerHeight()-10,left:"auto",right:"50%"}),this},load:function(a){var b,c,d;return"A"===a[0].nodeName?(b=a.attr("href"),c=a.data("clearing-interchange")):(d=a.closest("a"),b=d.attr("href"),c=d.data("clearing-interchange")),this.preload(a),{src:b?b:a.attr("src"),interchange:b?c:a.data("clearing-interchange")}},preload:function(a){this.img(a.closest("li").next(),"next").img(a.closest("li").prev(),"prev")},img:function(b,c){if(b.length){var d,e,f,g=a(".clearing-preload-"+c),h=this.S("a",b);h.length?(d=h.attr("href"),e=h.data("clearing-interchange")):(f=this.S("img",b),d=f.attr("src"),e=f.data("clearing-interchange")),e?g.attr("data-interchange",e):(g.attr("src",d),g.attr("data-interchange",""))}return this},caption:function(a,b){var c=b.attr("data-caption");if(c){var d=a.get(0);d.innerHTML=c,a.show()}else a.text("").hide();return this},go:function(a,b){var c=this.S(".visible",a),d=c[b]();this.settings.skip_selector&&0!=d.find(this.settings.skip_selector).length&&(d=d[b]()),d.length&&this.S("img",d).trigger("click.fndtn.clearing",[c,d]).trigger("change.fndtn.clearing")},shift:function(a,b,c){var d,e=b.parent(),f=this.settings.prev_index||b.index(),g=this.direction(e,a,b),h=this.rtl?"right":"left",i=parseInt(e.css("left"),10),j=b.outerWidth(),k={};b.index()===f||/skip/.test(g)?/skip/.test(g)&&(d=b.index()-this.settings.up_count,this.lock(),d>0?(k[h]=-(d*j),e.animate(k,300,this.unlock())):(k[h]=0,e.animate(k,300,this.unlock()))):/left/.test(g)?(this.lock(),k[h]=i+j,e.animate(k,300,this.unlock())):/right/.test(g)&&(this.lock(),k[h]=i-j,e.animate(k,300,this.unlock())),c()},direction:function(a,b,c){var d,e=this.S("li",a),f=e.outerWidth()+e.outerWidth()/4,g=Math.floor(this.S(".clearing-container").outerWidth()/f)-1,h=e.index(c);return this.settings.up_count=g,d=this.adjacent(this.settings.prev_index,h)?h>g&&h>this.settings.prev_index?"right":h>g-1&&h<=this.settings.prev_index?"left":!1:"skip",this.settings.prev_index=h,d},adjacent:function(a,b){for(var c=b+1;c>=b-1;c--)if(c===a)return!0;return!1},lock:function(){this.settings.locked=!0},unlock:function(){this.settings.locked=!1},locked:function(){return this.settings.locked},off:function(){this.S(this.scope).off(".fndtn.clearing"),this.S(b).off(".fndtn.clearing")},reflow:function(){this.init()}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.dropdown={name:"dropdown",version:"5.5.3",settings:{active_class:"open",disabled_class:"disabled",mega_class:"mega",align:"bottom",is_hover:!1,hover_timeout:150,opened:function(){},closed:function(){}},init:function(b,c,d){Foundation.inherit(this,"throttle"),a.extend(!0,this.settings,c,d),this.bindings(c,d)},events:function(d){var e=this,f=e.S;f(this.scope).off(".dropdown").on("click.fndtn.dropdown","["+this.attr_name()+"]",function(b){var c=f(this).data(e.attr_name(!0)+"-init")||e.settings;(!c.is_hover||Modernizr.touch)&&(b.preventDefault(),f(this).parent("[data-reveal-id]").length&&b.stopPropagation(),e.toggle(a(this)))}).on("mouseenter.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(a){var b,c,d=f(this);clearTimeout(e.timeout),d.data(e.data_attr())?(b=f("#"+d.data(e.data_attr())),c=d):(b=d,c=f("["+e.attr_name()+'="'+b.attr("id")+'"]'));var g=c.data(e.attr_name(!0)+"-init")||e.settings;f(a.currentTarget).data(e.data_attr())&&g.is_hover&&e.closeall.call(e),g.is_hover&&e.open.apply(e,[b,c])}).on("mouseleave.fndtn.dropdown","["+this.attr_name()+"], ["+this.attr_name()+"-content]",function(a){var b,c=f(this);if(c.data(e.data_attr()))b=c.data(e.data_attr(!0)+"-init")||e.settings;else var d=f("["+e.attr_name()+'="'+f(this).attr("id")+'"]'),b=d.data(e.attr_name(!0)+"-init")||e.settings;e.timeout=setTimeout(function(){c.data(e.data_attr())?b.is_hover&&e.close.call(e,f("#"+c.data(e.data_attr()))):b.is_hover&&e.close.call(e,c)}.bind(this),b.hover_timeout)}).on("click.fndtn.dropdown",function(b){var d=f(b.target).closest("["+e.attr_name()+"-content]"),g=d.find("a");return g.length>0&&"false"!==d.attr("aria-autoclose")&&e.close.call(e,f("["+e.attr_name()+"-content]")),b.target!==c&&!a.contains(c.documentElement,b.target)||f(b.target).closest("["+e.attr_name()+"]").length>0?void 0:!f(b.target).data("revealId")&&d.length>0&&(f(b.target).is("["+e.attr_name()+"-content]")||a.contains(d.first()[0],b.target))?void b.stopPropagation():void e.close.call(e,f("["+e.attr_name()+"-content]"))}).on("opened.fndtn.dropdown","["+e.attr_name()+"-content]",function(){e.settings.opened.call(this)}).on("closed.fndtn.dropdown","["+e.attr_name()+"-content]",function(){e.settings.closed.call(this)}),f(b).off(".dropdown").on("resize.fndtn.dropdown",e.throttle(function(){e.resize.call(e)},50)),this.resize()},close:function(b){var c=this;b.each(function(d){var e=a("["+c.attr_name()+"="+b[d].id+"]")||a("aria-controls="+b[d].id+"]");e.attr("aria-expanded","false"),c.S(this).hasClass(c.settings.active_class)&&(c.S(this).css(Foundation.rtl?"right":"left","-99999px").attr("aria-hidden","true").removeClass(c.settings.active_class).prev("["+c.attr_name()+"]").removeClass(c.settings.active_class).removeData("target"),c.S(this).trigger("closed.fndtn.dropdown",[b]))}),b.removeClass("f-open-"+this.attr_name(!0))},closeall:function(){var b=this;a.each(b.S(".f-open-"+this.attr_name(!0)),function(){b.close.call(b,b.S(this))})},open:function(a,b){this.css(a.addClass(this.settings.active_class),b),a.prev("["+this.attr_name()+"]").addClass(this.settings.active_class),a.data("target",b.get(0)).trigger("opened.fndtn.dropdown",[a,b]),a.attr("aria-hidden","false"),b.attr("aria-expanded","true"),a.focus(),a.addClass("f-open-"+this.attr_name(!0))},data_attr:function(){return this.namespace.length>0?this.namespace+"-"+this.name:this.name},toggle:function(a){if(!a.hasClass(this.settings.disabled_class)){var b=this.S("#"+a.data(this.data_attr()));0!==b.length&&(this.close.call(this,this.S("["+this.attr_name()+"-content]").not(b)),b.hasClass(this.settings.active_class)?(this.close.call(this,b),b.data("target")!==a.get(0)&&this.open.call(this,b,a)):this.open.call(this,b,a))}},resize:function(){var b=this.S("["+this.attr_name()+"-content].open"),c=a(b.data("target"));b.length&&c.length&&this.css(b,c)},css:function(a,b){var c=Math.max((b.width()-a.width())/2,8),d=b.data(this.attr_name(!0)+"-init")||this.settings,e=a.parent().css("overflow-y")||a.parent().css("overflow");if(this.clear_idx(),this.small()){var f=this.dirs.bottom.call(a,b,d);a.attr("style","").removeClass("drop-left drop-right drop-top").css({position:"absolute",width:"95%","max-width":"none",top:f.top}),a.css(Foundation.rtl?"right":"left",c)}else if("visible"!==e){var g=b[0].offsetTop+b[0].offsetHeight;a.attr("style","").css({position:"absolute",top:g}),a.css(Foundation.rtl?"right":"left",c)}else this.style(a,b,d);return a},style:function(b,c,d){var e=a.extend({position:"absolute"},this.dirs[d.align].call(b,c,d));b.attr("style","").css(e)},dirs:{_base:function(a,d){var e=this.offsetParent(),f=e.offset(),g=a.offset();g.top-=f.top,g.left-=f.left,g.missRight=!1,g.missTop=!1,g.missLeft=!1,g.leftRightFlag=!1;var h,i=b.innerWidth;h=c.getElementsByClassName("row")[0]?c.getElementsByClassName("row")[0].clientWidth:i;var j=(i-h)/2,k=h;if(!this.hasClass("mega")&&!d.ignore_repositioning){var l=this.outerWidth(),m=a.offset().left;a.offset().top<=this.outerHeight()&&(g.missTop=!0,k=i-j,g.leftRightFlag=!0),m+l>m+j&&m-j>l&&(g.missRight=!0,g.missLeft=!1),0>=m-l&&(g.missLeft=!0,g.missRight=!1)}return g},top:function(a,b){var c=Foundation.libs.dropdown,d=c.dirs._base.call(this,a,b);return this.addClass("drop-top"),1==d.missTop&&(d.top=d.top+a.outerHeight()+this.outerHeight(), +this.removeClass("drop-top")),1==d.missRight&&(d.left=d.left-this.outerWidth()+a.outerWidth()),(a.outerWidth()0)for(var d=this.S("["+this.add_namespace("data-uuid")+'="'+a+'"]');c--;){var e,f=b[c][2];if(e=this.settings.named_queries.hasOwnProperty(f)?matchMedia(this.settings.named_queries[f]):matchMedia(f),e.matches)return{el:d,scenario:b[c]}}return!1},load:function(a,b){return("undefined"==typeof this["cached_"+a]||b)&&this["update_"+a](),this["cached_"+a]},update_images:function(){var a=this.S("img["+this.data_attr+"]"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cache={},this.cached_images=[],this.images_loaded=0===b;c--;){if(d++,a[c]){var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_images.push(a[c])}d===b&&(this.images_loaded=!0,this.enhance("images"))}return this},update_nodes:function(){var a=this.S("["+this.data_attr+"]").not("img"),b=a.length,c=b,d=0,e=this.data_attr;for(this.cached_nodes=[],this.nodes_loaded=0===b;c--;){d++;var f=a[c].getAttribute(e)||"";f.length>0&&this.cached_nodes.push(a[c]),d===b&&(this.nodes_loaded=!0,this.enhance("nodes"))}return this},enhance:function(c){for(var d=this["cached_"+c].length;d--;)this.object(a(this["cached_"+c][d]));return a(b).trigger("resize.fndtn.interchange")},convert_directive:function(a){var b=this.trim(a);return b.length>0?b:"replace"},parse_scenario:function(a){var b=a[0].match(/(.+),\s*(\w+)\s*$/),c=a[1].match(/(.*)\)/);if(b)var d=b[1],e=b[2];else var f=a[0].split(/,\s*$/),d=f[0],e="";return[this.trim(d),this.convert_directive(e),this.trim(c[1])]},object:function(a){var b=this.parse_data_attr(a),c=[],d=b.length;if(d>0)for(;d--;){var e=b[d].split(/,\s?\(/);if(e.length>1){var f=this.parse_scenario(e);c.push(f)}}return this.store(a,c)},store:function(a,b){var c=this.random_str(),d=a.data(this.add_namespace("uuid",!0));return this.cache[d]?this.cache[d]:(a.attr(this.add_namespace("data-uuid"),c),this.cache[c]=b)},trim:function(b){return"string"==typeof b?a.trim(b):b},set_data_attr:function(a){return a?this.namespace.length>0?this.namespace+"-"+this.settings.load_attr:this.settings.load_attr:this.namespace.length>0?"data-"+this.namespace+"-"+this.settings.load_attr:"data-"+this.settings.load_attr},parse_data_attr:function(a){for(var b=a.attr(this.attr_name()).split(/\[(.*?)\]/),c=b.length,d=[];c--;)b[c].replace(/[\W\d]+/,"").length>4&&d.push(b[c]);return d},reflow:function(){this.load("images",!0),this.load("nodes",!0)}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.joyride={name:"joyride",version:"5.5.3",defaults:{expose:!1,modal:!0,keyboard:!0,tip_location:"bottom",nub_position:"auto",scroll_speed:1500,scroll_animation:"linear",timer:0,start_timer_on_click:!0,start_offset:0,next_button:!0,prev_button:!0,tip_animation:"fade",pause_after:[],exposed:[],tip_animation_fade_speed:300,cookie_monster:!1,cookie_name:"joyride",cookie_domain:!1,cookie_expires:365,tip_container:"body",abort_on_close:!0,tip_location_patterns:{top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},post_ride_callback:function(){},post_step_callback:function(){},pre_step_callback:function(){},pre_ride_callback:function(){},post_expose_callback:function(){},template:{link:'×',timer:'
    ',tip:'
    ',wrapper:'
    ',button:'',prev_button:'',modal:'
    ',expose:'
    ',expose_cover:'
    '},expose_add_class:""},init:function(b,c,d){Foundation.inherit(this,"throttle random_str"),this.settings=this.settings||a.extend({},this.defaults,d||c),this.bindings(c,d)},go_next:function(){this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())},go_prev:function(){this.settings.$li.prev().length<1||(this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(null,!0),this.startTimer()):(this.hide(),this.show(null,!0)))},events:function(){var c=this;a(this.scope).off(".joyride").on("click.fndtn.joyride",".joyride-next-tip, .joyride-modal-bg",function(a){a.preventDefault(),this.go_next()}.bind(this)).on("click.fndtn.joyride",".joyride-prev-tip",function(a){a.preventDefault(),this.go_prev()}.bind(this)).on("click.fndtn.joyride",".joyride-close-tip",function(a){a.preventDefault(),this.end(this.settings.abort_on_close)}.bind(this)).on("keyup.fndtn.joyride",function(a){if(this.settings.keyboard&&this.settings.riding)switch(a.which){case 39:a.preventDefault(),this.go_next();break;case 37:a.preventDefault(),this.go_prev();break;case 27:a.preventDefault(),this.end(this.settings.abort_on_close)}}.bind(this)),a(b).off(".joyride").on("resize.fndtn.joyride",c.throttle(function(){if(a("["+c.attr_name()+"]").length>0&&c.settings.$next_tip&&c.settings.riding){if(c.settings.exposed.length>0){var b=a(c.settings.exposed);b.each(function(){var b=a(this);c.un_expose(b),c.expose(b)})}c.is_phone()?c.pos_phone():c.pos_default(!1)}},100))},start:function(){var b=this,c=a("["+this.attr_name()+"]",this.scope),d=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],e=d.length;!c.length>0||(this.settings.init||this.events(),this.settings=c.data(this.attr_name(!0)+"-init"),this.settings.$content_el=c,this.settings.$body=a(this.settings.tip_container),this.settings.body_offset=a(this.settings.tip_container).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,this.settings.riding=!0,"function"!=typeof a.cookie&&(this.settings.cookie_monster=!1),(!this.settings.cookie_monster||this.settings.cookie_monster&&!a.cookie(this.settings.cookie_name))&&(this.settings.$tip_content.each(function(c){var f=a(this);this.settings=a.extend({},b.defaults,b.data_options(f));for(var g=e;g--;)b.settings[d[g]]=parseInt(b.settings[d[g]],10);b.create({$li:f,index:c})}),!this.settings.start_timer_on_click&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")))},resume:function(){this.set_li(),this.show()},tip_template:function(b){var c,d;return b.tip_class=b.tip_class||"",c=a(this.settings.template.tip).addClass(b.tip_class),d=a.trim(a(b.li).html())+this.prev_button_text(b.prev_button_text,b.index)+this.button_text(b.button_text)+this.settings.template.link+this.timer_instance(b.index),c.append(a(this.settings.template.wrapper)),c.first().attr(this.add_namespace("data-index"),b.index),a(".joyride-content-wrapper",c).append(d),c[0]},timer_instance:function(b){var c;return c=0===b&&this.settings.start_timer_on_click&&this.settings.timer>0||0===this.settings.timer?"":a(this.settings.template.timer)[0].outerHTML},button_text:function(b){return this.settings.tip_settings.next_button?(b=a.trim(b)||"Next",b=a(this.settings.template.button).append(b)[0].outerHTML):b="",b},prev_button_text:function(b,c){return this.settings.tip_settings.prev_button?(b=a.trim(b)||"Previous",b=0==c?a(this.settings.template.prev_button).append(b).addClass("disabled")[0].outerHTML:a(this.settings.template.prev_button).append(b)[0].outerHTML):b="",b},create:function(b){this.settings.tip_settings=a.extend({},this.settings,this.data_options(b.$li));var c=b.$li.attr(this.add_namespace("data-button"))||b.$li.attr(this.add_namespace("data-text")),d=b.$li.attr(this.add_namespace("data-button-prev"))||b.$li.attr(this.add_namespace("data-prev-text")),e=b.$li.attr("class"),f=a(this.tip_template({tip_class:e,index:b.index,button_text:c,prev_button_text:d,li:b.$li}));a(this.settings.tip_container).append(f)},show:function(b,c){var e=null;if(this.settings.$li===d||-1===a.inArray(this.settings.$li.index(),this.settings.pause_after))if(this.settings.paused?this.settings.paused=!1:this.set_li(b,c),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0){if(b&&(this.settings.pre_ride_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.pre_step_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tip_settings=a.extend({},this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tip_settings.tip_location_pattern=this.settings.tip_location_patterns[this.settings.tip_settings.tip_location],!/body/i.test(this.settings.$target.selector)&&!this.settings.expose){var f=a(".joyride-modal-bg");/pop/i.test(this.settings.tipAnimation)?f.hide():f.fadeOut(this.settings.tipAnimationFadeSpeed),this.scroll_to()}this.is_phone()?this.pos_phone(!0):this.pos_default(!0),e=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tip_animation)?(e.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tip_animation)&&(e.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed).show(),setTimeout(function(){e.animate({width:e.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed)),this.settings.$current_tip=this.settings.$next_tip}else this.settings.$li&&this.settings.$target.length<1?this.show(b,c):this.end();else this.settings.paused=!0},is_phone:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||a(".joyride-modal-bg").hide(),this.settings.$current_tip.css("visibility","hidden"),setTimeout(a.proxy(function(){this.hide(),this.css("visibility","visible")},this.settings.$current_tip),0),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(a,b){a?(this.settings.$li=this.settings.$tip_content.eq(this.settings.start_offset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(b?this.settings.$li=this.settings.$li.prev():this.settings.$li=this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=a(".joyride-tip-guide").eq(this.settings.$li.index()),this.settings.$next_tip.data("closed","")},set_target:function(){var b=this.settings.$li.attr(this.add_namespace("data-class")),d=this.settings.$li.attr(this.add_namespace("data-id")),e=function(){return d?a(c.getElementById(d)):b?a("."+b).first():a("body")};this.settings.$target=e()},scroll_to:function(){var c,d;c=a(b).height()/2,d=Math.ceil(this.settings.$target.offset().top-c+this.settings.$next_tip.outerHeight()),0!=d&&a("html, body").stop().animate({scrollTop:d},this.settings.scroll_speed,"swing")},paused:function(){return-1===a.inArray(this.settings.$li.index()+1,this.settings.pause_after)},restart:function(){this.hide(),this.settings.$li=d,this.show("init")},pos_default:function(a){var b=this.settings.$next_tip.find(".joyride-nub"),c=Math.ceil(b.outerWidth()/2),d=Math.ceil(b.outerHeight()/2),e=a||!1;if(e&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),/body/i.test(this.settings.$target.selector))this.settings.$li.length&&this.pos_modal(b);else{var f=this.settings.tip_settings.tipAdjustmentY?parseInt(this.settings.tip_settings.tipAdjustmentY):0,g=this.settings.tip_settings.tipAdjustmentX?parseInt(this.settings.tip_settings.tipAdjustmentX):0;this.bottom()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()+g}):this.settings.$next_tip.css({top:this.settings.$target.offset().top+d+this.settings.$target.outerHeight()+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"top")):this.top()?(this.rtl?this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+this.settings.$target.outerWidth()-this.settings.$next_tip.outerWidth()}):this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-d+f,left:this.settings.$target.offset().left+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"bottom")):this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.outerWidth()+this.settings.$target.offset().left+c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top+f,left:this.settings.$target.offset().left-this.settings.$next_tip.outerWidth()-c+g}),this.nub_position(b,this.settings.tip_settings.nub_position,"right")),!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts0&&arguments[0]instanceof a)e=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;e=this.settings.$target}return e.length<1?(b.console&&console.error("element not valid",e),!1):(c=a(this.settings.template.expose),this.settings.$body.append(c),c.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),d=a(this.settings.template.expose_cover),f={zIndex:e.css("z-index"),position:e.css("position")},g=null==e.attr("class")?"":e.attr("class"),e.css("z-index",parseInt(c.css("z-index"))+1),"static"==f.position&&e.css("position","relative"),e.data("expose-css",f),e.data("orig-class",g),e.attr("class",g+" "+this.settings.expose_add_class),d.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),this.settings.modal&&this.show_modal(),this.settings.$body.append(d),c.addClass(h),d.addClass(h),e.data("expose",h),this.settings.post_expose_callback(this.settings.$li.index(),this.settings.$next_tip,e),void this.add_exposed(e))},un_expose:function(){var c,d,e,f,g,h=!1;if(arguments.length>0&&arguments[0]instanceof a)d=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;d=this.settings.$target}return d.length<1?(b.console&&console.error("element not valid",d),!1):(c=d.data("expose"),e=a("."+c),arguments.length>1&&(h=arguments[1]),h===!0?a(".joyride-expose-wrapper,.joyride-expose-cover").remove():e.remove(),f=d.data("expose-css"),"auto"==f.zIndex?d.css("z-index",""):d.css("z-index",f.zIndex),f.position!=d.css("position")&&("static"==f.position?d.css("position",""):d.css("position",f.position)),g=d.data("orig-class"),d.attr("class",g),d.removeData("orig-classes"),d.removeData("expose"),d.removeData("expose-z-index"),void this.remove_exposed(d))},add_exposed:function(b){this.settings.exposed=this.settings.exposed||[],b instanceof a||"object"==typeof b?this.settings.exposed.push(b[0]):"string"==typeof b&&this.settings.exposed.push(b)},remove_exposed:function(b){var c,d;for(b instanceof a?c=b[0]:"string"==typeof b&&(c=b),this.settings.exposed=this.settings.exposed||[],d=this.settings.exposed.length;d--;)if(this.settings.exposed[d]==c)return void this.settings.exposed.splice(d,1)},center:function(){var c=a(b);return this.settings.$next_tip.css({top:(c.height()-this.settings.$next_tip.outerHeight())/2+c.scrollTop(),left:(c.width()-this.settings.$next_tip.outerWidth())/2+c.scrollLeft()}),!0},bottom:function(){return/bottom/i.test(this.settings.tip_settings.tip_location)},top:function(){return/top/i.test(this.settings.tip_settings.tip_location)},right:function(){return/right/i.test(this.settings.tip_settings.tip_location)},left:function(){return/left/i.test(this.settings.tip_settings.tip_location)},corners:function(c){if(0===c.length)return[!1,!1,!1,!1];var d=a(b),e=d.height()/2,f=Math.ceil(this.settings.$target.offset().top-e+this.settings.$next_tip.outerHeight()),g=d.width()+d.scrollLeft(),h=d.height()+f,i=d.height()+d.scrollTop(),j=d.scrollTop();return j>f&&(j=0>f?0:f),h>i&&(i=h),[c.offset().topc.offset().left]},visible:function(a){for(var b=a.length;b--;)if(a[b])return!1;return!0},nub_position:function(a,b,c){"auto"===b?a.addClass(c):a.addClass(b)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(b){this.settings.cookie_monster&&a.cookie(this.settings.cookie_name,"ridden",{expires:this.settings.cookie_expires,domain:this.settings.cookie_domain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),a(this.scope).off("keyup.joyride"),this.settings.$next_tip.data("closed",!0),this.settings.riding=!1,a(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),("undefined"==typeof b||b===!1)&&(this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip),this.settings.post_ride_callback(this.settings.$li.index(),this.settings.$current_tip)),a(".joyride-tip-guide").remove()},off:function(){a(this.scope).off(".joyride"),a(b).off(".joyride"),a(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),a(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate)},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs["magellan-expedition"]={name:"magellan-expedition",version:"5.5.3",settings:{active_class:"active",threshold:0,destination_threshold:20,throttle_delay:30,fixed_top:0,offset_by_height:!0,duration:700,easing:"swing"},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c)},events:function(){var b=this,c=b.S,d=b.settings;b.set_expedition_position(),c(b.scope).off(".magellan").on("click.fndtn.magellan","["+b.add_namespace("data-magellan-arrival")+"] a[href*=#]",function(c){var d=this.hostname===location.hostname||!this.hostname,e=b.filterPathname(location.pathname)===b.filterPathname(this.pathname),f=this.hash.replace(/(:|\.|\/)/g,"\\$1"),g=this;if(d&&e&&f){c.preventDefault();var h=a(this).closest("["+b.attr_name()+"]"),i=h.data("magellan-expedition-init"),j=this.hash.split("#").join(""),k=a('a[name="'+j+'"]');0===k.length&&(k=a("#"+j));var l=k.offset().top-i.destination_threshold+1;i.offset_by_height&&(l-=h.outerHeight()),a("html, body").stop().animate({scrollTop:l},i.duration,i.easing,function(){history.pushState?history.pushState(null,null,g.pathname+g.search+"#"+j):location.hash=g.pathname+g.search+"#"+j})}}).on("scroll.fndtn.magellan",b.throttle(this.check_for_arrivals.bind(this),d.throttle_delay))},check_for_arrivals:function(){var a=this;a.update_arrivals(),a.update_expedition_positions()},set_expedition_position:function(){var b=this;a("["+this.attr_name()+"=fixed]",b.scope).each(function(c,d){var e,f,g=a(this),h=g.data("magellan-expedition-init"),i=g.attr("styles");g.attr("style",""),e=g.offset().top+h.threshold,f=parseInt(g.data("magellan-fixed-top")),isNaN(f)||(b.settings.fixed_top=f),g.data(b.data_attr("magellan-top-offset"),e),g.attr("style",i)})},update_expedition_positions:function(){var c=this,d=a(b).scrollTop();a("["+this.attr_name()+"=fixed]",c.scope).each(function(){var b=a(this),e=b.data("magellan-expedition-init"),f=b.attr("style"),g=b.data("magellan-top-offset");if(d+c.settings.fixed_top>=g){var h=b.prev("["+c.add_namespace("data-magellan-expedition-clone")+"]");0===h.length&&(h=b.clone(),h.removeAttr(c.attr_name()),h.attr(c.add_namespace("data-magellan-expedition-clone"),""),b.before(h)),b.css({position:"fixed",top:e.fixed_top}).addClass("fixed")}else b.prev("["+c.add_namespace("data-magellan-expedition-clone")+"]").remove(),b.attr("style",f).css("position","").css("top","").removeClass("fixed")})},update_arrivals:function(){var c=this,d=a(b).scrollTop();a("["+this.attr_name()+"]",c.scope).each(function(){var b=a(this),e=b.data(c.attr_name(!0)+"-init"),f=c.offsets(b,d),g=b.find("["+c.add_namespace("data-magellan-arrival")+"]"),h=!1;f.each(function(a,d){if(d.viewport_offset>=d.top_offset){var f=b.find("["+c.add_namespace("data-magellan-arrival")+"]");return f.not(d.arrival).removeClass(e.active_class),d.arrival.addClass(e.active_class),h=!0,!0}}),h||g.removeClass(e.active_class)})},offsets:function(b,c){var d=this,e=b.data(d.attr_name(!0)+"-init"),f=c;return b.find("["+d.add_namespace("data-magellan-arrival")+"]").map(function(c,g){var h=a(this).data(d.data_attr("magellan-arrival")),i=a("["+d.add_namespace("data-magellan-destination")+"="+h+"]");if(i.length>0){var j=i.offset().top-e.destination_threshold;return e.offset_by_height&&(j-=b.outerHeight()),j=Math.floor(j),{destination:i,arrival:a(this),top_offset:j,viewport_offset:f}}}).sort(function(a,b){return a.top_offsetb.top_offset?1:0})},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},off:function(){this.S(this.scope).off(".magellan"),this.S(b).off(".magellan")},filterPathname:function(a){return a=a||"",a.replace(/^\//,"").replace(/(?:index|default).[a-zA-Z]{3,4}$/,"").replace(/\/$/,"")},reflow:function(){var b=this;a("["+b.add_namespace("data-magellan-expedition-clone")+"]",b.scope).remove()}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.offcanvas={name:"offcanvas",version:"5.5.3",settings:{open_method:"move",close_on_click:!1},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this,c=b.S,d="",e="",f="",g="",h="";"move"===this.settings.open_method?(d="move-",e="right",f="left",g="top",h="bottom"):"overlap_single"===this.settings.open_method?(d="offcanvas-overlap-",e="right",f="left",g="top",h="bottom"):"overlap"===this.settings.open_method&&(d="offcanvas-overlap"),c(this.scope).off(".offcanvas").on("click.fndtn.offcanvas",".left-off-canvas-toggle",function(f){b.click_toggle_class(f,d+e),"overlap"!==b.settings.open_method&&c(".left-submenu").removeClass(d+e),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".left-off-canvas-menu a",function(f){var g=b.get_settings(f),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(f.preventDefault(),c(this).siblings(".left-submenu").toggleClass(d+e)):h.hasClass("back")&&(f.preventDefault(),h.parent().removeClass(d+e)):(b.hide.call(b,d+e,b.get_wrapper(f)),h.parent().removeClass(d+e)),a(".left-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-toggle",function(e){b.click_toggle_class(e,d+f),"overlap"!==b.settings.open_method&&c(".right-submenu").removeClass(d+f),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".right-off-canvas-menu a",function(e){var g=b.get_settings(e),h=c(this).parent();!g.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".right-submenu").toggleClass(d+f)):h.hasClass("back")&&(e.preventDefault(),h.parent().removeClass(d+f)):(b.hide.call(b,d+f,b.get_wrapper(e)),h.parent().removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true"); +}).on("click.fndtn.offcanvas",".top-off-canvas-toggle",function(e){b.click_toggle_class(e,d+h),"overlap"!==b.settings.open_method&&c(".top-submenu").removeClass(d+h),a(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".top-off-canvas-menu a",function(e){var f=b.get_settings(e),g=c(this).parent();!f.close_on_click||g.hasClass("has-submenu")||g.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".top-submenu").toggleClass(d+h)):g.hasClass("back")&&(e.preventDefault(),g.parent().removeClass(d+h)):(b.hide.call(b,d+h,b.get_wrapper(e)),g.parent().removeClass(d+h)),a(".top-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-toggle",function(e){b.click_toggle_class(e,d+g),"overlap"!==b.settings.open_method&&c(".bottom-submenu").removeClass(d+g),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".bottom-off-canvas-menu a",function(e){var f=b.get_settings(e),h=c(this).parent();!f.close_on_click||h.hasClass("has-submenu")||h.hasClass("back")?c(this).parent().hasClass("has-submenu")?(e.preventDefault(),c(this).siblings(".bottom-submenu").toggleClass(d+g)):h.hasClass("back")&&(e.preventDefault(),h.parent().removeClass(d+g)):(b.hide.call(b,d+g,b.get_wrapper(e)),h.parent().removeClass(d+g)),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(g){b.click_remove_class(g,d+f),c(".right-submenu").removeClass(d+f),e&&(b.click_remove_class(g,d+e),c(".left-submenu").removeClass(d+f)),a(".right-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(c){b.click_remove_class(c,d+f),a(".left-off-canvas-toggle").attr("aria-expanded","false"),e&&(b.click_remove_class(c,d+e),a(".right-off-canvas-toggle").attr("aria-expanded","false"))}).on("click.fndtn.offcanvas",".exit-off-canvas",function(e){b.click_remove_class(e,d+g),c(".bottom-submenu").removeClass(d+g),h&&(b.click_remove_class(e,d+h),c(".top-submenu").removeClass(d+g)),a(".bottom-off-canvas-toggle").attr("aria-expanded","true")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(c){b.click_remove_class(c,d+g),a(".top-off-canvas-toggle").attr("aria-expanded","false"),h&&(b.click_remove_class(c,d+h),a(".bottom-off-canvas-toggle").attr("aria-expanded","false"))})},toggle:function(a,b){b=b||this.get_wrapper(),b.is("."+a)?this.hide(a,b):this.show(a,b)},show:function(a,b){b=b||this.get_wrapper(),b.trigger("open.fndtn.offcanvas"),b.addClass(a)},hide:function(a,b){b=b||this.get_wrapper(),b.trigger("close.fndtn.offcanvas"),b.removeClass(a)},click_toggle_class:function(a,b){a.preventDefault();var c=this.get_wrapper(a);this.toggle(b,c)},click_remove_class:function(a,b){a.preventDefault();var c=this.get_wrapper(a);this.hide(b,c)},get_settings:function(a){var b=this.S(a.target).closest("["+this.attr_name()+"]");return b.data(this.attr_name(!0)+"-init")||this.settings},get_wrapper:function(a){var b=this.S(a?a.target:this.scope).closest(".off-canvas-wrap");return 0===b.length&&(b=this.S(".off-canvas-wrap")),b},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";var e=function(){},f=function(e,f){if(e.hasClass(f.slides_container_class))return this;var j,k,l,m,n,o,p=this,q=e,r=0,s=!1;p.slides=function(){return q.children(f.slide_selector)},p.slides().first().addClass(f.active_slide_class),p.update_slide_number=function(b){f.slide_number&&(k.find("span:first").text(parseInt(b)+1),k.find("span:last").text(p.slides().length)),f.bullets&&(l.children().removeClass(f.bullets_active_class),a(l.children().get(b)).addClass(f.bullets_active_class))},p.update_active_link=function(b){var c=a('[data-orbit-link="'+p.slides().eq(b).attr("data-orbit-slide")+'"]');c.siblings().removeClass(f.bullets_active_class),c.addClass(f.bullets_active_class)},p.build_markup=function(){q.wrap('
    '),j=q.parent(),q.addClass(f.slides_container_class),f.stack_on_small&&j.addClass(f.stack_on_small_class),f.navigation_arrows&&(j.append(a('').addClass(f.prev_class)),j.append(a('').addClass(f.next_class))),f.timer&&(m=a("
    ").addClass(f.timer_container_class),m.append(""),m.append(a("
    ").addClass(f.timer_progress_class)),m.addClass(f.timer_paused_class),j.append(m)),f.slide_number&&(k=a("
    ").addClass(f.slide_number_class),k.append(" "+f.slide_number_text+" "),j.append(k)),f.bullets&&(l=a("
      ").addClass(f.bullets_container_class),j.append(l),l.wrap('
      '),p.slides().each(function(b,c){var d=a("
    1. ").attr("data-orbit-slide",b).on("click",p.link_bullet);l.append(d)}))},p._goto=function(b,c){if(b===r)return!1;"object"==typeof o&&o.restart();var d=p.slides(),e="next";if(s=!0,r>b&&(e="prev"),b>=d.length){if(!f.circular)return!1;b=0}else if(0>b){if(!f.circular)return!1;b=d.length-1}var g=a(d.get(r)),h=a(d.get(b));g.css("zIndex",2),g.removeClass(f.active_slide_class),h.css("zIndex",4).addClass(f.active_slide_class),q.trigger("before-slide-change.fndtn.orbit"),f.before_slide_change(),p.update_active_link(b);var i=function(){var a=function(){r=b,s=!1,c===!0&&(o=p.create_timer(),o.start()),p.update_slide_number(r),q.trigger("after-slide-change.fndtn.orbit",[{slide_number:r,total_slides:d.length}]),f.after_slide_change(r,d.length)};q.outerHeight()!=h.outerHeight()&&f.variable_height?q.animate({height:h.outerHeight()},250,"linear",a):a()};if(1===d.length)return i(),!1;var j=function(){"next"===e&&n.next(g,h,i),"prev"===e&&n.prev(g,h,i)};h.outerHeight()>q.outerHeight()&&f.variable_height?q.animate({height:h.outerHeight()},250,"linear",j):j()},p.next=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r+1)},p.prev=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r-1)},p.link_custom=function(b){b.preventDefault();var c=a(this).attr("data-orbit-link");if("string"==typeof c&&""!=(c=a.trim(c))){var d=j.find("[data-orbit-slide="+c+"]");-1!=d.index()&&p._goto(d.index())}},p.link_bullet=function(b){var c=a(this).attr("data-orbit-slide");if("string"==typeof c&&""!=(c=a.trim(c)))if(isNaN(parseInt(c))){var d=j.find("[data-orbit-slide="+c+"]");-1!=d.index()&&p._goto(d.index()+1)}else p._goto(parseInt(c))},p.timer_callback=function(){p._goto(r+1,!0)},p.compute_dimensions=function(){var b=a(p.slides().get(r)),c=b.outerHeight();f.variable_height||p.slides().each(function(){a(this).outerHeight()>c&&(c=a(this).outerHeight())}),q.height(c)},p.create_timer=function(){var a=new g(j.find("."+f.timer_container_class),f,p.timer_callback);return a},p.stop_timer=function(){"object"==typeof o&&o.stop()},p.toggle_timer=function(){var a=j.find("."+f.timer_container_class);a.hasClass(f.timer_paused_class)?("undefined"==typeof o&&(o=p.create_timer()),o.start()):"object"==typeof o&&o.stop()},p.init=function(){p.build_markup(),f.timer&&(o=p.create_timer(),Foundation.utils.image_loaded(this.slides().children("img"),o.start)),n=new i(f,q),"slide"===f.animation&&(n=new h(f,q)),j.on("click","."+f.next_class,p.next),j.on("click","."+f.prev_class,p.prev),f.next_on_click&&j.on("click","."+f.slides_container_class+" [data-orbit-slide]",p.link_bullet),j.on("click",p.toggle_timer),f.swipe&&j.on("touchstart.fndtn.orbit",function(a){a.touches||(a=a.originalEvent);var b={start_page_x:a.touches[0].pageX,start_page_y:a.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};j.data("swipe-transition",b),a.stopPropagation()}).on("touchmove.fndtn.orbit",function(a){if(a.touches||(a=a.originalEvent),!(a.touches.length>1||a.scale&&1!==a.scale)){var b=j.data("swipe-transition");if("undefined"==typeof b&&(b={}),b.delta_x=a.touches[0].pageX-b.start_page_x,"undefined"==typeof b.is_scrolling&&(b.is_scrolling=!!(b.is_scrolling||Math.abs(b.delta_x)0?d(this.scope).on("open.fndtn.reveal",this.settings.open).on("opened.fndtn.reveal",this.settings.opened).on("opened.fndtn.reveal",this.open_video).on("close.fndtn.reveal",this.settings.close).on("closed.fndtn.reveal",this.settings.closed).on("closed.fndtn.reveal",this.close_video):d(this.scope).on("open.fndtn.reveal","["+b.attr_name()+"]",this.settings.open).on("opened.fndtn.reveal","["+b.attr_name()+"]",this.settings.opened).on("opened.fndtn.reveal","["+b.attr_name()+"]",this.open_video).on("close.fndtn.reveal","["+b.attr_name()+"]",this.settings.close).on("closed.fndtn.reveal","["+b.attr_name()+"]",this.settings.closed).on("closed.fndtn.reveal","["+b.attr_name()+"]",this.close_video),!0},key_up_on:function(a){var b=this;return b.S("body").off("keyup.fndtn.reveal").on("keyup.fndtn.reveal",function(a){var c=b.S("["+b.attr_name()+"].open"),d=c.data(b.attr_name(!0)+"-init")||b.settings;d&&27===a.which&&d.close_on_esc&&!b.locked&&b.close.call(b,c)}),!0},key_up_off:function(a){return this.S("body").off("keyup.fndtn.reveal"),!0},open:function(c,e){var g,h=this;c?"undefined"!=typeof c.selector?g=h.S("#"+c.data(h.data_attr("reveal-id"))).first():(g=h.S(this.scope),e=c):g=h.S(this.scope);var i=g.data(h.attr_name(!0)+"-init");if(i=i||this.settings,g.hasClass("open")&&c!==d&&c.attr("data-reveal-id")==g.attr("id"))return h.close(g);if(!g.hasClass("open")){var j=h.S("["+h.attr_name()+"].open");"undefined"==typeof g.data("css-top")&&g.data("css-top",parseInt(g.css("top"),10)).data("offset",this.cache_offset(g)),g.attr("tabindex","0").attr("aria-hidden","false"),this.key_up_on(g),g.on("open.fndtn.reveal",function(a){"fndtn.reveal"!==a.namespace}),g.on("open.fndtn.reveal").trigger("open.fndtn.reveal"),j.length<1&&this.toggle_bg(g,!0),"string"==typeof e&&(e={url:e});var k=function(){j.length>0&&(i.multiple_opened?h.to_back(j):h.hide(j,i.css.close)),i.multiple_opened&&f.push(g),h.show(g,i.css.open)};if("undefined"!=typeof e&&e.url){var l="undefined"!=typeof e.success?e.success:null;a.extend(e,{success:function(b,c,d){if(a.isFunction(l)){var e=l(b,c,d);"string"==typeof e&&(b=e)}"undefined"!=typeof options&&"undefined"!=typeof options.replaceContentSel?g.find(options.replaceContentSel).html(b):g.html(b),h.S(g).foundation("section","reflow"),h.S(g).children().foundation(),k()}}),i.on_ajax_error!==a.noop&&a.extend(e,{error:i.on_ajax_error}),a.ajax(e)}else k()}h.S(b).trigger("resize")},close:function(b){var b=b&&b.length?b:this.S(this.scope),c=this.S("["+this.attr_name()+"].open"),d=b.data(this.attr_name(!0)+"-init")||this.settings,e=this;if(c.length>0)if(b.removeAttr("tabindex","0").attr("aria-hidden","true"),this.locked=!0,this.key_up_off(b),b.trigger("close.fndtn.reveal"),(d.multiple_opened&&1===c.length||!d.multiple_opened||b.length>1)&&(e.toggle_bg(b,!1),e.to_front(b)),d.multiple_opened){var g=b.is(":not(.toback)");e.hide(b,d.css.close,d),g?f.pop():f=a.grep(f,function(a){var c=a[0]===b[0];return c&&e.to_front(b),!c}),f.length>0&&e.to_front(f[f.length-1])}else e.hide(c,d.css.close,d)},close_targets:function(){var a="."+this.settings.dismiss_modal_class;return this.settings.close_on_background_click?a+", ."+this.settings.bg_class:a},toggle_bg:function(b,c){0===this.S("."+this.settings.bg_class).length&&(this.settings.bg=a("
      ",{"class":this.settings.bg_class}).appendTo("body").hide());var e=this.settings.bg.filter(":visible").length>0;c!=e&&((c==d?e:!c)?this.hide(this.settings.bg):this.show(this.settings.bg))},show:function(c,d){if(d){var f=c.data(this.attr_name(!0)+"-init")||this.settings,g=f.root_element,h=this;if(0===c.parent(g).length){var i=c.wrap('
      ').parent();c.on("closed.fndtn.reveal.wrapped",function(){c.detach().appendTo(i),c.unwrap().unbind("closed.fndtn.reveal.wrapped")}),c.detach().appendTo(g)}var j=e(f.animation);if(j.animate||(this.locked=!1),j.pop){d.top=a(b).scrollTop()-c.data("offset")+"px";var k={top:a(b).scrollTop()+c.data("css-top")+"px",opacity:1};return setTimeout(function(){return c.css(d).animate(k,f.animation_speed,"linear",function(){h.locked=!1,c.trigger("opened.fndtn.reveal")}).addClass("open")},f.animation_speed/2)}if(d.top=a(b).scrollTop()+c.data("css-top")+"px",j.fade){var k={opacity:1};return setTimeout(function(){return c.css(d).animate(k,f.animation_speed,"linear",function(){h.locked=!1,c.trigger("opened.fndtn.reveal")}).addClass("open")},f.animation_speed/2)}return c.css(d).show().css({opacity:1}).addClass("open").trigger("opened.fndtn.reveal")}var f=this.settings;return e(f.animation).fade?c.fadeIn(f.animation_speed/2):(this.locked=!1,c.show())},to_back:function(a){a.addClass("toback")},to_front:function(a){a.removeClass("toback")},hide:function(c,d){if(d){var f=c.data(this.attr_name(!0)+"-init"),g=this;f=f||this.settings;var h=e(f.animation);if(h.animate||(this.locked=!1),h.pop){var i={top:-a(b).scrollTop()-c.data("offset")+"px",opacity:0};return setTimeout(function(){return c.animate(i,f.animation_speed,"linear",function(){g.locked=!1,c.css(d).trigger("closed.fndtn.reveal")}).removeClass("open")},f.animation_speed/2)}if(h.fade){var i={opacity:0};return setTimeout(function(){return c.animate(i,f.animation_speed,"linear",function(){g.locked=!1,c.css(d).trigger("closed.fndtn.reveal")}).removeClass("open")},f.animation_speed/2)}return c.hide().css(d).removeClass("open").trigger("closed.fndtn.reveal")}var f=this.settings;return e(f.animation).fade?c.fadeOut(f.animation_speed/2):c.hide()},close_video:function(b){var c=a(".flex-video",b.target),d=a("iframe",c);d.length>0&&(d.attr("data-src",d[0].src),d.attr("src",d.attr("src")),c.hide())},open_video:function(b){var c=a(".flex-video",b.target),e=c.find("iframe");if(e.length>0){var f=e.attr("data-src");if("string"==typeof f)e[0].src=e.attr("data-src");else{var g=e[0].src;e[0].src=d,e[0].src=g}c.show()}},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},cache_offset:function(a){var b=a.show().height()+parseInt(a.css("top"),10)+a.scrollY;return a.hide(),b},off:function(){a(this.scope).off(".fndtn.reveal")},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.slider={name:"slider",version:"5.5.3",settings:{start:0,end:100,step:1,precision:2,initial:null,display_selector:"",vertical:!1,trigger_input_change:!1,on_change:function(){}},cache:{},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c),this.reflow()},events:function(){var c=this;a(this.scope).off(".slider").on("mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider","["+c.attr_name()+"]:not(.disabled, [disabled]) .range-slider-handle",function(b){c.cache.active||(b.preventDefault(),c.set_active_slider(a(b.target)))}).on("mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider",function(d){if(c.cache.active)if(d.preventDefault(),a.data(c.cache.active[0],"settings").vertical){var e=0;d.pageY||(e=b.scrollY),c.calculate_position(c.cache.active,c.get_cursor_position(d,"y")+e)}else c.calculate_position(c.cache.active,c.get_cursor_position(d,"x"))}).on("mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider",function(d){if(!c.cache.active){var e="slider"===a(d.target).attr("role")?a(d.target):a(d.target).closest(".range-slider").find("[role='slider']");if(e.length&&!e.parent().hasClass("disabled")&&!e.parent().attr("disabled"))if(c.set_active_slider(e),a.data(c.cache.active[0],"settings").vertical){var f=0;d.pageY||(f=b.scrollY),c.calculate_position(c.cache.active,c.get_cursor_position(d,"y")+f)}else c.calculate_position(c.cache.active,c.get_cursor_position(d,"x"))}c.remove_active_slider()}).on("change.fndtn.slider",function(a){c.settings.on_change()}),c.S(b).on("resize.fndtn.slider",c.throttle(function(a){c.reflow()},300)),this.S("["+this.attr_name()+"]").each(function(){var b=a(this),d=b.children(".range-slider-handle")[0],e=c.initialize_settings(d);""!=e.display_selector&&a(e.display_selector).each(function(){a(this).attr("value")&&a(this).off("change").on("change",function(){b.foundation("slider","set_value",a(this).val())})})})},get_cursor_position:function(a,b){var c,d="page"+b.toUpperCase(),e="client"+b.toUpperCase();return"undefined"!=typeof a[d]?c=a[d]:"undefined"!=typeof a.originalEvent[e]?c=a.originalEvent[e]:a.originalEvent.touches&&a.originalEvent.touches[0]&&"undefined"!=typeof a.originalEvent.touches[0][e]?c=a.originalEvent.touches[0][e]:a.currentPoint&&"undefined"!=typeof a.currentPoint[b]&&(c=a.currentPoint[b]),c},set_active_slider:function(a){this.cache.active=a},remove_active_slider:function(){this.cache.active=null},calculate_position:function(b,c){var d=this,e=a.data(b[0],"settings"),f=(a.data(b[0],"handle_l"),a.data(b[0],"handle_o"),a.data(b[0],"bar_l")),g=a.data(b[0],"bar_o");requestAnimationFrame(function(){var a;a=Foundation.rtl&&!e.vertical?d.limit_to((g+f-c)/f,0,1):d.limit_to((c-g)/f,0,1),a=e.vertical?1-a:a;var h=d.normalized_value(a,e.start,e.end,e.step,e.precision);d.set_ui(b,h)})},set_ui:function(b,c){var d=a.data(b[0],"settings"),e=a.data(b[0],"handle_l"),f=a.data(b[0],"bar_l"),g=this.normalized_percentage(c,d.start,d.end),h=g*(f-e)-1,i=100*g,j=b.parent(),k=b.parent().children("input[type=hidden]");Foundation.rtl&&!d.vertical&&(h=-h),h=d.vertical?-h+f-e+1:h,this.set_translate(b,h,d.vertical),d.vertical?b.siblings(".range-slider-active-segment").css("height",i+"%"):b.siblings(".range-slider-active-segment").css("width",i+"%"),j.attr(this.attr_name(),c).trigger("change.fndtn.slider"),k.val(c),d.trigger_input_change&&k.trigger("change.fndtn.slider"),b[0].hasAttribute("aria-valuemin")||b.attr({"aria-valuemin":d.start,"aria-valuemax":d.end}),b.attr("aria-valuenow",c),""!=d.display_selector&&a(d.display_selector).each(function(){this.hasAttribute("value")?a(this).val(c):a(this).text(c)})},normalized_percentage:function(a,b,c){return Math.min(1,(a-b)/(c-b))},normalized_value:function(a,b,c,d,e){var f=c-b,g=a*f,h=(g-g%d)/d,i=g%d,j=i>=.5*d?d:0;return(h*d+j+b).toFixed(e)},set_translate:function(b,c,d){d?a(b).css("-webkit-transform","translateY("+c+"px)").css("-moz-transform","translateY("+c+"px)").css("-ms-transform","translateY("+c+"px)").css("-o-transform","translateY("+c+"px)").css("transform","translateY("+c+"px)"):a(b).css("-webkit-transform","translateX("+c+"px)").css("-moz-transform","translateX("+c+"px)").css("-ms-transform","translateX("+c+"px)").css("-o-transform","translateX("+c+"px)").css("transform","translateX("+c+"px)")},limit_to:function(a,b,c){return Math.min(Math.max(a,b),c)},initialize_settings:function(b){var c,d=a.extend({},this.settings,this.data_options(a(b).parent()));return null===d.precision&&(c=(""+d.step).match(/\.([\d]*)/),d.precision=c&&c[1]?c[1].length:0),d.vertical?(a.data(b,"bar_o",a(b).parent().offset().top),a.data(b,"bar_l",a(b).parent().outerHeight()),a.data(b,"handle_o",a(b).offset().top),a.data(b,"handle_l",a(b).outerHeight())):(a.data(b,"bar_o",a(b).parent().offset().left),a.data(b,"bar_l",a(b).parent().outerWidth()),a.data(b,"handle_o",a(b).offset().left),a.data(b,"handle_l",a(b).outerWidth())),a.data(b,"bar",a(b).parent()),a.data(b,"settings",d)},set_initial_position:function(b){var c=a.data(b.children(".range-slider-handle")[0],"settings"),d="number"!=typeof c.initial||isNaN(c.initial)?Math.floor(.5*(c.end-c.start)/c.step)*c.step+c.start:c.initial,e=b.children(".range-slider-handle");this.set_ui(e,d)},set_value:function(b){var c=this;a("["+c.attr_name()+"]",this.scope).each(function(){a(this).attr(c.attr_name(),b)}),a(this.scope).attr(c.attr_name())&&a(this.scope).attr(c.attr_name(),b),c.reflow()},reflow:function(){var b=this;b.S("["+this.attr_name()+"]").each(function(){var c=a(this).children(".range-slider-handle")[0],d=a(this).attr(b.attr_name());b.initialize_settings(c),d?b.set_ui(a(c),parseFloat(d)):b.set_initial_position(a(this))})}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.tab={name:"tab",version:"5.5.3",settings:{active_class:"active",callback:function(){},deep_linking:!1,scroll_to_content:!0,is_hover:!1},default_tab_hashes:[],init:function(a,b,c){var d=this,e=this.S;e("["+this.attr_name()+"] > .active > a",this.scope).each(function(){d.default_tab_hashes.push(this.hash)}),this.bindings(b,c),this.handle_location_hash_change()},events:function(){var a=this,c=this.S,d=function(b,d){var e=c(d).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");if(!e.is_hover||Modernizr.touch){var f=b.keyCode||b.which;9!==f&&(b.preventDefault(),b.stopPropagation()),a.toggle_active_tab(c(d).parent())}};c(this.scope).off(".tab").on("keydown.fndtn.tab","["+this.attr_name()+"] > * > a",function(a){var b=a.keyCode||a.which;if(13===b||32===b){var c=this;d(a,c)}}).on("click.fndtn.tab","["+this.attr_name()+"] > * > a",function(a){var b=this;d(a,b)}).on("mouseenter.fndtn.tab","["+this.attr_name()+"] > * > a",function(b){var d=c(this).closest("["+a.attr_name()+"]").data(a.attr_name(!0)+"-init");d.is_hover&&a.toggle_active_tab(c(this).parent())}),c(b).on("hashchange.fndtn.tab",function(b){b.preventDefault(),a.handle_location_hash_change()})},handle_location_hash_change:function(){var b=this,c=this.S;c("["+this.attr_name()+"]",this.scope).each(function(){var e=c(this).data(b.attr_name(!0)+"-init");if(e.deep_linking){var f;if(f=e.scroll_to_content?b.scope.location.hash:b.scope.location.hash.replace("fndtn-",""),""!=f){var g=c(f);if(g.hasClass("content")&&g.parent().hasClass("tabs-content"))b.toggle_active_tab(a("["+b.attr_name()+"] > * > a[href="+f+"]").parent());else{var h=g.closest(".content").attr("id");h!=d&&b.toggle_active_tab(a("["+b.attr_name()+"] > * > a[href=#"+h+"]").parent(),f)}}else for(var i=0;i * > a[href="+b.default_tab_hashes[i]+"]").parent())}})},toggle_active_tab:function(e,f){var g=this,h=g.S,i=e.closest("["+this.attr_name()+"]"),j=e.find("a"),k=e.children("a").first(),l="#"+k.attr("href").split("#")[1],m=h(l),n=e.siblings(),o=i.data(this.attr_name(!0)+"-init"),p=function(b){var d,e=a(this),f=a(this).parents("li").prev().children('[role="tab"]'),g=a(this).parents("li").next().children('[role="tab"]');switch(b.keyCode){case 37:d=f;break;case 39:d=g;break;default:d=!1}d.length&&(e.attr({tabindex:"-1","aria-selected":null}),d.attr({tabindex:"0","aria-selected":!0}).focus()),a('[role="tabpanel"]').attr("aria-hidden","true"),a("#"+a(c.activeElement).attr("href").substring(1)).attr("aria-hidden",null)},q=function(a){var c=o.scroll_to_content?g.default_tab_hashes[0]:"fndtn-"+g.default_tab_hashes[0].replace("#","");(a!==c||b.location.hash)&&(b.location.hash=a)};k.data("tab-content")&&(l="#"+k.data("tab-content").split("#")[1],m=h(l)),o.deep_linking&&(o.scroll_to_content?(q(f||l),f==d||f==l?e.parent()[0].scrollIntoView():h(l)[0].scrollIntoView()):q(f!=d?"fndtn-"+f.replace("#",""):"fndtn-"+l.replace("#",""))),e.addClass(o.active_class).triggerHandler("opened"),j.attr({"aria-selected":"true",tabindex:0}),n.removeClass(o.active_class),n.find("a").attr({"aria-selected":"false"}),m.siblings().removeClass(o.active_class).attr({"aria-hidden":"true"}),m.addClass(o.active_class).attr("aria-hidden","false").removeAttr("tabindex"),o.callback(e),m.triggerHandler("toggled",[m]),i.triggerHandler("toggled",[e]),j.off("keydown").on("keydown",p)},data_attr:function(a){return this.namespace.length>0?this.namespace+"-"+a:a},off:function(){},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.tooltip={name:"tooltip",version:"5.5.3",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,hover_delay:200,fade_in_duration:150,fade_out_duration:150,show_on:"all",tip_template:function(a,b){return''+b+''}},cache:{},init:function(a,b,c){Foundation.inherit(this,"random_str"),this.bindings(b,c)},should_show:function(b,c){var d=a.extend({},this.settings,this.data_options(b));return"all"===d.show_on?!0:this.small()&&"small"===d.show_on?!0:this.medium()&&"medium"===d.show_on?!0:this.large()&&"large"===d.show_on?!0:!1},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},events:function(b){function c(a,b,c){a.timer||(c?(a.timer=null,e.showTip(b)):a.timer=setTimeout(function(){a.timer=null,e.showTip(b)}.bind(a),e.settings.hover_delay))}function d(a,b){a.timer&&(clearTimeout(a.timer),a.timer=null),e.hide(b)}var e=this,f=e.S;e.create(this.S(b)),a(this.scope).off(".tooltip").on("mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"]",function(b){var g=f(this),h=a.extend({},e.settings,e.data_options(g)),i=!1;if(Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&f(b.target).is("a"))return!1;if(/mouse/i.test(b.type)&&e.ie_touch(b))return!1;if(g.hasClass("open"))Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&b.preventDefault(),e.hide(g);else{if(h.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type))return;if(!h.disable_for_touch&&Modernizr.touch&&/touchstart|MSPointerDown/i.test(b.type)&&(b.preventDefault(),f(h.tooltip_class+".open").hide(),i=!0,a(".open["+e.attr_name()+"]").length>0)){var j=f(a(".open["+e.attr_name()+"]")[0]);e.hide(j)}/enter|over/i.test(b.type)?c(this,g):"mouseout"===b.type||"mouseleave"===b.type?d(this,g):c(this,g,!0)}}).on("mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip","["+this.attr_name()+"].open",function(b){return/mouse/i.test(b.type)&&e.ie_touch(b)?!1:void(("touch"!=a(this).data("tooltip-open-event-type")||"mouseleave"!=b.type)&&("mouse"==a(this).data("tooltip-open-event-type")&&/MSPointerDown|touchstart/i.test(b.type)?e.convert_to_touch(a(this)):d(this,a(this))))}).on("DOMNodeRemoved DOMAttrModified","["+this.attr_name()+"]:not(a)",function(a){d(this,f(this))})},ie_touch:function(a){return!1},showTip:function(a){var b=this.getTip(a);return this.should_show(a,b)?this.show(a):void 0},getTip:function(b){var c=this.selector(b),d=a.extend({},this.settings,this.data_options(b)),e=null;return c&&(e=this.S('span[data-selector="'+c+'"]'+d.tooltip_class)),"object"==typeof e?e:!1},selector:function(a){var b=a.attr(this.attr_name())||a.attr("data-selector");return"string"!=typeof b&&(b=this.random_str(6),a.attr("data-selector",b).attr("aria-describedby",b)),b},create:function(c){var d=this,e=a.extend({},this.settings,this.data_options(c)),f=this.settings.tip_template;"string"==typeof e.tip_template&&b.hasOwnProperty(e.tip_template)&&(f=b[e.tip_template]); +var g=a(f(this.selector(c),a("
      ").html(c.attr("title")).html())),h=this.inheritable_classes(c);g.addClass(h).appendTo(e.append_to),Modernizr.touch&&(g.append(''+e.touch_close_text+""),g.on("touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip",function(a){d.hide(c)})),c.removeAttr("title").attr("title","")},reposition:function(b,c,d){var e,f,g,h,i;c.css("visibility","hidden").show(),e=b.data("width"),f=c.children(".nub"),g=f.outerHeight(),h=f.outerWidth(),this.small()?c.css({width:"100%"}):c.css({width:e?e:"auto"}),i=function(a,b,c,d,e,f){return a.css({top:b?b:"auto",bottom:d?d:"auto",left:e?e:"auto",right:c?c:"auto"}).end()};var j=b.offset().top,k=b.offset().left,l=b.outerHeight();if(i(c,j+l+10,"auto","auto",k),this.small())i(c,j+l+10,"auto","auto",12.5,a(this.scope).width()),c.addClass("tip-override"),i(f,-g,"auto","auto",k);else{Foundation.rtl&&(f.addClass("rtl"),k=k+b.outerWidth()-c.outerWidth()),i(c,j+l+10,"auto","auto",k),f.attr("style")&&f.removeAttr("style"),c.removeClass("tip-override");var m=c.outerHeight();d&&d.indexOf("tip-top")>-1?(Foundation.rtl&&f.addClass("rtl"),i(c,j-m,"auto","auto",k).removeClass("tip-override")):d&&d.indexOf("tip-left")>-1?(i(c,j+l/2-m/2,"auto","auto",k-c.outerWidth()-g).removeClass("tip-override"),f.removeClass("rtl")):d&&d.indexOf("tip-right")>-1&&(i(c,j+l/2-m/2,"auto","auto",k+b.outerWidth()+g).removeClass("tip-override"),f.removeClass("rtl"))}c.css("visibility","visible").hide()},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},inheritable_classes:function(b){var c=a.extend({},this.settings,this.data_options(b)),d=["tip-top","tip-left","tip-bottom","tip-right","radius","round"].concat(c.additional_inheritable_classes),e=b.attr("class"),f=e?a.map(e.split(" "),function(b,c){return-1!==a.inArray(b,d)?b:void 0}).join(" "):"";return a.trim(f)},convert_to_touch:function(b){var c=this,d=c.getTip(b),e=a.extend({},c.settings,c.data_options(b));0===d.find(".tap-to-close").length&&(d.append(''+e.touch_close_text+""),d.on("click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose",function(a){c.hide(b)})),b.data("tooltip-open-event-type","touch")},show:function(a){var b=this.getTip(a);"touch"==a.data("tooltip-open-event-type")&&this.convert_to_touch(a),this.reposition(a,b,a.attr("class")),a.addClass("open"),b.fadeIn(this.settings.fade_in_duration)},hide:function(a){var b=this.getTip(a);b.fadeOut(this.settings.fade_out_duration,function(){b.find(".tap-to-close").remove(),b.off("click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose"),a.removeClass("open")})},off:function(){var b=this;this.S(this.scope).off(".fndtn.tooltip"),this.S(this.settings.tooltip_class).each(function(c){a("["+b.attr_name()+"]").eq(c).attr("title",a(this).text())}).remove()},reflow:function(){}}}(jQuery,window,window.document),function(a,b,c,d){"use strict";Foundation.libs.topbar={name:"topbar",version:"5.5.3",settings:{index:0,start_offset:0,sticky_class:"sticky",custom_back_text:!0,back_text:"Back",mobile_show_parent_link:!0,is_hover:!0,scrolltop:!0,sticky_on:"all",dropdown_autoclose:!0},init:function(b,c,d){Foundation.inherit(this,"add_custom_rule register_media throttle");var e=this;e.register_media("topbar","foundation-mq-topbar"),this.bindings(c,d),e.S("["+this.attr_name()+"]",this.scope).each(function(){var b=a(this),c=b.data(e.attr_name(!0)+"-init");e.S("section, .top-bar-section",this);b.data("index",0);var d=b.parent();d.hasClass("fixed")||e.is_sticky(b,d,c)?(e.settings.sticky_class=c.sticky_class,e.settings.sticky_topbar=b,b.data("height",d.outerHeight()),b.data("stickyoffset",d.offset().top)):b.data("height",b.outerHeight()),c.assembled||e.assemble(b),c.is_hover?e.S(".has-dropdown",b).addClass("not-click"):e.S(".has-dropdown",b).removeClass("not-click"),e.add_custom_rule(".f-topbar-fixed { padding-top: "+b.data("height")+"px }"),d.hasClass("fixed")&&e.S("body").addClass("f-topbar-fixed")})},is_sticky:function(a,b,c){var d=b.hasClass(c.sticky_class),e=matchMedia(Foundation.media_queries.small).matches,f=matchMedia(Foundation.media_queries.medium).matches,g=matchMedia(Foundation.media_queries.large).matches;return d&&"all"===c.sticky_on?!0:d&&this.small()&&-1!==c.sticky_on.indexOf("small")&&e&&!f&&!g?!0:d&&this.medium()&&-1!==c.sticky_on.indexOf("medium")&&e&&f&&!g?!0:d&&this.large()&&-1!==c.sticky_on.indexOf("large")&&e&&f&&g?!0:!1},toggle:function(c){var d,e=this;d=c?e.S(c).closest("["+this.attr_name()+"]"):e.S("["+this.attr_name()+"]");var f=d.data(this.attr_name(!0)+"-init"),g=e.S("section, .top-bar-section",d);e.breakpoint()&&(e.rtl?(g.css({right:"0%"}),a(">.name",g).css({right:"100%"})):(g.css({left:"0%"}),a(">.name",g).css({left:"100%"})),e.S("li.moved",g).removeClass("moved"),d.data("index",0),d.toggleClass("expanded").css("height","")),f.scrolltop?d.hasClass("expanded")?d.parent().hasClass("fixed")&&(f.scrolltop?(d.parent().removeClass("fixed"),d.addClass("fixed"),e.S("body").removeClass("f-topbar-fixed"),b.scrollTo(0,0)):d.parent().removeClass("expanded")):d.hasClass("fixed")&&(d.parent().addClass("fixed"),d.removeClass("fixed"),e.S("body").addClass("f-topbar-fixed")):(e.is_sticky(d,d.parent(),f)&&d.parent().addClass("fixed"),d.parent().hasClass("fixed")&&(d.hasClass("expanded")?(d.addClass("fixed"),d.parent().addClass("expanded"),e.S("body").addClass("f-topbar-fixed")):(d.removeClass("fixed"),d.parent().removeClass("expanded"),e.update_sticky_positioning())))},timer:null,events:function(c){var d=this,e=this.S;e(this.scope).off(".topbar").on("click.fndtn.topbar","["+this.attr_name()+"] .toggle-topbar",function(a){a.preventDefault(),d.toggle(this)}).on("click.fndtn.topbar contextmenu.fndtn.topbar",'.top-bar .top-bar-section li a[href^="#"],['+this.attr_name()+'] .top-bar-section li a[href^="#"]',function(b){var c=a(this).closest("li"),e=c.closest("["+d.attr_name()+"]"),f=e.data(d.attr_name(!0)+"-init");if(f.dropdown_autoclose&&f.is_hover){var g=a(this).closest(".hover");g.removeClass("hover")}!d.breakpoint()||c.hasClass("back")||c.hasClass("has-dropdown")||d.toggle()}).on("click.fndtn.topbar","["+this.attr_name()+"] li.has-dropdown",function(b){var c=e(this),f=e(b.target),g=c.closest("["+d.attr_name()+"]"),h=g.data(d.attr_name(!0)+"-init");return f.data("revealId")?void d.toggle():void(d.breakpoint()||(!h.is_hover||Modernizr.touch)&&(b.stopImmediatePropagation(),c.hasClass("hover")?(c.removeClass("hover").find("li").removeClass("hover"),c.parents("li.hover").removeClass("hover")):(c.addClass("hover"),a(c).siblings().removeClass("hover"),"A"===f[0].nodeName&&f.parent().hasClass("has-dropdown")&&b.preventDefault())))}).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown>a",function(a){if(d.breakpoint()){a.preventDefault();var b=e(this),c=b.closest("["+d.attr_name()+"]"),f=c.find("section, .top-bar-section"),g=(b.next(".dropdown").outerHeight(),b.closest("li"));c.data("index",c.data("index")+1),g.addClass("moved"),d.rtl?(f.css({right:-(100*c.data("index"))+"%"}),f.find(">.name").css({right:100*c.data("index")+"%"})):(f.css({left:-(100*c.data("index"))+"%"}),f.find(">.name").css({left:100*c.data("index")+"%"})),c.css("height",b.siblings("ul").outerHeight(!0)+c.data("height"))}}),e(b).off(".topbar").on("resize.fndtn.topbar",d.throttle(function(){d.resize.call(d)},50)).trigger("resize.fndtn.topbar").load(function(){e(this).trigger("resize.fndtn.topbar")}),e("body").off(".topbar").on("click.fndtn.topbar",function(a){var b=e(a.target).closest("li").closest("li.hover");b.length>0||e("["+d.attr_name()+"] li.hover").removeClass("hover")}),e(this.scope).on("click.fndtn.topbar","["+this.attr_name()+"] .has-dropdown .back",function(a){a.preventDefault();var b=e(this),c=b.closest("["+d.attr_name()+"]"),f=c.find("section, .top-bar-section"),g=(c.data(d.attr_name(!0)+"-init"),b.closest("li.moved")),h=g.parent();c.data("index",c.data("index")-1),d.rtl?(f.css({right:-(100*c.data("index"))+"%"}),f.find(">.name").css({right:100*c.data("index")+"%"})):(f.css({left:-(100*c.data("index"))+"%"}),f.find(">.name").css({left:100*c.data("index")+"%"})),0===c.data("index")?c.css("height",""):c.css("height",h.outerHeight(!0)+c.data("height")),setTimeout(function(){g.removeClass("moved")},300)}),e(this.scope).find(".dropdown a").focus(function(){a(this).parents(".has-dropdown").addClass("hover")}).blur(function(){a(this).parents(".has-dropdown").removeClass("hover")})},resize:function(){var a=this;a.S("["+this.attr_name()+"]").each(function(){var b,d=a.S(this),e=d.data(a.attr_name(!0)+"-init"),f=d.parent("."+a.settings.sticky_class);if(!a.breakpoint()){var g=d.hasClass("expanded");d.css("height","").removeClass("expanded").find("li").removeClass("hover"),g&&a.toggle(d)}a.is_sticky(d,f,e)&&(f.hasClass("fixed")?(f.removeClass("fixed"),b=f.offset().top,a.S(c.body).hasClass("f-topbar-fixed")&&(b-=d.data("height")),d.data("stickyoffset",b),f.addClass("fixed")):(b=f.offset().top,d.data("stickyoffset",b)))})},breakpoint:function(){return!matchMedia(Foundation.media_queries.topbar).matches},small:function(){return matchMedia(Foundation.media_queries.small).matches},medium:function(){return matchMedia(Foundation.media_queries.medium).matches},large:function(){return matchMedia(Foundation.media_queries.large).matches},assemble:function(b){var c=this,d=b.data(this.attr_name(!0)+"-init"),e=c.S("section, .top-bar-section",b);e.detach(),c.S(".has-dropdown>a",e).each(function(){var b,e=c.S(this),f=e.siblings(".dropdown"),g=e.attr("href");f.find(".title.back").length||(b=a(1==d.mobile_show_parent_link&&g?'
    2. ":'
    3. '),1==d.custom_back_text?a("h5>a",b).html(d.back_text):a("h5>a",b).html("« "+e.html()),f.prepend(b))}),e.appendTo(b),this.sticky(),this.assembled(b)},assembled:function(b){b.data(this.attr_name(!0),a.extend({},b.data(this.attr_name(!0)),{assembled:!0}))},height:function(b){var c=0,d=this;return a("> li",b).each(function(){c+=d.S(this).outerHeight(!0)}),c},sticky:function(){var a=this;this.S(b).on("scroll",function(){a.update_sticky_positioning()})},update_sticky_positioning:function(){var a="."+this.settings.sticky_class,c=this.S(b),d=this;if(d.settings.sticky_topbar&&d.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(),this.settings)){var e=this.settings.sticky_topbar.data("stickyoffset")+this.settings.start_offset;d.S(a).hasClass("expanded")||(c.scrollTop()>e?d.S(a).hasClass("fixed")||(d.S(a).addClass("fixed"),d.S("body").addClass("f-topbar-fixed")):c.scrollTop()<=e&&d.S(a).hasClass("fixed")&&(d.S(a).removeClass("fixed"),d.S("body").removeClass("f-topbar-fixed")))}},off:function(){this.S(this.scope).off(".fndtn.topbar"),this.S(b).off(".fndtn.topbar")},reflow:function(){}}}(jQuery,window,window.document); \ No newline at end of file diff --git a/js/foundation/js/foundation/foundation.abide.js b/js/foundation/js/foundation/foundation.abide.js new file mode 100644 index 0000000..82ea787 --- /dev/null +++ b/js/foundation/js/foundation/foundation.abide.js @@ -0,0 +1,426 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.abide = { + name : 'abide', + + version : '5.5.3', + + settings : { + live_validate : true, // validate the form as you go + validate_on_blur : true, // validate whenever you focus/blur on an input field + // validate_on: 'tab', // tab (when user tabs between fields), change (input changes), manual (call custom events) + + focus_on_invalid : true, // automatically bring the focus to an invalid input field + error_labels : true, // labels with a for="inputId" will receive an `error` class + error_class : 'error', // labels with a for="inputId" will receive an `error` class + // the amount of time Abide will take before it validates the form (in ms). + // smaller time will result in faster validation + timeout : 1000, + patterns : { + alpha : /^[a-zA-Z]+$/, + alpha_numeric : /^[a-zA-Z0-9]+$/, + integer : /^[-+]?\d+$/, + number : /^[-+]?\d*(?:[\.\,]\d+)?$/, + + // amex, visa, diners + card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/, + cvv : /^([0-9]){3,4}$/, + + // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address + email : /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/, + + // http://blogs.lse.ac.uk/lti/2008/04/23/a-regular-expression-to-match-any-url/ + url: /^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/, + // abc.de + domain : /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/, + + datetime : /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/, + // YYYY-MM-DD + date : /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/, + // HH:MM:SS + time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/, + dateISO : /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/, + // MM/DD/YYYY + month_day_year : /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/, + // DD/MM/YYYY + day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/, + + // #FFF or #FFFFFF + color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/ + }, + validators : { + equalTo : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + return valid; + } + } + }, + + timer : null, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + form = self.S(scope).attr('novalidate', 'novalidate'), + settings = form.data(this.attr_name(true) + '-init') || {}; + + this.invalid_attr = this.add_namespace('data-invalid'); + + function validate(originalSelf, e) { + clearTimeout(self.timer); + self.timer = setTimeout(function () { + self.validate([originalSelf], e); + }.bind(originalSelf), settings.timeout); + } + + form + .off('.abide') + .on('submit.fndtn.abide', function (e) { + var is_ajax = /ajax/i.test(self.S(this).attr(self.attr_name())); + return self.validate(self.S(this).find('input, textarea, select').not(":hidden, [data-abide-ignore]").get(), e, is_ajax); + }) + .on('validate.fndtn.abide', function (e) { + if (settings.validate_on === 'manual') { + self.validate([e.target], e); + } + }) + .on('reset', function (e) { + return self.reset($(this), e); + }) + .find('input, textarea, select').not(":hidden, [data-abide-ignore]") + .off('.abide') + .on('blur.fndtn.abide change.fndtn.abide', function (e) { + var id = this.getAttribute('id'), + eqTo = form.find('[data-equalto="'+ id +'"]'); + // old settings fallback + // will be deprecated with F6 release + if (settings.validate_on_blur && settings.validate_on_blur === true) { + validate(this, e); + } + // checks if there is an equalTo equivalent related by id + if(typeof eqTo.get(0) !== "undefined" && eqTo.val().length){ + validate(eqTo.get(0),e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('keydown.fndtn.abide', function (e) { + var id = this.getAttribute('id'), + eqTo = form.find('[data-equalto="'+ id +'"]'); + // old settings fallback + // will be deprecated with F6 release + if (settings.live_validate && settings.live_validate === true && e.which != 9) { + validate(this, e); + } + // checks if there is an equalTo equivalent related by id + if(typeof eqTo.get(0) !== "undefined" && eqTo.val().length){ + validate(eqTo.get(0),e); + } + // new settings combining validate options into one setting + if (settings.validate_on === 'tab' && e.which === 9) { + validate(this, e); + } + else if (settings.validate_on === 'change') { + validate(this, e); + } + }) + .on('focus', function (e) { + if (navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)) { + $('html, body').animate({ + scrollTop: $(e.target).offset().top + }, 100); + } + }); + }, + + reset : function (form, e) { + var self = this; + form.removeAttr(self.invalid_attr); + + $('[' + self.invalid_attr + ']', form).removeAttr(self.invalid_attr); + $('.' + self.settings.error_class, form).not('small').removeClass(self.settings.error_class); + $(':input', form).not(':button, :submit, :reset, :hidden, [data-abide-ignore]').val('').removeAttr(self.invalid_attr); + }, + + validate : function (els, e, is_ajax) { + var validations = this.parse_patterns(els), + validation_count = validations.length, + form = this.S(els[0]).closest('form'), + submit_event = /submit/.test(e.type); + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < validation_count; i++) { + if (!validations[i] && (submit_event || is_ajax)) { + if (this.settings.focus_on_invalid) { + els[i].focus(); + } + form.trigger('invalid.fndtn.abide'); + this.S(els[i]).closest('form').attr(this.invalid_attr, ''); + return false; + } + } + + if (submit_event || is_ajax) { + form.trigger('valid.fndtn.abide'); + } + + form.removeAttr(this.invalid_attr); + + if (is_ajax) { + return false; + } + + return true; + }, + + parse_patterns : function (els) { + var i = els.length, + el_patterns = []; + + while (i--) { + el_patterns.push(this.pattern(els[i])); + } + + return this.check_validation_and_apply_styles(el_patterns); + }, + + pattern : function (el) { + var type = el.getAttribute('type'), + required = typeof el.getAttribute('required') === 'string'; + + var pattern = el.getAttribute('pattern') || ''; + + if (this.settings.patterns.hasOwnProperty(pattern) && pattern.length > 0) { + return [el, this.settings.patterns[pattern], required]; + } else if (pattern.length > 0) { + return [el, new RegExp(pattern), required]; + } + + if (this.settings.patterns.hasOwnProperty(type)) { + return [el, this.settings.patterns[type], required]; + } + + pattern = /.*/; + + return [el, pattern, required]; + }, + + // TODO: Break this up into smaller methods, getting hard to read. + check_validation_and_apply_styles : function (el_patterns) { + var i = el_patterns.length, + validations = []; + if (i == 0) { + return validations; + } + var form = this.S(el_patterns[0][0]).closest('[data-' + this.attr_name(true) + ']'), + settings = form.data(this.attr_name(true) + '-init') || {}; + while (i--) { + var el = el_patterns[i][0], + required = el_patterns[i][2], + value = el.value.trim(), + direct_parent = this.S(el).parent(), + validator = el.getAttribute(this.add_namespace('data-abide-validator')), + is_radio = el.type === 'radio', + is_checkbox = el.type === 'checkbox', + label = this.S('label[for="' + el.getAttribute('id') + '"]'), + valid_length = (required) ? (el.value.length > 0) : true, + el_validations = []; + + var parent, valid; + + // support old way to do equalTo validations + if (el.getAttribute(this.add_namespace('data-equalto'))) { validator = 'equalTo' } + + if (!direct_parent.is('label')) { + parent = direct_parent; + } else { + parent = direct_parent.parent(); + } + + if (is_radio && required) { + el_validations.push(this.valid_radio(el, required)); + } else if (is_checkbox && required) { + el_validations.push(this.valid_checkbox(el, required)); + + } else if (validator) { + // Validate using each of the specified (space-delimited) validators. + var validators = validator.split(' '); + var last_valid = true, all_valid = true; + for (var iv = 0; iv < validators.length; iv++) { + valid = this.settings.validators[validators[iv]].apply(this, [el, required, parent]) + el_validations.push(valid); + all_valid = valid && last_valid; + last_valid = valid; + } + if (all_valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass('error'); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass('error'); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } else { + + if (el_patterns[i][1].test(value) && valid_length || + !required && el.value.length < 1 || $(el).attr('disabled')) { + el_validations.push(true); + } else { + el_validations.push(false); + } + + el_validations = [el_validations.every(function (valid) {return valid;})]; + if (el_validations[0]) { + this.S(el).removeAttr(this.invalid_attr); + el.setAttribute('aria-invalid', 'false'); + el.removeAttribute('aria-describedby'); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.removeClass(this.settings.error_class).removeAttr('role'); + } + $(el).triggerHandler('valid'); + } else { + this.S(el).attr(this.invalid_attr, ''); + el.setAttribute('aria-invalid', 'true'); + + // Try to find the error associated with the input + var errorElem = parent.find('small.' + this.settings.error_class, 'span.' + this.settings.error_class); + var errorID = errorElem.length > 0 ? errorElem[0].id : ''; + if (errorID.length > 0) { + el.setAttribute('aria-describedby', errorID); + } + + // el.setAttribute('aria-describedby', $(el).find('.error')[0].id); + parent.addClass(this.settings.error_class); + if (label.length > 0 && this.settings.error_labels) { + label.addClass(this.settings.error_class).attr('role', 'alert'); + } + $(el).triggerHandler('invalid'); + } + } + validations = validations.concat(el_validations); + } + + return validations; + }, + + valid_checkbox : function (el, required) { + var el = this.S(el), + valid = (el.is(':checked') || !required || el.get(0).getAttribute('disabled')); + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + $(el).triggerHandler('valid'); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + $(el).triggerHandler('invalid'); + } + + return valid; + }, + + valid_radio : function (el, required) { + var name = el.getAttribute('name'), + group = this.S(el).closest('[data-' + this.attr_name(true) + ']').find("[name='" + name + "']"), + count = group.length, + valid = false, + disabled = false; + + // Has to count up to make sure the focus gets applied to the top error + for (var i=0; i < count; i++) { + if( group[i].getAttribute('disabled') ){ + disabled=true; + valid=true; + } else { + if (group[i].checked){ + valid = true; + } else { + if( disabled ){ + valid = false; + } + } + } + } + + // Has to count up to make sure the focus gets applied to the top error + for (var i = 0; i < count; i++) { + if (valid) { + this.S(group[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + $(group[i]).triggerHandler('valid'); + } else { + this.S(group[i]).attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + $(group[i]).triggerHandler('invalid'); + } + } + + return valid; + }, + + valid_equal : function (el, required, parent) { + var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value, + to = el.value, + valid = (from === to); + + if (valid) { + this.S(el).removeAttr(this.invalid_attr); + parent.removeClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.removeClass(this.settings.error_class); + } + } else { + this.S(el).attr(this.invalid_attr, ''); + parent.addClass(this.settings.error_class); + if (label.length > 0 && settings.error_labels) { + label.addClass(this.settings.error_class); + } + } + + return valid; + }, + + valid_oneof : function (el, required, parent, doNotValidateOthers) { + var el = this.S(el), + others = this.S('[' + this.add_namespace('data-oneof') + ']'), + valid = others.filter(':checked').length > 0; + + if (valid) { + el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class); + } else { + el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class); + } + + if (!doNotValidateOthers) { + var _this = this; + others.each(function () { + _this.valid_oneof.call(_this, this, null, null, true); + }); + } + + return valid; + }, + + reflow : function(scope, options) { + var self = this, + form = self.S('[' + this.attr_name() + ']').attr('novalidate', 'novalidate'); + self.S(form).each(function (idx, el) { + self.events(el); + }); + } + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.accordion.js b/js/foundation/js/foundation/foundation.accordion.js new file mode 100644 index 0000000..be329ae --- /dev/null +++ b/js/foundation/js/foundation/foundation.accordion.js @@ -0,0 +1,125 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.accordion = { + name : 'accordion', + + version : '5.5.3', + + settings : { + content_class : 'content', + active_class : 'active', + multi_expand : false, + toggleable : true, + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function (instance) { + var self = this; + var S = this.S; + self.create(this.S(instance)); + + S(this.scope) + .off('.fndtn.accordion') + .on('click.fndtn.accordion', '[' + this.attr_name() + '] > dd > a, [' + this.attr_name() + '] > li > a', function (e) { + var accordion = S(this).closest('[' + self.attr_name() + ']'), + groupSelector = self.attr_name() + '=' + accordion.attr(self.attr_name()), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings, + target = S('#' + this.href.split('#')[1]), + aunts = $('> dd, > li', accordion), + siblings = aunts.children('.' + settings.content_class), + active_content = siblings.filter('.' + settings.active_class); + + e.preventDefault(); + + if (accordion.attr(self.attr_name())) { + siblings = siblings.add('[' + groupSelector + '] dd > ' + '.' + settings.content_class + ', [' + groupSelector + '] li > ' + '.' + settings.content_class); + aunts = aunts.add('[' + groupSelector + '] dd, [' + groupSelector + '] li'); + } + + if (settings.toggleable && target.is(active_content)) { + target.parent('dd, li').toggleClass(settings.active_class, false); + target.toggleClass(settings.active_class, false); + S(this).attr('aria-expanded', function(i, attr){ + return attr === 'true' ? 'false' : 'true'; + }); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + return; + } + + if (!settings.multi_expand) { + siblings.removeClass(settings.active_class); + aunts.removeClass(settings.active_class); + aunts.children('a').attr('aria-expanded','false'); + } + + target.addClass(settings.active_class).parent().addClass(settings.active_class); + settings.callback(target); + target.triggerHandler('toggled', [accordion]); + accordion.triggerHandler('toggled', [target]); + S(this).attr('aria-expanded','true'); + }); + }, + + create: function($instance) { + var self = this, + accordion = $instance, + aunts = $('> .accordion-navigation', accordion), + settings = accordion.data(self.attr_name(true) + '-init') || self.settings; + + aunts.children('a').attr('aria-expanded','false'); + aunts.has('.' + settings.content_class + '.' + settings.active_class).addClass(settings.active_class).children('a').attr('aria-expanded','true'); + + if (settings.multi_expand) { + $instance.attr('aria-multiselectable','true'); + } + }, + + toggle : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + var selector = typeof options.selector !== 'undefined' ? options.selector : ''; + var toggle_state = typeof options.toggle_state !== 'undefined' ? options.toggle_state : ''; + var $accordion = typeof options.$accordion !== 'undefined' ? options.$accordion : this.S(this.scope).closest('[' + this.attr_name() + ']'); + + var $items = $accordion.find('> dd' + selector + ', > li' + selector); + if ( $items.length < 1 ) { + if ( window.console ) { + console.error('Selection not found.', selector); + } + return false; + } + + var S = this.S; + var active_class = this.settings.active_class; + $items.each(function() { + var $item = S(this); + var is_active = $item.hasClass(active_class); + if ( ( is_active && toggle_state === 'close' ) || ( !is_active && toggle_state === 'open' ) || toggle_state === '' ) { + $item.find('> a').trigger('click.fndtn.accordion'); + } + }); + }, + + open : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'open'; + this.toggle(options); + }, + + close : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'close'; + this.toggle(options); + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.alert.js b/js/foundation/js/foundation/foundation.alert.js new file mode 100644 index 0000000..0ab934c --- /dev/null +++ b/js/foundation/js/foundation/foundation.alert.js @@ -0,0 +1,43 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.alert = { + name : 'alert', + + version : '5.5.3', + + settings : { + callback : function () {} + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = this.S; + + $(this.scope).off('.alert').on('click.fndtn.alert', '[' + this.attr_name() + '] .close', function (e) { + var alertBox = S(this).closest('[' + self.attr_name() + ']'), + settings = alertBox.data(self.attr_name(true) + '-init') || self.settings; + + e.preventDefault(); + if (Modernizr.csstransitions) { + alertBox.addClass('alert-close'); + alertBox.on('transitionend webkitTransitionEnd oTransitionEnd', function (e) { + S(this).trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } else { + alertBox.fadeOut(300, function () { + S(this).trigger('close.fndtn.alert').remove(); + settings.callback(); + }); + } + }); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.clearing.js b/js/foundation/js/foundation/foundation.clearing.js new file mode 100644 index 0000000..f63ff91 --- /dev/null +++ b/js/foundation/js/foundation/foundation.clearing.js @@ -0,0 +1,586 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.clearing = { + name : 'clearing', + + version : '5.5.3', + + settings : { + templates : { + viewing : '×' + + '' + + '' + + '' + }, + + // comma delimited list of selectors that, on click, will close clearing, + // add 'div.clearing-blackout, div.visible-img' to close on background click + close_selectors : '.clearing-close, div.clearing-blackout', + + // Default to the entire li element. + open_selectors : '', + + // Image will be skipped in carousel. + skip_selector : '', + + touch_label : '', + + // event initializer and locks + init : false, + locked : false + }, + + init : function (scope, method, options) { + var self = this; + Foundation.inherit(this, 'throttle image_loaded'); + + this.bindings(method, options); + + if (self.S(this.scope).is('[' + this.attr_name() + ']')) { + this.assemble(self.S('li', this.scope)); + } else { + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + self.assemble(self.S('li', this)); + }); + } + }, + + events : function (scope) { + var self = this, + S = self.S, + $scroll_container = $('.scroll-container'); + + if ($scroll_container.length > 0) { + this.scope = $scroll_container; + } + + S(this.scope) + .off('.clearing') + .on('click.fndtn.clearing', 'ul[' + this.attr_name() + '] li ' + this.settings.open_selectors, + function (e, current, target) { + var current = current || S(this), + target = target || current, + next = current.next('li'), + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'), + image = S(e.target); + + e.preventDefault(); + + if (!settings) { + self.init(); + settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + } + + // if clearing is open and the current image is + // clicked, go to the next image in sequence + if (target.hasClass('visible') && + current[0] === target[0] && + next.length > 0 && self.is_open(current)) { + target = next; + image = S('img', target); + } + + // set current and target to the clicked li if not otherwise defined. + self.open(image, current, target); + self.update_paddles(target); + }) + + .on('click.fndtn.clearing', '.clearing-main-next', + function (e) { self.nav(e, 'next') }) + .on('click.fndtn.clearing', '.clearing-main-prev', + function (e) { self.nav(e, 'prev') }) + .on('click.fndtn.clearing', this.settings.close_selectors, + function (e) { Foundation.libs.clearing.close(e, this) }); + + $(document).on('keydown.fndtn.clearing', + function (e) { self.keydown(e) }); + + S(window).off('.clearing').on('resize.fndtn.clearing', + function () { self.resize() }); + + this.swipe_events(scope); + }, + + swipe_events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .on('touchstart.fndtn.clearing', '.visible-img', function (e) { + if (!e.touches) { e = e.originalEvent; } + var data = { + start_page_x : e.touches[0].pageX, + start_page_y : e.touches[0].pageY, + start_time : (new Date()).getTime(), + delta_x : 0, + is_scrolling : undefined + }; + + S(this).data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.clearing', '.visible-img', function (e) { + if (!e.touches) { + e = e.originalEvent; + } + // Ignore pinch/zoom events + if (e.touches.length > 1 || e.scale && e.scale !== 1) { + return; + } + + var data = S(this).data('swipe-transition'); + + if (typeof data === 'undefined') { + data = {}; + } + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if (Foundation.rtl) { + data.delta_x = -data.delta_x; + } + + if (typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? 'next' : 'prev'; + data.active = true; + self.nav(e, direction); + } + }) + .on('touchend.fndtn.clearing', '.visible-img', function (e) { + S(this).data('swipe-transition', {}); + e.stopPropagation(); + }); + }, + + assemble : function ($li) { + var $el = $li.parent(); + + if ($el.parent().hasClass('carousel')) { + return; + } + + $el.after('
      '); + + var grid = $el.detach(), + grid_outerHTML = ''; + + if (grid[0] == null) { + return; + } else { + grid_outerHTML = grid[0].outerHTML; + } + + var holder = this.S('#foundationClearingHolder'), + settings = $el.data(this.attr_name(true) + '-init'), + data = { + grid : '', + viewing : settings.templates.viewing + }, + wrapper = '
      ' + data.viewing + + data.grid + '
      ', + touch_label = this.settings.touch_label; + + if (Modernizr.touch) { + wrapper = $(wrapper).find('.clearing-touch-label').html(touch_label).end(); + } + + holder.after(wrapper).remove(); + }, + + open : function ($image, current, target) { + var self = this, + body = $(document.body), + root = target.closest('.clearing-assembled'), + container = self.S('div', root).first(), + visible_image = self.S('.visible-img', container), + image = self.S('img', visible_image).not($image), + label = self.S('.clearing-touch-label', container), + error = false, + loaded = {}; + + // Event to disable scrolling on touch devices when Clearing is activated + $('body').on('touchmove', function (e) { + e.preventDefault(); + }); + + image.error(function () { + error = true; + }); + + function startLoad() { + setTimeout(function () { + this.image_loaded(image, function () { + if (image.outerWidth() === 1 && !error) { + startLoad.call(this); + } else { + cb.call(this, image); + } + }.bind(this)); + }.bind(this), 100); + } + + function cb (image) { + var $image = $(image); + $image.css('visibility', 'visible'); + $image.trigger('imageVisible'); + // toggle the gallery + body.css('overflow', 'hidden'); + root.addClass('clearing-blackout'); + container.addClass('clearing-container'); + visible_image.show(); + this.fix_height(target) + .caption(self.S('.clearing-caption', visible_image), self.S('img', target)) + .center_and_label(image, label) + .shift(current, target, function () { + target.closest('li').siblings().removeClass('visible'); + target.closest('li').addClass('visible'); + }); + visible_image.trigger('opened.fndtn.clearing') + } + + if (!this.locked()) { + visible_image.trigger('open.fndtn.clearing'); + // set the image to the selected thumbnail + loaded = this.load($image); + if (loaded.interchange) { + image + .attr('data-interchange', loaded.interchange) + .foundation('interchange', 'reflow'); + } else { + image + .attr('src', loaded.src) + .attr('data-interchange', ''); + } + image.css('visibility', 'hidden'); + + startLoad.call(this); + } + }, + + close : function (e, el) { + e.preventDefault(); + + var root = (function (target) { + if (/blackout/.test(target.selector)) { + return target; + } else { + return target.closest('.clearing-blackout'); + } + }($(el))), + body = $(document.body), container, visible_image; + + if (el === e.target && root) { + body.css('overflow', ''); + container = $('div', root).first(); + visible_image = $('.visible-img', container); + visible_image.trigger('close.fndtn.clearing'); + this.settings.prev_index = 0; + $('ul[' + this.attr_name() + ']', root) + .attr('style', '').closest('.clearing-blackout') + .removeClass('clearing-blackout'); + container.removeClass('clearing-container'); + visible_image.hide(); + visible_image.trigger('closed.fndtn.clearing'); + } + + // Event to re-enable scrolling on touch devices + $('body').off('touchmove'); + + return false; + }, + + is_open : function (current) { + return current.parent().prop('style').length > 0; + }, + + keydown : function (e) { + var clearing = $('.clearing-blackout ul[' + this.attr_name() + ']'), + NEXT_KEY = this.rtl ? 37 : 39, + PREV_KEY = this.rtl ? 39 : 37, + ESC_KEY = 27; + + if (e.which === NEXT_KEY) { + this.go(clearing, 'next'); + } + if (e.which === PREV_KEY) { + this.go(clearing, 'prev'); + } + if (e.which === ESC_KEY) { + this.S('a.clearing-close').trigger('click.fndtn.clearing'); + } + }, + + nav : function (e, direction) { + var clearing = $('ul[' + this.attr_name() + ']', '.clearing-blackout'); + + e.preventDefault(); + this.go(clearing, direction); + }, + + resize : function () { + var image = $('img', '.clearing-blackout .visible-img'), + label = $('.clearing-touch-label', '.clearing-blackout'); + + if (image.length) { + this.center_and_label(image, label); + image.trigger('resized.fndtn.clearing') + } + }, + + // visual adjustments + fix_height : function (target) { + var lis = target.parent().children(), + self = this; + + lis.each(function () { + var li = self.S(this), + image = li.find('img'); + + if (li.height() > image.outerHeight()) { + li.addClass('fix-height'); + } + }) + .closest('ul') + .width(lis.length * 100 + '%'); + + return this; + }, + + update_paddles : function (target) { + target = target.closest('li'); + var visible_image = target + .closest('.carousel') + .siblings('.visible-img'); + + if (target.next().length > 0) { + this.S('.clearing-main-next', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-next', visible_image).addClass('disabled'); + } + + if (target.prev().length > 0) { + this.S('.clearing-main-prev', visible_image).removeClass('disabled'); + } else { + this.S('.clearing-main-prev', visible_image).addClass('disabled'); + } + }, + + center_and_label : function (target, label) { + if (!this.rtl && label.length > 0) { + label.css({ + marginLeft : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10 + }); + } else { + label.css({ + marginRight : -(label.outerWidth() / 2), + marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10, + left: 'auto', + right: '50%' + }); + } + return this; + }, + + // image loading and preloading + + load : function ($image) { + var href, + interchange, + closest_a; + + if ($image[0].nodeName === 'A') { + href = $image.attr('href'); + interchange = $image.data('clearing-interchange'); + } else { + closest_a = $image.closest('a'); + href = closest_a.attr('href'); + interchange = closest_a.data('clearing-interchange'); + } + + this.preload($image); + + return { + 'src': href ? href : $image.attr('src'), + 'interchange': href ? interchange : $image.data('clearing-interchange') + } + }, + + preload : function ($image) { + this + .img($image.closest('li').next(), 'next') + .img($image.closest('li').prev(), 'prev'); + }, + + img : function (img, sibling_type) { + if (img.length) { + var preload_img = $('.clearing-preload-' + sibling_type), + new_a = this.S('a', img), + src, + interchange, + image; + + if (new_a.length) { + src = new_a.attr('href'); + interchange = new_a.data('clearing-interchange'); + } else { + image = this.S('img', img); + src = image.attr('src'); + interchange = image.data('clearing-interchange'); + } + + if (interchange) { + preload_img.attr('data-interchange', interchange); + } else { + preload_img.attr('src', src); + preload_img.attr('data-interchange', ''); + } + } + return this; + }, + + // image caption + + caption : function (container, $image) { + var caption = $image.attr('data-caption'); + + if (caption) { + var containerPlain = container.get(0); + containerPlain.innerHTML = caption; + container.show(); + } else { + container + .text('') + .hide(); + } + return this; + }, + + // directional methods + + go : function ($ul, direction) { + var current = this.S('.visible', $ul), + target = current[direction](); + + // Check for skip selector. + if (this.settings.skip_selector && target.find(this.settings.skip_selector).length != 0) { + target = target[direction](); + } + + if (target.length) { + this.S('img', target) + .trigger('click.fndtn.clearing', [current, target]) + .trigger('change.fndtn.clearing'); + } + }, + + shift : function (current, target, callback) { + var clearing = target.parent(), + old_index = this.settings.prev_index || target.index(), + direction = this.direction(clearing, current, target), + dir = this.rtl ? 'right' : 'left', + left = parseInt(clearing.css('left'), 10), + width = target.outerWidth(), + skip_shift; + + var dir_obj = {}; + + // we use jQuery animate instead of CSS transitions because we + // need a callback to unlock the next animation + // needs support for RTL ** + if (target.index() !== old_index && !/skip/.test(direction)) { + if (/left/.test(direction)) { + this.lock(); + dir_obj[dir] = left + width; + clearing.animate(dir_obj, 300, this.unlock()); + } else if (/right/.test(direction)) { + this.lock(); + dir_obj[dir] = left - width; + clearing.animate(dir_obj, 300, this.unlock()); + } + } else if (/skip/.test(direction)) { + // the target image is not adjacent to the current image, so + // do we scroll right or not + skip_shift = target.index() - this.settings.up_count; + this.lock(); + + if (skip_shift > 0) { + dir_obj[dir] = -(skip_shift * width); + clearing.animate(dir_obj, 300, this.unlock()); + } else { + dir_obj[dir] = 0; + clearing.animate(dir_obj, 300, this.unlock()); + } + } + + callback(); + }, + + direction : function ($el, current, target) { + var lis = this.S('li', $el), + li_width = lis.outerWidth() + (lis.outerWidth() / 4), + up_count = Math.floor(this.S('.clearing-container').outerWidth() / li_width) - 1, + target_index = lis.index(target), + response; + + this.settings.up_count = up_count; + + if (this.adjacent(this.settings.prev_index, target_index)) { + if ((target_index > up_count) && target_index > this.settings.prev_index) { + response = 'right'; + } else if ((target_index > up_count - 1) && target_index <= this.settings.prev_index) { + response = 'left'; + } else { + response = false; + } + } else { + response = 'skip'; + } + + this.settings.prev_index = target_index; + + return response; + }, + + adjacent : function (current_index, target_index) { + for (var i = target_index + 1; i >= target_index - 1; i--) { + if (i === current_index) { + return true; + } + } + return false; + }, + + // lock management + + lock : function () { + this.settings.locked = true; + }, + + unlock : function () { + this.settings.locked = false; + }, + + locked : function () { + return this.settings.locked; + }, + + off : function () { + this.S(this.scope).off('.fndtn.clearing'); + this.S(window).off('.fndtn.clearing'); + }, + + reflow : function () { + this.init(); + } + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.dropdown.js b/js/foundation/js/foundation/foundation.dropdown.js new file mode 100644 index 0000000..5db3dea --- /dev/null +++ b/js/foundation/js/foundation/foundation.dropdown.js @@ -0,0 +1,468 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.dropdown = { + name : 'dropdown', + + version : '5.5.3', + + settings : { + active_class : 'open', + disabled_class : 'disabled', + mega_class : 'mega', + align : 'bottom', + is_hover : false, + hover_timeout : 150, + opened : function () {}, + closed : function () {} + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.dropdown') + .on('click.fndtn.dropdown', '[' + this.attr_name() + ']', function (e) { + var settings = S(this).data(self.attr_name(true) + '-init') || self.settings; + if (!settings.is_hover || Modernizr.touch) { + e.preventDefault(); + if (S(this).parent('[data-reveal-id]').length) { + e.stopPropagation(); + } + self.toggle($(this)); + } + }) + .on('mouseenter.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this), + dropdown, + target; + + clearTimeout(self.timeout); + + if ($this.data(self.data_attr())) { + dropdown = S('#' + $this.data(self.data_attr())); + target = $this; + } else { + dropdown = $this; + target = S('[' + self.attr_name() + '="' + dropdown.attr('id') + '"]'); + } + + var settings = target.data(self.attr_name(true) + '-init') || self.settings; + + if (S(e.currentTarget).data(self.data_attr()) && settings.is_hover) { + self.closeall.call(self); + } + + if (settings.is_hover) { + self.open.apply(self, [dropdown, target]); + } + }) + .on('mouseleave.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) { + var $this = S(this); + var settings; + + if ($this.data(self.data_attr())) { + settings = $this.data(self.data_attr(true) + '-init') || self.settings; + } else { + var target = S('[' + self.attr_name() + '="' + S(this).attr('id') + '"]'), + settings = target.data(self.attr_name(true) + '-init') || self.settings; + } + + self.timeout = setTimeout(function () { + if ($this.data(self.data_attr())) { + if (settings.is_hover) { + self.close.call(self, S('#' + $this.data(self.data_attr()))); + } + } else { + if (settings.is_hover) { + self.close.call(self, $this); + } + } + }.bind(this), settings.hover_timeout); + }) + .on('click.fndtn.dropdown', function (e) { + var parent = S(e.target).closest('[' + self.attr_name() + '-content]'); + var links = parent.find('a'); + + if (links.length > 0 && parent.attr('aria-autoclose') !== 'false') { + self.close.call(self, S('[' + self.attr_name() + '-content]')); + } + + if (e.target !== document && !$.contains(document.documentElement, e.target)) { + return; + } + + if (S(e.target).closest('[' + self.attr_name() + ']').length > 0) { + return; + } + + if (!(S(e.target).data('revealId')) && + (parent.length > 0 && (S(e.target).is('[' + self.attr_name() + '-content]') || + $.contains(parent.first()[0], e.target)))) { + e.stopPropagation(); + return; + } + + self.close.call(self, S('[' + self.attr_name() + '-content]')); + }) + .on('opened.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.opened.call(this); + }) + .on('closed.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () { + self.settings.closed.call(this); + }); + + S(window) + .off('.dropdown') + .on('resize.fndtn.dropdown', self.throttle(function () { + self.resize.call(self); + }, 50)); + + this.resize(); + }, + + close : function (dropdown) { + var self = this; + dropdown.each(function (idx) { + var original_target = $('[' + self.attr_name() + '=' + dropdown[idx].id + ']') || $('aria-controls=' + dropdown[idx].id + ']'); + original_target.attr('aria-expanded', 'false'); + if (self.S(this).hasClass(self.settings.active_class)) { + self.S(this) + .css(Foundation.rtl ? 'right' : 'left', '-99999px') + .attr('aria-hidden', 'true') + .removeClass(self.settings.active_class) + .prev('[' + self.attr_name() + ']') + .removeClass(self.settings.active_class) + .removeData('target'); + + self.S(this).trigger('closed.fndtn.dropdown', [dropdown]); + } + }); + dropdown.removeClass('f-open-' + this.attr_name(true)); + }, + + closeall : function () { + var self = this; + $.each(self.S('.f-open-' + this.attr_name(true)), function () { + self.close.call(self, self.S(this)); + }); + }, + + open : function (dropdown, target) { + this + .css(dropdown + .addClass(this.settings.active_class), target); + dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class); + dropdown.data('target', target.get(0)).trigger('opened.fndtn.dropdown', [dropdown, target]); + dropdown.attr('aria-hidden', 'false'); + target.attr('aria-expanded', 'true'); + dropdown.focus(); + dropdown.addClass('f-open-' + this.attr_name(true)); + }, + + data_attr : function () { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.name; + } + + return this.name; + }, + + toggle : function (target) { + if (target.hasClass(this.settings.disabled_class)) { + return; + } + var dropdown = this.S('#' + target.data(this.data_attr())); + if (dropdown.length === 0) { + // No dropdown found, not continuing + return; + } + + this.close.call(this, this.S('[' + this.attr_name() + '-content]').not(dropdown)); + + if (dropdown.hasClass(this.settings.active_class)) { + this.close.call(this, dropdown); + if (dropdown.data('target') !== target.get(0)) { + this.open.call(this, dropdown, target); + } + } else { + this.open.call(this, dropdown, target); + } + }, + + resize : function () { + var dropdown = this.S('[' + this.attr_name() + '-content].open'); + var target = $(dropdown.data("target")); + + if (dropdown.length && target.length) { + this.css(dropdown, target); + } + }, + + css : function (dropdown, target) { + var left_offset = Math.max((target.width() - dropdown.width()) / 2, 8), + settings = target.data(this.attr_name(true) + '-init') || this.settings, + parentOverflow = dropdown.parent().css('overflow-y') || dropdown.parent().css('overflow'); + + this.clear_idx(); + + + + if (this.small()) { + var p = this.dirs.bottom.call(dropdown, target, settings); + + dropdown.attr('style', '').removeClass('drop-left drop-right drop-top').css({ + position : 'absolute', + width : '95%', + 'max-width' : 'none', + top : p.top + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } + // detect if dropdown is in an overflow container + else if (parentOverflow !== 'visible') { + var offset = target[0].offsetTop + target[0].offsetHeight; + + dropdown.attr('style', '').css({ + position : 'absolute', + top : offset + }); + + dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset); + } + else { + + this.style(dropdown, target, settings); + } + + return dropdown; + }, + + style : function (dropdown, target, settings) { + var css = $.extend({position : 'absolute'}, + this.dirs[settings.align].call(dropdown, target, settings)); + + dropdown.attr('style', '').css(css); + }, + + // return CSS property object + // `this` is the dropdown + dirs : { + // Calculate target offset + _base : function (t, s) { + var o_p = this.offsetParent(), + o = o_p.offset(), + p = t.offset(); + + p.top -= o.top; + p.left -= o.left; + + //set some flags on the p object to pass along + p.missRight = false; + p.missTop = false; + p.missLeft = false; + p.leftRightFlag = false; + + //lets see if the panel will be off the screen + //get the actual width of the page and store it + var actualBodyWidth; + var windowWidth = window.innerWidth; + + if (document.getElementsByClassName('row')[0]) { + actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth; + } else { + actualBodyWidth = windowWidth; + } + + var actualMarginWidth = (windowWidth - actualBodyWidth) / 2; + var actualBoundary = actualBodyWidth; + + if (!this.hasClass('mega') && !s.ignore_repositioning) { + var outerWidth = this.outerWidth(); + var o_left = t.offset().left; + + //miss top + if (t.offset().top <= this.outerHeight()) { + p.missTop = true; + actualBoundary = windowWidth - actualMarginWidth; + p.leftRightFlag = true; + } + + //miss right + if (o_left + outerWidth > o_left + actualMarginWidth && o_left - actualMarginWidth > outerWidth) { + p.missRight = true; + p.missLeft = false; + } + + //miss left + if (o_left - outerWidth <= 0) { + p.missLeft = true; + p.missRight = false; + } + } + + return p; + }, + + top : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t, s); + + this.addClass('drop-top'); + + if (p.missTop == true) { + p.top = p.top + t.outerHeight() + this.outerHeight(); + this.removeClass('drop-top'); + } + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (Foundation.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), + top : p.top - this.outerHeight()}; + } + + return {left : p.left, top : p.top - this.outerHeight()}; + }, + + bottom : function (t, s) { + var self = Foundation.libs.dropdown, + p = self.dirs._base.call(this, t, s); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth() + t.outerWidth(); + } + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + if (self.rtl) { + return {left : p.left - this.outerWidth() + t.outerWidth(), top : p.top + t.outerHeight()}; + } + + return {left : p.left, top : p.top + t.outerHeight()}; + }, + + left : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t, s); + + this.addClass('drop-left'); + + if (p.missLeft == true) { + p.left = p.left + this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-left'); + } + + return {left : p.left - this.outerWidth(), top : p.top}; + }, + + right : function (t, s) { + var p = Foundation.libs.dropdown.dirs._base.call(this, t, s); + + this.addClass('drop-right'); + + if (p.missRight == true) { + p.left = p.left - this.outerWidth(); + p.top = p.top + t.outerHeight(); + this.removeClass('drop-right'); + } else { + p.triggeredRight = true; + } + + var self = Foundation.libs.dropdown; + + if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) { + self.adjust_pip(this, t, s, p); + } + + return {left : p.left + t.outerWidth(), top : p.top}; + } + }, + + // Insert rule to style psuedo elements + adjust_pip : function (dropdown, target, settings, position) { + var sheet = Foundation.stylesheet, + pip_offset_base = 8; + + if (dropdown.hasClass(settings.mega_class)) { + pip_offset_base = position.left + (target.outerWidth() / 2) - 8; + } else if (this.small()) { + pip_offset_base += position.left - 8; + } + + this.rule_idx = sheet.cssRules.length; + + //default + var sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + + if (position.missRight == true) { + pip_offset_base = dropdown.outerWidth() - 23; + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left: ' + pip_offset_base + 'px;', + css_after = 'left: ' + (pip_offset_base - 1) + 'px;'; + } + + //just a case where right is fired, but its not missing right + if (position.triggeredRight == true) { + sel_before = '.f-dropdown.open:before', + sel_after = '.f-dropdown.open:after', + css_before = 'left:-12px;', + css_after = 'left:-14px;'; + } + + if (sheet.insertRule) { + sheet.insertRule([sel_before, '{', css_before, '}'].join(' '), this.rule_idx); + sheet.insertRule([sel_after, '{', css_after, '}'].join(' '), this.rule_idx + 1); + } else { + sheet.addRule(sel_before, css_before, this.rule_idx); + sheet.addRule(sel_after, css_after, this.rule_idx + 1); + } + }, + + // Remove old dropdown rule index + clear_idx : function () { + var sheet = Foundation.stylesheet; + + if (typeof this.rule_idx !== 'undefined') { + sheet.deleteRule(this.rule_idx); + sheet.deleteRule(this.rule_idx); + delete this.rule_idx; + } + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + off : function () { + this.S(this.scope).off('.fndtn.dropdown'); + this.S('html, body').off('.fndtn.dropdown'); + this.S(window).off('.fndtn.dropdown'); + this.S('[data-dropdown-content]').off('.fndtn.dropdown'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.equalizer.js b/js/foundation/js/foundation/foundation.equalizer.js new file mode 100644 index 0000000..a61a330 --- /dev/null +++ b/js/foundation/js/foundation/foundation.equalizer.js @@ -0,0 +1,104 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.equalizer = { + name : 'equalizer', + + version : '5.5.3', + + settings : { + use_tallest : true, + before_height_change : $.noop, + after_height_change : $.noop, + equalize_on_stack : false, + act_on_hidden_el: false + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'image_loaded'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + this.S(window).off('.equalizer').on('resize.fndtn.equalizer', function (e) { + this.reflow(); + }.bind(this)); + }, + + equalize : function (equalizer) { + var isStacked = false, + group = equalizer.data('equalizer'), + settings = equalizer.data(this.attr_name(true)+'-init') || this.settings, + vals, + firstTopOffset; + + if (settings.act_on_hidden_el) { + vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]') : equalizer.find('['+this.attr_name()+'-watch]'); + } + else { + vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]:visible') : equalizer.find('['+this.attr_name()+'-watch]:visible'); + } + + if (vals.length === 0) { + return; + } + + settings.before_height_change(); + equalizer.trigger('before-height-change.fndth.equalizer'); + vals.height('inherit'); + + if (settings.equalize_on_stack === false) { + firstTopOffset = vals.first().offset().top; + vals.each(function () { + if ($(this).offset().top !== firstTopOffset) { + isStacked = true; + return false; + } + }); + if (isStacked) { + return; + } + } + + var heights = vals.map(function () { return $(this).outerHeight(false) }).get(); + + if (settings.use_tallest) { + var max = Math.max.apply(null, heights); + vals.css('height', max); + } else { + var min = Math.min.apply(null, heights); + vals.css('height', min); + } + + settings.after_height_change(); + equalizer.trigger('after-height-change.fndtn.equalizer'); + }, + + reflow : function () { + var self = this; + + this.S('[' + this.attr_name() + ']', this.scope).each(function () { + var $eq_target = $(this), + media_query = $eq_target.data('equalizer-mq'), + ignore_media_query = true; + + if (media_query) { + media_query = 'is_' + media_query.replace(/-/g, '_'); + if (Foundation.utils.hasOwnProperty(media_query)) { + ignore_media_query = false; + } + } + + self.image_loaded(self.S('img', this), function () { + if (ignore_media_query || Foundation.utils[media_query]()) { + self.equalize($eq_target) + } else { + var vals = $eq_target.find('[' + self.attr_name() + '-watch]:visible'); + vals.css('height', 'auto'); + } + }); + }); + } + }; +})(jQuery, window, window.document); diff --git a/js/foundation/js/foundation/foundation.interchange.js b/js/foundation/js/foundation/foundation.interchange.js new file mode 100644 index 0000000..1096fad --- /dev/null +++ b/js/foundation/js/foundation/foundation.interchange.js @@ -0,0 +1,360 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.interchange = { + name : 'interchange', + + version : '5.5.3', + + cache : {}, + + images_loaded : false, + nodes_loaded : false, + + settings : { + load_attr : 'interchange', + + named_queries : { + 'default' : 'only screen', + 'small' : Foundation.media_queries['small'], + 'small-only' : Foundation.media_queries['small-only'], + 'medium' : Foundation.media_queries['medium'], + 'medium-only' : Foundation.media_queries['medium-only'], + 'large' : Foundation.media_queries['large'], + 'large-only' : Foundation.media_queries['large-only'], + 'xlarge' : Foundation.media_queries['xlarge'], + 'xlarge-only' : Foundation.media_queries['xlarge-only'], + 'xxlarge' : Foundation.media_queries['xxlarge'], + 'landscape' : 'only screen and (orientation: landscape)', + 'portrait' : 'only screen and (orientation: portrait)', + 'retina' : 'only screen and (-webkit-min-device-pixel-ratio: 2),' + + 'only screen and (min--moz-device-pixel-ratio: 2),' + + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + + 'only screen and (min-device-pixel-ratio: 2),' + + 'only screen and (min-resolution: 192dpi),' + + 'only screen and (min-resolution: 2dppx)' + }, + + directives : { + replace : function (el, path, trigger) { + // The trigger argument, if called within the directive, fires + // an event named after the directive on the element, passing + // any parameters along to the event that you pass to trigger. + // + // ex. trigger(), trigger([a, b, c]), or trigger(a, b, c) + // + // This allows you to bind a callback like so: + // $('#interchangeContainer').on('replace', function (e, a, b, c) { + // console.log($(this).html(), a, b, c); + // }); + + if (el !== null && /IMG/.test(el[0].nodeName)) { + var orig_path = $.each(el, function(){this.src = path;}); + // var orig_path = el[0].src; + + if (new RegExp(path, 'i').test(orig_path)) { + return; + } + + el.attr("src", path); + + return trigger(el[0].src); + } + var last_path = el.data(this.data_attr + '-last-path'), + self = this; + + if (last_path == path) { + return; + } + + if (/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(path)) { + $(el).css('background-image', 'url(' + path + ')'); + el.data('interchange-last-path', path); + return trigger(path); + } + + return $.get(path, function (response) { + el.html(response); + el.data(self.data_attr + '-last-path', path); + trigger(); + }); + + } + } + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.data_attr = this.set_data_attr(); + $.extend(true, this.settings, method, options); + this.bindings(method, options); + this.reflow(); + }, + + get_media_hash : function () { + var mediaHash = ''; + for (var queryName in this.settings.named_queries ) { + mediaHash += matchMedia(this.settings.named_queries[queryName]).matches.toString(); + } + return mediaHash; + }, + + events : function () { + var self = this, prevMediaHash; + + $(window) + .off('.interchange') + .on('resize.fndtn.interchange', self.throttle(function () { + var currMediaHash = self.get_media_hash(); + if (currMediaHash !== prevMediaHash) { + self.resize(); + } + prevMediaHash = currMediaHash; + }, 50)); + + return this; + }, + + resize : function () { + var cache = this.cache; + + if (!this.images_loaded || !this.nodes_loaded) { + setTimeout($.proxy(this.resize, this), 50); + return; + } + + for (var uuid in cache) { + if (cache.hasOwnProperty(uuid)) { + var passed = this.results(uuid, cache[uuid]); + if (passed) { + this.settings.directives[passed + .scenario[1]].call(this, passed.el, passed.scenario[0], (function (passed) { + if (arguments[0] instanceof Array) { + var args = arguments[0]; + } else { + var args = Array.prototype.slice.call(arguments, 0); + } + + return function() { + passed.el.trigger(passed.scenario[1], args); + } + }(passed))); + } + } + } + + }, + + results : function (uuid, scenarios) { + var count = scenarios.length; + + if (count > 0) { + var el = this.S('[' + this.add_namespace('data-uuid') + '="' + uuid + '"]'); + + while (count--) { + var mq, rule = scenarios[count][2]; + if (this.settings.named_queries.hasOwnProperty(rule)) { + mq = matchMedia(this.settings.named_queries[rule]); + } else { + mq = matchMedia(rule); + } + if (mq.matches) { + return {el : el, scenario : scenarios[count]}; + } + } + } + + return false; + }, + + load : function (type, force_update) { + if (typeof this['cached_' + type] === 'undefined' || force_update) { + this['update_' + type](); + } + + return this['cached_' + type]; + }, + + update_images : function () { + var images = this.S('img[' + this.data_attr + ']'), + count = images.length, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cache = {}; + this.cached_images = []; + this.images_loaded = (count === 0); + + while (i--) { + loaded_count++; + if (images[i]) { + var str = images[i].getAttribute(data_attr) || ''; + + if (str.length > 0) { + this.cached_images.push(images[i]); + } + } + + if (loaded_count === count) { + this.images_loaded = true; + this.enhance('images'); + } + } + + return this; + }, + + update_nodes : function () { + var nodes = this.S('[' + this.data_attr + ']').not('img'), + count = nodes.length, + i = count, + loaded_count = 0, + data_attr = this.data_attr; + + this.cached_nodes = []; + this.nodes_loaded = (count === 0); + + while (i--) { + loaded_count++; + var str = nodes[i].getAttribute(data_attr) || ''; + + if (str.length > 0) { + this.cached_nodes.push(nodes[i]); + } + + if (loaded_count === count) { + this.nodes_loaded = true; + this.enhance('nodes'); + } + } + + return this; + }, + + enhance : function (type) { + var i = this['cached_' + type].length; + + while (i--) { + this.object($(this['cached_' + type][i])); + } + + return $(window).trigger('resize.fndtn.interchange'); + }, + + convert_directive : function (directive) { + + var trimmed = this.trim(directive); + + if (trimmed.length > 0) { + return trimmed; + } + + return 'replace'; + }, + + parse_scenario : function (scenario) { + // This logic had to be made more complex since some users were using commas in the url path + // So we cannot simply just split on a comma + + var directive_match = scenario[0].match(/(.+),\s*(\w+)\s*$/), + // getting the mq has gotten a bit complicated since we started accounting for several use cases + // of URLs. For now we'll continue to match these scenarios, but we may consider having these scenarios + // as nested objects or arrays in F6. + // regex: match everything before close parenthesis for mq + media_query = scenario[1].match(/(.*)\)/); + + if (directive_match) { + var path = directive_match[1], + directive = directive_match[2]; + + } else { + var cached_split = scenario[0].split(/,\s*$/), + path = cached_split[0], + directive = ''; + } + + return [this.trim(path), this.convert_directive(directive), this.trim(media_query[1])]; + }, + + object : function (el) { + var raw_arr = this.parse_data_attr(el), + scenarios = [], + i = raw_arr.length; + + if (i > 0) { + while (i--) { + // split array between comma delimited content and mq + // regex: comma, optional space, open parenthesis + var scenario = raw_arr[i].split(/,\s?\(/); + + if (scenario.length > 1) { + var params = this.parse_scenario(scenario); + scenarios.push(params); + } + } + } + + return this.store(el, scenarios); + }, + + store : function (el, scenarios) { + var uuid = this.random_str(), + current_uuid = el.data(this.add_namespace('uuid', true)); + + if (this.cache[current_uuid]) { + return this.cache[current_uuid]; + } + + el.attr(this.add_namespace('data-uuid'), uuid); + return this.cache[uuid] = scenarios; + }, + + trim : function (str) { + + if (typeof str === 'string') { + return $.trim(str); + } + + return str; + }, + + set_data_attr : function (init) { + if (init) { + if (this.namespace.length > 0) { + return this.namespace + '-' + this.settings.load_attr; + } + + return this.settings.load_attr; + } + + if (this.namespace.length > 0) { + return 'data-' + this.namespace + '-' + this.settings.load_attr; + } + + return 'data-' + this.settings.load_attr; + }, + + parse_data_attr : function (el) { + var raw = el.attr(this.attr_name()).split(/\[(.*?)\]/), + i = raw.length, + output = []; + + while (i--) { + if (raw[i].replace(/[\W\d]+/, '').length > 4) { + output.push(raw[i]); + } + } + + return output; + }, + + reflow : function () { + this.load('images', true); + this.load('nodes', true); + } + + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.joyride.js b/js/foundation/js/foundation/foundation.joyride.js new file mode 100644 index 0000000..f251119 --- /dev/null +++ b/js/foundation/js/foundation/foundation.joyride.js @@ -0,0 +1,935 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + var Modernizr = Modernizr || false; + + Foundation.libs.joyride = { + name : 'joyride', + + version : '5.5.3', + + defaults : { + expose : false, // turn on or off the expose feature + modal : true, // Whether to cover page with modal during the tour + keyboard : true, // enable left, right and esc keystrokes + tip_location : 'bottom', // 'top', 'bottom', 'left' or 'right' in relation to parent + nub_position : 'auto', // override on a per tooltip bases + scroll_speed : 1500, // Page scrolling speed in milliseconds, 0 = no scroll animation + scroll_animation : 'linear', // supports 'swing' and 'linear', extend with jQuery UI. + timer : 0, // 0 = no timer , all other numbers = timer in milliseconds + start_timer_on_click : true, // true or false - true requires clicking the first button start the timer + start_offset : 0, // the index of the tooltip you want to start on (index of the li) + next_button : true, // true or false to control whether a next button is used + prev_button : true, // true or false to control whether a prev button is used + tip_animation : 'fade', // 'pop' or 'fade' in each tip + pause_after : [], // array of indexes where to pause the tour after + exposed : [], // array of expose elements + tip_animation_fade_speed : 300, // when tipAnimation = 'fade' this is speed in milliseconds for the transition + cookie_monster : false, // true or false to control whether cookies are used + cookie_name : 'joyride', // Name the cookie you'll use + cookie_domain : false, // Will this cookie be attached to a domain, ie. '.notableapp.com' + cookie_expires : 365, // set when you would like the cookie to expire. + tip_container : 'body', // Where will the tip be attached + abort_on_close : true, // When true, the close event will not fire any callback + tip_location_patterns : { + top : ['bottom'], + bottom : [], // bottom should not need to be repositioned + left : ['right', 'top', 'bottom'], + right : ['left', 'top', 'bottom'] + }, + post_ride_callback : function () {}, // A method to call once the tour closes (canceled or complete) + post_step_callback : function () {}, // A method to call after each step + pre_step_callback : function () {}, // A method to call before each step + pre_ride_callback : function () {}, // A method to call before the tour starts (passed index, tip, and cloned exposed element) + post_expose_callback : function () {}, // A method to call after an element has been exposed + template : { // HTML segments for tip layout + link : '×', + timer : '
      ', + tip : '
      ', + wrapper : '
      ', + button : '', + prev_button : '', + modal : '
      ', + expose : '
      ', + expose_cover : '
      ' + }, + expose_add_class : '' // One or more space-separated class names to be added to exposed element + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle random_str'); + + this.settings = this.settings || $.extend({}, this.defaults, (options || method)); + + this.bindings(method, options) + }, + + go_next : function () { + if (this.settings.$li.next().length < 1) { + this.end(); + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(); + this.startTimer(); + } else { + this.hide(); + this.show(); + } + }, + + go_prev : function () { + if (this.settings.$li.prev().length < 1) { + // Do nothing if there are no prev element + } else if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + this.hide(); + this.show(null, true); + this.startTimer(); + } else { + this.hide(); + this.show(null, true); + } + }, + + events : function () { + var self = this; + + $(this.scope) + .off('.joyride') + .on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) { + e.preventDefault(); + this.go_next() + }.bind(this)) + .on('click.fndtn.joyride', '.joyride-prev-tip', function (e) { + e.preventDefault(); + this.go_prev(); + }.bind(this)) + + .on('click.fndtn.joyride', '.joyride-close-tip', function (e) { + e.preventDefault(); + this.end(this.settings.abort_on_close); + }.bind(this)) + + .on('keyup.fndtn.joyride', function (e) { + // Don't do anything if keystrokes are disabled + // or if the joyride is not being shown + if (!this.settings.keyboard || !this.settings.riding) { + return; + } + + switch (e.which) { + case 39: // right arrow + e.preventDefault(); + this.go_next(); + break; + case 37: // left arrow + e.preventDefault(); + this.go_prev(); + break; + case 27: // escape + e.preventDefault(); + this.end(this.settings.abort_on_close); + } + }.bind(this)); + + $(window) + .off('.joyride') + .on('resize.fndtn.joyride', self.throttle(function () { + if ($('[' + self.attr_name() + ']').length > 0 && self.settings.$next_tip && self.settings.riding) { + if (self.settings.exposed.length > 0) { + var $els = $(self.settings.exposed); + + $els.each(function () { + var $this = $(this); + self.un_expose($this); + self.expose($this); + }); + } + + if (self.is_phone()) { + self.pos_phone(); + } else { + self.pos_default(false); + } + } + }, 100)); + }, + + start : function () { + var self = this, + $this = $('[' + this.attr_name() + ']', this.scope), + integer_settings = ['timer', 'scrollSpeed', 'startOffset', 'tipAnimationFadeSpeed', 'cookieExpires'], + int_settings_count = integer_settings.length; + + if (!$this.length > 0) { + return; + } + + if (!this.settings.init) { + this.events(); + } + + this.settings = $this.data(this.attr_name(true) + '-init'); + + // non configureable settings + this.settings.$content_el = $this; + this.settings.$body = $(this.settings.tip_container); + this.settings.body_offset = $(this.settings.tip_container).position(); + this.settings.$tip_content = this.settings.$content_el.find('> li'); + this.settings.paused = false; + this.settings.attempts = 0; + this.settings.riding = true; + + // can we create cookies? + if (typeof $.cookie !== 'function') { + this.settings.cookie_monster = false; + } + + // generate the tips and insert into dom. + if (!this.settings.cookie_monster || this.settings.cookie_monster && !$.cookie(this.settings.cookie_name)) { + this.settings.$tip_content.each(function (index) { + var $this = $(this); + this.settings = $.extend({}, self.defaults, self.data_options($this)); + + // Make sure that settings parsed from data_options are integers where necessary + var i = int_settings_count; + while (i--) { + self.settings[integer_settings[i]] = parseInt(self.settings[integer_settings[i]], 10); + } + self.create({$li : $this, index : index}); + }); + + // show first tip + if (!this.settings.start_timer_on_click && this.settings.timer > 0) { + this.show('init'); + this.startTimer(); + } else { + this.show('init'); + } + + } + }, + + resume : function () { + this.set_li(); + this.show(); + }, + + tip_template : function (opts) { + var $blank, content; + + opts.tip_class = opts.tip_class || ''; + + $blank = $(this.settings.template.tip).addClass(opts.tip_class); + content = $.trim($(opts.li).html()) + + this.prev_button_text(opts.prev_button_text, opts.index) + + this.button_text(opts.button_text) + + this.settings.template.link + + this.timer_instance(opts.index); + + $blank.append($(this.settings.template.wrapper)); + $blank.first().attr(this.add_namespace('data-index'), opts.index); + $('.joyride-content-wrapper', $blank).append(content); + + return $blank[0]; + }, + + timer_instance : function (index) { + var txt; + + if ((index === 0 && this.settings.start_timer_on_click && this.settings.timer > 0) || this.settings.timer === 0) { + txt = ''; + } else { + txt = $(this.settings.template.timer)[0].outerHTML; + } + return txt; + }, + + button_text : function (txt) { + if (this.settings.tip_settings.next_button) { + txt = $.trim(txt) || 'Next'; + txt = $(this.settings.template.button).append(txt)[0].outerHTML; + } else { + txt = ''; + } + return txt; + }, + + prev_button_text : function (txt, idx) { + if (this.settings.tip_settings.prev_button) { + txt = $.trim(txt) || 'Previous'; + + // Add the disabled class to the button if it's the first element + if (idx == 0) { + txt = $(this.settings.template.prev_button).append(txt).addClass('disabled')[0].outerHTML; + } else { + txt = $(this.settings.template.prev_button).append(txt)[0].outerHTML; + } + } else { + txt = ''; + } + return txt; + }, + + create : function (opts) { + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(opts.$li)); + var buttonText = opts.$li.attr(this.add_namespace('data-button')) || opts.$li.attr(this.add_namespace('data-text')), + prevButtonText = opts.$li.attr(this.add_namespace('data-button-prev')) || opts.$li.attr(this.add_namespace('data-prev-text')), + tipClass = opts.$li.attr('class'), + $tip_content = $(this.tip_template({ + tip_class : tipClass, + index : opts.index, + button_text : buttonText, + prev_button_text : prevButtonText, + li : opts.$li + })); + + $(this.settings.tip_container).append($tip_content); + }, + + show : function (init, is_prev) { + var $timer = null; + + // are we paused? + if (this.settings.$li === undefined || ($.inArray(this.settings.$li.index(), this.settings.pause_after) === -1)) { + + // don't go to the next li if the tour was paused + if (this.settings.paused) { + this.settings.paused = false; + } else { + this.set_li(init, is_prev); + } + + this.settings.attempts = 0; + + if (this.settings.$li.length && this.settings.$target.length > 0) { + if (init) { //run when we first start + this.settings.pre_ride_callback(this.settings.$li.index(), this.settings.$next_tip); + if (this.settings.modal) { + this.show_modal(); + } + } + + this.settings.pre_step_callback(this.settings.$li.index(), this.settings.$next_tip); + + if (this.settings.modal && this.settings.expose) { + this.expose(); + } + + this.settings.tip_settings = $.extend({}, this.settings, this.data_options(this.settings.$li)); + + this.settings.timer = parseInt(this.settings.timer, 10); + + this.settings.tip_settings.tip_location_pattern = this.settings.tip_location_patterns[this.settings.tip_settings.tip_location]; + + // scroll and hide bg if not modal and not expose + if (!/body/i.test(this.settings.$target.selector) && !this.settings.expose) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (/pop/i.test(this.settings.tipAnimation)) { + joyridemodalbg.hide(); + } else { + joyridemodalbg.fadeOut(this.settings.tipAnimationFadeSpeed); + } + this.scroll_to(); + } + + if (this.is_phone()) { + this.pos_phone(true); + } else { + this.pos_default(true); + } + + $timer = this.settings.$next_tip.find('.joyride-timer-indicator'); + + if (/pop/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip.show(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.show(); + + } + + } else if (/fade/i.test(this.settings.tip_animation)) { + + $timer.width(0); + + if (this.settings.timer > 0) { + + this.settings.$next_tip + .fadeIn(this.settings.tip_animation_fade_speed) + .show(); + + setTimeout(function () { + $timer.animate({ + width : $timer.parent().width() + }, this.settings.timer, 'linear'); + }.bind(this), this.settings.tip_animation_fade_speed); + + } else { + this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed); + } + } + + this.settings.$current_tip = this.settings.$next_tip; + + // skip non-existant targets + } else if (this.settings.$li && this.settings.$target.length < 1) { + + this.show(init, is_prev); + + } else { + + this.end(); + + } + } else { + + this.settings.paused = true; + + } + + }, + + is_phone : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + hide : function () { + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + if (!this.settings.modal) { + $('.joyride-modal-bg').hide(); + } + + // Prevent scroll bouncing...wait to remove from layout + this.settings.$current_tip.css('visibility', 'hidden'); + setTimeout($.proxy(function () { + this.hide(); + this.css('visibility', 'visible'); + }, this.settings.$current_tip), 0); + this.settings.post_step_callback(this.settings.$li.index(), + this.settings.$current_tip); + }, + + set_li : function (init, is_prev) { + if (init) { + this.settings.$li = this.settings.$tip_content.eq(this.settings.start_offset); + this.set_next_tip(); + this.settings.$current_tip = this.settings.$next_tip; + } else { + if (is_prev) { + this.settings.$li = this.settings.$li.prev(); + } else { + this.settings.$li = this.settings.$li.next(); + } + this.set_next_tip(); + } + + this.set_target(); + }, + + set_next_tip : function () { + this.settings.$next_tip = $('.joyride-tip-guide').eq(this.settings.$li.index()); + this.settings.$next_tip.data('closed', ''); + }, + + set_target : function () { + var cl = this.settings.$li.attr(this.add_namespace('data-class')), + id = this.settings.$li.attr(this.add_namespace('data-id')), + $sel = function () { + if (id) { + return $(document.getElementById(id)); + } else if (cl) { + return $('.' + cl).first(); + } else { + return $('body'); + } + }; + + this.settings.$target = $sel(); + }, + + scroll_to : function () { + var window_half, tipOffset; + + window_half = $(window).height() / 2; + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()); + + if (tipOffset != 0) { + $('html, body').stop().animate({ + scrollTop : tipOffset + }, this.settings.scroll_speed, 'swing'); + } + }, + + paused : function () { + return ($.inArray((this.settings.$li.index() + 1), this.settings.pause_after) === -1); + }, + + restart : function () { + this.hide(); + this.settings.$li = undefined; + this.show('init'); + }, + + pos_default : function (init) { + var $nub = this.settings.$next_tip.find('.joyride-nub'), + nub_width = Math.ceil($nub.outerWidth() / 2), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + // tip must not be "display: none" to calculate position + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0, + leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0; + + if (this.bottom()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth() + leftAdjustment}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'top'); + + } else if (this.top()) { + if (this.rtl) { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()}); + } else { + this.settings.$next_tip.css({ + top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment), + left : this.settings.$target.offset().left + leftAdjustment}); + } + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'bottom'); + + } else if (this.right()) { + + this.settings.$next_tip.css({ + top : this.settings.$target.offset().top + topAdjustment, + left : (this.settings.$target.outerWidth() + this.settings.$target.offset().left + nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'left'); + + } else if (this.left()) { + + this.settings.$next_tip.css({ + top : this.settings.$target.offset().top + topAdjustment, + left : (this.settings.$target.offset().left - this.settings.$next_tip.outerWidth() - nub_width + leftAdjustment)}); + + this.nub_position($nub, this.settings.tip_settings.nub_position, 'right'); + + } + + if (!this.visible(this.corners(this.settings.$next_tip)) && this.settings.attempts < this.settings.tip_settings.tip_location_pattern.length) { + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + this.settings.tip_settings.tip_location = this.settings.tip_settings.tip_location_pattern[this.settings.attempts]; + + this.settings.attempts++; + + this.pos_default(); + + } + + } else if (this.settings.$li.length) { + + this.pos_modal($nub); + + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + + }, + + pos_phone : function (init) { + var tip_height = this.settings.$next_tip.outerHeight(), + tip_offset = this.settings.$next_tip.offset(), + target_height = this.settings.$target.outerHeight(), + $nub = $('.joyride-nub', this.settings.$next_tip), + nub_height = Math.ceil($nub.outerHeight() / 2), + toggle = init || false; + + $nub.removeClass('bottom') + .removeClass('top') + .removeClass('right') + .removeClass('left'); + + if (toggle) { + this.settings.$next_tip.css('visibility', 'hidden'); + this.settings.$next_tip.show(); + } + + if (!/body/i.test(this.settings.$target.selector)) { + + if (this.top()) { + + this.settings.$next_tip.offset({top : this.settings.$target.offset().top - tip_height - nub_height}); + $nub.addClass('bottom'); + + } else { + + this.settings.$next_tip.offset({top : this.settings.$target.offset().top + target_height + nub_height}); + $nub.addClass('top'); + + } + + } else if (this.settings.$li.length) { + this.pos_modal($nub); + } + + if (toggle) { + this.settings.$next_tip.hide(); + this.settings.$next_tip.css('visibility', 'visible'); + } + }, + + pos_modal : function ($nub) { + this.center(); + $nub.hide(); + + this.show_modal(); + }, + + show_modal : function () { + if (!this.settings.$next_tip.data('closed')) { + var joyridemodalbg = $('.joyride-modal-bg'); + if (joyridemodalbg.length < 1) { + var joyridemodalbg = $(this.settings.template.modal); + joyridemodalbg.appendTo('body'); + } + + if (/pop/i.test(this.settings.tip_animation)) { + joyridemodalbg.show(); + } else { + joyridemodalbg.fadeIn(this.settings.tip_animation_fade_speed); + } + } + }, + + expose : function () { + var expose, + exposeCover, + el, + origCSS, + origClasses, + randId = 'expose-' + this.random_str(6); + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) { + el = this.settings.$target; + } else { + return false; + } + + if (el.length < 1) { + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + expose = $(this.settings.template.expose); + this.settings.$body.append(expose); + expose.css({ + top : el.offset().top, + left : el.offset().left, + width : el.outerWidth(true), + height : el.outerHeight(true) + }); + + exposeCover = $(this.settings.template.expose_cover); + + origCSS = { + zIndex : el.css('z-index'), + position : el.css('position') + }; + + origClasses = el.attr('class') == null ? '' : el.attr('class'); + + el.css('z-index', parseInt(expose.css('z-index')) + 1); + + if (origCSS.position == 'static') { + el.css('position', 'relative'); + } + + el.data('expose-css', origCSS); + el.data('orig-class', origClasses); + el.attr('class', origClasses + ' ' + this.settings.expose_add_class); + + exposeCover.css({ + top : el.offset().top, + left : el.offset().left, + width : el.outerWidth(true), + height : el.outerHeight(true) + }); + + if (this.settings.modal) { + this.show_modal(); + } + + this.settings.$body.append(exposeCover); + expose.addClass(randId); + exposeCover.addClass(randId); + el.data('expose', randId); + this.settings.post_expose_callback(this.settings.$li.index(), this.settings.$next_tip, el); + this.add_exposed(el); + }, + + un_expose : function () { + var exposeId, + el, + expose, + origCSS, + origClasses, + clearAll = false; + + if (arguments.length > 0 && arguments[0] instanceof $) { + el = arguments[0]; + } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) { + el = this.settings.$target; + } else { + return false; + } + + if (el.length < 1) { + if (window.console) { + console.error('element not valid', el); + } + return false; + } + + exposeId = el.data('expose'); + expose = $('.' + exposeId); + + if (arguments.length > 1) { + clearAll = arguments[1]; + } + + if (clearAll === true) { + $('.joyride-expose-wrapper,.joyride-expose-cover').remove(); + } else { + expose.remove(); + } + + origCSS = el.data('expose-css'); + + if (origCSS.zIndex == 'auto') { + el.css('z-index', ''); + } else { + el.css('z-index', origCSS.zIndex); + } + + if (origCSS.position != el.css('position')) { + if (origCSS.position == 'static') {// this is default, no need to set it. + el.css('position', ''); + } else { + el.css('position', origCSS.position); + } + } + + origClasses = el.data('orig-class'); + el.attr('class', origClasses); + el.removeData('orig-classes'); + + el.removeData('expose'); + el.removeData('expose-z-index'); + this.remove_exposed(el); + }, + + add_exposed : function (el) { + this.settings.exposed = this.settings.exposed || []; + if (el instanceof $ || typeof el === 'object') { + this.settings.exposed.push(el[0]); + } else if (typeof el == 'string') { + this.settings.exposed.push(el); + } + }, + + remove_exposed : function (el) { + var search, i; + if (el instanceof $) { + search = el[0] + } else if (typeof el == 'string') { + search = el; + } + + this.settings.exposed = this.settings.exposed || []; + i = this.settings.exposed.length; + + while (i--) { + if (this.settings.exposed[i] == search) { + this.settings.exposed.splice(i, 1); + return; + } + } + }, + + center : function () { + var $w = $(window); + + this.settings.$next_tip.css({ + top : ((($w.height() - this.settings.$next_tip.outerHeight()) / 2) + $w.scrollTop()), + left : ((($w.width() - this.settings.$next_tip.outerWidth()) / 2) + $w.scrollLeft()) + }); + + return true; + }, + + bottom : function () { + return /bottom/i.test(this.settings.tip_settings.tip_location); + }, + + top : function () { + return /top/i.test(this.settings.tip_settings.tip_location); + }, + + right : function () { + return /right/i.test(this.settings.tip_settings.tip_location); + }, + + left : function () { + return /left/i.test(this.settings.tip_settings.tip_location); + }, + + corners : function (el) { + if (el.length === 0) { + return [false, false, false, false]; + } + + var w = $(window), + window_half = w.height() / 2, + //using this to calculate since scroll may not have finished yet. + tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()), + right = w.width() + w.scrollLeft(), + offsetBottom = w.height() + tipOffset, + bottom = w.height() + w.scrollTop(), + top = w.scrollTop(); + + if (tipOffset < top) { + if (tipOffset < 0) { + top = 0; + } else { + top = tipOffset; + } + } + + if (offsetBottom > bottom) { + bottom = offsetBottom; + } + + return [ + el.offset().top < top, + right < el.offset().left + el.outerWidth(), + bottom < el.offset().top + el.outerHeight(), + w.scrollLeft() > el.offset().left + ]; + }, + + visible : function (hidden_corners) { + var i = hidden_corners.length; + + while (i--) { + if (hidden_corners[i]) { + return false; + } + } + + return true; + }, + + nub_position : function (nub, pos, def) { + if (pos === 'auto') { + nub.addClass(def); + } else { + nub.addClass(pos); + } + }, + + startTimer : function () { + if (this.settings.$li.length) { + this.settings.automate = setTimeout(function () { + this.hide(); + this.show(); + this.startTimer(); + }.bind(this), this.settings.timer); + } else { + clearTimeout(this.settings.automate); + } + }, + + end : function (abort) { + if (this.settings.cookie_monster) { + $.cookie(this.settings.cookie_name, 'ridden', {expires : this.settings.cookie_expires, domain : this.settings.cookie_domain}); + } + + if (this.settings.timer > 0) { + clearTimeout(this.settings.automate); + } + + if (this.settings.modal && this.settings.expose) { + this.un_expose(); + } + + // Unplug keystrokes listener + $(this.scope).off('keyup.joyride') + + this.settings.$next_tip.data('closed', true); + this.settings.riding = false; + + $('.joyride-modal-bg').hide(); + this.settings.$current_tip.hide(); + + if (typeof abort === 'undefined' || abort === false) { + this.settings.post_step_callback(this.settings.$li.index(), this.settings.$current_tip); + this.settings.post_ride_callback(this.settings.$li.index(), this.settings.$current_tip); + } + + $('.joyride-tip-guide').remove(); + }, + + off : function () { + $(this.scope).off('.joyride'); + $(window).off('.joyride'); + $('.joyride-close-tip, .joyride-next-tip, .joyride-modal-bg').off('.joyride'); + $('.joyride-tip-guide, .joyride-modal-bg').remove(); + clearTimeout(this.settings.automate); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.js b/js/foundation/js/foundation/foundation.js new file mode 100644 index 0000000..c5a359d --- /dev/null +++ b/js/foundation/js/foundation/foundation.js @@ -0,0 +1,732 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2015, ZURB + * Free to use under the MIT license. + * http://www.opensource.org/licenses/mit-license.php +*/ + +(function ($, window, document, undefined) { + 'use strict'; + + var header_helpers = function (class_array) { + var head = $('head'); + head.prepend($.map(class_array, function (class_name) { + if (head.has('.' + class_name).length === 0) { + return ''; + } + })); + }; + + header_helpers([ + 'foundation-mq-small', + 'foundation-mq-small-only', + 'foundation-mq-medium', + 'foundation-mq-medium-only', + 'foundation-mq-large', + 'foundation-mq-large-only', + 'foundation-mq-xlarge', + 'foundation-mq-xlarge-only', + 'foundation-mq-xxlarge', + 'foundation-data-attribute-namespace']); + + // Enable FastClick if present + + $(function () { + if (typeof FastClick !== 'undefined') { + // Don't attach to body if undefined + if (typeof document.body !== 'undefined') { + FastClick.attach(document.body); + } + } + }); + + // private Fast Selector wrapper, + // returns jQuery object. Only use where + // getElementById is not available. + var S = function (selector, context) { + if (typeof selector === 'string') { + if (context) { + var cont; + if (context.jquery) { + cont = context[0]; + if (!cont) { + return context; + } + } else { + cont = context; + } + return $(cont.querySelectorAll(selector)); + } + + return $(document.querySelectorAll(selector)); + } + + return $(selector, context); + }; + + // Namespace functions. + + var attr_name = function (init) { + var arr = []; + if (!init) { + arr.push('data'); + } + if (this.namespace.length > 0) { + arr.push(this.namespace); + } + arr.push(this.name); + + return arr.join('-'); + }; + + var add_namespace = function (str) { + var parts = str.split('-'), + i = parts.length, + arr = []; + + while (i--) { + if (i !== 0) { + arr.push(parts[i]); + } else { + if (this.namespace.length > 0) { + arr.push(this.namespace, parts[i]); + } else { + arr.push(parts[i]); + } + } + } + + return arr.reverse().join('-'); + }; + + // Event binding and data-options updating. + + var bindings = function (method, options) { + var self = this, + bind = function(){ + var $this = S(this), + should_bind_events = !$this.data(self.attr_name(true) + '-init'); + $this.data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options($this))); + + if (should_bind_events) { + self.events(this); + } + }; + + if (S(this.scope).is('[' + this.attr_name() +']')) { + bind.call(this.scope); + } else { + S('[' + this.attr_name() +']', this.scope).each(bind); + } + // # Patch to fix #5043 to move this *after* the if/else clause in order for Backbone and similar frameworks to have improved control over event binding and data-options updating. + if (typeof method === 'string') { + return this[method].call(this, options); + } + + }; + + var single_image_loaded = function (image, callback) { + function loaded () { + callback(image[0]); + } + + function bindLoad () { + this.one('load', loaded); + + if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { + var src = this.attr( 'src' ), + param = src.match( /\?/ ) ? '&' : '?'; + + param += 'random=' + (new Date()).getTime(); + this.attr('src', src + param); + } + } + + if (!image.attr('src')) { + loaded(); + return; + } + + if (image[0].complete || image[0].readyState === 4) { + loaded(); + } else { + bindLoad.call(image); + } + }; + + /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */ + + window.matchMedia || (window.matchMedia = function() { + "use strict"; + + // For browsers that support matchMedium api such as IE 9 and webkit + var styleMedia = (window.styleMedia || window.media); + + // For those that don't support matchMedium + if (!styleMedia) { + var style = document.createElement('style'), + script = document.getElementsByTagName('script')[0], + info = null; + + style.type = 'text/css'; + style.id = 'matchmediajs-test'; + + script.parentNode.insertBefore(style, script); + + // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers + info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle; + + styleMedia = { + matchMedium: function(media) { + var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; + + // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers + if (style.styleSheet) { + style.styleSheet.cssText = text; + } else { + style.textContent = text; + } + + // Test if media query is true or false + return info.width === '1px'; + } + }; + } + + return function(media) { + return { + matches: styleMedia.matchMedium(media || 'all'), + media: media || 'all' + }; + }; + }()); + + /* + * jquery.requestAnimationFrame + * https://github.com/gnarf37/jquery-requestAnimationFrame + * Requires jQuery 1.8+ + * + * Copyright (c) 2012 Corey Frang + * Licensed under the MIT license. + */ + + (function(jQuery) { + + + // requestAnimationFrame polyfill adapted from Erik Möller + // fixes from Paul Irish and Tino Zijdel + // http://paulirish.com/2011/requestanimationframe-for-smart-animating/ + // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating + + var animating, + lastTime = 0, + vendors = ['webkit', 'moz'], + requestAnimationFrame = window.requestAnimationFrame, + cancelAnimationFrame = window.cancelAnimationFrame, + jqueryFxAvailable = 'undefined' !== typeof jQuery.fx; + + for (; lastTime < vendors.length && !requestAnimationFrame; lastTime++) { + requestAnimationFrame = window[ vendors[lastTime] + 'RequestAnimationFrame' ]; + cancelAnimationFrame = cancelAnimationFrame || + window[ vendors[lastTime] + 'CancelAnimationFrame' ] || + window[ vendors[lastTime] + 'CancelRequestAnimationFrame' ]; + } + + function raf() { + if (animating) { + requestAnimationFrame(raf); + + if (jqueryFxAvailable) { + jQuery.fx.tick(); + } + } + } + + if (requestAnimationFrame) { + // use rAF + window.requestAnimationFrame = requestAnimationFrame; + window.cancelAnimationFrame = cancelAnimationFrame; + + if (jqueryFxAvailable) { + jQuery.fx.timer = function (timer) { + if (timer() && jQuery.timers.push(timer) && !animating) { + animating = true; + raf(); + } + }; + + jQuery.fx.stop = function () { + animating = false; + }; + } + } else { + // polyfill + window.requestAnimationFrame = function (callback) { + var currTime = new Date().getTime(), + timeToCall = Math.max(0, 16 - (currTime - lastTime)), + id = window.setTimeout(function () { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + + window.cancelAnimationFrame = function (id) { + clearTimeout(id); + }; + + } + + }( $ )); + + function removeQuotes (string) { + if (typeof string === 'string' || string instanceof String) { + string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, ''); + } + + return string; + } + + function MediaQuery(selector) { + this.selector = selector; + this.query = ''; + } + + MediaQuery.prototype.toString = function () { + return this.query || (this.query = S(this.selector).css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')); + }; + + window.Foundation = { + name : 'Foundation', + + version : '5.5.3', + + media_queries : { + 'small' : new MediaQuery('.foundation-mq-small'), + 'small-only' : new MediaQuery('.foundation-mq-small-only'), + 'medium' : new MediaQuery('.foundation-mq-medium'), + 'medium-only' : new MediaQuery('.foundation-mq-medium-only'), + 'large' : new MediaQuery('.foundation-mq-large'), + 'large-only' : new MediaQuery('.foundation-mq-large-only'), + 'xlarge' : new MediaQuery('.foundation-mq-xlarge'), + 'xlarge-only' : new MediaQuery('.foundation-mq-xlarge-only'), + 'xxlarge' : new MediaQuery('.foundation-mq-xxlarge') + }, + + stylesheet : $('').appendTo('head')[0].sheet, + + global : { + namespace : undefined + }, + + init : function (scope, libraries, method, options, response) { + var args = [scope, method, options, response], + responses = []; + + // check RTL + this.rtl = /rtl/i.test(S('html').attr('dir')); + + // set foundation global scope + this.scope = scope || this.scope; + + this.set_namespace(); + + if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) { + if (this.libs.hasOwnProperty(libraries)) { + responses.push(this.init_lib(libraries, args)); + } + } else { + for (var lib in this.libs) { + responses.push(this.init_lib(lib, libraries)); + } + } + + S(window).load(function () { + S(window) + .trigger('resize.fndtn.clearing') + .trigger('resize.fndtn.dropdown') + .trigger('resize.fndtn.equalizer') + .trigger('resize.fndtn.interchange') + .trigger('resize.fndtn.joyride') + .trigger('resize.fndtn.magellan') + .trigger('resize.fndtn.topbar') + .trigger('resize.fndtn.slider'); + }); + + return scope; + }, + + init_lib : function (lib, args) { + if (this.libs.hasOwnProperty(lib)) { + this.patch(this.libs[lib]); + + if (args && args.hasOwnProperty(lib)) { + if (typeof this.libs[lib].settings !== 'undefined') { + $.extend(true, this.libs[lib].settings, args[lib]); + } else if (typeof this.libs[lib].defaults !== 'undefined') { + $.extend(true, this.libs[lib].defaults, args[lib]); + } + return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]); + } + + args = args instanceof Array ? args : new Array(args); + return this.libs[lib].init.apply(this.libs[lib], args); + } + + return function () {}; + }, + + patch : function (lib) { + lib.scope = this.scope; + lib.namespace = this.global.namespace; + lib.rtl = this.rtl; + lib['data_options'] = this.utils.data_options; + lib['attr_name'] = attr_name; + lib['add_namespace'] = add_namespace; + lib['bindings'] = bindings; + lib['S'] = this.utils.S; + }, + + inherit : function (scope, methods) { + var methods_arr = methods.split(' '), + i = methods_arr.length; + + while (i--) { + if (this.utils.hasOwnProperty(methods_arr[i])) { + scope[methods_arr[i]] = this.utils[methods_arr[i]]; + } + } + }, + + set_namespace : function () { + + // Description: + // Don't bother reading the namespace out of the meta tag + // if the namespace has been set globally in javascript + // + // Example: + // Foundation.global.namespace = 'my-namespace'; + // or make it an empty string: + // Foundation.global.namespace = ''; + // + // + + // If the namespace has not been set (is undefined), try to read it out of the meta element. + // Otherwise use the globally defined namespace, even if it's empty ('') + var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace; + + // Finally, if the namsepace is either undefined or false, set it to an empty string. + // Otherwise use the namespace value. + this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace; + }, + + libs : {}, + + // methods that can be inherited in libraries + utils : { + + // Description: + // Fast Selector wrapper returns jQuery object. Only use where getElementById + // is not available. + // + // Arguments: + // Selector (String): CSS selector describing the element(s) to be + // returned as a jQuery object. + // + // Scope (String): CSS selector describing the area to be searched. Default + // is document. + // + // Returns: + // Element (jQuery Object): jQuery object containing elements matching the + // selector within the scope. + S : S, + + // Description: + // Executes a function a max of once every n milliseconds + // + // Arguments: + // Func (Function): Function to be throttled. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Returns: + // Lazy_function (Function): Function with throttling applied. + throttle : function (func, delay) { + var timer = null; + + return function () { + var context = this, args = arguments; + + if (timer == null) { + timer = setTimeout(function () { + func.apply(context, args); + timer = null; + }, delay); + } + }; + }, + + // Description: + // Executes a function when it stops being invoked for n seconds + // Modified version of _.debounce() http://underscorejs.org + // + // Arguments: + // Func (Function): Function to be debounced. + // + // Delay (Integer): Function execution threshold in milliseconds. + // + // Immediate (Bool): Whether the function should be called at the beginning + // of the delay instead of the end. Default is false. + // + // Returns: + // Lazy_function (Function): Function with debouncing applied. + debounce : function (func, delay, immediate) { + var timeout, result; + return function () { + var context = this, args = arguments; + var later = function () { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + } + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, delay); + if (callNow) { + result = func.apply(context, args); + } + return result; + }; + }, + + // Description: + // Parses data-options attribute + // + // Arguments: + // El (jQuery Object): Element to be parsed. + // + // Returns: + // Options (Javascript Object): Contents of the element's data-options + // attribute. + data_options : function (el, data_attr_name) { + data_attr_name = data_attr_name || 'options'; + var opts = {}, ii, p, opts_arr, + data_options = function (el) { + var namespace = Foundation.global.namespace; + + if (namespace.length > 0) { + return el.data(namespace + '-' + data_attr_name); + } + + return el.data(data_attr_name); + }; + + var cached_options = data_options(el); + + if (typeof cached_options === 'object') { + return cached_options; + } + + opts_arr = (cached_options || ':').split(';'); + ii = opts_arr.length; + + function isNumber (o) { + return !isNaN (o - 0) && o !== null && o !== '' && o !== false && o !== true; + } + + function trim (str) { + if (typeof str === 'string') { + return $.trim(str); + } + return str; + } + + while (ii--) { + p = opts_arr[ii].split(':'); + p = [p[0], p.slice(1).join(':')]; + + if (/true/i.test(p[1])) { + p[1] = true; + } + if (/false/i.test(p[1])) { + p[1] = false; + } + if (isNumber(p[1])) { + if (p[1].indexOf('.') === -1) { + p[1] = parseInt(p[1], 10); + } else { + p[1] = parseFloat(p[1]); + } + } + + if (p.length === 2 && p[0].length > 0) { + opts[trim(p[0])] = trim(p[1]); + } + } + + return opts; + }, + + // Description: + // Adds JS-recognizable media queries + // + // Arguments: + // Media (String): Key string for the media query to be stored as in + // Foundation.media_queries + // + // Class (String): Class name for the generated tag + register_media : function (media, media_class) { + if (Foundation.media_queries[media] === undefined) { + $('head').append(''); + Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family')); + } + }, + + // Description: + // Add custom CSS within a JS-defined media query + // + // Arguments: + // Rule (String): CSS rule to be appended to the document. + // + // Media (String): Optional media query string for the CSS rule to be + // nested under. + add_custom_rule : function (rule, media) { + if (media === undefined && Foundation.stylesheet) { + Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length); + } else { + var query = Foundation.media_queries[media]; + + if (query !== undefined) { + Foundation.stylesheet.insertRule('@media ' + + Foundation.media_queries[media] + '{ ' + rule + ' }', Foundation.stylesheet.cssRules.length); + } + } + }, + + // Description: + // Performs a callback function when an image is fully loaded + // + // Arguments: + // Image (jQuery Object): Image(s) to check if loaded. + // + // Callback (Function): Function to execute when image is fully loaded. + image_loaded : function (images, callback) { + var self = this, + unloaded = images.length; + + function pictures_has_height(images) { + var pictures_number = images.length; + + for (var i = pictures_number - 1; i >= 0; i--) { + if(images.attr('height') === undefined) { + return false; + }; + }; + + return true; + } + + if (unloaded === 0 || pictures_has_height(images)) { + callback(images); + } + + images.each(function () { + single_image_loaded(self.S(this), function () { + unloaded -= 1; + if (unloaded === 0) { + callback(images); + } + }); + }); + }, + + // Description: + // Returns a random, alphanumeric string + // + // Arguments: + // Length (Integer): Length of string to be generated. Defaults to random + // integer. + // + // Returns: + // Rand (String): Pseudo-random, alphanumeric string. + random_str : function () { + if (!this.fidx) { + this.fidx = 0; + } + this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-'); + + return this.prefix + (this.fidx++).toString(36); + }, + + // Description: + // Helper for window.matchMedia + // + // Arguments: + // mq (String): Media query + // + // Returns: + // (Boolean): Whether the media query passes or not + match : function (mq) { + return window.matchMedia(mq).matches; + }, + + // Description: + // Helpers for checking Foundation default media queries with JS + // + // Returns: + // (Boolean): Whether the media query passes or not + + is_small_up : function () { + return this.match(Foundation.media_queries.small); + }, + + is_medium_up : function () { + return this.match(Foundation.media_queries.medium); + }, + + is_large_up : function () { + return this.match(Foundation.media_queries.large); + }, + + is_xlarge_up : function () { + return this.match(Foundation.media_queries.xlarge); + }, + + is_xxlarge_up : function () { + return this.match(Foundation.media_queries.xxlarge); + }, + + is_small_only : function () { + return !this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_medium_only : function () { + return this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_large_only : function () { + return this.is_medium_up() && this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_xlarge_only : function () { + return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && !this.is_xxlarge_up(); + }, + + is_xxlarge_only : function () { + return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && this.is_xxlarge_up(); + } + } + }; + + $.fn.foundation = function () { + var args = Array.prototype.slice.call(arguments, 0); + + return this.each(function () { + Foundation.init.apply(Foundation, [this].concat(args)); + return this; + }); + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.magellan.js b/js/foundation/js/foundation/foundation.magellan.js new file mode 100644 index 0000000..aac36a7 --- /dev/null +++ b/js/foundation/js/foundation/foundation.magellan.js @@ -0,0 +1,214 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs['magellan-expedition'] = { + name : 'magellan-expedition', + + version : '5.5.3', + + settings : { + active_class : 'active', + threshold : 0, // pixels from the top of the expedition for it to become fixes + destination_threshold : 20, // pixels from the top of destination for it to be considered active + throttle_delay : 30, // calculation throttling to increase framerate + fixed_top : 0, // top distance in pixels assigend to the fixed element on scroll + offset_by_height : true, // whether to offset the destination by the expedition height. Usually you want this to be true, unless your expedition is on the side. + duration : 700, // animation duration time + easing : 'swing' // animation easing + }, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + settings = self.settings; + + // initialize expedition offset + self.set_expedition_position(); + + S(self.scope) + .off('.magellan') + .on('click.fndtn.magellan', '[' + self.add_namespace('data-magellan-arrival') + '] a[href*=#]', function (e) { + var sameHost = ((this.hostname === location.hostname) || !this.hostname), + samePath = self.filterPathname(location.pathname) === self.filterPathname(this.pathname), + testHash = this.hash.replace(/(:|\.|\/)/g, '\\$1'), + anchor = this; + + if (sameHost && samePath && testHash) { + e.preventDefault(); + var expedition = $(this).closest('[' + self.attr_name() + ']'), + settings = expedition.data('magellan-expedition-init'), + hash = this.hash.split('#').join(''), + target = $('a[name="' + hash + '"]'); + + if (target.length === 0) { + target = $('#' + hash); + + } + + // Account for expedition height if fixed position + var scroll_top = target.offset().top - settings.destination_threshold + 1; + if (settings.offset_by_height) { + scroll_top = scroll_top - expedition.outerHeight(); + } + $('html, body').stop().animate({ + 'scrollTop' : scroll_top + }, settings.duration, settings.easing, function () { + if (history.pushState) { + history.pushState(null, null, anchor.pathname + anchor.search + '#' + hash); + } else { + location.hash = anchor.pathname + anchor.search + '#' + hash; + } + }); + } + }) + .on('scroll.fndtn.magellan', self.throttle(this.check_for_arrivals.bind(this), settings.throttle_delay)); + }, + + check_for_arrivals : function () { + var self = this; + self.update_arrivals(); + self.update_expedition_positions(); + }, + + set_expedition_position : function () { + var self = this; + $('[' + this.attr_name() + '=fixed]', self.scope).each(function (idx, el) { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('styles'), // save styles + top_offset, fixed_top; + + expedition.attr('style', ''); + top_offset = expedition.offset().top + settings.threshold; + + //set fixed-top by attribute + fixed_top = parseInt(expedition.data('magellan-fixed-top')); + if (!isNaN(fixed_top)) { + self.settings.fixed_top = fixed_top; + } + + expedition.data(self.data_attr('magellan-top-offset'), top_offset); + expedition.attr('style', styles); + }); + }, + + update_expedition_positions : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + '=fixed]', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data('magellan-expedition-init'), + styles = expedition.attr('style'), // save styles + top_offset = expedition.data('magellan-top-offset'); + + //scroll to the top distance + if (window_top_offset + self.settings.fixed_top >= top_offset) { + // Placeholder allows height calculations to be consistent even when + // appearing to switch between fixed/non-fixed placement + var placeholder = expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']'); + if (placeholder.length === 0) { + placeholder = expedition.clone(); + placeholder.removeAttr(self.attr_name()); + placeholder.attr(self.add_namespace('data-magellan-expedition-clone'), ''); + expedition.before(placeholder); + } + expedition.css({position :'fixed', top : settings.fixed_top}).addClass('fixed'); + } else { + expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']').remove(); + expedition.attr('style', styles).css('position', '').css('top', '').removeClass('fixed'); + } + }); + }, + + update_arrivals : function () { + var self = this, + window_top_offset = $(window).scrollTop(); + + $('[' + this.attr_name() + ']', self.scope).each(function () { + var expedition = $(this), + settings = expedition.data(self.attr_name(true) + '-init'), + offsets = self.offsets(expedition, window_top_offset), + arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'), + active_item = false; + offsets.each(function (idx, item) { + if (item.viewport_offset >= item.top_offset) { + var arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'); + arrivals.not(item.arrival).removeClass(settings.active_class); + item.arrival.addClass(settings.active_class); + active_item = true; + return true; + } + }); + + if (!active_item) { + arrivals.removeClass(settings.active_class); + } + }); + }, + + offsets : function (expedition, window_offset) { + var self = this, + settings = expedition.data(self.attr_name(true) + '-init'), + viewport_offset = window_offset; + + return expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']').map(function (idx, el) { + var name = $(this).data(self.data_attr('magellan-arrival')), + dest = $('[' + self.add_namespace('data-magellan-destination') + '=' + name + ']'); + if (dest.length > 0) { + var top_offset = dest.offset().top - settings.destination_threshold; + if (settings.offset_by_height) { + top_offset = top_offset - expedition.outerHeight(); + } + top_offset = Math.floor(top_offset); + return { + destination : dest, + arrival : $(this), + top_offset : top_offset, + viewport_offset : viewport_offset + } + } + }).sort(function (a, b) { + if (a.top_offset < b.top_offset) { + return -1; + } + if (a.top_offset > b.top_offset) { + return 1; + } + return 0; + }); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () { + this.S(this.scope).off('.magellan'); + this.S(window).off('.magellan'); + }, + + filterPathname : function (pathname) { + pathname = pathname || ''; + return pathname + .replace(/^\//,'') + .replace(/(?:index|default).[a-zA-Z]{3,4}$/,'') + .replace(/\/$/,''); + }, + + reflow : function () { + var self = this; + // remove placeholder expeditions used for height calculation purposes + $('[' + self.add_namespace('data-magellan-expedition-clone') + ']', self.scope).remove(); + } + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.offcanvas.js b/js/foundation/js/foundation/foundation.offcanvas.js new file mode 100644 index 0000000..685e9a0 --- /dev/null +++ b/js/foundation/js/foundation/foundation.offcanvas.js @@ -0,0 +1,225 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.offcanvas = { + name : 'offcanvas', + + version : '5.5.3', + + settings : { + open_method : 'move', + close_on_click : false + }, + + init : function (scope, method, options) { + this.bindings(method, options); + }, + + events : function () { + var self = this, + S = self.S, + move_class = '', + right_postfix = '', + left_postfix = '', + top_postfix = '', + bottom_postfix = ''; + + if (this.settings.open_method === 'move') { + move_class = 'move-'; + right_postfix = 'right'; + left_postfix = 'left'; + top_postfix = 'top'; + bottom_postfix = 'bottom'; + } else if (this.settings.open_method === 'overlap_single') { + move_class = 'offcanvas-overlap-'; + right_postfix = 'right'; + left_postfix = 'left'; + top_postfix = 'top'; + bottom_postfix = 'bottom'; + } else if (this.settings.open_method === 'overlap') { + move_class = 'offcanvas-overlap'; + } + + S(this.scope).off('.offcanvas') + .on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + right_postfix); + if (self.settings.open_method !== 'overlap') { + S('.left-submenu').removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + right_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + right_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.left-submenu').toggleClass(move_class + right_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + right_postfix); + } + $('.left-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of left canvas + .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + left_postfix); + if (self.settings.open_method !== 'overlap') { + S('.right-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + left_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + left_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.right-submenu').toggleClass(move_class + left_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of right canvas + .on('click.fndtn.offcanvas', '.top-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + bottom_postfix); + if (self.settings.open_method !== 'overlap') { + S('.top-submenu').removeClass(move_class + bottom_postfix); + } + $('.top-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.top-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + bottom_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + bottom_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.top-submenu').toggleClass(move_class + bottom_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + bottom_postfix); + } + $('.top-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of top canvas + .on('click.fndtn.offcanvas', '.bottom-off-canvas-toggle', function (e) { + self.click_toggle_class(e, move_class + top_postfix); + if (self.settings.open_method !== 'overlap') { + S('.bottom-submenu').removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.bottom-off-canvas-menu a', function (e) { + var settings = self.get_settings(e); + var parent = S(this).parent(); + + if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) { + self.hide.call(self, move_class + top_postfix, self.get_wrapper(e)); + parent.parent().removeClass(move_class + top_postfix); + } else if (S(this).parent().hasClass('has-submenu')) { + e.preventDefault(); + S(this).siblings('.bottom-submenu').toggleClass(move_class + top_postfix); + } else if (parent.hasClass('back')) { + e.preventDefault(); + parent.parent().removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + //end of bottom + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + S('.right-submenu').removeClass(move_class + left_postfix); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + S('.left-submenu').removeClass(move_class + left_postfix); + } + $('.right-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + left_postfix); + $('.left-off-canvas-toggle').attr('aria-expanded', 'false'); + if (right_postfix) { + self.click_remove_class(e, move_class + right_postfix); + $('.right-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + top_postfix); + S('.bottom-submenu').removeClass(move_class + top_postfix); + if (bottom_postfix) { + self.click_remove_class(e, move_class + bottom_postfix); + S('.top-submenu').removeClass(move_class + top_postfix); + } + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'true'); + }) + .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { + self.click_remove_class(e, move_class + top_postfix); + $('.top-off-canvas-toggle').attr('aria-expanded', 'false'); + if (bottom_postfix) { + self.click_remove_class(e, move_class + bottom_postfix); + $('.bottom-off-canvas-toggle').attr('aria-expanded', 'false'); + } + }); + }, + + toggle : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + if ($off_canvas.is('.' + class_name)) { + this.hide(class_name, $off_canvas); + } else { + this.show(class_name, $off_canvas); + } + }, + + show : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('open.fndtn.offcanvas'); + $off_canvas.addClass(class_name); + }, + + hide : function (class_name, $off_canvas) { + $off_canvas = $off_canvas || this.get_wrapper(); + $off_canvas.trigger('close.fndtn.offcanvas'); + $off_canvas.removeClass(class_name); + }, + + click_toggle_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.toggle(class_name, $off_canvas); + }, + + click_remove_class : function (e, class_name) { + e.preventDefault(); + var $off_canvas = this.get_wrapper(e); + this.hide(class_name, $off_canvas); + }, + + get_settings : function (e) { + var offcanvas = this.S(e.target).closest('[' + this.attr_name() + ']'); + return offcanvas.data(this.attr_name(true) + '-init') || this.settings; + }, + + get_wrapper : function (e) { + var $off_canvas = this.S(e ? e.target : this.scope).closest('.off-canvas-wrap'); + + if ($off_canvas.length === 0) { + $off_canvas = this.S('.off-canvas-wrap'); + } + return $off_canvas; + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.orbit.js b/js/foundation/js/foundation/foundation.orbit.js new file mode 100644 index 0000000..d88bb46 --- /dev/null +++ b/js/foundation/js/foundation/foundation.orbit.js @@ -0,0 +1,476 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + var noop = function () {}; + + var Orbit = function (el, settings) { + // Don't reinitialize plugin + if (el.hasClass(settings.slides_container_class)) { + return this; + } + + var self = this, + container, + slides_container = el, + number_container, + bullets_container, + timer_container, + idx = 0, + animate, + timer, + locked = false, + adjust_height_after = false; + + self.slides = function () { + return slides_container.children(settings.slide_selector); + }; + + self.slides().first().addClass(settings.active_slide_class); + + self.update_slide_number = function (index) { + if (settings.slide_number) { + number_container.find('span:first').text(parseInt(index) + 1); + number_container.find('span:last').text(self.slides().length); + } + if (settings.bullets) { + bullets_container.children().removeClass(settings.bullets_active_class); + $(bullets_container.children().get(index)).addClass(settings.bullets_active_class); + } + }; + + self.update_active_link = function (index) { + var link = $('[data-orbit-link="' + self.slides().eq(index).attr('data-orbit-slide') + '"]'); + link.siblings().removeClass(settings.bullets_active_class); + link.addClass(settings.bullets_active_class); + }; + + self.build_markup = function () { + slides_container.wrap('
      '); + container = slides_container.parent(); + slides_container.addClass(settings.slides_container_class); + + if (settings.stack_on_small) { + container.addClass(settings.stack_on_small_class); + } + + if (settings.navigation_arrows) { + container.append($('').addClass(settings.prev_class)); + container.append($('').addClass(settings.next_class)); + } + + if (settings.timer) { + timer_container = $('
      ').addClass(settings.timer_container_class); + timer_container.append(''); + timer_container.append($('
      ').addClass(settings.timer_progress_class)); + timer_container.addClass(settings.timer_paused_class); + container.append(timer_container); + } + + if (settings.slide_number) { + number_container = $('
      ').addClass(settings.slide_number_class); + number_container.append(' ' + settings.slide_number_text + ' '); + container.append(number_container); + } + + if (settings.bullets) { + bullets_container = $('
        ').addClass(settings.bullets_container_class); + container.append(bullets_container); + bullets_container.wrap('
        '); + self.slides().each(function (idx, el) { + var bullet = $('
      1. ').attr('data-orbit-slide', idx).on('click', self.link_bullet);; + bullets_container.append(bullet); + }); + } + + }; + + self._goto = function (next_idx, start_timer) { + // if (locked) {return false;} + if (next_idx === idx) {return false;} + if (typeof timer === 'object') {timer.restart();} + var slides = self.slides(); + + var dir = 'next'; + locked = true; + if (next_idx < idx) {dir = 'prev';} + if (next_idx >= slides.length) { + if (!settings.circular) { + return false; + } + next_idx = 0; + } else if (next_idx < 0) { + if (!settings.circular) { + return false; + } + next_idx = slides.length - 1; + } + + var current = $(slides.get(idx)); + var next = $(slides.get(next_idx)); + + current.css('zIndex', 2); + current.removeClass(settings.active_slide_class); + next.css('zIndex', 4).addClass(settings.active_slide_class); + + slides_container.trigger('before-slide-change.fndtn.orbit'); + settings.before_slide_change(); + self.update_active_link(next_idx); + + var callback = function () { + var unlock = function () { + idx = next_idx; + locked = false; + if (start_timer === true) {timer = self.create_timer(); timer.start();} + self.update_slide_number(idx); + slides_container.trigger('after-slide-change.fndtn.orbit', [{slide_number : idx, total_slides : slides.length}]); + settings.after_slide_change(idx, slides.length); + }; + if (slides_container.outerHeight() != next.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 250, 'linear', unlock); + } else { + unlock(); + } + }; + + if (slides.length === 1) {callback(); return false;} + + var start_animation = function () { + if (dir === 'next') {animate.next(current, next, callback);} + if (dir === 'prev') {animate.prev(current, next, callback);} + }; + + if (next.outerHeight() > slides_container.outerHeight() && settings.variable_height) { + slides_container.animate({'height': next.outerHeight()}, 250, 'linear', start_animation); + } else { + start_animation(); + } + }; + + self.next = function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + self._goto(idx + 1); + }; + + self.prev = function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + self._goto(idx - 1); + }; + + self.link_custom = function (e) { + e.preventDefault(); + var link = $(this).attr('data-orbit-link'); + if ((typeof link === 'string') && (link = $.trim(link)) != '') { + var slide = container.find('[data-orbit-slide=' + link + ']'); + if (slide.index() != -1) {self._goto(slide.index());} + } + }; + + self.link_bullet = function (e) { + var index = $(this).attr('data-orbit-slide'); + if ((typeof index === 'string') && (index = $.trim(index)) != '') { + if (isNaN(parseInt(index))) { + var slide = container.find('[data-orbit-slide=' + index + ']'); + if (slide.index() != -1) {self._goto(slide.index() + 1);} + } else { + self._goto(parseInt(index)); + } + } + + } + + self.timer_callback = function () { + self._goto(idx + 1, true); + } + + self.compute_dimensions = function () { + var current = $(self.slides().get(idx)); + var h = current.outerHeight(); + if (!settings.variable_height) { + self.slides().each(function(){ + if ($(this).outerHeight() > h) { h = $(this).outerHeight(); } + }); + } + slides_container.height(h); + }; + + self.create_timer = function () { + var t = new Timer( + container.find('.' + settings.timer_container_class), + settings, + self.timer_callback + ); + return t; + }; + + self.stop_timer = function () { + if (typeof timer === 'object') { + timer.stop(); + } + }; + + self.toggle_timer = function () { + var t = container.find('.' + settings.timer_container_class); + if (t.hasClass(settings.timer_paused_class)) { + if (typeof timer === 'undefined') {timer = self.create_timer();} + timer.start(); + } else { + if (typeof timer === 'object') {timer.stop();} + } + }; + + self.init = function () { + self.build_markup(); + if (settings.timer) { + timer = self.create_timer(); + Foundation.utils.image_loaded(this.slides().children('img'), timer.start); + } + animate = new FadeAnimation(settings, slides_container); + if (settings.animation === 'slide') { + animate = new SlideAnimation(settings, slides_container); + } + + container.on('click', '.' + settings.next_class, self.next); + container.on('click', '.' + settings.prev_class, self.prev); + + if (settings.next_on_click) { + container.on('click', '.' + settings.slides_container_class + ' [data-orbit-slide]', self.link_bullet); + } + + container.on('click', self.toggle_timer); + if (settings.swipe) { + container.on('touchstart.fndtn.orbit', function (e) { + if (!e.touches) {e = e.originalEvent;} + var data = { + start_page_x : e.touches[0].pageX, + start_page_y : e.touches[0].pageY, + start_time : (new Date()).getTime(), + delta_x : 0, + is_scrolling : undefined + }; + container.data('swipe-transition', data); + e.stopPropagation(); + }) + .on('touchmove.fndtn.orbit', function (e) { + if (!e.touches) { + e = e.originalEvent; + } + // Ignore pinch/zoom events + if (e.touches.length > 1 || e.scale && e.scale !== 1) { + return; + } + + var data = container.data('swipe-transition'); + if (typeof data === 'undefined') {data = {};} + + data.delta_x = e.touches[0].pageX - data.start_page_x; + + if ( typeof data.is_scrolling === 'undefined') { + data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) ); + } + + if (!data.is_scrolling && !data.active) { + e.preventDefault(); + var direction = (data.delta_x < 0) ? (idx + 1) : (idx - 1); + data.active = true; + self._goto(direction); + } + }) + .on('touchend.fndtn.orbit', function (e) { + container.data('swipe-transition', {}); + e.stopPropagation(); + }) + } + container.on('mouseenter.fndtn.orbit', function (e) { + if (settings.timer && settings.pause_on_hover) { + self.stop_timer(); + } + }) + .on('mouseleave.fndtn.orbit', function (e) { + if (settings.timer && settings.resume_on_mouseout) { + timer.start(); + } + }); + + $(document).on('click', '[data-orbit-link]', self.link_custom); + $(window).on('load resize', self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), self.compute_dimensions); + Foundation.utils.image_loaded(this.slides().children('img'), function () { + container.prev('.' + settings.preloader_class).css('display', 'none'); + self.update_slide_number(0); + self.update_active_link(0); + slides_container.trigger('ready.fndtn.orbit'); + }); + }; + + self.init(); + }; + + var Timer = function (el, settings, callback) { + var self = this, + duration = settings.timer_speed, + progress = el.find('.' + settings.timer_progress_class), + start, + timeout, + left = -1; + + this.update_progress = function (w) { + var new_progress = progress.clone(); + new_progress.attr('style', ''); + new_progress.css('width', w + '%'); + progress.replaceWith(new_progress); + progress = new_progress; + }; + + this.restart = function () { + clearTimeout(timeout); + el.addClass(settings.timer_paused_class); + left = -1; + self.update_progress(0); + }; + + this.start = function () { + if (!el.hasClass(settings.timer_paused_class)) {return true;} + left = (left === -1) ? duration : left; + el.removeClass(settings.timer_paused_class); + start = new Date().getTime(); + progress.animate({'width' : '100%'}, left, 'linear'); + timeout = setTimeout(function () { + self.restart(); + callback(); + }, left); + el.trigger('timer-started.fndtn.orbit') + }; + + this.stop = function () { + if (el.hasClass(settings.timer_paused_class)) {return true;} + clearTimeout(timeout); + el.addClass(settings.timer_paused_class); + var end = new Date().getTime(); + left = left - (end - start); + var w = 100 - ((left / duration) * 100); + self.update_progress(w); + el.trigger('timer-stopped.fndtn.orbit'); + }; + }; + + var SlideAnimation = function (settings, container) { + var duration = settings.animation_speed; + var is_rtl = ($('html[dir=rtl]').length === 1); + var margin = is_rtl ? 'marginRight' : 'marginLeft'; + var animMargin = {}; + animMargin[margin] = '0%'; + + this.next = function (current, next, callback) { + current.animate({marginLeft : '-100%'}, duration); + next.animate(animMargin, duration, function () { + current.css(margin, '100%'); + callback(); + }); + }; + + this.prev = function (current, prev, callback) { + current.animate({marginLeft : '100%'}, duration); + prev.css(margin, '-100%'); + prev.animate(animMargin, duration, function () { + current.css(margin, '100%'); + callback(); + }); + }; + }; + + var FadeAnimation = function (settings, container) { + var duration = settings.animation_speed; + var is_rtl = ($('html[dir=rtl]').length === 1); + var margin = is_rtl ? 'marginRight' : 'marginLeft'; + + this.next = function (current, next, callback) { + next.css({'margin' : '0%', 'opacity' : '0.01'}); + next.animate({'opacity' :'1'}, duration, 'linear', function () { + current.css('margin', '100%'); + callback(); + }); + }; + + this.prev = function (current, prev, callback) { + prev.css({'margin' : '0%', 'opacity' : '0.01'}); + prev.animate({'opacity' : '1'}, duration, 'linear', function () { + current.css('margin', '100%'); + callback(); + }); + }; + }; + + Foundation.libs = Foundation.libs || {}; + + Foundation.libs.orbit = { + name : 'orbit', + + version : '5.5.3', + + settings : { + animation : 'slide', + timer_speed : 10000, + pause_on_hover : true, + resume_on_mouseout : false, + next_on_click : true, + animation_speed : 500, + stack_on_small : false, + navigation_arrows : true, + slide_number : true, + slide_number_text : 'of', + container_class : 'orbit-container', + stack_on_small_class : 'orbit-stack-on-small', + next_class : 'orbit-next', + prev_class : 'orbit-prev', + timer_container_class : 'orbit-timer', + timer_paused_class : 'paused', + timer_progress_class : 'orbit-progress', + slides_container_class : 'orbit-slides-container', + preloader_class : 'preloader', + slide_selector : '*', + bullets_container_class : 'orbit-bullets', + bullets_active_class : 'active', + slide_number_class : 'orbit-slide-number', + caption_class : 'orbit-caption', + active_slide_class : 'active', + orbit_transition_class : 'orbit-transitioning', + bullets : true, + circular : true, + timer : true, + variable_height : false, + swipe : true, + before_slide_change : noop, + after_slide_change : noop + }, + + init : function (scope, method, options) { + var self = this; + this.bindings(method, options); + }, + + events : function (instance) { + var orbit_instance = new Orbit(this.S(instance), this.S(instance).data('orbit-init')); + this.S(instance).data(this.name + '-instance', orbit_instance); + }, + + reflow : function () { + var self = this; + + if (self.S(self.scope).is('[data-orbit]')) { + var $el = self.S(self.scope); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + } else { + self.S('[data-orbit]', self.scope).each(function (idx, el) { + var $el = self.S(el); + var opts = self.data_options($el); + var instance = $el.data(self.name + '-instance'); + instance.compute_dimensions(); + }); + } + } + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.reveal.js b/js/foundation/js/foundation/foundation.reveal.js new file mode 100644 index 0000000..08ad413 --- /dev/null +++ b/js/foundation/js/foundation/foundation.reveal.js @@ -0,0 +1,522 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + var openModals = []; + + Foundation.libs.reveal = { + name : 'reveal', + + version : '5.5.3', + + locked : false, + + settings : { + animation : 'fadeAndPop', + animation_speed : 250, + close_on_background_click : true, + close_on_esc : true, + dismiss_modal_class : 'close-reveal-modal', + multiple_opened : false, + bg_class : 'reveal-modal-bg', + root_element : 'body', + open : function(){}, + opened : function(){}, + close : function(){}, + closed : function(){}, + on_ajax_error: $.noop, + bg : $('.reveal-modal-bg'), + css : { + open : { + 'opacity' : 0, + 'visibility' : 'visible', + 'display' : 'block' + }, + close : { + 'opacity' : 1, + 'visibility' : 'hidden', + 'display' : 'none' + } + } + }, + + init : function (scope, method, options) { + $.extend(true, this.settings, method, options); + this.bindings(method, options); + }, + + events : function (scope) { + var self = this, + S = self.S; + + S(this.scope) + .off('.reveal') + .on('click.fndtn.reveal', '[' + this.add_namespace('data-reveal-id') + ']:not([disabled])', function (e) { + e.preventDefault(); + + if (!self.locked) { + var element = S(this), + ajax = element.data(self.data_attr('reveal-ajax')), + replaceContentSel = element.data(self.data_attr('reveal-replace-content')); + + self.locked = true; + + if (typeof ajax === 'undefined') { + self.open.call(self, element); + } else { + var url = ajax === true ? element.attr('href') : ajax; + self.open.call(self, element, {url : url}, { replaceContentSel : replaceContentSel }); + } + } + }); + + S(document) + .on('click.fndtn.reveal', this.close_targets(), function (e) { + e.preventDefault(); + if (!self.locked) { + var settings = S('[' + self.attr_name() + '].open').data(self.attr_name(true) + '-init') || self.settings, + bg_clicked = S(e.target)[0] === S('.' + settings.bg_class)[0]; + + if (bg_clicked) { + if (settings.close_on_background_click) { + e.stopPropagation(); + } else { + return; + } + } + + self.locked = true; + self.close.call(self, bg_clicked ? S('[' + self.attr_name() + '].open:not(.toback)') : S(this).closest('[' + self.attr_name() + ']')); + } + }); + + if (S('[' + self.attr_name() + ']', this.scope).length > 0) { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', this.settings.open) + .on('opened.fndtn.reveal', this.settings.opened) + .on('opened.fndtn.reveal', this.open_video) + .on('close.fndtn.reveal', this.settings.close) + .on('closed.fndtn.reveal', this.settings.closed) + .on('closed.fndtn.reveal', this.close_video); + } else { + S(this.scope) + // .off('.reveal') + .on('open.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.open) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.opened) + .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.open_video) + .on('close.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.close) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.closed) + .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.close_video); + } + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_on : function (scope) { + var self = this; + + // PATCH #1: fixing multiple keyup event trigger from single key press + self.S('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) { + var open_modal = self.S('[' + self.attr_name() + '].open'), + settings = open_modal.data(self.attr_name(true) + '-init') || self.settings ; + // PATCH #2: making sure that the close event can be called only while unlocked, + // so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window. + if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key + self.close.call(self, open_modal); + } + }); + + return true; + }, + + // PATCH #3: turning on key up capture only when a reveal window is open + key_up_off : function (scope) { + this.S('body').off('keyup.fndtn.reveal'); + return true; + }, + + open : function (target, ajax_settings) { + var self = this, + modal; + + if (target) { + if (typeof target.selector !== 'undefined') { + // Find the named node; only use the first one found, since the rest of the code assumes there's only one node + modal = self.S('#' + target.data(self.data_attr('reveal-id'))).first(); + } else { + modal = self.S(this.scope); + + ajax_settings = target; + } + } else { + modal = self.S(this.scope); + } + + var settings = modal.data(self.attr_name(true) + '-init'); + settings = settings || this.settings; + + + if (modal.hasClass('open') && target !== undefined && target.attr('data-reveal-id') == modal.attr('id')) { + return self.close(modal); + } + + if (!modal.hasClass('open')) { + var open_modal = self.S('[' + self.attr_name() + '].open'); + + if (typeof modal.data('css-top') === 'undefined') { + modal.data('css-top', parseInt(modal.css('top'), 10)) + .data('offset', this.cache_offset(modal)); + } + + modal.attr('tabindex','0').attr('aria-hidden','false'); + + this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open + + // Prevent namespace event from triggering twice + modal.on('open.fndtn.reveal', function(e) { + if (e.namespace !== 'fndtn.reveal') return; + }); + + modal.on('open.fndtn.reveal').trigger('open.fndtn.reveal'); + + if (open_modal.length < 1) { + this.toggle_bg(modal, true); + } + + if (typeof ajax_settings === 'string') { + ajax_settings = { + url : ajax_settings + }; + } + + var openModal = function() { + if(open_modal.length > 0) { + if(settings.multiple_opened) { + self.to_back(open_modal); + } else { + self.hide(open_modal, settings.css.close); + } + } + + // bl: add the open_modal that isn't already in the background to the openModals array + if(settings.multiple_opened) { + openModals.push(modal); + } + + self.show(modal, settings.css.open); + }; + + if (typeof ajax_settings === 'undefined' || !ajax_settings.url) { + openModal(); + } else { + var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null; + $.extend(ajax_settings, { + success : function (data, textStatus, jqXHR) { + if ( $.isFunction(old_success) ) { + var result = old_success(data, textStatus, jqXHR); + if (typeof result == 'string') { + data = result; + } + } + + if (typeof options !== 'undefined' && typeof options.replaceContentSel !== 'undefined') { + modal.find(options.replaceContentSel).html(data); + } else { + modal.html(data); + } + + self.S(modal).foundation('section', 'reflow'); + self.S(modal).children().foundation(); + + openModal(); + } + }); + + // check for if user initalized with error callback + if (settings.on_ajax_error !== $.noop) { + $.extend(ajax_settings, { + error : settings.on_ajax_error + }); + } + + $.ajax(ajax_settings); + } + } + self.S(window).trigger('resize'); + }, + + close : function (modal) { + var modal = modal && modal.length ? modal : this.S(this.scope), + open_modals = this.S('[' + this.attr_name() + '].open'), + settings = modal.data(this.attr_name(true) + '-init') || this.settings, + self = this; + + if (open_modals.length > 0) { + + modal.removeAttr('tabindex','0').attr('aria-hidden','true'); + + this.locked = true; + this.key_up_off(modal); // PATCH #3: turning on key up capture only when a reveal window is open + + modal.trigger('close.fndtn.reveal'); + + if ((settings.multiple_opened && open_modals.length === 1) || !settings.multiple_opened || modal.length > 1) { + self.toggle_bg(modal, false); + self.to_front(modal); + } + + if (settings.multiple_opened) { + var isCurrent = modal.is(':not(.toback)'); + self.hide(modal, settings.css.close, settings); + if(isCurrent) { + // remove the last modal since it is now closed + openModals.pop(); + } else { + // if this isn't the current modal, then find it in the array and remove it + openModals = $.grep(openModals, function(elt) { + var isThis = elt[0]===modal[0]; + if(isThis) { + // since it's not currently in the front, put it in the front now that it is hidden + // so that if it's re-opened, it won't be .toback + self.to_front(modal); + } + return !isThis; + }); + } + // finally, show the next modal in the stack, if there is one + if(openModals.length>0) { + self.to_front(openModals[openModals.length - 1]); + } + } else { + self.hide(open_modals, settings.css.close, settings); + } + } + }, + + close_targets : function () { + var base = '.' + this.settings.dismiss_modal_class; + + if (this.settings.close_on_background_click) { + return base + ', .' + this.settings.bg_class; + } + + return base; + }, + + toggle_bg : function (modal, state) { + if (this.S('.' + this.settings.bg_class).length === 0) { + this.settings.bg = $('
        ', {'class': this.settings.bg_class}) + .appendTo('body').hide(); + } + + var visible = this.settings.bg.filter(':visible').length > 0; + if ( state != visible ) { + if ( state == undefined ? visible : !state ) { + this.hide(this.settings.bg); + } else { + this.show(this.settings.bg); + } + } + }, + + show : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init') || this.settings, + root_element = settings.root_element, + context = this; + + if (el.parent(root_element).length === 0) { + var placeholder = el.wrap('
        ').parent(); + + el.on('closed.fndtn.reveal.wrapped', function () { + el.detach().appendTo(placeholder); + el.unwrap().unbind('closed.fndtn.reveal.wrapped'); + }); + + el.detach().appendTo(root_element); + } + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + css.top = $(window).scrollTop() - el.data('offset') + 'px'; + var end_css = { + top: $(window).scrollTop() + el.data('css-top') + 'px', + opacity: 1 + }; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.trigger('opened.fndtn.reveal'); + }) + .addClass('open'); + }, settings.animation_speed / 2); + } + + css.top = $(window).scrollTop() + el.data('css-top') + 'px'; + + if (animData.fade) { + var end_css = {opacity: 1}; + + return setTimeout(function () { + return el + .css(css) + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.trigger('opened.fndtn.reveal'); + }) + .addClass('open'); + }, settings.animation_speed / 2); + } + + return el.css(css).show().css({opacity : 1}).addClass('open').trigger('opened.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeIn(settings.animation_speed / 2); + } + + this.locked = false; + + return el.show(); + }, + + to_back : function(el) { + el.addClass('toback'); + }, + + to_front : function(el) { + el.removeClass('toback'); + }, + + hide : function (el, css) { + // is modal + if (css) { + var settings = el.data(this.attr_name(true) + '-init'), + context = this; + settings = settings || this.settings; + + var animData = getAnimationData(settings.animation); + if (!animData.animate) { + this.locked = false; + } + if (animData.pop) { + var end_css = { + top: - $(window).scrollTop() - el.data('offset') + 'px', + opacity: 0 + }; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.css(css).trigger('closed.fndtn.reveal'); + }) + .removeClass('open'); + }, settings.animation_speed / 2); + } + + if (animData.fade) { + var end_css = {opacity : 0}; + + return setTimeout(function () { + return el + .animate(end_css, settings.animation_speed, 'linear', function () { + context.locked = false; + el.css(css).trigger('closed.fndtn.reveal'); + }) + .removeClass('open'); + }, settings.animation_speed / 2); + } + + return el.hide().css(css).removeClass('open').trigger('closed.fndtn.reveal'); + } + + var settings = this.settings; + + // should we animate the background? + if (getAnimationData(settings.animation).fade) { + return el.fadeOut(settings.animation_speed / 2); + } + + return el.hide(); + }, + + close_video : function (e) { + var video = $('.flex-video', e.target), + iframe = $('iframe', video); + + if (iframe.length > 0) { + iframe.attr('data-src', iframe[0].src); + iframe.attr('src', iframe.attr('src')); + video.hide(); + } + }, + + open_video : function (e) { + var video = $('.flex-video', e.target), + iframe = video.find('iframe'); + + if (iframe.length > 0) { + var data_src = iframe.attr('data-src'); + if (typeof data_src === 'string') { + iframe[0].src = iframe.attr('data-src'); + } else { + var src = iframe[0].src; + iframe[0].src = undefined; + iframe[0].src = src; + } + video.show(); + } + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + cache_offset : function (modal) { + var offset = modal.show().height() + parseInt(modal.css('top'), 10) + modal.scrollY; + + modal.hide(); + + return offset; + }, + + off : function () { + $(this.scope).off('.fndtn.reveal'); + }, + + reflow : function () {} + }; + + /* + * getAnimationData('popAndFade') // {animate: true, pop: true, fade: true} + * getAnimationData('fade') // {animate: true, pop: false, fade: true} + * getAnimationData('pop') // {animate: true, pop: true, fade: false} + * getAnimationData('foo') // {animate: false, pop: false, fade: false} + * getAnimationData(null) // {animate: false, pop: false, fade: false} + */ + function getAnimationData(str) { + var fade = /fade/i.test(str); + var pop = /pop/i.test(str); + return { + animate : fade || pop, + pop : pop, + fade : fade + }; + } +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.slider.js b/js/foundation/js/foundation/foundation.slider.js new file mode 100644 index 0000000..0d71d56 --- /dev/null +++ b/js/foundation/js/foundation/foundation.slider.js @@ -0,0 +1,296 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.slider = { + name : 'slider', + + version : '5.5.3', + + settings : { + start : 0, + end : 100, + step : 1, + precision : 2, + initial : null, + display_selector : '', + vertical : false, + trigger_input_change : false, + on_change : function () {} + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'throttle'); + this.bindings(method, options); + this.reflow(); + }, + + events : function () { + var self = this; + $(this.scope) + .off('.slider') + .on('mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider', + '[' + self.attr_name() + ']:not(.disabled, [disabled]) .range-slider-handle', function (e) { + if (!self.cache.active) { + e.preventDefault(); + self.set_active_slider($(e.target)); + } + }) + .on('mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider', function (e) { + if (!!self.cache.active) { + e.preventDefault(); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + }) + .on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function (e) { + if(!self.cache.active) { + // if the user has just clicked into the slider without starting to drag the handle + var slider = $(e.target).attr('role') === 'slider' ? $(e.target) : $(e.target).closest('.range-slider').find("[role='slider']"); + + if (slider.length && (!slider.parent().hasClass('disabled') && !slider.parent().attr('disabled'))) { + self.set_active_slider(slider); + if ($.data(self.cache.active[0], 'settings').vertical) { + var scroll_offset = 0; + if (!e.pageY) { + scroll_offset = window.scrollY; + } + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset); + } else { + self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x')); + } + } + } + self.remove_active_slider(); + }) + .on('change.fndtn.slider', function (e) { + self.settings.on_change(); + }); + + self.S(window) + .on('resize.fndtn.slider', self.throttle(function (e) { + self.reflow(); + }, 300)); + + // update slider value as users change input value + this.S('[' + this.attr_name() + ']').each(function () { + var slider = $(this), + handle = slider.children('.range-slider-handle')[0], + settings = self.initialize_settings(handle); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function(){ + if ($(this).attr('value')) { + $(this).off('change').on('change', function () { + slider.foundation("slider", "set_value", $(this).val()); + }); + } + }); + } + }); + }, + + get_cursor_position : function (e, xy) { + var pageXY = 'page' + xy.toUpperCase(), + clientXY = 'client' + xy.toUpperCase(), + position; + + if (typeof e[pageXY] !== 'undefined') { + position = e[pageXY]; + } else if (typeof e.originalEvent[clientXY] !== 'undefined') { + position = e.originalEvent[clientXY]; + } else if (e.originalEvent.touches && e.originalEvent.touches[0] && typeof e.originalEvent.touches[0][clientXY] !== 'undefined') { + position = e.originalEvent.touches[0][clientXY]; + } else if (e.currentPoint && typeof e.currentPoint[xy] !== 'undefined') { + position = e.currentPoint[xy]; + } + + return position; + }, + + set_active_slider : function ($handle) { + this.cache.active = $handle; + }, + + remove_active_slider : function () { + this.cache.active = null; + }, + + calculate_position : function ($handle, cursor_x) { + var self = this, + settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + handle_o = $.data($handle[0], 'handle_o'), + bar_l = $.data($handle[0], 'bar_l'), + bar_o = $.data($handle[0], 'bar_o'); + + requestAnimationFrame(function () { + var pct; + + if (Foundation.rtl && !settings.vertical) { + pct = self.limit_to(((bar_o + bar_l - cursor_x) / bar_l), 0, 1); + } else { + pct = self.limit_to(((cursor_x - bar_o) / bar_l), 0, 1); + } + + pct = settings.vertical ? 1 - pct : pct; + + var norm = self.normalized_value(pct, settings.start, settings.end, settings.step, settings.precision); + + self.set_ui($handle, norm); + }); + }, + + set_ui : function ($handle, value) { + var settings = $.data($handle[0], 'settings'), + handle_l = $.data($handle[0], 'handle_l'), + bar_l = $.data($handle[0], 'bar_l'), + norm_pct = this.normalized_percentage(value, settings.start, settings.end), + handle_offset = norm_pct * (bar_l - handle_l) - 1, + progress_bar_length = norm_pct * 100, + $handle_parent = $handle.parent(), + $hidden_inputs = $handle.parent().children('input[type=hidden]'); + + if (Foundation.rtl && !settings.vertical) { + handle_offset = -handle_offset; + } + + handle_offset = settings.vertical ? -handle_offset + bar_l - handle_l + 1 : handle_offset; + this.set_translate($handle, handle_offset, settings.vertical); + + if (settings.vertical) { + $handle.siblings('.range-slider-active-segment').css('height', progress_bar_length + '%'); + } else { + $handle.siblings('.range-slider-active-segment').css('width', progress_bar_length + '%'); + } + + $handle_parent.attr(this.attr_name(), value).trigger('change.fndtn.slider'); + + $hidden_inputs.val(value); + if (settings.trigger_input_change) { + $hidden_inputs.trigger('change.fndtn.slider'); + } + + if (!$handle[0].hasAttribute('aria-valuemin')) { + $handle.attr({ + 'aria-valuemin' : settings.start, + 'aria-valuemax' : settings.end + }); + } + $handle.attr('aria-valuenow', value); + + if (settings.display_selector != '') { + $(settings.display_selector).each(function () { + if (this.hasAttribute('value')) { + $(this).val(value); + } else { + $(this).text(value); + } + }); + } + + }, + + normalized_percentage : function (val, start, end) { + return Math.min(1, (val - start) / (end - start)); + }, + + normalized_value : function (val, start, end, step, precision) { + var range = end - start, + point = val * range, + mod = (point - (point % step)) / step, + rem = point % step, + round = ( rem >= step * 0.5 ? step : 0); + return ((mod * step + round) + start).toFixed(precision); + }, + + set_translate : function (ele, offset, vertical) { + if (vertical) { + $(ele) + .css('-webkit-transform', 'translateY(' + offset + 'px)') + .css('-moz-transform', 'translateY(' + offset + 'px)') + .css('-ms-transform', 'translateY(' + offset + 'px)') + .css('-o-transform', 'translateY(' + offset + 'px)') + .css('transform', 'translateY(' + offset + 'px)'); + } else { + $(ele) + .css('-webkit-transform', 'translateX(' + offset + 'px)') + .css('-moz-transform', 'translateX(' + offset + 'px)') + .css('-ms-transform', 'translateX(' + offset + 'px)') + .css('-o-transform', 'translateX(' + offset + 'px)') + .css('transform', 'translateX(' + offset + 'px)'); + } + }, + + limit_to : function (val, min, max) { + return Math.min(Math.max(val, min), max); + }, + + initialize_settings : function (handle) { + var settings = $.extend({}, this.settings, this.data_options($(handle).parent())), + decimal_places_match_result; + + if (settings.precision === null) { + decimal_places_match_result = ('' + settings.step).match(/\.([\d]*)/); + settings.precision = decimal_places_match_result && decimal_places_match_result[1] ? decimal_places_match_result[1].length : 0; + } + + if (settings.vertical) { + $.data(handle, 'bar_o', $(handle).parent().offset().top); + $.data(handle, 'bar_l', $(handle).parent().outerHeight()); + $.data(handle, 'handle_o', $(handle).offset().top); + $.data(handle, 'handle_l', $(handle).outerHeight()); + } else { + $.data(handle, 'bar_o', $(handle).parent().offset().left); + $.data(handle, 'bar_l', $(handle).parent().outerWidth()); + $.data(handle, 'handle_o', $(handle).offset().left); + $.data(handle, 'handle_l', $(handle).outerWidth()); + } + + $.data(handle, 'bar', $(handle).parent()); + return $.data(handle, 'settings', settings); + }, + + set_initial_position : function ($ele) { + var settings = $.data($ele.children('.range-slider-handle')[0], 'settings'), + initial = ((typeof settings.initial == 'number' && !isNaN(settings.initial)) ? settings.initial : Math.floor((settings.end - settings.start) * 0.5 / settings.step) * settings.step + settings.start), + $handle = $ele.children('.range-slider-handle'); + this.set_ui($handle, initial); + }, + + set_value : function (value) { + var self = this; + $('[' + self.attr_name() + ']', this.scope).each(function () { + $(this).attr(self.attr_name(), value); + }); + if (!!$(this.scope).attr(self.attr_name())) { + $(this.scope).attr(self.attr_name(), value); + } + self.reflow(); + }, + + reflow : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var handle = $(this).children('.range-slider-handle')[0], + val = $(this).attr(self.attr_name()); + self.initialize_settings(handle); + + if (val) { + self.set_ui($(handle), parseFloat(val)); + } else { + self.set_initial_position($(this)); + } + }); + } + }; + +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.tab.js b/js/foundation/js/foundation/foundation.tab.js new file mode 100644 index 0000000..4b375c1 --- /dev/null +++ b/js/foundation/js/foundation/foundation.tab.js @@ -0,0 +1,247 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tab = { + name : 'tab', + + version : '5.5.3', + + settings : { + active_class : 'active', + callback : function () {}, + deep_linking : false, + scroll_to_content : true, + is_hover : false + }, + + default_tab_hashes : [], + + init : function (scope, method, options) { + var self = this, + S = this.S; + + // Store the default active tabs which will be referenced when the + // location hash is absent, as in the case of navigating the tabs and + // returning to the first viewing via the browser Back button. + S('[' + this.attr_name() + '] > .active > a', this.scope).each(function () { + self.default_tab_hashes.push(this.hash); + }); + + this.bindings(method, options); + this.handle_location_hash_change(); + }, + + events : function () { + var self = this, + S = this.S; + + var usual_tab_behavior = function (e, target) { + var settings = S(target).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (!settings.is_hover || Modernizr.touch) { + // if user did not pressed tab key, prevent default action + var keyCode = e.keyCode || e.which; + if (keyCode !== 9) { + e.preventDefault(); + e.stopPropagation(); + } + self.toggle_active_tab(S(target).parent()); + + } + }; + + S(this.scope) + .off('.tab') + // Key event: focus/tab key + .on('keydown.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) { + var keyCode = e.keyCode || e.which; + // if user pressed tab key + if (keyCode === 13 || keyCode === 32) { // enter or space + var el = this; + usual_tab_behavior(e, el); + } + }) + // Click event: tab title + .on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) { + var el = this; + usual_tab_behavior(e, el); + }) + // Hover event: tab title + .on('mouseenter.fndtn.tab', '[' + this.attr_name() + '] > * > a', function (e) { + var settings = S(this).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'); + if (settings.is_hover) { + self.toggle_active_tab(S(this).parent()); + } + }); + + // Location hash change event + S(window).on('hashchange.fndtn.tab', function (e) { + e.preventDefault(); + self.handle_location_hash_change(); + }); + }, + + handle_location_hash_change : function () { + + var self = this, + S = this.S; + + S('[' + this.attr_name() + ']', this.scope).each(function () { + var settings = S(this).data(self.attr_name(true) + '-init'); + if (settings.deep_linking) { + // Match the location hash to a label + var hash; + if (settings.scroll_to_content) { + hash = self.scope.location.hash; + } else { + // prefix the hash to prevent anchor scrolling + hash = self.scope.location.hash.replace('fndtn-', ''); + } + if (hash != '') { + // Check whether the location hash references a tab content div or + // another element on the page (inside or outside the tab content div) + var hash_element = S(hash); + if (hash_element.hasClass('content') && hash_element.parent().hasClass('tabs-content')) { + // Tab content div + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + hash + ']').parent()); + } else { + // Not the tab content div. If inside the tab content, find the + // containing tab and toggle it as active. + var hash_tab_container_id = hash_element.closest('.content').attr('id'); + if (hash_tab_container_id != undefined) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=#' + hash_tab_container_id + ']').parent(), hash); + } + } + } else { + // Reference the default tab hashes which were initialized in the init function + for (var ind = 0; ind < self.default_tab_hashes.length; ind++) { + self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + self.default_tab_hashes[ind] + ']').parent()); + } + } + } + }); + }, + + toggle_active_tab : function (tab, location_hash) { + var self = this, + S = self.S, + tabs = tab.closest('[' + this.attr_name() + ']'), + tab_link = tab.find('a'), + anchor = tab.children('a').first(), + target_hash = '#' + anchor.attr('href').split('#')[1], + target = S(target_hash), + siblings = tab.siblings(), + settings = tabs.data(this.attr_name(true) + '-init'), + interpret_keyup_action = function (e) { + // Light modification of Heydon Pickering's Practical ARIA Examples: http://heydonworks.com/practical_aria_examples/js/a11y.js + + // define current, previous and next (possible) tabs + + var $original = $(this); + var $prev = $(this).parents('li').prev().children('[role="tab"]'); + var $next = $(this).parents('li').next().children('[role="tab"]'); + var $target; + + // find the direction (prev or next) + + switch (e.keyCode) { + case 37: + $target = $prev; + break; + case 39: + $target = $next; + break; + default: + $target = false + break; + } + + if ($target.length) { + $original.attr({ + 'tabindex' : '-1', + 'aria-selected' : null + }); + $target.attr({ + 'tabindex' : '0', + 'aria-selected' : true + }).focus(); + } + + // Hide panels + + $('[role="tabpanel"]') + .attr('aria-hidden', 'true'); + + // Show panel which corresponds to target + + $('#' + $(document.activeElement).attr('href').substring(1)) + .attr('aria-hidden', null); + + }, + go_to_hash = function(hash) { + // This function allows correct behaviour of the browser's back button when deep linking is enabled. Without it + // the user would get continually redirected to the default hash. + var default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : 'fndtn-' + self.default_tab_hashes[0].replace('#', ''); + + if (hash !== default_hash || window.location.hash) { + window.location.hash = hash; + } + }; + + // allow usage of data-tab-content attribute instead of href + if (anchor.data('tab-content')) { + target_hash = '#' + anchor.data('tab-content').split('#')[1]; + target = S(target_hash); + } + + if (settings.deep_linking) { + + if (settings.scroll_to_content) { + + // retain current hash to scroll to content + go_to_hash(location_hash || target_hash); + + if (location_hash == undefined || location_hash == target_hash) { + tab.parent()[0].scrollIntoView(); + } else { + S(target_hash)[0].scrollIntoView(); + } + } else { + // prefix the hashes so that the browser doesn't scroll down + if (location_hash != undefined) { + go_to_hash('fndtn-' + location_hash.replace('#', '')); + } else { + go_to_hash('fndtn-' + target_hash.replace('#', '')); + } + } + } + + // WARNING: The activation and deactivation of the tab content must + // occur after the deep linking in order to properly refresh the browser + // window (notably in Chrome). + // Clean up multiple attr instances to done once + tab.addClass(settings.active_class).triggerHandler('opened'); + tab_link.attr({'aria-selected' : 'true', tabindex : 0}); + siblings.removeClass(settings.active_class) + siblings.find('a').attr({'aria-selected' : 'false'/*, tabindex : -1*/}); + target.siblings().removeClass(settings.active_class).attr({'aria-hidden' : 'true'/*, tabindex : -1*/}); + target.addClass(settings.active_class).attr('aria-hidden', 'false').removeAttr('tabindex'); + settings.callback(tab); + target.triggerHandler('toggled', [target]); + tabs.triggerHandler('toggled', [tab]); + + tab_link.off('keydown').on('keydown', interpret_keyup_action ); + }, + + data_attr : function (str) { + if (this.namespace.length > 0) { + return this.namespace + '-' + str; + } + + return str; + }, + + off : function () {}, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.tooltip.js b/js/foundation/js/foundation/foundation.tooltip.js new file mode 100644 index 0000000..0690e25 --- /dev/null +++ b/js/foundation/js/foundation/foundation.tooltip.js @@ -0,0 +1,348 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.tooltip = { + name : 'tooltip', + + version : '5.5.3', + + settings : { + additional_inheritable_classes : [], + tooltip_class : '.tooltip', + append_to : 'body', + touch_close_text : 'Tap To Close', + disable_for_touch : false, + hover_delay : 200, + fade_in_duration : 150, + fade_out_duration : 150, + show_on : 'all', + tip_template : function (selector, content) { + return '' + content + ''; + } + }, + + cache : {}, + + init : function (scope, method, options) { + Foundation.inherit(this, 'random_str'); + this.bindings(method, options); + }, + + should_show : function (target, tip) { + var settings = $.extend({}, this.settings, this.data_options(target)); + + if (settings.show_on === 'all') { + return true; + } else if (this.small() && settings.show_on === 'small') { + return true; + } else if (this.medium() && settings.show_on === 'medium') { + return true; + } else if (this.large() && settings.show_on === 'large') { + return true; + } + return false; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + events : function (instance) { + var self = this, + S = self.S; + + self.create(this.S(instance)); + + function _startShow(elt, $this, immediate) { + if (elt.timer) { + return; + } + + if (immediate) { + elt.timer = null; + self.showTip($this); + } else { + elt.timer = setTimeout(function () { + elt.timer = null; + self.showTip($this); + }.bind(elt), self.settings.hover_delay); + } + } + + function _startHide(elt, $this) { + if (elt.timer) { + clearTimeout(elt.timer); + elt.timer = null; + } + + self.hide($this); + } + + $(this.scope) + .off('.tooltip') + .on('mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', + '[' + this.attr_name() + ']', function (e) { + var $this = S(this), + settings = $.extend({}, self.settings, self.data_options($this)), + is_touch = false; + + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type) && S(e.target).is('a')) { + return false; + } + + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($this.hasClass('open')) { + if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + } + self.hide($this); + } else { + if (settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + return; + } else if (!settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) { + e.preventDefault(); + S(settings.tooltip_class + '.open').hide(); + is_touch = true; + // close other open tooltips on touch + if ($('.open[' + self.attr_name() + ']').length > 0) { + var prevOpen = S($('.open[' + self.attr_name() + ']')[0]); + self.hide(prevOpen); + } + } + + if (/enter|over/i.test(e.type)) { + _startShow(this, $this); + + } else if (e.type === 'mouseout' || e.type === 'mouseleave') { + _startHide(this, $this); + } else { + _startShow(this, $this, true); + } + } + }) + .on('mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', '[' + this.attr_name() + '].open', function (e) { + if (/mouse/i.test(e.type) && self.ie_touch(e)) { + return false; + } + + if ($(this).data('tooltip-open-event-type') == 'touch' && e.type == 'mouseleave') { + return; + } else if ($(this).data('tooltip-open-event-type') == 'mouse' && /MSPointerDown|touchstart/i.test(e.type)) { + self.convert_to_touch($(this)); + } else { + _startHide(this, $(this)); + } + }) + .on('DOMNodeRemoved DOMAttrModified', '[' + this.attr_name() + ']:not(a)', function (e) { + _startHide(this, S(this)); + }); + }, + + ie_touch : function (e) { + // How do I distinguish between IE11 and Windows Phone 8????? + return false; + }, + + showTip : function ($target) { + var $tip = this.getTip($target); + if (this.should_show($target, $tip)) { + return this.show($target); + } + return; + }, + + getTip : function ($target) { + var selector = this.selector($target), + settings = $.extend({}, this.settings, this.data_options($target)), + tip = null; + + if (selector) { + tip = this.S('span[data-selector="' + selector + '"]' + settings.tooltip_class); + } + + return (typeof tip === 'object') ? tip : false; + }, + + selector : function ($target) { + var dataSelector = $target.attr(this.attr_name()) || $target.attr('data-selector'); + + if (typeof dataSelector != 'string') { + dataSelector = this.random_str(6); + $target + .attr('data-selector', dataSelector) + .attr('aria-describedby', dataSelector); + } + + return dataSelector; + }, + + create : function ($target) { + var self = this, + settings = $.extend({}, this.settings, this.data_options($target)), + tip_template = this.settings.tip_template; + + if (typeof settings.tip_template === 'string' && window.hasOwnProperty(settings.tip_template)) { + tip_template = window[settings.tip_template]; + } + + var $tip = $(tip_template(this.selector($target), $('
        ').html($target.attr('title')).html())), + classes = this.inheritable_classes($target); + + $tip.addClass(classes).appendTo(settings.append_to); + + if (Modernizr.touch) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', function (e) { + self.hide($target); + }); + } + + $target.removeAttr('title').attr('title', ''); + }, + + reposition : function (target, tip, classes) { + var width, nub, nubHeight, nubWidth, objPos; + + tip.css('visibility', 'hidden').show(); + + width = target.data('width'); + nub = tip.children('.nub'); + nubHeight = nub.outerHeight(); + nubWidth = nub.outerWidth(); + + if (this.small()) { + tip.css({'width' : '100%'}); + } else { + tip.css({'width' : (width) ? width : 'auto'}); + } + + objPos = function (obj, top, right, bottom, left, width) { + return obj.css({ + 'top' : (top) ? top : 'auto', + 'bottom' : (bottom) ? bottom : 'auto', + 'left' : (left) ? left : 'auto', + 'right' : (right) ? right : 'auto' + }).end(); + }; + + var o_top = target.offset().top; + var o_left = target.offset().left; + var outerHeight = target.outerHeight(); + + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', o_left); + + if (this.small()) { + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', 12.5, $(this.scope).width()); + tip.addClass('tip-override'); + objPos(nub, -nubHeight, 'auto', 'auto', o_left); + } else { + + if (Foundation.rtl) { + nub.addClass('rtl'); + o_left = o_left + target.outerWidth() - tip.outerWidth(); + } + + objPos(tip, (o_top + outerHeight + 10), 'auto', 'auto', o_left); + // reset nub from small styles, if they've been applied + if (nub.attr('style')) { + nub.removeAttr('style'); + } + + tip.removeClass('tip-override'); + + var tip_outerHeight = tip.outerHeight(); + + if (classes && classes.indexOf('tip-top') > -1) { + if (Foundation.rtl) { + nub.addClass('rtl'); + } + objPos(tip, (o_top - tip_outerHeight), 'auto', 'auto', o_left) + .removeClass('tip-override'); + } else if (classes && classes.indexOf('tip-left') > -1) { + objPos(tip, (o_top + (outerHeight / 2) - (tip_outerHeight / 2)), 'auto', 'auto', (o_left - tip.outerWidth() - nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } else if (classes && classes.indexOf('tip-right') > -1) { + objPos(tip, (o_top + (outerHeight / 2) - (tip_outerHeight / 2)), 'auto', 'auto', (o_left + target.outerWidth() + nubHeight)) + .removeClass('tip-override'); + nub.removeClass('rtl'); + } + } + + tip.css('visibility', 'visible').hide(); + }, + + small : function () { + return matchMedia(Foundation.media_queries.small).matches && + !matchMedia(Foundation.media_queries.medium).matches; + }, + + inheritable_classes : function ($target) { + var settings = $.extend({}, this.settings, this.data_options($target)), + inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'radius', 'round'].concat(settings.additional_inheritable_classes), + classes = $target.attr('class'), + filtered = classes ? $.map(classes.split(' '), function (el, i) { + if ($.inArray(el, inheritables) !== -1) { + return el; + } + }).join(' ') : ''; + + return $.trim(filtered); + }, + + convert_to_touch : function ($target) { + var self = this, + $tip = self.getTip($target), + settings = $.extend({}, self.settings, self.data_options($target)); + + if ($tip.find('.tap-to-close').length === 0) { + $tip.append('' + settings.touch_close_text + ''); + $tip.on('click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose', function (e) { + self.hide($target); + }); + } + + $target.data('tooltip-open-event-type', 'touch'); + }, + + show : function ($target) { + var $tip = this.getTip($target); + if ($target.data('tooltip-open-event-type') == 'touch') { + this.convert_to_touch($target); + } + + this.reposition($target, $tip, $target.attr('class')); + $target.addClass('open'); + $tip.fadeIn(this.settings.fade_in_duration); + }, + + hide : function ($target) { + var $tip = this.getTip($target); + + $tip.fadeOut(this.settings.fade_out_duration, function () { + $tip.find('.tap-to-close').remove(); + $tip.off('click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose'); + $target.removeClass('open'); + }); + }, + + off : function () { + var self = this; + this.S(this.scope).off('.fndtn.tooltip'); + this.S(this.settings.tooltip_class).each(function (i) { + $('[' + self.attr_name() + ']').eq(i).attr('title', $(this).text()); + }).remove(); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/foundation/foundation.topbar.js b/js/foundation/js/foundation/foundation.topbar.js new file mode 100644 index 0000000..23b7c7f --- /dev/null +++ b/js/foundation/js/foundation/foundation.topbar.js @@ -0,0 +1,458 @@ +;(function ($, window, document, undefined) { + 'use strict'; + + Foundation.libs.topbar = { + name : 'topbar', + + version : '5.5.3', + + settings : { + index : 0, + start_offset : 0, + sticky_class : 'sticky', + custom_back_text : true, + back_text : 'Back', + mobile_show_parent_link : true, + is_hover : true, + scrolltop : true, // jump to top when sticky nav menu toggle is clicked + sticky_on : 'all', + dropdown_autoclose: true + }, + + init : function (section, method, options) { + Foundation.inherit(this, 'add_custom_rule register_media throttle'); + var self = this; + + self.register_media('topbar', 'foundation-mq-topbar'); + + this.bindings(method, options); + + self.S('[' + this.attr_name() + ']', this.scope).each(function () { + var topbar = $(this), + settings = topbar.data(self.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', this); + topbar.data('index', 0); + var topbarContainer = topbar.parent(); + if (topbarContainer.hasClass('fixed') || self.is_sticky(topbar, topbarContainer, settings) ) { + self.settings.sticky_class = settings.sticky_class; + self.settings.sticky_topbar = topbar; + topbar.data('height', topbarContainer.outerHeight()); + topbar.data('stickyoffset', topbarContainer.offset().top); + } else { + topbar.data('height', topbar.outerHeight()); + } + + if (!settings.assembled) { + self.assemble(topbar); + } + + if (settings.is_hover) { + self.S('.has-dropdown', topbar).addClass('not-click'); + } else { + self.S('.has-dropdown', topbar).removeClass('not-click'); + } + + // Pad body when sticky (scrolled) or fixed. + self.add_custom_rule('.f-topbar-fixed { padding-top: ' + topbar.data('height') + 'px }'); + + if (topbarContainer.hasClass('fixed')) { + self.S('body').addClass('f-topbar-fixed'); + } + }); + + }, + + is_sticky : function (topbar, topbarContainer, settings) { + var sticky = topbarContainer.hasClass(settings.sticky_class); + var smallMatch = matchMedia(Foundation.media_queries.small).matches; + var medMatch = matchMedia(Foundation.media_queries.medium).matches; + var lrgMatch = matchMedia(Foundation.media_queries.large).matches; + + if (sticky && settings.sticky_on === 'all') { + return true; + } + if (sticky && this.small() && settings.sticky_on.indexOf('small') !== -1) { + if (smallMatch && !medMatch && !lrgMatch) { return true; } + } + if (sticky && this.medium() && settings.sticky_on.indexOf('medium') !== -1) { + if (smallMatch && medMatch && !lrgMatch) { return true; } + } + if (sticky && this.large() && settings.sticky_on.indexOf('large') !== -1) { + if (smallMatch && medMatch && lrgMatch) { return true; } + } + + return false; + }, + + toggle : function (toggleEl) { + var self = this, + topbar; + + if (toggleEl) { + topbar = self.S(toggleEl).closest('[' + this.attr_name() + ']'); + } else { + topbar = self.S('[' + this.attr_name() + ']'); + } + + var settings = topbar.data(this.attr_name(true) + '-init'); + + var section = self.S('section, .top-bar-section', topbar); + + if (self.breakpoint()) { + if (!self.rtl) { + section.css({left : '0%'}); + $('>.name', section).css({left : '100%'}); + } else { + section.css({right : '0%'}); + $('>.name', section).css({right : '100%'}); + } + + self.S('li.moved', section).removeClass('moved'); + topbar.data('index', 0); + + topbar + .toggleClass('expanded') + .css('height', ''); + } + + if (settings.scrolltop) { + if (!topbar.hasClass('expanded')) { + if (topbar.hasClass('fixed')) { + topbar.parent().addClass('fixed'); + topbar.removeClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if (topbar.parent().hasClass('fixed')) { + if (settings.scrolltop) { + topbar.parent().removeClass('fixed'); + topbar.addClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + + window.scrollTo(0, 0); + } else { + topbar.parent().removeClass('expanded'); + } + } + } else { + if (self.is_sticky(topbar, topbar.parent(), settings)) { + topbar.parent().addClass('fixed'); + } + + if (topbar.parent().hasClass('fixed')) { + if (!topbar.hasClass('expanded')) { + topbar.removeClass('fixed'); + topbar.parent().removeClass('expanded'); + self.update_sticky_positioning(); + } else { + topbar.addClass('fixed'); + topbar.parent().addClass('expanded'); + self.S('body').addClass('f-topbar-fixed'); + } + } + } + }, + + timer : null, + + events : function (bar) { + var self = this, + S = this.S; + + S(this.scope) + .off('.topbar') + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .toggle-topbar', function (e) { + e.preventDefault(); + self.toggle(this); + }) + .on('click.fndtn.topbar contextmenu.fndtn.topbar', '.top-bar .top-bar-section li a[href^="#"],[' + this.attr_name() + '] .top-bar-section li a[href^="#"]', function (e) { + var li = $(this).closest('li'), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-init'); + + if (settings.dropdown_autoclose && settings.is_hover) { + var hoverLi = $(this).closest('.hover'); + hoverLi.removeClass('hover'); + } + if (self.breakpoint() && !li.hasClass('back') && !li.hasClass('has-dropdown')) { + self.toggle(); + } + + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] li.has-dropdown', function (e) { + var li = S(this), + target = S(e.target), + topbar = li.closest('[' + self.attr_name() + ']'), + settings = topbar.data(self.attr_name(true) + '-init'); + + if (target.data('revealId')) { + self.toggle(); + return; + } + + if (self.breakpoint()) { + return; + } + + if (settings.is_hover && !Modernizr.touch) { + return; + } + + e.stopImmediatePropagation(); + + if (li.hasClass('hover')) { + li + .removeClass('hover') + .find('li') + .removeClass('hover'); + + li.parents('li.hover') + .removeClass('hover'); + } else { + li.addClass('hover'); + + $(li).siblings().removeClass('hover'); + + if (target[0].nodeName === 'A' && target.parent().hasClass('has-dropdown')) { + e.preventDefault(); + } + } + }) + .on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown>a', function (e) { + if (self.breakpoint()) { + + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + dropdownHeight = $this.next('.dropdown').outerHeight(), + $selectedLi = $this.closest('li'); + + topbar.data('index', topbar.data('index') + 1); + $selectedLi.addClass('moved'); + + if (!self.rtl) { + section.css({left : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({left : 100 * topbar.data('index') + '%'}); + } else { + section.css({right : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({right : 100 * topbar.data('index') + '%'}); + } + + topbar.css('height', $this.siblings('ul').outerHeight(true) + topbar.data('height')); + } + }); + + S(window).off('.topbar').on('resize.fndtn.topbar', self.throttle(function () { + self.resize.call(self); + }, 50)).trigger('resize.fndtn.topbar').load(function () { + // Ensure that the offset is calculated after all of the pages resources have loaded + S(this).trigger('resize.fndtn.topbar'); + }); + + S('body').off('.topbar').on('click.fndtn.topbar', function (e) { + var parent = S(e.target).closest('li').closest('li.hover'); + + if (parent.length > 0) { + return; + } + + S('[' + self.attr_name() + '] li.hover').removeClass('hover'); + }); + + // Go up a level on Click + S(this.scope).on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown .back', function (e) { + e.preventDefault(); + + var $this = S(this), + topbar = $this.closest('[' + self.attr_name() + ']'), + section = topbar.find('section, .top-bar-section'), + settings = topbar.data(self.attr_name(true) + '-init'), + $movedLi = $this.closest('li.moved'), + $previousLevelUl = $movedLi.parent(); + + topbar.data('index', topbar.data('index') - 1); + + if (!self.rtl) { + section.css({left : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({left : 100 * topbar.data('index') + '%'}); + } else { + section.css({right : -(100 * topbar.data('index')) + '%'}); + section.find('>.name').css({right : 100 * topbar.data('index') + '%'}); + } + + if (topbar.data('index') === 0) { + topbar.css('height', ''); + } else { + topbar.css('height', $previousLevelUl.outerHeight(true) + topbar.data('height')); + } + + setTimeout(function () { + $movedLi.removeClass('moved'); + }, 300); + }); + + // Show dropdown menus when their items are focused + S(this.scope).find('.dropdown a') + .focus(function () { + $(this).parents('.has-dropdown').addClass('hover'); + }) + .blur(function () { + $(this).parents('.has-dropdown').removeClass('hover'); + }); + }, + + resize : function () { + var self = this; + self.S('[' + this.attr_name() + ']').each(function () { + var topbar = self.S(this), + settings = topbar.data(self.attr_name(true) + '-init'); + + var stickyContainer = topbar.parent('.' + self.settings.sticky_class); + var stickyOffset; + + if (!self.breakpoint()) { + var doToggle = topbar.hasClass('expanded'); + topbar + .css('height', '') + .removeClass('expanded') + .find('li') + .removeClass('hover'); + + if (doToggle) { + self.toggle(topbar); + } + } + + if (self.is_sticky(topbar, stickyContainer, settings)) { + if (stickyContainer.hasClass('fixed')) { + // Remove the fixed to allow for correct calculation of the offset. + stickyContainer.removeClass('fixed'); + + stickyOffset = stickyContainer.offset().top; + if (self.S(document.body).hasClass('f-topbar-fixed')) { + stickyOffset -= topbar.data('height'); + } + + topbar.data('stickyoffset', stickyOffset); + stickyContainer.addClass('fixed'); + } else { + stickyOffset = stickyContainer.offset().top; + topbar.data('stickyoffset', stickyOffset); + } + } + + }); + }, + + breakpoint : function () { + return !matchMedia(Foundation.media_queries['topbar']).matches; + }, + + small : function () { + return matchMedia(Foundation.media_queries['small']).matches; + }, + + medium : function () { + return matchMedia(Foundation.media_queries['medium']).matches; + }, + + large : function () { + return matchMedia(Foundation.media_queries['large']).matches; + }, + + assemble : function (topbar) { + var self = this, + settings = topbar.data(this.attr_name(true) + '-init'), + section = self.S('section, .top-bar-section', topbar); + + // Pull element out of the DOM for manipulation + section.detach(); + + self.S('.has-dropdown>a', section).each(function () { + var $link = self.S(this), + $dropdown = $link.siblings('.dropdown'), + url = $link.attr('href'), + $titleLi; + + if (!$dropdown.find('.title.back').length) { + + if (settings.mobile_show_parent_link == true && url) { + $titleLi = $('
      2. '); + } else { + $titleLi = $('
      3. '); + } + + // Copy link to subnav + if (settings.custom_back_text == true) { + $('h5>a', $titleLi).html(settings.back_text); + } else { + $('h5>a', $titleLi).html('« ' + $link.html()); + } + $dropdown.prepend($titleLi); + } + }); + + // Put element back in the DOM + section.appendTo(topbar); + + // check for sticky + this.sticky(); + + this.assembled(topbar); + }, + + assembled : function (topbar) { + topbar.data(this.attr_name(true), $.extend({}, topbar.data(this.attr_name(true)), {assembled : true})); + }, + + height : function (ul) { + var total = 0, + self = this; + + $('> li', ul).each(function () { + total += self.S(this).outerHeight(true); + }); + + return total; + }, + + sticky : function () { + var self = this; + + this.S(window).on('scroll', function () { + self.update_sticky_positioning(); + }); + }, + + update_sticky_positioning : function () { + var klass = '.' + this.settings.sticky_class, + $window = this.S(window), + self = this; + + if (self.settings.sticky_topbar && self.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(), this.settings)) { + var distance = this.settings.sticky_topbar.data('stickyoffset') + this.settings.start_offset; + if (!self.S(klass).hasClass('expanded')) { + if ($window.scrollTop() > (distance)) { + if (!self.S(klass).hasClass('fixed')) { + self.S(klass).addClass('fixed'); + self.S('body').addClass('f-topbar-fixed'); + } + } else if ($window.scrollTop() <= distance) { + if (self.S(klass).hasClass('fixed')) { + self.S(klass).removeClass('fixed'); + self.S('body').removeClass('f-topbar-fixed'); + } + } + } + } + }, + + off : function () { + this.S(this.scope).off('.fndtn.topbar'); + this.S(window).off('.fndtn.topbar'); + }, + + reflow : function () {} + }; +}(jQuery, window, window.document)); diff --git a/js/foundation/js/vendor/fastclick.js b/js/foundation/js/vendor/fastclick.js new file mode 100644 index 0000000..add0130 --- /dev/null +++ b/js/foundation/js/vendor/fastclick.js @@ -0,0 +1,8 @@ +!function(){"use strict";/** + * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs. + * + * @codingstandard ftlabs-jsv2 + * @copyright The Financial Times Limited [All Rights Reserved] + * @license MIT License (see LICENSE.txt) + */ +function a(b,d){function e(a,b){return function(){return a.apply(b,arguments)}}var f;if(d=d||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=d.touchBoundary||10,this.layer=b,this.tapDelay=d.tapDelay||200,this.tapTimeout=d.tapTimeout||700,!a.notNeeded(b)){for(var g=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],h=this,i=0,j=g.length;j>i;i++)h[g[i]]=e(h[g[i]],h);c&&(b.addEventListener("mouseover",this.onMouse,!0),b.addEventListener("mousedown",this.onMouse,!0),b.addEventListener("mouseup",this.onMouse,!0)),b.addEventListener("click",this.onClick,!0),b.addEventListener("touchstart",this.onTouchStart,!1),b.addEventListener("touchmove",this.onTouchMove,!1),b.addEventListener("touchend",this.onTouchEnd,!1),b.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(b.removeEventListener=function(a,c,d){var e=Node.prototype.removeEventListener;"click"===a?e.call(b,a,c.hijacked||c,d):e.call(b,a,c,d)},b.addEventListener=function(a,c,d){var e=Node.prototype.addEventListener;"click"===a?e.call(b,a,c.hijacked||(c.hijacked=function(a){a.propagationStopped||c(a)}),d):e.call(b,a,c,d)}),"function"==typeof b.onclick&&(f=b.onclick,b.addEventListener("click",function(a){f(a)},!1),b.onclick=null)}}var b=navigator.userAgent.indexOf("Windows Phone")>=0,c=navigator.userAgent.indexOf("Android")>0&&!b,d=/iP(ad|hone|od)/.test(navigator.userAgent)&&!b,e=d&&/OS 4_\d(_\d)?/.test(navigator.userAgent),f=d&&/OS [6-7]_\d/.test(navigator.userAgent),g=navigator.userAgent.indexOf("BB10")>0;a.prototype.needsClick=function(a){switch(a.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(a.disabled)return!0;break;case"input":if(d&&"file"===a.type||a.disabled)return!0;break;case"label":case"iframe":case"video":return!0}return/\bneedsclick\b/.test(a.className)},a.prototype.needsFocus=function(a){switch(a.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!c;case"input":switch(a.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return!1}return!a.disabled&&!a.readOnly;default:return/\bneedsfocus\b/.test(a.className)}},a.prototype.sendClick=function(a,b){var c,d;document.activeElement&&document.activeElement!==a&&document.activeElement.blur(),d=b.changedTouches[0],c=document.createEvent("MouseEvents"),c.initMouseEvent(this.determineEventType(a),!0,!0,window,1,d.screenX,d.screenY,d.clientX,d.clientY,!1,!1,!1,!1,0,null),c.forwardedTouchEvent=!0,a.dispatchEvent(c)},a.prototype.determineEventType=function(a){return c&&"select"===a.tagName.toLowerCase()?"mousedown":"click"},a.prototype.focus=function(a){var b;d&&a.setSelectionRange&&0!==a.type.indexOf("date")&&"time"!==a.type&&"month"!==a.type?(b=a.value.length,a.setSelectionRange(b,b)):a.focus()},a.prototype.updateScrollParent=function(a){var b,c;if(b=a.fastClickScrollParent,!b||!b.contains(a)){c=a;do{if(c.scrollHeight>c.offsetHeight){b=c,a.fastClickScrollParent=c;break}c=c.parentElement}while(c)}b&&(b.fastClickLastScrollTop=b.scrollTop)},a.prototype.getTargetElementFromEventTarget=function(a){return a.nodeType===Node.TEXT_NODE?a.parentNode:a},a.prototype.onTouchStart=function(a){var b,c,f;if(a.targetTouches.length>1)return!0;if(b=this.getTargetElementFromEventTarget(a.target),c=a.targetTouches[0],d){if(f=window.getSelection(),f.rangeCount&&!f.isCollapsed)return!0;if(!e){if(c.identifier&&c.identifier===this.lastTouchIdentifier)return a.preventDefault(),!1;this.lastTouchIdentifier=c.identifier,this.updateScrollParent(b)}}return this.trackingClick=!0,this.trackingClickStart=a.timeStamp,this.targetElement=b,this.touchStartX=c.pageX,this.touchStartY=c.pageY,a.timeStamp-this.lastClickTimec||Math.abs(b.pageY-this.touchStartY)>c?!0:!1},a.prototype.onTouchMove=function(a){return this.trackingClick?((this.targetElement!==this.getTargetElementFromEventTarget(a.target)||this.touchHasMoved(a))&&(this.trackingClick=!1,this.targetElement=null),!0):!0},a.prototype.findControl=function(a){return void 0!==a.control?a.control:a.htmlFor?document.getElementById(a.htmlFor):a.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")},a.prototype.onTouchEnd=function(a){var b,g,h,i,j,k=this.targetElement;if(!this.trackingClick)return!0;if(a.timeStamp-this.lastClickTimethis.tapTimeout)return!0;if(this.cancelNextClick=!1,this.lastClickTime=a.timeStamp,g=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,f&&(j=a.changedTouches[0],k=document.elementFromPoint(j.pageX-window.pageXOffset,j.pageY-window.pageYOffset)||k,k.fastClickScrollParent=this.targetElement.fastClickScrollParent),h=k.tagName.toLowerCase(),"label"===h){if(b=this.findControl(k)){if(this.focus(k),c)return!1;k=b}}else if(this.needsFocus(k))return a.timeStamp-g>100||d&&window.top!==window&&"input"===h?(this.targetElement=null,!1):(this.focus(k),this.sendClick(k,a),d&&"select"===h||(this.targetElement=null,a.preventDefault()),!1);return d&&!e&&(i=k.fastClickScrollParent,i&&i.fastClickLastScrollTop!==i.scrollTop)?!0:(this.needsClick(k)||(a.preventDefault(),this.sendClick(k,a)),!1)},a.prototype.onTouchCancel=function(){this.trackingClick=!1,this.targetElement=null},a.prototype.onMouse=function(a){return this.targetElement?a.forwardedTouchEvent?!0:a.cancelable&&(!this.needsClick(this.targetElement)||this.cancelNextClick)?(a.stopImmediatePropagation?a.stopImmediatePropagation():a.propagationStopped=!0,a.stopPropagation(),a.preventDefault(),!1):!0:!0},a.prototype.onClick=function(a){var b;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):"submit"===a.target.type&&0===a.detail?!0:(b=this.onMouse(a),b||(this.targetElement=null),b)},a.prototype.destroy=function(){var a=this.layer;c&&(a.removeEventListener("mouseover",this.onMouse,!0),a.removeEventListener("mousedown",this.onMouse,!0),a.removeEventListener("mouseup",this.onMouse,!0)),a.removeEventListener("click",this.onClick,!0),a.removeEventListener("touchstart",this.onTouchStart,!1),a.removeEventListener("touchmove",this.onTouchMove,!1),a.removeEventListener("touchend",this.onTouchEnd,!1),a.removeEventListener("touchcancel",this.onTouchCancel,!1)},a.notNeeded=function(a){var b,d,e,f;if("undefined"==typeof window.ontouchstart)return!0;if(d=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!c)return!0;if(b=document.querySelector("meta[name=viewport]")){if(-1!==b.content.indexOf("user-scalable=no"))return!0;if(d>31&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}if(g&&(e=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/),e[1]>=10&&e[2]>=3&&(b=document.querySelector("meta[name=viewport]")))){if(-1!==b.content.indexOf("user-scalable=no"))return!0;if(document.documentElement.scrollWidth<=window.outerWidth)return!0}return"none"===a.style.msTouchAction||"manipulation"===a.style.touchAction?!0:(f=+(/Firefox\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1],f>=27&&(b=document.querySelector("meta[name=viewport]"),b&&(-1!==b.content.indexOf("user-scalable=no")||document.documentElement.scrollWidth<=window.outerWidth))?!0:"none"===a.style.touchAction||"manipulation"===a.style.touchAction?!0:!1)},a.attach=function(b,c){return new a(b,c)},"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return a}):"undefined"!=typeof module&&module.exports?(module.exports=a.attach,module.exports.FastClick=a):window.FastClick=a}(); \ No newline at end of file diff --git a/js/foundation/js/vendor/jquery.cookie.js b/js/foundation/js/vendor/jquery.cookie.js new file mode 100644 index 0000000..5be813a --- /dev/null +++ b/js/foundation/js/vendor/jquery.cookie.js @@ -0,0 +1,8 @@ +/*! + * jQuery Cookie Plugin v1.4.1 + * https://github.com/carhartl/jquery-cookie + * + * Copyright 2013 Klaus Hartl + * Released under the MIT license + */ +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}}); \ No newline at end of file diff --git a/js/foundation/js/vendor/jquery.js b/js/foundation/js/vendor/jquery.js new file mode 100644 index 0000000..34b90c8 --- /dev/null +++ b/js/foundation/js/vendor/jquery.js @@ -0,0 +1,26 @@ +/*! + * jQuery JavaScript Library v2.1.4 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2015-04-28T16:01Z + */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b="length"in a&&a.length,c=_.type(a);return"function"===c||_.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return _.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c}catch(e){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("')}catch(m){e=h.createElement("iframe"),e.name=f}e.height="0";e.width="0";e.style.display="none";e.style.visibility="hidden";var g=h[y], +g=g[ea]+"//"+g.host+"/favicon.ico",g=Ga+"u/post_iframe.html#"+aa(g),a=function(){e.src="";e.parentNode&&e.parentNode.removeChild(e)};ta(L[t],"beforeunload",a);var c=!1,u=0,j=function(){if(!c){try{if(u>9||e.contentWindow[y].host==h[y].host){c=!0;a();var d=L[t],g="beforeunload",n=a;d.removeEventListener?d.removeEventListener(g,n,!1):d.detachEvent&&d.detachEvent("on"+g,n);b&&b();return}}catch(f){}u++;L.setTimeout(j,200)}};ta(e,"load",j);h.body.appendChild(e);e.src=g}else L.setTimeout(function(){d.Ob(f, +b)},100)}};var Ka=function(d){var f=this,b=d,h=new Fa(b),e=null,m=!V.pb(),g=function(){};f.Uc=function(){return"https:"==L[w][y][ea]?"https://ssl.google-analytics.com/__utm.gif":"http://www.google-analytics.com/__utm.gif"};f.A=function(a,c,d,j,i,s){e||(e=new Ja);var n=b.B,O=L[w][y];h.Z(d);var B=h.z()[x](".");if(B[1]<500||j){if(i){var S=(new Date)[da](),X;X=(S-B[3])*(b.Ac/1E3);X>=1&&(B[2]=o.min(o.floor(B[2]*1+X),b.zc),B[3]=S)}if(j||!i||B[2]>=1){!j&&i&&(B[2]=B[2]*1-1);j=B[1]*1+1;B[1]=j;i="utmwv="+ia;S="&utms="+ +j;X="&utmn="+Aa();j=i+"e"+S+X;a=i+S+X+(M(O.hostname)?"":"&utmhn="+P(O.hostname))+(b.L==100?"":"&utmsp="+P(b.L))+a;if(0==n||2==n)O=2==n?g:s||g,m&&e.Bb(b.ga,a,j,O,!0);if(1==n||2==n)c="&utmac="+c,j+=c,a+=c+"&utmcc="+f.Tc(d),V.Ab&&(d="&aip=1",j+=d,a+=d),a+="&utmu="+qa.Sc(),m&&e.Bb(f.Uc(),a,j,s)}}h.$(B[A]("."));h.aa()};f.Tc=function(a){for(var c=[],b=[F,J,I,na],d=h.g(),i,g=0;g0)for(b=0;b0;)d+=a--^c++;return za(d)}};var Z=function(d,f,b,h){function e(a){var c="",c=a[x]("://")[1][C]();R(c,"/")&&(c=c[x]("/")[0]);return c}var m=h,g=this;g.a=d;g.ob=f;g.m=b;g.mb=function(a){var c=g.ua();return new Z.v(N(a,m.Ea+E,D),N(a,m.Ha+E,D),N(a,m.Ja+E,D),g.R(a,m.Ca,"(not set)"),g.R(a,m.Fa,"(not set)"),g.R(a,m.Ia,c&&!M(c.G)?Q(c.G):k),g.R(a,m.Da,k),N(a,m.vc+E,D))};g.nb=function(a){var c=e(a),b;b=a;var d="";b=b[x]("://")[1][C]();R(b,"/")&&(b=b[x]("/")[1],R(b,"?")&&(d=b[x]("?")[0]));b=d;if(R(c,"google")&&(a=a[x]("?")[A](D),R(a,D+ +m.xc+E)&&b==m.wc))return!0;return!1};g.ua=function(){var a,c=g.ob,b,d=m.J;if(!M(c)&&"0"!=c&&R(c,"://")&&!g.nb(c)){a=e(c);for(var i=0;i9?h[z](n+1)*1:0,f++,h=0==h?1:h,a.ra([B,g.m,h,f,e.H()][A](".")),a.sa()}}}}; +Z.v=function(d,f,b,h,e,m,g,a){var c=this;c.q=d;c.Q=f;c.ya=b;c.n=h;c.P=e;c.G=m;c.Gb=g;c.xa=a;c.H=function(){var a=[],b=[["cid",c.q],["csr",c.Q],["gclid",c.ya],["ccn",c.n],["cmd",c.P],["ctr",c.G],["cct",c.Gb],["dclid",c.xa]],d,e;if(c.fb())for(d=0;d0&&b<=a.Ta){var f=P(c),h=P(d);f[v]+h[v]<=64&&(e.r[b]=[c,d,g],e.T(),n=!0)}return n};e.Zb=function(a){if((a=e.r[a])&&1===a[2])return a[1]};e.Yb=function(a){var b=e.r;b[a]&&(delete b[a],e.T())};e.Pc=function(){c.t(8);c.t(9);c.t(11);var a=e.r,b,d;for(d in a)if(b=a[d])c.j(8,d,b[0]),c.j(9,d,b[1]),(b=b[2])&&3!=b&&c.j(11,d,""+b)}};var Na=function(){function d(a,b,c,d){k==g[a]&&(g[a]={});k==g[a][b]&&(g[a][b]=[]);g[a][b][c]=d}function f(a,b,c){if(k!=g[a]&&k!=g[a][b])return g[a][b][c]}function b(a,b){if(k!=g[a]&&k!=g[a][b]){g[a][b]=k;var c=!0,d;for(d=0;d0?b+"00":"0"};b.sb=function(){var d=b.Kc();if(d==k||isNaN(d))return!1;if(d<=0)return!0;if(d>2147483648)return!1; +var a=b.rb;a.t(14);a.ia(14);var c=b.Jc(d);a.j(14,1,c)&&a.ja(14,1,d)&&b.Lc();h&&h.isValidLoadTime!=k&&h.setPageReadyTime();return!1};b.Wa=function(){if(!b.Mc())return!1;if(!L.Ic())return!1;b.sb()&&ta(L[t],"load",b.sb,!1);return!0}};var $=function(){};$.Zc=function(d){var f="gaso=",b=L[w][y].hash;d=b&&1==b[q](f)?N(b,f,D):(b=L[t].name)&&0<=b[q](f)?N(b,f,D):N(d.g(),oa,";");return d};$.ad=function(d,f){var b=(f||"www")+".google.com",b="https://"+b+"/analytics/reporting/overlay_js?gaso="+d+D+Aa(),h="_gasojs",e=L[w].createElement("script");e.type="text/javascript";e.src=b;if(h)e.id=h;(L[w].getElementsByTagName("head")[0]||L[w].getElementsByTagName("body")[0]).appendChild(e)}; +$.load=function(d,f){if(!$.$c){var b=$.Zc(f),h=b&&b.match(/^(?:\|([-0-9a-z.]{1,30})\|)?([-.\w]{10,1200})$/i);if(h)f.Dc(b),f.Ec(),V._gasoDomain=d.b,V._gasoCPath=d.f,$.ad(h[2],h[1]);$.$c=!0}};var Qa=function(d,f,b){function h(){if("auto"==j.b){var a=L[w].domain;"www."==a[z](0,4)&&(a=a[z](4));j.b=a}j.b=j.b[C]()}function e(){h();var a=j.b,b=a[q]("www.google.")*a[q](".google.")*a[q]("google.");return b||"/"!=j.f||a[q]("google.org")>-1}function m(b,c,d){if(M(b)||M(c)||M(d))return"-";b=N(b,F+a.a+".",c);M(b)||(b=b[x]("."),b[5]=""+(b[5]?b[5]*1+1:1),b[3]=b[4],b[4]=d,b=b[A]("."));return b}function g(){return"file:"!=L[w][y][ea]&&e()}var a=this,c=sa(a),u=k,j=new Da,i=!1,s=k;a.n=d;a.m=o.round((new Date)[da]()/ +1E3);a.p=f||"UA-XXXXX-X";a.ab=L[w].referrer;a.oa=k;a.d=k;a.F=!1;a.O=k;a.e=k;a.bb=k;a.pa=k;a.a=k;a.k=k;j.o=b?P(b):k;a.eb=!1;a.mc=function(){return Aa()^a.O.cc()&2147483647};a.lc=function(){if(!j.b||""==j.b||"none"==j.b)return j.b="",1;h();return j.Ua?za(j.b):1};a.kc=function(a,b){if(M(a))a="-";else{b+=j.f&&"/"!=j.f?j.f:"";var c=a[q](b),a=c>=0&&c<=8?"0":"["==a[p](0)&&"]"==a[p](a[v]-1)?"-":a}return a};a.na=function(b){var c="";c+=j.ka?a.O.dc():"";c+=j.la&&!M(L[w].title)?"&utmdt="+P(L[w].title):"";var d; +d=L.Ya(!0);if(!d.hid)d.hid=Aa();d=d.hid;c+="&utmhid="+d+"&utmr="+P(l(a.oa))+"&utmp="+P(a.pc(b));return c};a.pc=function(a){var b=L[w][y];a&&K(13);return a=k!=a&&""!=a?P(a,!0):P(b.pathname+b.search,!0)};a.uc=function(b){if(a.D()){var c="";a.e!=k&&a.e.C()[v]>0&&(c+="&utme="+P(a.e.C()));c+=a.na(b);u.A(c,a.p,a.a)}};a.jc=function(){var b=new Fa(j);return b.Z(a.a)?b.Tb():k};a.cb=c("_getLinkerUrl",52,function(b,c){var d=b[x]("#"),e=b,f=a.jc();if(f)if(c&&1>=d[v])e+="#"+f;else if(!c||1>=d[v])1>=d[v]?e+=(R(b, +"?")?D:"?")+f:e=d[0]+(R(b,"?")?D:"?")+f+"#"+d[1];return e});a.nc=function(){var b=a.m,c=a.k,d=c.g(),e=a.a+"",f=L.Ya(),g,h=R(d,F+e+"."),i=R(d,H+e),u=R(d,la+e),s,G=[],Y="",Ia=!1,d=M(d)?"":d;if(j.w&&!a.eb){g=L[w][y]&&L[w][y].hash?L[w][y][fa][z](L[w][y][fa][q]("#")):"";j.U&&!M(g)&&(Y=g+D);Y+=L[w][y].search;if(!M(Y)&&R(Y,F))c.Sb(Y),c.Ba()||c.Qb(),s=c.ba(),a.eb=!0;g=c.ea;var va=c.Pa,U=c.Sa;M(g())||(va(Q(g())),R(g(),";")||U());g=c.da;va=c.X;U=c.Y;M(g())||(va(g()),R(g(),";")||U())}M(s)?h?(s=!i||!u)?(s=m(d, +";",l(b)),a.F=!0):(s=N(d,F+e+".",";"),G=N(d,H+e,";")[x](".")):(s=[e,a.mc(),b,b,b,1][A]("."),Ia=a.F=!0):M(c.z())||M(c.ca())?(s=m(Y,D,l(b)),a.F=!0):(G=c.z()[x]("."),e=G[0]);s=s[x](".");L[t]&&f&&f.dh==e&&!j.o&&(s[4]=f.sid?f.sid:s[4],Ia&&(s[3]=f.sid?f.sid:s[4],f.vid&&(b=f.vid[x]("."),s[1]=b[0],s[2]=b[1])));c.Na(s[A]("."));G[0]=e;G[1]=G[1]?G[1]:0;G[2]=k!=G[2]?G[2]:j.Wb;G[3]=G[3]?G[3]:s[4];c.$(G[A]("."));c.Oa(e);M(c.Rb())||c.fa(c.K());c.Qa();c.aa();c.Ra()};a.oc=function(){u=new Ka(j)};a.getName=c("_getName", +58,function(){return a.n});a.c=c("_initData",2,function(){var b;if(!i){if(!a.O)a.O=new La(j.ma);a.a=a.lc();a.k=new Fa(j);a.e=new Na;s=new Ma(j,l(a.a),a.k,a.e);a.oc()}if(g()){if(!i)a.oa=a.kc(a.ab,L[w].domain),b=new Z(l(a.a),a.oa,a.m,j);a.nc(b);s.$b()}if(!i)g()&&b.Pb(a.k,a.F),a.bb=new Na,$.load(j,a.k),i=!0});a.Xa=c("_visitCode",54,function(){a.c();var b=N(a.k.g(),F+a.a+".",";"),b=b[x](".");return b[v]<4?"":b[1]});a.qd=c("_cookiePathCopy",30,function(b){a.c();a.k&&a.k.Ub(a.a,b)});a.D=function(){return a.Xa()% +1E40&&(f=g[z](0,a),g=g[z](a+1));var c=f==ga?V:f==ha?Sa:V.Hb(f);c[g].apply(c,b[e].slice(1))}}catch(u){d++}return d}};var V=new Ra;var Ua=L[t][ga];Ua&&typeof Ua._getTracker=="function"?V=Ua:L[t][ga]=V;var Sa=new Ta;a:{var Va=L[t][ha],Wa=!1;if(Va&&typeof Va[ba]=="function"&&(Wa=ua(Va),!Wa))break a;L[t][ha]=Sa;Wa&&Sa[ba].apply(Sa,Va)};})(); diff --git a/js/modernizr/test/caniuse_files/jquery.min.js b/js/modernizr/test/caniuse_files/jquery.min.js new file mode 100644 index 0000000..b2ac174 --- /dev/null +++ b/js/modernizr/test/caniuse_files/jquery.min.js @@ -0,0 +1,18 @@ +/*! + * jQuery JavaScript Library v1.6.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu May 12 15:04:36 2011 -0400 + */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
        a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(!0).fireEvent("onclick")),h=c.createElement("input"),h.value="t",h.setAttribute("type","radio"),j.radioValue=h.value==="t",h.setAttribute("checked","checked"),a.appendChild(h),k=c.createDocumentFragment(),k.appendChild(a.firstChild),j.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",l=c.createElement("body"),m={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(q in m)l.style[q]=m[q];l.appendChild(a),b.insertBefore(l,b.firstChild),j.appendChecked=h.checked,j.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,j.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
        ",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
        t
        ",n=a.getElementsByTagName("td"),r=n[0].offsetHeight===0,n[0].style.display="",n[1].style.display="none",j.reliableHiddenOffsets=r&&n[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(i=c.createElement("div"),i.style.width="0",i.style.marginRight="0",a.appendChild(i),j.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(i,null)||{marginRight:0}).marginRight,10)||0)===0),l.innerHTML="",b.removeChild(l);if(a.attachEvent)for(q in{submit:1,change:1,focusin:1})p="on"+q,r=p in a,r||(a.setAttribute(p,"return;"),r=typeof a[p]=="function"),j[q+"Bubbles"]=r;return j}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c],i||(!t.test(c)||typeof d!="boolean"&&d!==b&&d.toLowerCase()!==c.toLowerCase()?v&&(f.nodeName(a,"form")||u.test(c))&&(i=v):i=w);if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return a[f.propFix[c]||c]?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=b),a.setAttribute(c,c.toLowerCase()));return c}},f.attrHooks.value={get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return a.value},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=Object.prototype.hasOwnProperty,y=/\.(.*)$/,z=/^(?:textarea|input|select)$/i,A=/\./g,B=/ /g,C=/[^\w\s.|`]/g,D=function(a){return a.replace(C,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=E;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=E);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),D).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem +)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},K=function(c){var d=c.target,e,g;if(!!z.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=J(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:K,beforedeactivate:K,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&K.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&K.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",J(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in I)f.event.add(this,c+".specialChange",I[c]);return z.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return z.test(this.nodeName)}},I=f.event.special.change.filters,I.focus=I.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

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

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